mmondor.git
7 years ago- The HTTP server name is now "Crow"
Matthew Mondor [Fri, 14 Sep 2012 21:43:14 +0000 (21:43 +0000)]
- The HTTP server name is now "Crow"
- Fix a DECLARE TYPE typo in HTTP-REPLY-LOG-TIME
- Optimize URL-ENCODE (~50 times faster), URL-DECODE

7 years agoThe HTTP server name is now "Crow"
Matthew Mondor [Fri, 14 Sep 2012 21:38:55 +0000 (21:38 +0000)]
The HTTP server name is now "Crow"

7 years agoMake default syslog-ident "ecl-mp-server"
Matthew Mondor [Fri, 14 Sep 2012 21:38:09 +0000 (21:38 +0000)]
Make default syslog-ident "ecl-mp-server"

7 years ago"cons-httpd" now the default syslog-ident already
Matthew Mondor [Fri, 14 Sep 2012 21:37:29 +0000 (21:37 +0000)]
"cons-httpd" now the default syslog-ident already

7 years agoAdd INLINE DECLAIMations when appropriate for small frequently called
Matthew Mondor [Thu, 13 Sep 2012 13:10:00 +0000 (13:10 +0000)]
Add INLINE DECLAIMations when appropriate for small frequently called
functions

7 years agoAdd INLINE DECLAIMations where appropriate for small frequently called
Matthew Mondor [Thu, 13 Sep 2012 13:01:22 +0000 (13:01 +0000)]
Add INLINE DECLAIMations where appropriate for small frequently called
functions

7 years ago- Add the HTTP-REPLY-CODE-SET function for the common case where the reply
Matthew Mondor [Thu, 13 Sep 2012 13:00:50 +0000 (13:00 +0000)]
- Add the HTTP-REPLY-CODE-SET function for the common case where the reply
  code and message must be reset on a REPLY object.
- Add INLINE DECLAIMations where appropriate for frequently used small
  functions

7 years agoAdd an ACCEPT function to wrap SOCKET-ACCEPT and make it ignore any
Matthew Mondor [Wed, 12 Sep 2012 22:01:31 +0000 (22:01 +0000)]
Add an ACCEPT function to wrap SOCKET-ACCEPT and make it ignore any
spurious EINTR/sb-bsd-sockets:interrupted-error conditions which may occur
if not using the accept-lock.  Also optimize access to *ACCEPT-LOCK* and
*SERVER-SOCKET* in ACCEPT-LOOP-THREAD.

7 years agoRemove obsolete TODO comment
Matthew Mondor [Wed, 12 Sep 2012 21:58:43 +0000 (21:58 +0000)]
Remove obsolete TODO comment

7 years agoCleanup of FILE-SEND-RANGES
Matthew Mondor [Wed, 12 Sep 2012 21:24:05 +0000 (21:24 +0000)]
Cleanup of FILE-SEND-RANGES

7 years agoRenamed FILE-TRANSFER-FULL and FILE-TRANSFER-RANGES to FILE-SEND-FULL and
Matthew Mondor [Wed, 12 Sep 2012 21:03:57 +0000 (21:03 +0000)]
Renamed FILE-TRANSFER-FULL and FILE-TRANSFER-RANGES to FILE-SEND-FULL and
FILE-SEND-RANGES, respectively, to avoid ambiguity, as PUT/POST might imply
reception of files eventually.

7 years agoRestructured FILE-TRANSFER-RANGES to be able to calculate and provide
Matthew Mondor [Wed, 12 Sep 2012 20:58:14 +0000 (20:58 +0000)]
Restructured FILE-TRANSFER-RANGES to be able to calculate and provide
a Content-Length for the whole results for multiple range transfers.

7 years ago- Cleanup moving full and partial file transfer code to their own functions
Matthew Mondor [Wed, 12 Sep 2012 19:13:52 +0000 (19:13 +0000)]
- Cleanup moving full and partial file transfer code to their own functions
- At the same time fix partial file transfers to observe HEAD

