mmondor.git
8 years agoAdd newline at end of HTML documents
Matthew Mondor [Mon, 5 Sep 2011 16:02:46 +0000 (16:02 +0000)]
Add newline at end of HTML documents

8 years agoAdd SERVER-UPTIME as part of the Server Information section of /test
Matthew Mondor [Mon, 5 Sep 2011 12:21:06 +0000 (12:21 +0000)]
Add SERVER-UPTIME as part of the Server Information section of /test

8 years ago- Add SERVER-TIME-INTERVAL, export it
Matthew Mondor [Mon, 5 Sep 2011 12:19:52 +0000 (12:19 +0000)]
- Add SERVER-TIME-INTERVAL, export it
- Add SERVER-UPTIME using SERVER-TIME-INTERVAL, export it

8 years ago- Better directory indexer
Matthew Mondor [Sun, 4 Sep 2011 02:51:55 +0000 (02:51 +0000)]
- Better directory indexer
- Set initial uninitialized struct fields to NIL

8 years ago- Implemented Keep-Alive
Matthew Mondor [Sat, 3 Sep 2011 22:52:52 +0000 (22:52 +0000)]
- Implemented Keep-Alive
- Implemented directory indexing, added AUTOINDEX per-vhost parameter,
  defaulting to NIL

8 years agoAdd CONNECTION-INPUT-TIMEOUT and export it so that user code may easily
Matthew Mondor [Sat, 3 Sep 2011 22:51:04 +0000 (22:51 +0000)]
Add CONNECTION-INPUT-TIMEOUT and export it so that user code may easily
change the input timeout in seconds.

8 years agoAlso point to source in top paragraphs
Matthew Mondor [Fri, 2 Sep 2011 23:22:26 +0000 (23:22 +0000)]
Also point to source in top paragraphs

8 years ago- Cleanup by creating the condition for HTTP-REPLY-SIGNAL and using it
Matthew Mondor [Fri, 2 Sep 2011 23:14:52 +0000 (23:14 +0000)]
- Cleanup by creating the condition for HTTP-REPLY-SIGNAL and using it
  to turn HTTP-REPLY-FLUSH into an optional exit point.  This prevents
  the need for all the previous RETURN-FROM directives.

8 years ago- Fix a bug where if multiple content strings were added to an HTTP-REPLY
Matthew Mondor [Fri, 2 Sep 2011 22:34:02 +0000 (22:34 +0000)]
- Fix a bug where if multiple content strings were added to an HTTP-REPLY
  object they would be flushed in reverse-order.  This did not occur,
  because the code currently doesn't add more than one string.
- Minor cleanups

8 years ago- Better HTTP version handling
Matthew Mondor [Fri, 2 Sep 2011 13:53:05 +0000 (13:53 +0000)]
- Better HTTP version handling
- Make logging timeouts a debug option

8 years ago- Rename :LOG debug option to :LOG-REQ
Matthew Mondor [Fri, 2 Sep 2011 12:03:25 +0000 (12:03 +0000)]
- Rename :LOG debug option to :LOG-REQ
- Add debug option for :LOG-CONNECTIONS

8 years ago- Implement simple debug options and make debugging code optional
Matthew Mondor [Fri, 2 Sep 2011 11:58:24 +0000 (11:58 +0000)]
- Implement simple debug options and make debugging code optional
- Move beep code to :BEEP debug-option
- Move verbose REQ logging to :LOG debug-option
- Now supports HTTP-friendly logging
- Make HTTP-REPLY object's CHARSET default to the current vhost's setting
  by default if *REQUEST* bound
- Enhance RFC compliance of HTTP errors
- Fix a minor bug in URL-DECODE where there was an extra OF-TYPE QUOTE
- Use a keyword symbol for HTTP-REQUEST-METHOD rather than a string
- Use a float for HTTP-REQUEST-PROTOCOL version rather than a string
- Move /test to debug-optional block in HTTP-DYNAMIC-DISPATCH
- Support old-style GET
- Support HEAD
- No longer log connect/disconnects by default

