Commit Graph

  • 531e905389 Modernize silly example somewhat. master Pierre R. Mai 2016-09-15 11:51:37 +02:00
  • 1395705040 Update silly example to be more useful. Pierre R. Mai 2016-09-15 11:33:00 +02:00
  • 0be606f7a0 Update LWL port to work on modern LispWorks. Pierre R. Mai 2016-09-15 11:32:28 +02:00
  • 9ee91852f9 Update copyright notice. Pierre R. Mai 2012-11-18 03:00:21 +01:00
  • 11c1828816 Add .gitattributes. Pierre R. Mai 2012-11-18 03:00:07 +01:00
  • e7620a0a52 Remove unused CVS keywords, regularize package definition/references. Pierre R. Mai 2012-11-18 02:33:17 +01:00
  • 6d6121bcca Remove unused MD5 implementation, which is stand-alone now anyway. Pierre R. Mai 2012-11-18 02:29:23 +01:00
  • 57f5619329 Add initial support for SBCL, currently restricted to SERVE-EVENT. Pierre R. Mai 2012-11-18 02:12:43 +01:00
  • a5585fac6c Change from MK-DEFSYSTEM to ASDF, rename .cl to .lisp files. Pierre R. Mai 2012-11-18 01:19:00 +01:00
  • 4cfba7a75c Add standard gitignore. Pierre R. Mai 2012-11-18 00:33:21 +01:00
  • 838fe54e2d Added a couple of simple test files for documentation purposes. Pierre R. Mai 2003-02-27 16:00:28 +00:00
  • 683777fe1e Minor fix. Pierre R. Mai 2003-01-29 04:39:35 +00:00
  • f405214372 Fixed a stupid thinko in the padding routine, as reported by Edi Weitz. Since the code in question was needlessly convoluted, rewrote those sections to make them clearer. Added another test-suite to test whether padding works correctly, when compared with md5sum. Pierre R. Mai 2003-01-25 00:18:27 +00:00
  • cfa3842808 Added md5.lisp file to base module. Pierre R. Mai 2001-11-15 00:31:01 +00:00
  • 5dd805b54c Added ID comment, and fixed doc-string for finalize-md5-state. Pierre R. Mai 2001-11-15 00:16:07 +00:00
  • 15e54c4d35 This fixes the code to properly work when being loaded uncompiled into CMU CL, as noted by John Wiseman. Pierre R. Mai 2001-11-15 00:13:03 +00:00
  • 5fda6d7244 First production-quality release: o This takes on board comments by Raymond Toy, and drops optimizations and implementation-specific cruft that isn't really needed. o The code has been reorganized quite a bit, to better expose the structure o md5-checksum is renamed to md5-digest. o Added doc-strings and comments where necessary, added documentation to the file comment. o Added md5sum-sequence function. o Fixed restriction on <512MB of input, we now support unlimited amounts of input, as required by the spec. Since this causes one possibly bignum addition per call to update-md5-block, the user can revert to the old behaviour by putting :md5-small-length on *features* prior to compiling/loading the code. o Added test suite that is contained in Appendix A.5 of RFC 1321. Pierre R. Mai 2001-11-15 00:07:50 +00:00
  • 401b7bc17f First release that works on big-endian CMU CL releases. Should also work on other ANSI CL implementations, but quite suboptimally, of course. Pierre R. Mai 2001-11-14 23:53:48 +00:00
  • 1c4108cfb4 Actually this release was the first public release. It switches over to using kernel:32bit-logical-* instead of the silly signed-byte acrobatics that were previously needed to get the various logical and ash operations optimized. Also added rudimentary file-comment. Pierre R. Mai 2001-11-14 23:46:29 +00:00
  • 9b71d00d16 Initial public release, which moved to simple-array representation of working state (md5-regs). This is the first release that doesn't cons for normal operations. Posted on cmucl-help on 2001-11-09. Pierre R. Mai 2001-11-14 23:39:20 +00:00
  • 59a41db8e8 Initial version of MD5 code, using multiple-values, which we abandoned due to boxing on each call to update-md5-block (might have been caused by missing inline declaration for that function). Pierre R. Mai 2001-11-14 23:36:03 +00:00
  • 66a41d91a3 Bumped version number to reflect roll-out of Netscape Proxy-Bug fix. Pierre R. Mai 2001-05-23 21:58:09 +00:00
  • cb09d17df0 Added call to update-entity-headers, so that all response entities will get updated before writing out the response, not only those that happened to be generated via the access-resource standard method. This might lead to redundant calls to update-entity-headers, which might be costly, so maybe some form of last-updated time-stamp should be kept so that update-entity-headers isn't called more than once a second. Pierre R. Mai 2001-05-23 21:52:53 +00:00
  • cab25c41ba Changed date-parsing routines to be less strict when parsing date strings, i.e. to accept junk after a valid date specification. This is in order to support e.g. Netscape 2.x upto 4.7x, which illegally send an added length field in the If-Modified-Since header, i.e.: Pierre R. Mai 2001-04-13 11:00:50 +00:00
  • abd1f1ca5b Backed out the last, misguided change to entity.cl (what was I thinking?) and rewrote the whole outbound entity stuff instead. This fixes some of the problems, but the whole entity stuff really needs a complete rethink, especially w.r.t. integrating inbound and outbound entities. Maybe we should drop "intelligent", persistent entities completely, and revert to dumb, transient entities, with the intelligence lying in the resources. Pierre R. Mai 2001-04-07 17:24:40 +00:00
  • c8b0a61a1d Let file-entities recognize the file-write-date as the last-modified date. Pierre R. Mai 2001-04-07 14:32:26 +00:00
  • da21cd5604 Bumped version number to 1.8.5, to indicate our progress towards release 2.0.0. Pierre R. Mai 2001-04-06 01:42:47 +00:00
  • c29758236a Rewrote export-directory to support automatic generation of directory index-redirectors, fixed lambda-list to use keyword arguments, and added support for user-selectable entity-class. Pierre R. Mai 2001-04-06 01:42:15 +00:00
  • d432e89e49 Corrected server-product-info to show real CLASH version number. Pierre R. Mai 2001-04-06 01:40:25 +00:00
  • 995fbf131b Corrected logging of time-zone stuff. Pierre R. Mai 2001-04-06 01:39:49 +00:00
  • 69f36101c9 A session-leader doesn't have to be a resource anymore. Added session-leader-resource for those relying on the old behaviour. Pierre R. Mai 2001-03-28 05:49:10 +00:00
  • 9eeeeda3c7 Changed print-object on URLs to take advantage of *read-eval*, when available. Pierre R. Mai 2001-03-28 02:55:33 +00:00
  • 1301101ae6 Added indentation pattern for `process-http-headers'. Pierre R. Mai 2001-03-27 14:01:30 +00:00
  • 5c57e50d07 Extensive rewrite of parsing routines, most parsable headers in requests and entities are now parsed. Furthermore the whole request-entity handling has been changed to allow lazy parsing, parsed entity headers, and flexible choice of entities. This is all to support the handling of MIME multipart entities, especially multipart/form-data. The current revision is a first cut, and some further rewrites are needed. Pierre R. Mai 2001-03-27 14:00:34 +00:00
  • 384e68fd84 Moved over to three-part version numbering scheme. Pierre R. Mai 2001-03-25 00:22:07 +00:00
  • 0aab94aa24 Added code to add ourself to the CMU CL' startup herald. Pierre R. Mai 2001-03-20 23:40:33 +00:00
  • 9d215d8f1d Added version numbering scheme for CLASH releases. Pierre R. Mai 2001-03-20 23:37:10 +00:00
  • 8802eede9c Flushed superfluous `pathname-filename'. Pierre R. Mai 2001-03-19 03:52:54 +00:00
  • e8ac99790e Updated copyright date. Pierre R. Mai 2001-03-07 00:32:56 +00:00
  • 8160dc61cf Added with-query-args' as the equivalent of with-form-data' for query url requests. This is probably a stop-gap measure, until a more general context processing framework (including session and validation data) has been designed and implemented. Pierre R. Mai 2001-02-08 18:57:55 +00:00
  • e265243a53 Fixed a small typo in the http-server/0.9 error handler introduced by last commit. Pierre R. Mai 2001-02-07 14:10:30 +00:00
  • f29dd3319e Slight optimization of entity rendering. Pierre R. Mai 2001-02-07 14:08:09 +00:00
  • a803c62958 Improved error response generation. We now keep track of the last request read on a connection, which allows us to generate the correct type of response in case of an error which is handled through `handle-server-error'. Pierre R. Mai 2001-02-07 14:06:14 +00:00
  • 57583b37ce Various fixes to case-dependent code, in order to allow CLASH to work with Allegro CL in "modern" mode. Although we don't think that "modern" mode is the correct approach to case-sensitivity in CL, the changes we made should also make it easier to work in ANSI-compliant implementations/modes, with all the settings for readtable-case. Note though that this is a first best effort attempt, and so further case-ification bugs might still remain. YMMV. Pierre R. Mai 2001-02-07 13:31:29 +00:00
  • 88ec83c086 Optimized buffer code a bit. Pierre R. Mai 2001-02-07 13:24:31 +00:00
  • 7d628b92da Optimized read-http-line a bit in order to reduce gratuitous consing. Pierre R. Mai 2001-02-07 13:23:04 +00:00
  • 352f8b8113 Changed default server-product-info to include the Lisp implementation as a comment. Pierre R. Mai 2001-02-07 13:19:06 +00:00
  • a7ebbf08b3 Added required (require "comm") for LWL and added initialize-clash so as to bring LWL support up to par with other ports. Pierre R. Mai 2000-10-30 23:06:32 +00:00
  • 5aa138df6d Added access authorization framework, added port to ACL 5. ACL 5 seems to need eval-when wrapped around certain defconstant forms when used in the same file (maybe because of compiler-macros). Pierre R. Mai 2000-10-30 23:05:23 +00:00
  • 1853c6d6f2 Added access authorization framework that allows for flexible validation of accesses. Pierre R. Mai 2000-10-30 23:03:00 +00:00
  • 6811f947d6 Added tool to generate ChangeLog files from CVS log entries. This originated with MaiSQL. Pierre R. Mai 2000-10-09 23:15:35 +00:00
  • 008e29e54d Added new files, and changed to work with the new MK-DEFSYSTEM, which doesn't import defsystem into the CL-USER package. Also removed some cruft. Pierre R. Mai 2000-10-09 23:14:13 +00:00
  • 4a4feed22b Added exports for new functionality and some older server and connection stuff, as well as the driver functions start-http-listener' and initialize-clash'. Pierre R. Mai 2000-10-09 23:13:06 +00:00
  • 7dde13fd51 Added some user utility functions and macros from MASH. Pierre R. Mai 2000-10-09 23:05:02 +00:00
  • 5e8ff59588 Adjusted `standard-response-body' to take the server as an additional parameter. This is part of an ongoing drive to restructure standard message generation to be more modular. Still lots to be done... Pierre R. Mai 2000-10-09 22:53:46 +00:00
  • 932ce6a843 Added server-product-info' to provide the information for the Server response-header. Rewrote error handling code to provide more information in the body. Adjust read-request' to pass the connection to `parse-request', see changes in messages.cl. Pierre R. Mai 2000-10-09 22:52:09 +00:00
  • edbfd4eaeb Added `redirector-resource' from MASH. Pierre R. Mai 2000-10-09 22:47:16 +00:00
  • 214066236a Complete rewrite of nearly all list parsing routines. This handles quoted-strings in both key and values of key value pairs and in simple lists correctly. Also factored out all magic constants, added some stuff to make this halfway efficient (profiling to be done). This rewrite makes partition superfluous, maybe remove this from src/utility.cl. Pierre R. Mai 2000-10-09 22:46:24 +00:00
  • 12cd9563f8 Changed request object to carry a reference to the connection object instead of the stream, in our effort to reduce the passing around of streams. This is also necessary in order to allow request handlers to check for the address and/or hostname of the connection the request came in from. Changed `parse-request' accordingly. TODO: Rendering of messages should probably change over, too. Pierre R. Mai 2000-10-09 22:41:11 +00:00
  • c883fcadf6 Added ignore declarations to quiet the compiler. Added flushing of logfile so that the log on disk is always synced. Pierre R. Mai 2000-10-09 22:10:54 +00:00
  • ff709e014d Added ignore declaration to quiet the compiler. Pierre R. Mai 2000-10-09 22:10:01 +00:00
  • cdb9250ea2 Fixed small typo that didn't manifest itself. Pierre R. Mai 2000-10-09 22:09:25 +00:00
  • 0408a74b18 Added new condition for non-URL related parsing errors, used in parsing.cl. This needs further reworking, so that URL-related syntax errors are subtypes of this new condition. Pierre R. Mai 2000-10-09 22:08:40 +00:00
  • 0a61c9d69a Removed superfluous check of the return value of ext:create-inet-listener. Pierre R. Mai 2000-10-09 22:02:28 +00:00
  • e4c22e732c Added driver for LispWorks for Windows/Linux. This hasn't received much testing, but should work out alright. Pierre R. Mai 2000-10-09 22:01:14 +00:00
  • dd8365ec4c Factored locking primitives out to their own implementation-dependend files. Part of the porting effort to LispWorks. Pierre R. Mai 2000-10-09 21:55:43 +00:00
  • 1072ffaf5a Small change that guards against flushable read-sequence in earlier versions of CMU CL, as well as guarding against short reads by read-sequence on socket streams, though my understanding of the standard seems to imply that read-sequence can only return prematurely on EOF. But this way we shouldn't have any problems either way. Pierre R. Mai 2000-07-23 13:13:00 +00:00
  • 04c5a1dd1b Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 01:25:15 +00:00
  • 0b29e10ea3 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 01:23:02 +00:00
  • c3aa400e66 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 01:15:06 +00:00
  • d09b872f61 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 01:11:09 +00:00
  • b3b91e38a1 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 01:06:44 +00:00
  • 798edd89b0 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 01:01:56 +00:00
  • f8834bce21 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 00:49:21 +00:00
  • a53e7391e9 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 00:45:30 +00:00
  • 2fbc5a621d Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 00:42:03 +00:00
  • a9e2f4c553 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 00:34:37 +00:00
  • 22b8cd9c8f Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 00:19:55 +00:00
  • 22b2bf1abd Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 00:18:59 +00:00
  • f30daaf80f Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 00:15:46 +00:00
  • 00b1689a8d Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-22 00:13:03 +00:00
  • d2b1422049 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-21 23:24:24 +00:00
  • eac484a06f Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-21 23:22:25 +00:00
  • 3281e85179 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-21 22:53:02 +00:00
  • 8632e84fa2 Changes that bring CLASH up to extended HTTP/1.0 support: Pierre R. Mai 2000-07-21 22:51:02 +00:00
  • 652e45b614 Changes that bring CLASH up to extended HTTP/1.0 support: Added response-initargs and entity-initargs fields to the clash-error conditions, so that signallers can return additional information to the client regarding errors. Pierre R. Mai 2000-07-21 22:45:49 +00:00
  • a890540a42 Added a version of the simple CMUCL driver that uses SERVE-EVENT, for all versions of CMUCL that don't provide multi-processing support, like on all non-x86 platforms. Tested on an UltraSparc running Solaris 2.7 (hawk) and a mid-1999 version of CMUCL 18b+. Pierre R. Mai 2000-04-14 00:07:13 +00:00
  • d7d90fbdb9 Modified base path selection mechanism to support loading from non-working directories, added utility.cl and move around some dependencies to make implementation clearer. Pierre R. Mai 2000-01-28 07:22:31 +00:00
  • f78391efdb Some basic utility definitions for all areas of CLASH. Pierre R. Mai 2000-01-28 07:20:36 +00:00
  • 5745612e87 Nearly complete rewrite to clean up URL/URI parsing, merging and handling, in the face of the much saner RFC 2396. This implementation provides all major capabilities, including low-consing operation, representation of relative and absolute URIs, useful merging and read-write consistency of URIs. Some clean-up work is still needed to purge the implementation from all references to URLs, to support the handling of all URIs. Other minor cleanups and additions are still needed, but after that the handling of URIs should be nearly as robust as the handling of pathnames in CL. Pierre R. Mai 2000-01-28 07:16:56 +00:00
  • d9cf8a6965 Modified the selection of request and response classes to take into account the server we are servicing, so that each server only sees and creates request/response classes he knows he can handle. This also makes it possible to add request/response classes in a running system, and to run servers of different versions side-by-side in an image without affecting each other... Pierre R. Mai 1999-09-19 12:55:29 +00:00
  • 23eb318329 Added some simple syntax/readtable enhancements to ease working with URLs and HTTP-Versions. There will probably be further enhancements later on. Pierre R. Mai 1999-09-19 12:52:40 +00:00
  • 1cf0f56f10 Sample Logos for CLASH... ;) Pierre R. Mai 1999-08-07 18:06:15 +00:00
  • e1c4504ede This is the first checked-in completely working version. It contains nearly all concepts and simple implementations thereof needed to get a simple HTTP/0.9 "compliant" server working (there are some hacks needed that we don't yet provide, since the correct things will be added shortly, like complete HTTP/1.1 request parsing. The hacks needed are provided as part of the basic HTTP/0.9 server demo in src/test/basic-demo.cl). Pierre R. Mai 1999-08-07 17:55:59 +00:00
  • 0a25f68f43 Small bug-fixes in URL printing and parsing. Pierre R. Mai 1999-08-07 17:33:23 +00:00
  • 88cdc8f6c8 Basic development mostly done, need to do HTTP functionality now. We might deprecate CLASH-SYS (both package and system) and incorporate that into the driver itself. For now we've removed all dependencies. Pierre R. Mai 1999-05-25 10:25:20 +00:00
  • 7b11e26c3e Initial revision Pierre R. Mai 1999-05-23 15:47:18 +00:00