mmondor.git
8 years agoDO-HTML cleanup
Matthew Mondor [Tue, 7 Feb 2012 10:38:34 +0000 (10:38 +0000)]
DO-HTML cleanup

8 years ago- Reworked *DEBUG* logging features
Matthew Mondor [Tue, 7 Feb 2012 09:53:05 +0000 (09:53 +0000)]
- Reworked *DEBUG* logging features
- Made normal logging optional

8 years ago*** empty log message ***
Matthew Mondor [Sun, 5 Feb 2012 07:28:56 +0000 (07:28 +0000)]
*** empty log message ***

8 years ago*** empty log message ***
Matthew Mondor [Fri, 3 Feb 2012 03:51:36 +0000 (03:51 +0000)]
*** empty log message ***

8 years ago*** empty log message ***
Matthew Mondor [Fri, 3 Feb 2012 02:53:55 +0000 (02:53 +0000)]
*** empty log message ***

8 years agoFix a bug where the mime types were not properly loaded at startup
Matthew Mondor [Thu, 2 Feb 2012 15:45:50 +0000 (15:45 +0000)]
Fix a bug where the mime types were not properly loaded at startup

8 years ago- Fix bug where http-referer weren't logged
Matthew Mondor [Thu, 2 Feb 2012 15:34:21 +0000 (15:34 +0000)]
- Fix bug where http-referer weren't logged

8 years ago*** empty log message ***
Matthew Mondor [Thu, 2 Feb 2012 15:02:58 +0000 (15:02 +0000)]
*** empty log message ***

8 years ago- Use function qualifiers rather than symbols or functions so that we may
Matthew Mondor [Wed, 1 Feb 2012 13:27:53 +0000 (13:27 +0000)]
- Use function qualifiers rather than symbols or functions so that we may
  use what is appropriate depending on context
- Move MIME types out of the main source file
- Write utility functions for interactive MIME type changes
- Update copyright

8 years ago*** empty log message ***
Matthew Mondor [Wed, 1 Feb 2012 13:21:03 +0000 (13:21 +0000)]
*** empty log message ***

8 years agoInitial import
Matthew Mondor [Sun, 29 Jan 2012 03:27:49 +0000 (03:27 +0000)]
Initial import

8 years agoModify links to new HTTPd tests
Matthew Mondor [Sun, 29 Jan 2012 01:27:43 +0000 (01:27 +0000)]
Modify links to new HTTPd tests

8 years ago*** empty log message ***
Matthew Mondor [Tue, 24 Jan 2012 20:04:50 +0000 (20:04 +0000)]
*** empty log message ***

8 years agoAdd missing free()
Matthew Mondor [Tue, 17 Jan 2012 00:28:10 +0000 (00:28 +0000)]
Add missing free()

8 years agoInitial import, adapted from my previous proplist-cl.c
Matthew Mondor [Tue, 17 Jan 2012 00:14:38 +0000 (00:14 +0000)]
Initial import, adapted from my previous proplist-cl.c

8 years agoAdded missing SDL_UnlockYUVOverlay() call
Matthew Mondor [Sun, 11 Dec 2011 09:48:18 +0000 (09:48 +0000)]
Added missing SDL_UnlockYUVOverlay() call

8 years agoInitial import
Matthew Mondor [Thu, 8 Dec 2011 14:30:43 +0000 (14:30 +0000)]
Initial import

8 years ago*** empty log message ***
Matthew Mondor [Wed, 7 Dec 2011 23:48:17 +0000 (23:48 +0000)]
*** empty log message ***

8 years ago*** empty log message ***
Matthew Mondor [Wed, 7 Dec 2011 23:46:09 +0000 (23:46 +0000)]
*** empty log message ***

8 years ago*** empty log message ***
Matthew Mondor [Fri, 28 Oct 2011 03:45:36 +0000 (03:45 +0000)]
*** empty log message ***

8 years agoComments and formatting
Matthew Mondor [Tue, 27 Sep 2011 19:53:10 +0000 (19:53 +0000)]
Comments and formatting