8 years agoAdd LOG-LINE-NOSTAMP, useful when user code uses a custom format already
Matthew Mondor [Fri, 2 Sep 2011 11:43:58 +0000 (11:43 +0000)]
Add LOG-LINE-NOSTAMP, useful when user code uses a custom format already
including its own timestamp

8 years ago- Rewrote code dealing with default host
Matthew Mondor [Thu, 1 Sep 2011 10:10:53 +0000 (10:10 +0000)]
- Rewrote code dealing with default host
- Dynamically bind *REQUEST* to facilitate better logging
- Move request logging to HTTP-REPLY-FLUSH which at that point knows
  the status code sent to the user and will eventually log it
- Support old-style GET requests (using the default vhost)
- Make request reader handle timeout signals so we can now reply to the
  user with a timeout error
- Improve logging

8 years ago- Fix WITH-SOCKET where locking had too large scope
Matthew Mondor [Thu, 1 Sep 2011 10:05:16 +0000 (10:05 +0000)]
- Fix WITH-SOCKET where locking had too large scope
- Return timeout errors rather than convert them all to EOF ones in
  LINE-READ

8 years ago- Implement If-Modified-Since and If-Unmodified-Since functionality
Matthew Mondor [Thu, 1 Sep 2011 07:06:36 +0000 (07:06 +0000)]
- Implement If-Modified-Since and If-Unmodified-Since functionality
- Remove extraneous useless HANDLER-CASE from the static file transfer code

8 years ago- Add SERVER-TIME-UNIVERSAL to convert a Unix timestamp to universal-time
Matthew Mondor [Thu, 1 Sep 2011 07:05:04 +0000 (07:05 +0000)]
- Add SERVER-TIME-UNIVERSAL to convert a Unix timestamp to universal-time
- Make SERVER-TIME-RFC's optional UT be an universal-time, not Unix
  timestamp
- Fix Month offset bug in SERVER-TIME-RFC-PARSE

8 years ago- Add link to mirror site to test page
Matthew Mondor [Thu, 1 Sep 2011 04:21:29 +0000 (04:21 +0000)]
- Add link to mirror site to test page

8 years ago- Modify lisp-httpd test URL to current one
Matthew Mondor [Thu, 1 Sep 2011 04:06:49 +0000 (04:06 +0000)]
- Modify lisp-httpd test URL to current one

8 years agoTake out stray debug LOG-LINE call
Matthew Mondor [Thu, 1 Sep 2011 03:44:59 +0000 (03:44 +0000)]
Take out stray debug LOG-LINE call

8 years ago- Add TODO list of items to complete
Matthew Mondor [Thu, 1 Sep 2011 03:43:11 +0000 (03:43 +0000)]
- Add TODO list of items to complete
- Move *server-version* to be near top
- Add tools for MIME-Type registration, registration and per-extension
  queries, along with a small default database
- Add path virtualization and validation functions
- Add new INDEX slot to VHOST
- Sanity check paths given for ROOT and INDEX in MAKE-VHOST
- Create general purpose HTTP-REPLY struct, with tools to add headers and
  content as well as flush it as needed
- Rewrite HTTP-ERROR to use HTTP-REPLY
- Write HTTP-REDIRECT function
- Account for end-of-URL marker ';' when parsing GET queries
- Keep port number as part of HTTP-REQUEST HOST slot for HTTP-REDIRECT
- Move test page to own "method" and function, "/test"
- Implement static content distribution
- Isolate dynamic dispatching to a function, currently mostly NOOP
- In initialization register MIME-Types database and specify that we
  want a per-thread *BUFFER* of 64KB, used for static distribution

8 years ago- Export and document *CONNECTION*
Matthew Mondor [Thu, 1 Sep 2011 03:30:18 +0000 (03:30 +0000)]
- Export and document *CONNECTION*
- Add *BUFFER* for thread-specific general purpose bytes buffer

8 years agoAdd tools for character range and character classes validation
Matthew Mondor [Thu, 1 Sep 2011 03:28:30 +0000 (03:28 +0000)]
Add tools for character range and character classes validation