7 years agoAdded the USE-ACCEPT-LOCK and USE-EXTRA-SETSOCKOPT SERVER configuration
Matthew Mondor [Tue, 11 Sep 2012 19:01:53 +0000 (19:01 +0000)]
Added the USE-ACCEPT-LOCK and USE-EXTRA-SETSOCKOPT SERVER configuration
options.  These allow to increase performance on systems where accept(2)
is thread-safe (i.e. NetBSD-5+), and to avoid several setsockopt(2)
syscalls after accept(2) on systems which inherit socket options
(i.e. BSD systems).  For safety the default is to use accept-locking and
extra setsockopt(2) syscalls, except that these are disabled in the
provided example config file.

7 years agoFix a compiling warning caused by an extra IF with a single clause
Matthew Mondor [Tue, 11 Sep 2012 18:59:17 +0000 (18:59 +0000)]
Fix a compiling warning caused by an extra IF with a single clause

7 years ago- Minor Range related offset fixes
Matthew Mondor [Tue, 11 Sep 2012 00:15:00 +0000 (00:15 +0000)]
- Minor Range related offset fixes
- HTTP-REPLY-HEADER-UNSET now accepts several keys like *-SET

7 years agoRange related fixes
Matthew Mondor [Mon, 10 Sep 2012 22:46:51 +0000 (22:46 +0000)]
Range related fixes

7 years ago- Update comments
Matthew Mondor [Mon, 10 Sep 2012 22:11:43 +0000 (22:11 +0000)]
- Update comments
- Fix a newly introduced bug

7 years agoUse the new HTTP-REPLY-HEADER-SET-NOCACHE function
Matthew Mondor [Mon, 10 Sep 2012 22:00:40 +0000 (22:00 +0000)]
Use the new HTTP-REPLY-HEADER-SET-NOCACHE function

7 years agoFix a typo
Matthew Mondor [Mon, 10 Sep 2012 22:00:13 +0000 (22:00 +0000)]
Fix a typo

7 years ago- Reworked the HTTP-REPLY object. Notably, the headers are now alists for
Matthew Mondor [Mon, 10 Sep 2012 21:47:49 +0000 (21:47 +0000)]
- Reworked the HTTP-REPLY object.  Notably, the headers are now alists for
  easier manipulation from both HTTPd and user code, some knobs were added
  to better control the HTTP-REPLY-FLUSH behaviour, and the headers list
  to string conversion was made into a function.
- Implemented HTTP/1.1 Range (single and multiple ranges are supported).

7 years agoRemove obsolete test-httpd.lisp, now httpd.lisp
Matthew Mondor [Thu, 6 Sep 2012 23:01:51 +0000 (23:01 +0000)]
Remove obsolete test-httpd.lisp, now httpd.lisp

7 years agoUpdate
Matthew Mondor [Thu, 6 Sep 2012 23:00:49 +0000 (23:00 +0000)]
Update

7 years ago*** empty log message ***
Matthew Mondor [Thu, 6 Sep 2012 16:37:55 +0000 (16:37 +0000)]
*** empty log message ***

7 years agoAdd a trailing '\0' to the UTF-8 output string
Matthew Mondor [Tue, 4 Sep 2012 02:34:27 +0000 (02:34 +0000)]
Add a trailing '\0' to the UTF-8 output string

7 years agoMake the SYSLOG function output UTF-8, after replacing any instance of \0
Matthew Mondor [Mon, 3 Sep 2012 21:34:44 +0000 (21:34 +0000)]
Make the SYSLOG function output UTF-8, after replacing any instance of \0
by <U+00>.  Using the built-in CSTRING conversion wasn't adequate for
syslog considering the malformed data we might have to log.

7 years agoMore minor "/test" page modifications
Matthew Mondor [Mon, 3 Sep 2012 17:00:47 +0000 (17:00 +0000)]
More minor "/test" page modifications

7 years agoRework the "/test" page
Matthew Mondor [Mon, 3 Sep 2012 16:49:45 +0000 (16:49 +0000)]
Rework the "/test" page

7 years agoClean up HANDLER-CASE in HTTP-DYNAMIC-DISPATCH
Matthew Mondor [Mon, 3 Sep 2012 12:42:57 +0000 (12:42 +0000)]
Clean up HANDLER-CASE in HTTP-DYNAMIC-DISPATCH