8 years ago*** empty log message ***
Matthew Mondor [Mon, 26 Sep 2011 02:15:56 +0000 (02:15 +0000)]
*** empty log message ***

8 years agoUpdated to use use the set-buffer-size ioctl on both pty and tty
Matthew Mondor [Sun, 25 Sep 2011 20:12:47 +0000 (20:12 +0000)]
Updated to use use the set-buffer-size ioctl on both pty and tty

8 years agoAdapt to latest NetBSD-current changes
Matthew Mondor [Sun, 25 Sep 2011 09:12:13 +0000 (09:12 +0000)]
Adapt to latest NetBSD-current changes

8 years agoAdapt to recent NetBSD-current changes
Matthew Mondor [Sun, 25 Sep 2011 08:52:50 +0000 (08:52 +0000)]
Adapt to recent NetBSD-current changes

8 years agoFixes
Matthew Mondor [Fri, 23 Sep 2011 13:06:00 +0000 (13:06 +0000)]
Fixes

8 years ago*** empty log message ***
Matthew Mondor [Fri, 23 Sep 2011 12:42:58 +0000 (12:42 +0000)]
*** empty log message ***

8 years agoInitial import
Matthew Mondor [Fri, 23 Sep 2011 12:19:18 +0000 (12:19 +0000)]
Initial import

8 years agoInitial import
Matthew Mondor [Tue, 20 Sep 2011 10:49:50 +0000 (10:49 +0000)]
Initial import

8 years ago*** empty log message ***
Matthew Mondor [Mon, 19 Sep 2011 00:55:12 +0000 (00:55 +0000)]
*** empty log message ***

8 years ago- Refine error reporting
Matthew Mondor [Fri, 16 Sep 2011 20:06:15 +0000 (20:06 +0000)]
- Refine error reporting
- Minor optimization and cleanup

8 years agoLog session ID in LOG-ERROR, if any
Matthew Mondor [Fri, 16 Sep 2011 19:36:14 +0000 (19:36 +0000)]
Log session ID in LOG-ERROR, if any

8 years ago- More fixes related to seven-ircd JOIN changes
Matthew Mondor [Fri, 16 Sep 2011 09:54:09 +0000 (09:54 +0000)]
- More fixes related to seven-ircd JOIN changes

8 years ago- Although it's the only IRCd I know doing this, ircd-seven (used by
Matthew Mondor [Fri, 16 Sep 2011 09:41:40 +0000 (09:41 +0000)]
- Although it's the only IRCd I know doing this, ircd-seven (used by
  freenode) now places the #channel in the first parameter of the JOIN
  server-to-client replies rather than into the :text.  So check for both.
- Minor fix to our line reading function

8 years agoAlso normalize "..." ligature
Matthew Mondor [Wed, 14 Sep 2011 02:51:40 +0000 (02:51 +0000)]
Also normalize "..." ligature

8 years ago- Used w3c validator on pages and fixed a few markup bugs
Matthew Mondor [Sun, 11 Sep 2011 06:01:59 +0000 (06:01 +0000)]
- Used w3c validator on pages and fixed a few markup bugs
- Added some precisions

8 years agoAdd URL to help find a name for test-httpd.lisp
Matthew Mondor [Sun, 11 Sep 2011 02:01:55 +0000 (02:01 +0000)]
Add URL to help find a name for test-httpd.lisp

8 years ago- Wrote URL-ENCODE
Matthew Mondor [Sun, 11 Sep 2011 02:00:17 +0000 (02:00 +0000)]
- Wrote URL-ENCODE
- Wrote a small application to help decide test-httpd's future name

8 years agoAlso escape " to "
Matthew Mondor [Sun, 11 Sep 2011 01:59:08 +0000 (01:59 +0000)]
Also escape " to "

8 years agoLink to test-httpd.lisp's /chat
Matthew Mondor [Sat, 10 Sep 2011 00:36:18 +0000 (00:36 +0000)]
Link to test-httpd.lisp's /chat