8 years agoAdd lisp-httpd
Matthew Mondor [Tue, 30 Aug 2011 13:26:59 +0000 (13:26 +0000)]
Add lisp-httpd

8 years agoAdd license text
Matthew Mondor [Tue, 30 Aug 2011 08:16:13 +0000 (08:16 +0000)]
Add license text

8 years agoLink to source code in test page
Matthew Mondor [Tue, 30 Aug 2011 08:10:13 +0000 (08:10 +0000)]
Link to source code in test page

8 years ago- Move UTF-8 related functions to character.lisp
Matthew Mondor [Tue, 30 Aug 2011 08:04:26 +0000 (08:04 +0000)]
- Move UTF-8 related functions to character.lisp
- Load character.lisp and use CHARACTER

8 years agoInitial import
Matthew Mondor [Tue, 30 Aug 2011 08:01:36 +0000 (08:01 +0000)]
Initial import

8 years agoExport *CONNECTION*
Matthew Mondor [Tue, 30 Aug 2011 01:31:19 +0000 (01:31 +0000)]
Export *CONNECTION*

8 years ago- Add debugging notification
Matthew Mondor [Tue, 30 Aug 2011 01:23:59 +0000 (01:23 +0000)]
- Add debugging notification
- Use the new ECL sequence streams and implement a working URL decoder

8 years ago*** empty log message ***
Matthew Mondor [Sun, 28 Aug 2011 23:10:02 +0000 (23:10 +0000)]
*** empty log message ***

8 years ago*** empty log message ***
Matthew Mondor [Sun, 28 Aug 2011 15:20:00 +0000 (15:20 +0000)]
*** empty log message ***

8 years ago- Improve logging
Matthew Mondor [Sun, 28 Aug 2011 00:56:42 +0000 (00:56 +0000)]
- Improve logging
- Use new CONNECTION object

8 years ago- Improve logging
Matthew Mondor [Sun, 28 Aug 2011 00:55:43 +0000 (00:55 +0000)]
- Improve logging
- Make connection/disconnection logging optional
- Supply a CONNECTION object to custom serving functions rather than
  multiple arguments, and bind *CONNECTION* to it as well

8 years agoAdd DO-HTML-COND
Matthew Mondor [Sat, 27 Aug 2011 03:45:50 +0000 (03:45 +0000)]
Add DO-HTML-COND

8 years agoAdd BR closing tag for XHTML 1.0 Transitional validation
Matthew Mondor [Sat, 27 Aug 2011 02:37:59 +0000 (02:37 +0000)]
Add BR closing tag for XHTML 1.0 Transitional validation

8 years ago- Make form data values persistent when resubmitting
Matthew Mondor [Sat, 27 Aug 2011 02:34:28 +0000 (02:34 +0000)]
- Make form data values persistent when resubmitting
- Strip port number from Host: header before matching registered vhosts

8 years agoAdded DO-HTML-IF
Matthew Mondor [Sat, 27 Aug 2011 02:30:34 +0000 (02:30 +0000)]
Added DO-HTML-IF

8 years agoMany developments towards a real HTTP server
Matthew Mondor [Sat, 27 Aug 2011 00:52:50 +0000 (00:52 +0000)]
Many developments towards a real HTTP server

8 years agoAdd *RCSID*
Matthew Mondor [Sat, 27 Aug 2011 00:48:49 +0000 (00:48 +0000)]
Add *RCSID*

8 years ago- Add *RCSID*
Matthew Mondor [Sat, 27 Aug 2011 00:47:53 +0000 (00:47 +0000)]
- Add *RCSID*
- Use high SAFETY to avoid some segfaults experienced at level 1
- Disable *PRINT-PRETTY*
- Fix LISPP to also reject lists starting with a string

8 years ago- Add SPLIT-STRING and SERVER-RFC-TIME-PARSE utilities
Matthew Mondor [Fri, 26 Aug 2011 11:04:48 +0000 (11:04 +0000)]
- Add SPLIT-STRING and SERVER-RFC-TIME-PARSE utilities
- Improve stability by using a per-thread-node lock
- Restore the accept lock to prevent occasional startup issue