7 years agoBetter error handling and reporting
Matthew Mondor [Mon, 3 Sep 2012 12:17:55 +0000 (12:17 +0000)]
Better error handling and reporting

7 years ago- Added optional support for the HTTPd to load SWANK when started in
Matthew Mondor [Thu, 30 Aug 2012 14:49:44 +0000 (14:49 +0000)]
- Added optional support for the HTTPd to load SWANK when started in
  daemon/standalone mode.  Beware that this is very dangerous if some
  local user or software can issue connections to the SWANK server!
  I should eventually investigate if it's possible to use AF_LOCAL
  sockets for this, with the socket file restricted to the wanted
  permissions, and possibly SCM_RIGHTS ancillary message support to
  verify user credentials.
- Now logging the IP address for various :LOG-ERROR messages which
  would not display it.

7 years agoAdded syslog logging capability, especially useful for standalone mode
Matthew Mondor [Thu, 30 Aug 2012 07:07:52 +0000 (07:07 +0000)]
Added syslog logging capability, especially useful for standalone mode

7 years agoECL FFI wrapper for syslog(3)
Matthew Mondor [Thu, 30 Aug 2012 06:48:11 +0000 (06:48 +0000)]
ECL FFI wrapper for syslog(3)

7 years agoMake use of WITH-HTTP-LET where appropriate.
Matthew Mondor [Tue, 28 Aug 2012 11:03:41 +0000 (11:03 +0000)]
Make use of WITH-HTTP-LET where appropriate.

7 years agoExport the WITH-HTTP-LET macro.
Matthew Mondor [Tue, 28 Aug 2012 11:03:23 +0000 (11:03 +0000)]
Export the WITH-HTTP-LET macro.

7 years agoFix a typo where "/names-details" should have been "/name-details",
Matthew Mondor [Tue, 28 Aug 2012 11:02:37 +0000 (11:02 +0000)]
Fix a typo where "/names-details" should have been "/name-details",
fixing a 404 error in the /names application.

7 years agoMore standalone-mode fixes
Matthew Mondor [Mon, 27 Aug 2012 23:27:04 +0000 (23:27 +0000)]
More standalone-mode fixes

7 years agoVarious fixes related to standalone mode
Matthew Mondor [Mon, 27 Aug 2012 22:58:36 +0000 (22:58 +0000)]
Various fixes related to standalone mode

7 years agoHandy script to easily build the standalone-mode HTTPd
Matthew Mondor [Mon, 27 Aug 2012 22:58:23 +0000 (22:58 +0000)]
Handy script to easily build the standalone-mode HTTPd

7 years agoMove test applications into its own TEST-APPLICATIONS package
Matthew Mondor [Mon, 27 Aug 2012 21:33:12 +0000 (21:33 +0000)]
Move test applications into its own TEST-APPLICATIONS package

7 years agoBugfixes in relation to the recent reorganization
Matthew Mondor [Mon, 27 Aug 2012 21:12:28 +0000 (21:12 +0000)]
Bugfixes in relation to the recent reorganization

7 years agoMinor optimizations in relation to dynamically scoped variables usage
Matthew Mondor [Mon, 27 Aug 2012 21:01:13 +0000 (21:01 +0000)]
Minor optimizations in relation to dynamically scoped variables usage

7 years agoTest/Demo HTTP applications isolated in test-applications.lisp
Matthew Mondor [Mon, 27 Aug 2012 21:00:18 +0000 (21:00 +0000)]
Test/Demo HTTP applications isolated in test-applications.lisp

7 years agoAdapt to recent changes
Matthew Mondor [Mon, 27 Aug 2012 20:59:44 +0000 (20:59 +0000)]
Adapt to recent changes

7 years ago- Replaced test-httpd.lisp by httpd.lisp
Matthew Mondor [Mon, 27 Aug 2012 20:58:42 +0000 (20:58 +0000)]
- Replaced test-httpd.lisp by httpd.lisp
- Example configuration file httpd-config.lisp