8 years agoFix XHTML Transitional conformance bug in /chat
Matthew Mondor [Sat, 10 Sep 2011 00:18:47 +0000 (00:18 +0000)]
Fix XHTML Transitional conformance bug in /chat

8 years agoNow saves messages of the /chat test application to reload them at startup.
Matthew Mondor [Fri, 9 Sep 2011 19:21:47 +0000 (19:21 +0000)]
Now saves messages of the /chat test application to reload them at startup.

8 years agoFancier directory index
Matthew Mondor [Fri, 9 Sep 2011 15:52:49 +0000 (15:52 +0000)]
Fancier directory index

8 years agoAlso escape #\U00A0 to  
Matthew Mondor [Fri, 9 Sep 2011 15:52:33 +0000 (15:52 +0000)]
Also escape #\U00A0 to  

8 years ago*** empty log message ***
Matthew Mondor [Fri, 9 Sep 2011 13:52:31 +0000 (13:52 +0000)]
*** empty log message ***

8 years ago- Charset now a keyword symbol rather than a string
Matthew Mondor [Fri, 9 Sep 2011 13:06:12 +0000 (13:06 +0000)]
- Charset now a keyword symbol rather than a string
- Fix a bug where unicode extended chars length wasn't calculated properly
  in HTTP-REPLY-FLUSH (thanks to Juan Jose Garcia-Ripoll for pointing out
  the bug)

8 years agoRestore SO_LINGER and TCP_NODELAY as they weren't the source of an earlier
Matthew Mondor [Fri, 9 Sep 2011 13:01:56 +0000 (13:01 +0000)]
Restore SO_LINGER and TCP_NODELAY as they weren't the source of an earlier
(now fixed) bug.

8 years agoUpdate example
Matthew Mondor [Thu, 8 Sep 2011 17:05:19 +0000 (17:05 +0000)]
Update example

8 years agoBe more careful to exit upon certain abnormal events
Matthew Mondor [Thu, 8 Sep 2011 17:00:37 +0000 (17:00 +0000)]
Be more careful to exit upon certain abnormal events

8 years ago- Make a daemon
Matthew Mondor [Thu, 8 Sep 2011 15:36:59 +0000 (15:36 +0000)]
- Make a daemon
- Use non-blocking mode

8 years ago- Improve error reports
Matthew Mondor [Thu, 8 Sep 2011 12:44:08 +0000 (12:44 +0000)]
- Improve error reports
- Make packet size configurable; if jumbo ethernet frames are used, it'd
  be possible to have larger packets and MTU without IP fragmentation, or
  one could also decide to use IP fragmentation with a normal MTU of 1500.

8 years agoInitial import
Matthew Mondor [Thu, 8 Sep 2011 09:57:04 +0000 (09:57 +0000)]
Initial import

8 years ago- Add notes
Matthew Mondor [Tue, 6 Sep 2011 12:19:50 +0000 (12:19 +0000)]
- Add notes
- Disable :BEEP debug feature by default as it's NetBSD specific

8 years ago- Implement test dynamic method/page dispatching
Matthew Mondor [Tue, 6 Sep 2011 08:01:17 +0000 (08:01 +0000)]
- Implement test dynamic method/page dispatching
- Implement test chat/messaging application to stress the system

Discovered bugs:

- There appear to be bugs when sending unicode characters, where the
  page won't totally get sent, resulting in partial pages
- Another problem appears to be a race condition where ECL eventually
  gets stuck in an endless CPU-hungry RUN loop, especially when not using
  unicode characters and repetitively filling the test application
  with many posts

8 years agoTemporarily disable TCP_NODELAY and NOLINGER in hope to diagnose some bugs
Matthew Mondor [Tue, 6 Sep 2011 07:58:00 +0000 (07:58 +0000)]
Temporarily disable TCP_NODELAY and NOLINGER in hope to diagnose some bugs

8 years agoImplemented per-vhost POST maximum size and timeout
Matthew Mondor [Mon, 5 Sep 2011 16:04:34 +0000 (16:04 +0000)]
Implemented per-vhost POST maximum size and timeout

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