8 years agoAvoid potential race conditions by using a per-thread-node lock for status
Matthew Mondor [Mon, 22 Aug 2011 05:13:36 +0000 (05:13 +0000)]
Avoid potential race conditions by using a per-thread-node lock for status
queries and changes

8 years agoUse the HTML package
Matthew Mondor [Fri, 19 Aug 2011 13:12:31 +0000 (13:12 +0000)]
Use the HTML package

8 years ago- Add DO-HTML-WHEN and DO-HTML-UNLESS
Matthew Mondor [Fri, 19 Aug 2011 13:05:10 +0000 (13:05 +0000)]
- Add DO-HTML-WHEN and DO-HTML-UNLESS
- Fix a bug in DO-HTML

8 years agoMinor optimization
Matthew Mondor [Fri, 19 Aug 2011 11:58:25 +0000 (11:58 +0000)]
Minor optimization

8 years agoInitial import in server of an HTML template compiler
Matthew Mondor [Fri, 19 Aug 2011 11:48:25 +0000 (11:48 +0000)]
Initial import in server of an HTML template compiler

8 years agoPackage and document
Matthew Mondor [Fri, 19 Aug 2011 11:43:03 +0000 (11:43 +0000)]
Package and document

8 years agoInitial import of incomplete, somewhat convoluted test
Matthew Mondor [Fri, 19 Aug 2011 11:05:55 +0000 (11:05 +0000)]
Initial import of incomplete, somewhat convoluted test

8 years ago- Cleanup defining and using LISPP
Matthew Mondor [Fri, 19 Aug 2011 11:05:28 +0000 (11:05 +0000)]
- Cleanup defining and using LISPP
- Provide an efficient HTML string escaping function, not used internally
  but for use by user code

8 years agoUses a custom compiler no longer using FORMAT, thus escaping ~A won't be
Matthew Mondor [Fri, 19 Aug 2011 03:34:39 +0000 (03:34 +0000)]
Uses a custom compiler no longer using FORMAT, thus escaping ~A won't be
necessary.

8 years agoMinor bugfix
Matthew Mondor [Fri, 19 Aug 2011 02:32:39 +0000 (02:32 +0000)]
Minor bugfix

8 years agoNow in the form of easy to use general macros from CL code.
Matthew Mondor [Fri, 19 Aug 2011 02:07:34 +0000 (02:07 +0000)]
Now in the form of easy to use general macros from CL code.

8 years agoMore testing
Matthew Mondor [Thu, 18 Aug 2011 23:30:11 +0000 (23:30 +0000)]
More testing

8 years agoAdded XHTML support
Matthew Mondor [Thu, 18 Aug 2011 11:40:19 +0000 (11:40 +0000)]
Added XHTML support

8 years ago*** empty log message ***
Matthew Mondor [Thu, 18 Aug 2011 00:20:31 +0000 (00:20 +0000)]
*** empty log message ***

8 years agoMore cleanup and tests
Matthew Mondor [Wed, 17 Aug 2011 22:34:22 +0000 (22:34 +0000)]
More cleanup and tests

8 years agoRewrote a cleaner implementation, also fixing bugs from the previous one
Matthew Mondor [Wed, 17 Aug 2011 22:11:51 +0000 (22:11 +0000)]
Rewrote a cleaner implementation, also fixing bugs from the previous one

8 years agoInitial import of a test HTML template compiler
Matthew Mondor [Wed, 17 Aug 2011 08:28:49 +0000 (08:28 +0000)]
Initial import of a test HTML template compiler

8 years agoReimplement LINE-READ using LOOP and add optional MAX parameter.
Matthew Mondor [Sun, 14 Aug 2011 11:16:44 +0000 (11:16 +0000)]
Reimplement LINE-READ using LOOP and add optional MAX parameter.
The new implementation will also extand the string as necessary, in large
enough steps not to affect performance.

8 years ago- Move all setsockopt(2) calls to after accept(2) as unfortunately some
Matthew Mondor [Sun, 14 Aug 2011 10:03:52 +0000 (10:03 +0000)]
- Move all setsockopt(2) calls to after accept(2) as unfortunately some
  OSs like Linux require this, unlike BSDs which inherit them for better
  performance.