7 years ago*** empty log message ***
Matthew Mondor [Sat, 25 Aug 2012 13:24:20 +0000 (13:24 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Thu, 23 Aug 2012 09:03:55 +0000 (09:03 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Wed, 22 Aug 2012 07:16:36 +0000 (07:16 +0000)]
*** empty log message ***

7 years agoEmacs key binding oddities again caused me to accidentally revert some
Matthew Mondor [Tue, 21 Aug 2012 09:06:49 +0000 (09:06 +0000)]
Emacs key binding oddities again caused me to accidentally revert some
modifications, which were now redone...

7 years agoFix extra paren typo
Matthew Mondor [Tue, 21 Aug 2012 09:04:21 +0000 (09:04 +0000)]
Fix extra paren typo

7 years agoUpdate TODO
Matthew Mondor [Tue, 21 Aug 2012 09:04:07 +0000 (09:04 +0000)]
Update TODO

7 years ago- Make REQ-VAR return a list of bindings for a TYPE if NAME is not supplied
Matthew Mondor [Tue, 21 Aug 2012 09:00:43 +0000 (09:00 +0000)]
- Make REQ-VAR return a list of bindings for a TYPE if NAME is not supplied
- Likewise WITH-HTTP-LET will do the same
- Document both functions

7 years agoUse a recursive lock for the names database
Matthew Mondor [Tue, 21 Aug 2012 08:26:55 +0000 (08:26 +0000)]
Use a recursive lock for the names database

7 years agoMake the default for REQ-VAR and WITH-HTTP-LET be NIL.
Matthew Mondor [Tue, 21 Aug 2012 07:55:33 +0000 (07:55 +0000)]
Make the default for REQ-VAR and WITH-HTTP-LET be NIL.

7 years agoFix minor typo
Matthew Mondor [Tue, 21 Aug 2012 07:35:28 +0000 (07:35 +0000)]
Fix minor typo

7 years ago- Get rid of WITH-HT-BIND which used PROGV and was more appropriate for
Matthew Mondor [Tue, 21 Aug 2012 07:32:42 +0000 (07:32 +0000)]
- Get rid of WITH-HT-BIND which used PROGV and was more appropriate for
  EVAL uses than for compiled user code
- Introduce WITH-HTTP-LET to replace WITH-HT-BIND, internally using REQ-VAR
  but with a more friendly LET-like syntax for multiple bindings

7 years ago*** empty log message ***
Matthew Mondor [Tue, 21 Aug 2012 03:10:21 +0000 (03:10 +0000)]
*** empty log message ***

7 years ago- Create a configuration structure
Matthew Mondor [Tue, 21 Aug 2012 01:27:23 +0000 (01:27 +0000)]
- Create a configuration structure
- Rewrite HTTPD-INIT and HTTPD-CLEANUP to be part of the library's API
  and use the new configuration structure
- Make code use the new configuration structure
- Rename the old HTTPD-INIT and HTTPD-CLEANUP functions to TEST-HTTPD-INIT
  and TEST-HTTPD-CLEANUP, as it's now part of the test code, which should
  even eventually be moved out to another file.

7 years ago*** empty log message ***
Matthew Mondor [Mon, 20 Aug 2012 01:54:35 +0000 (01:54 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Sun, 19 Aug 2012 23:38:21 +0000 (23:38 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Sun, 19 Aug 2012 23:27:31 +0000 (23:27 +0000)]
*** empty log message ***

7 years ago- Slightly more precise test page server information section
Matthew Mondor [Sun, 19 Aug 2012 10:28:27 +0000 (10:28 +0000)]
- Slightly more precise test page server information section

7 years ago- Enable keep-alive default for HTTP >= 1.1 instead of == 1.1
Matthew Mondor [Sun, 19 Aug 2012 10:19:10 +0000 (10:19 +0000)]
- Enable keep-alive default for HTTP >= 1.1 instead of == 1.1
- Various optimizations realted to use of dynamic variables
- Some more comments

7 years ago- Update notes
Matthew Mondor [Fri, 17 Aug 2012 02:22:52 +0000 (02:22 +0000)]
- Update notes
- Improve VHOST-REGISTER to avoid unnecessary redundancy
- Minor optimization to HTTP-REPLY-NOCACHE

7 years ago*** empty log message ***
Matthew Mondor [Fri, 10 Aug 2012 23:46:30 +0000 (23:46 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Thu, 9 Aug 2012 12:16:57 +0000 (12:16 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Wed, 8 Aug 2012 02:49:55 +0000 (02:49 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Tue, 7 Aug 2012 12:32:23 +0000 (12:32 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Tue, 7 Aug 2012 12:10:33 +0000 (12:10 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Tue, 7 Aug 2012 12:06:46 +0000 (12:06 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Mon, 6 Aug 2012 23:02:17 +0000 (23:02 +0000)]
*** empty log message ***

7 years agoUpdate again Berkeley-DB link
Matthew Mondor [Fri, 27 Jul 2012 11:47:37 +0000 (11:47 +0000)]
Update again Berkeley-DB link

7 years agoFix BerkeleyDB link
Matthew Mondor [Fri, 27 Jul 2012 11:31:25 +0000 (11:31 +0000)]
Fix BerkeleyDB link

7 years ago*** empty log message ***
Matthew Mondor [Thu, 26 Jul 2012 05:21:06 +0000 (05:21 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Thu, 26 Jul 2012 05:06:23 +0000 (05:06 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Wed, 25 Jul 2012 10:11:54 +0000 (10:11 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Wed, 25 Jul 2012 05:54:04 +0000 (05:54 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Sat, 21 Jul 2012 07:47:32 +0000 (07:47 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Wed, 18 Jul 2012 00:58:42 +0000 (00:58 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Fri, 13 Jul 2012 08:25:37 +0000 (08:25 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Tue, 10 Jul 2012 12:40:10 +0000 (12:40 +0000)]
*** empty log message ***

7 years ago- Bumped version to 0.3.5
Matthew Mondor [Tue, 10 Jul 2012 05:07:50 +0000 (05:07 +0000)]
- Bumped version to 0.3.5
- Added new mmmail SQL schema column "list" in the box table to allow
  to specify that a mailbox is for use as a mailing list and that mailing
  list headers should be added to allow "reply to mailing list" mail client
  features.
- Add feature to mmsmtpd to append mailing-list headers to incomming message
  headers.
- ANSI-fied booleans

7 years ago*** empty log message ***
Matthew Mondor [Sun, 8 Jul 2012 18:35:29 +0000 (18:35 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Sat, 7 Jul 2012 21:33:39 +0000 (21:33 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Sat, 7 Jul 2012 05:56:26 +0000 (05:56 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Sat, 7 Jul 2012 05:21:34 +0000 (05:21 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Sat, 7 Jul 2012 05:18:18 +0000 (05:18 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Thu, 5 Jul 2012 17:42:11 +0000 (17:42 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Thu, 5 Jul 2012 17:19:44 +0000 (17:19 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Thu, 5 Jul 2012 07:57:16 +0000 (07:57 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Wed, 4 Jul 2012 05:35:25 +0000 (05:35 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Tue, 3 Jul 2012 19:28:33 +0000 (19:28 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Mon, 2 Jul 2012 12:10:32 +0000 (12:10 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Sat, 30 Jun 2012 23:40:54 +0000 (23:40 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Sat, 30 Jun 2012 11:31:30 +0000 (11:31 +0000)]
*** empty log message ***

7 years ago*** empty log message ***
Matthew Mondor [Sat, 30 Jun 2012 05:20:48 +0000 (05:20 +0000)]
*** empty log message ***

7 years agoUpdate key that was now signed with my older key
Matthew Mondor [Sat, 30 Jun 2012 00:35:56 +0000 (00:35 +0000)]
Update key that was now signed with my older key

7 years ago*** empty log message ***
Matthew Mondor [Fri, 22 Jun 2012 16:43:27 +0000 (16:43 +0000)]
*** empty log message ***

7 years agoAdd PGP keys
Matthew Mondor [Mon, 18 Jun 2012 02:22:28 +0000 (02:22 +0000)]
Add PGP keys

7 years agoUpdate copyright and add PGP key links
Matthew Mondor [Mon, 18 Jun 2012 02:22:11 +0000 (02:22 +0000)]
Update copyright and add PGP key links