- Also disable TCP linger.

8 years agoRewrite SERVER-STAT to use LOOP
Matthew Mondor [Sat, 13 Aug 2011 22:27:39 +0000 (22:27 +0000)]
Rewrite SERVER-STAT to use LOOP

8 years ago*** empty log message ***
Matthew Mondor [Sat, 13 Aug 2011 21:10:16 +0000 (21:10 +0000)]
*** empty log message ***

8 years ago- Detect empty request
Matthew Mondor [Sat, 13 Aug 2011 21:00:39 +0000 (21:00 +0000)]
- Detect empty request
- Log status and request

8 years agoAdd STREAM-FD function for user code to obtain FD from supplied stream
Matthew Mondor [Sat, 13 Aug 2011 20:59:53 +0000 (20:59 +0000)]
Add STREAM-FD function for user code to obtain FD from supplied stream

8 years agoRecognize HTTP 0.x GET
Matthew Mondor [Sat, 13 Aug 2011 20:29:08 +0000 (20:29 +0000)]
Recognize HTTP 0.x GET

8 years agoMinor optimizations
Matthew Mondor [Sat, 13 Aug 2011 09:53:34 +0000 (09:53 +0000)]
Minor optimizations

8 years agoClean up TODO list
Matthew Mondor [Sat, 13 Aug 2011 09:17:12 +0000 (09:17 +0000)]
Clean up TODO list

8 years ago- Added maximum number of characters allowed per request
Matthew Mondor [Sat, 13 Aug 2011 09:15:19 +0000 (09:15 +0000)]
- Added maximum number of characters allowed per request
- Added request timeout

8 years agoInvoke user functions for SERVE-FUNCTION and OVERFLOW-FUNCTION using
Matthew Mondor [Sat, 13 Aug 2011 09:13:46 +0000 (09:13 +0000)]
Invoke user functions for SERVE-FUNCTION and OVERFLOW-FUNCTION using
SYMBOL-FUNCTION, such that user functions may interactively be redefined
causing new requests to be routed to the most recent definition.

8 years ago- Implement optimized second-resolution timer access minimizing syscalls
Matthew Mondor [Sat, 13 Aug 2011 07:57:43 +0000 (07:57 +0000)]
- Implement optimized second-resolution timer access minimizing syscalls
- Export various time functions
- Document exported functions

8 years agoMove back *DEBUGGER-HOOK* binding within the ACCEPT-LOOP-THREAD loop as we
Matthew Mondor [Sat, 13 Aug 2011 06:48:13 +0000 (06:48 +0000)]
Move back *DEBUGGER-HOOK* binding within the ACCEPT-LOOP-THREAD loop as we
don't want the thread to exit because of an error, but to resume.

8 years agoWrote the WITH-LOG-ERRORS macro which is now used for both cases where
Matthew Mondor [Sat, 13 Aug 2011 06:44:10 +0000 (06:44 +0000)]
Wrote the WITH-LOG-ERRORS macro which is now used for both cases where
*DEBUGGER-HOOK* is bound to log errors instead of entering the debugger.
Also displace this binding to outside the ACCEPT-LOOP-THREAD LOOP.

8 years ago- Enhance LOG-LINE and use the new syntax thoughout the code
Matthew Mondor [Sat, 13 Aug 2011 06:21:54 +0000 (06:21 +0000)]
- Enhance LOG-LINE and use the new syntax thoughout the code
- Make CHILDREN-MANAGER-THREAD use LOG-ERROR

8 years agoInitial import of a minimal HTTPD example for ecl-mp-server.
Matthew Mondor [Sat, 13 Aug 2011 05:43:08 +0000 (05:43 +0000)]
Initial import of a minimal HTTPD example for ecl-mp-server.

8 years agoFix broken stack trace and funcall
Matthew Mondor [Sat, 13 Aug 2011 05:41:48 +0000 (05:41 +0000)]
Fix broken stack trace and funcall

8 years agoInitial import into server
Matthew Mondor [Sat, 13 Aug 2011 00:00:45 +0000 (00:00 +0000)]
Initial import into server

8 years agoMake a library
Matthew Mondor [Fri, 12 Aug 2011 23:58:24 +0000 (23:58 +0000)]
Make a library

8 years agoAdded thread pool manager, moved more things to parameters
Matthew Mondor [Fri, 12 Aug 2011 11:54:13 +0000 (11:54 +0000)]
Added thread pool manager, moved more things to parameters

8 years ago*** empty log message ***
Matthew Mondor [Thu, 11 Aug 2011 21:24:15 +0000 (21:24 +0000)]
*** empty log message ***

8 years ago*** empty log message ***
Matthew Mondor [Tue, 9 Aug 2011 11:28:30 +0000 (11:28 +0000)]
*** empty log message ***

8 years agoInitial import
Matthew Mondor [Tue, 9 Aug 2011 00:23:18 +0000 (00:23 +0000)]
Initial import

8 years agoMore useful utilities
Matthew Mondor [Sat, 6 Aug 2011 09:06:03 +0000 (09:06 +0000)]
More useful utilities

8 years agoPortability fix
Matthew Mondor [Sat, 6 Aug 2011 03:46:48 +0000 (03:46 +0000)]
Portability fix

8 years agoInitial import
Matthew Mondor [Sat, 6 Aug 2011 02:46:33 +0000 (02:46 +0000)]
Initial import

8 years ago*** empty log message ***
Matthew Mondor [Fri, 5 Aug 2011 14:28:31 +0000 (14:28 +0000)]
*** empty log message ***

8 years ago*** empty log message ***
Matthew Mondor [Fri, 5 Aug 2011 14:26:09 +0000 (14:26 +0000)]
*** empty log message ***

8 years ago*** empty log message ***
Matthew Mondor [Fri, 5 Aug 2011 13:14:33 +0000 (13:14 +0000)]
*** empty log message ***

8 years ago*** empty log message ***
Matthew Mondor [Fri, 5 Aug 2011 00:03:49 +0000 (00:03 +0000)]
*** empty log message ***

8 years agoAdd various new pkgsrc-2011Q2 PRs
Matthew Mondor [Tue, 2 Aug 2011 06:18:42 +0000 (06:18 +0000)]
Add various new pkgsrc-2011Q2 PRs

8 years ago*** empty log message ***
Matthew Mondor [Mon, 1 Aug 2011 21:49:44 +0000 (21:49 +0000)]
*** empty log message ***

8 years agoMinor changes
Matthew Mondor [Mon, 1 Aug 2011 21:46:33 +0000 (21:46 +0000)]
Minor changes

8 years agoSET-FINALIZER now in EXT not SI
Matthew Mondor [Sat, 30 Jul 2011 21:23:52 +0000 (21:23 +0000)]
SET-FINALIZER now in EXT not SI

8 years agoMinor fix
Matthew Mondor [Fri, 29 Jul 2011 06:26:27 +0000 (06:26 +0000)]
Minor fix

8 years ago*** empty log message ***
Matthew Mondor [Thu, 28 Jul 2011 18:29:30 +0000 (18:29 +0000)]
*** empty log message ***

8 years agoAppend SBCL assembly output
Matthew Mondor [Thu, 28 Jul 2011 11:04:42 +0000 (11:04 +0000)]
Append SBCL assembly output

8 years agoSecond test, and add description
Matthew Mondor [Thu, 28 Jul 2011 03:47:48 +0000 (03:47 +0000)]
Second test, and add description

8 years agoOptimization reated bugfixes
Matthew Mondor [Tue, 26 Jul 2011 23:01:05 +0000 (23:01 +0000)]
Optimization reated bugfixes

8 years agoBetter optimization for ADDRESS-FIXNUM
Matthew Mondor [Tue, 26 Jul 2011 22:29:33 +0000 (22:29 +0000)]
Better optimization for ADDRESS-FIXNUM

8 years agoAdd some optimization macros
Matthew Mondor [Tue, 26 Jul 2011 22:25:51 +0000 (22:25 +0000)]
Add some optimization macros