*******************************************************************************
** Please increment the version if you change anything user-visible.
** See *aserve-version* in main.cl.
** Please leave this at the top of the file. Thanks.
*******************************************************************************
2009-10-15 Marijn Haverbeke <marijnh@franz.com>
* test/t-aserve.cl: bug18668: fix http-copy-file test for SSL
2009-10-11 Kevin Layer <layer@gemini.franz.com>
* makefile: make 8.1 the default on Windows (like it is on UNIX)
* test/t-aserve.cl: tweak the http-copy-file tests to not
depend on being on the Franz local network, and to use the
server instance created during the tests
2009-10-08 Robert Rorschach <rfr@franz.com>
1.2.64
* macs.cl: track recent changes in the smp macros
* macs.cl: fix a package error in a macro; defvar-nonbindable
replaces defvar-nobind
* proxy.cl: restore a dropped #+ignore
2009-10-08 Kevin Layer <layer@gemini.franz.com>
1.2.63
(really from Marijn)
* main.cl: reduce warnings ("Maximum socket file descriptor...")
2009-10-05 Kevin Layer <layer@gemini.franz.com>
1.2.62
* main.cl: get-request-body: only call string-to-octets on
result if it's non-nil
2009-09-15 <layer@HOBART128>
* test/t-aserve.cl: fix test suite for Windows
2009-09-11 Marijn Haverbeke <marijnh@franz.com>
1.2.61
* Fix bug that caused every keep-alive time-out to log a
disconcerting warning. (Unintended interaction of
with-timeout-local and ignore-errors.)
2009-09-11 Marijn Haverbeke <marijnh@franz.com>
* Add read-response-body, a client function for reading the whole
response body. (Also added to reference docs.)
* Fix bug in client-request-read-sequence and do-http-request, which
interpreted content-length as a character length, would get
confused by multi-byte characters.
* Make sure client requests always sent a content-length for PUT and
POST requests, since the aserve server gets confused when it
doesn't.
2009-07-24 Kevin Layer <layer@gemini.franz.com>
1.2.60
* decode.cl: uriencode-string: use uppercase hex chars for
EC2. Amazon's EC2 requires that uppercase characters (A-F)
be used, otherwise the signing of EC2 requests via the REST
API won't match.
2009-07-01 <layer@HOBART128>
* makefile: dribble test output to "test.out" (mainly for windows)
2009-06-30 Kevin Layer <layer@gemini.franz.com>
* load.cl: remove removed files from *aserve-other-files*
2009-06-18 Robert Rorschach <rfr@franz.com>
* client.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0
* examples/chat.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0
* macs.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0
* main.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0; bump version
* parse.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0
* proxy.cl: compile in 8.1, 8.1+smp-macros, 8.2, 9.0
2009-05-11 Kevin Layer <layer@gemini.franz.com>
1.2.59
* main.cl (request-query): rfe8332: make request-query-value
work on PUT requests
2009-05-04 Kevin Layer <layer@franz.com>
* test/t-aserve.cl: turn on cgi tests for Windows
2009-02-19 John Foderaro <jkf@max.verada.com>
1.2.58
* fix problem introduced in 1.2.57 where the response date
is always the zero universal time.
2009-01-23 <jkf@duo.verada.com>
1.2.57
* proxy.cl - correctly send out the comment after the result
code. Turns out that Microsoft's ISA actually reads it.
2009-01-13 Kevin Layer <layer@gemini.franz.com>
* main.cl (http-request): fix typo (reply-protocol-sring =>
reply-protocol-string)
2008-07-08 John Foderaro <jkf@tiger.franz.com>
1.2.56
* [from David Cooper] - store in the request object the time at
which a request came and and when it was finshed being handled.
- when parsing multipart bodies, handle multipart content type
that has additional info as well
2008-07-07 John Foderaro <jkf@tiger.franz.com>
* main.cl: fix bug where getting a large request body would
fail due to array not being adjustable
2008-05-22 Kevin Layer <layer@gemini.franz.com>
1.2.55
* publish.cl: set mime type of dmg files to
application/x-apple-diskimage
2008-02-16 Kevin Layer <layer@gemini.franz.com>
* makefile: add `tags' rule
2008-02-07 John Foderaro <jkf@tiger.franz.com>
* if during the accept loop a sleep is necessary 4 times,
a new thread will be created anyway. This will allow
the worker threads to grow in more situations.
* add backlog argument to net.aserve:start
2008-01-28 John Foderaro <jkf@tiger.franz.com>
1.2.54
* fix bug where if aserve as a proxy did get-basic-authorization
it would cause two authorization headers to be sent by the proxy
2007-12-26 John Foderaro <jkf@tiger.franz.com>
1.2.53
* to enable zoom on error do (net.aserve::debug-on :zoom-on-error)
and it will no longer act like you added :notrap as well.
2007-12-13 <jkf@MINI>
* do-http-request: have timeout apply to the socket connection
operation as well.
2007-10-23 Kevin Layer <layer@gemini.franz.com>
1.2.52
* main.cl: new debug type for 8.1 or later, :zoom-on-error,
allows easier debugging of errors. Do
(push :zoom-on-error net.aserve::*debug-current*)
to enable this feature.
2007-09-12 Kevin Layer <layer@gemini.franz.com>
1.2.51
* main.cl: incf version
* makefile: use 8.1
* publish.cl: update *file-type-to-mime-type*
2007-04-08 Kevin Layer <layer@gemini.franz.com>
* client.cl: move httpcopy.cl contents into client.cl
* (REMOVED) httpcopy.cl
* load.cl: back out previous change
2007-04-08 Kevin Layer <layer@gemini.franz.com>
* (NEW) httpcopy.cl: implements new http-copy-file client
function
* load.cl: add httpcopy file
* makefile: default mlisp to /fi/cl/8.0/bin/mlisp
* packages.cl: export http-copy-file
* test/t-aserve.cl: add tests for http-copy-file
2007-04-06 Kevin Layer <layer@gemini.franz.com>
* makefile: make default lisp in the presence of ../dcl.dxl be
that; add `test' rule
* test/t-aserve.cl: allow to be run from this directory
2007-03-27 Charles A. Cox <cox@gemini.franz.com>
* examples/urian.cl: spr31997 suggestion
2007-03-21 Ahmon Dancy <dancy@dancy>
1.2.50
* rfe6834: SSL peer verification support. Also, 'start' function
now allows the SSL certificate key file to be specified separately
from the certificate.
* bug16677: aserve could leak file descriptors if SSL (https)
connection fails.
2006-12-22 John Foderaro <jkf@tiger.franz.com>
1.2.49
* when response needed a string output stream and
also specified an external format we would
incorrectly add a null to the end of the response
* ignore body for *response-not-modified* as well
2006-12-20 Kevin Layer <layer@gemini.franz.com>
1.2.48
rfe6669: Changes to handle "204 No Content" from Vebjorn Ljosa
<ljosa-franz-opensource@ljosa.com>. Handling 204 responses is
important because some web services (e.g., Amazon.com's "Simple
Storage Service," S3) use them.
* packages.cl: export *response-no-content*
* client.cl: handle *response-no-content*
* main.cl: define *response-no-content*
2006-07-24 John Foderaro <jkf@tiger.franz.com>
1.2.47
* the cookies added by set-cookie-header will now appear in
the same order as the set-cookie-header calls.
* when cookies are retrieved and processed by do-http-request
they will be processed in the same order they appear in the
header
2006-07-14 John Foderaro <jkf@tiger.franz.com>
* publish.cl - if process-entity does a redirect then
set the location to an absoluteURI. [spr31830]
2006-06-29 <jkf@max.verada.com>
1.2.46
* add content type of "text/html" when sending the
response not authorized message
2006-06-07 <jkf@max.verada.com>
* accept a bogus first response line that doesn't include
the space after the response code.
2006-05-16 Kevin Layer <layer@gemini>
* packages.cl: add defpatch for 8.0
2006-04-19 John Foderaro <jkf@tiger.franz.com>
1.2.45
* client.cl: added :proxy-basic-authorization to
do-http-request so you can give your basic credentials to a
proxy
2006-03-29 John Foderaro <jkf@tiger.franz.com>
1.2.44
* cgi.cl - add terminate argument to run-cgi-program
2006-03-24 <jkf@max.verada.com>
* main.cl - handle a client request that includes a chunked body.
(not tested yet since I can't find a client making such a request).
* proxy.cl - create appropriate Host header.
*******************************************************************************
*** ACL 8.0 release
*******************************************************************************
2005-03-06 John Foderaro <jkf@max.verada.com>
* client.cl - handle single line set-cookie lines that end in a semicolon
2005-02-21 John Foderaro <jkf@max.verada.com>
1.2.43
* add digest-authorization to the aserve client code
2005-01-13 John Foderaro <jkf@tiger.franz.com>
1.2.42
* main.cl - track whether characters have been read in a
request in order determine whether a "400 Bad Request"
response should be made.
2005-01-13 John Foderaro <jkf@tiger.franz.com>
1.2.41
* htmlgen/htmlgen.cl - fix call to macroexpand for acl7.0
where the use of the compiler's environment can cause
infinite macroexpansion loops unless you're careful.
2004-12-15 John Foderaro <jkf@tiger.franz.com>
1.2.40
* remove debugging format statement in webactions
2004-12-14 John Foderaro <jkf@tiger.franz.com>
1.2.39
* with with-standard-io-syntax to prevent #n= printing.
2004-11-18 John Foderaro <jkf@tiger.franz.com>
* use &body in macro definitions to help indenters
* use response code 307 for redirects rather than 301 since
browsers are now starting to consider 301 redirects as
permanent (and since browsers now handle 307 correctly).
2004-09-08 John Foderaro <jkf@tiger.franz.com>
* publish.cl - handle international characters
emitted by a page where aserve's strategy was
to use a string output stream as an intermediary
storage device.
2004-10-19 John Foderaro <jkf@tiger.franz.com>
1.2.38
* cgi.cl (parse-cgi-script-data): fix bug where find
was used instead of position.
Thu Jul 22 23:03:43 PDT 2004 Duane Rettig <duane@gemini>
* load.cl: Remove streamc dependencies
* packages.cl: Remove streamc require
* publish.cl: Remove streamc dependencies
2004-06-09 John Foderaro <jkf@tiger.franz.com>
1.2.37
* main.cl - return a 400 response if there's an error reading
the request.
Use process locks when allocating sresources rather
then without-scheduling.
2004-04-29 John Foderaro <jkf@tiger.franz.com>
* main.cl - http-worker-thread don't expect the stream
to process to be the first and only thing on the
run-reasons list. Acl7.0 will add things as well.
2004-03-04 John Foderaro <jkf@tiger.franz.com>
* main.cl - ensure that get-request-body always reads from
a stream with the :octets external format so that the
content-length header value is meaningful.
2004-03-03 <jkf@main.verada.com>
1.2.36
* main.cl: add request-variable-value (moved from webactions)
2004-01-09 John Foderaro <jkf@tiger.franz.com>
1.2.35
* publish.cl, main.cl, test/t-aserve.cl: add a slot to
all entities holding
the extra headers to add to the response. Add a :headers
argument to all publish functions that allows one
to store a value in the new headers slot.
2003-12-23 John Foderaro <jkf@tiger.franz.com>
1.2.34
* fix typo in exports wserver-io-timeout
2003-12-12 Kevin Layer <layer@relay.known.net>
* makefile: set base version to 6.2
* proxy.cl: fix typo in proxy-failure-response, include requested
uri, too
2003-10-31 John Foderaro <jkf@tiger.franz.com>
* cgi.cl - transfer data from script back to http client
immediately rather than buffering it up.
2003-10-27 John Foderaro <jkf@tiger.franz.com>
1.2.33
* webactions/ files - change headers to include lgpl copyright info
2003-10-22 John Foderaro <jkf@tiger.franz.com>
1.2.32
* add webactions subdirectory of code
2003-09-22 John Foderaro <jkf@tiger.franz.com>
1.2.31
* authorize.cl: send back some text with failed response
* publish.cl: fix html sent back to with failed responses
2003-09-22 <jkf@main.verada.com>
* decode.cl: fix multiline base64 decoding.
2003-09-12 <layer@HOBART>
1.2.30
* load.cl: fix problem building on acl 7.0 on windows
2003-09-10 Kevin Layer <layer@crikey>
1.2.29
* load.cl,
* examples/examples.cl,
* examples/urian.cl: use *load-pathname* instead of
*load-truename* since truename in ACL 7.0 goes through symbolic
links and this doesn't work in the way aserve is built at franz
(via symlinks to source code)
2003-09-04 John Foderaro <jkf@tiger.franz.com>
1.2.28
* non-standard http headers are again supported in all
functions, including proxying (where they are just passed on
or passed back as the case may be).
2003-08-12 John Foderaro <jkf@tiger.franz.com>
* move the require of :uri to before the first
reference to it in packages.cl
2003-05-09 <jkf@main.verada.com>
1.2.27
* added a hook argument to most publish functions. documented
as 'entity hook function'
* chat.cl - use cookies to get around security problem
* add compute-request-headers (an internal fucntion at the
moment, I may export it in the future)
2003-05-08 John Foderaro <jkf@tiger.franz.com>
* doc/aserve.html - clarify that you can have a list of
authorization objects in an entity.
* main.cl - make the uri-scheme of (request-uri req) correctly
reflect if this is an https or http request.
2003-02-26 John Foderaro <jkf@tiger.franz.com>
1.2.26
* doc/aserve.html - new get-request-body argument
2003-02-24 Charles A. Cox <cox@ultra>
New file: examples/locale.cl.
* load.cl: add locale example.
* main.cl: add external-format argument to
get-request-body for spr27296.
* examples/examples.cl: Minor home page cleanup for ics
examples.
* examples/urian.cl: Add extra smarts for determining a
page's charset.
* test/t-aserve.cl: Add spr27296 test.
2003-02-06 John Foderaro <jkf@tiger.franz.com>
* main.cl - added (setf request-query-value)
2003-01-10 John Foderaro <jkf@tiger.franz.com>
1.2.25
* publish.cl (get-cookie-values): handle case of a cookie parameter
not having value, i.e name2; Pretend it was name2=;
2003-01-07 John Foderaro <jkf@tiger.franz.com>
* client.cl - when sending character data obey external formats
* main.cl - initialize log stream to *initial-terminal-io* since
*standard-output* could be bound to something during the loading
process.
* [htmlgen changes, see it's ChangeLog]
2002-09-06 John Foderaro <jkf@tiger.franz.com>
* detect connection reset by peer on the AIX operating system
* [change made in htmlgen ChangeLog]
2002-08-09 John Foderaro <jkf@tiger.franz.com>
1.2.24
* change #\newline to #\linefeed in the source for portability
* fix :comment in htmlgen
* put aserve package definitions and exports in new file:
packages.cl
2002-04-10 John Foderaro <jkf@tiger.franz.com>
* main.cl - fix bug in get-multipart-sequence when used
in an International Lisp with multibyte character input.
In certain rare cases it could get stuck decoding the last
bits of a buffer.
- add :ssl-password argument to net.aserve:start to
specify the password for decrypting the private key
in the file with the ssl certificate. [requires
acl feature introduced in acl 6.2]2
* client.cl - if the content passed to do-http-request
is a list of vectors, each vector in the list will
be sent to the server.
2002-02-28 John Foderaro <jkf@tiger.franz.com>
1.2.23
>>> * incompatible change:
The path part of a uri can't contain certain characters
unless they are escaped like %xx. Even characters that
needn't be escaped *can* be escaped. Thus to canonicalize
the uri path and to allow it to be easily mapped to filenames
we now decode the uri path (convert %xx to the actual character)
before processing it (looking for matches in the published
entities). If you had published a path like "foo%20bar"
then you must change it to "foo bar".
* cgi.cl - add default for :script-name arg
* various - open socket in nodelay mode to maximize performance
2002-02-13 John Foderaro <jkf@tiger.franz.com>
1.2.22
* authorize.cl - add new authorizer: function-authorizer
* cgi.cl - run-cgi-program takes a :env arguemnt to allow
additional environment variables to be specified.
2002-01-15 John Foderaro <jkf@tiger.franz.com>
1.2.21
* main.cl - fix bug where the value of
*default-aserve-external-format* was captured at macroexpansion
time rather than run time. All code using with-http-body
should be recompiled.
* publish.cl - allow mime types to be specified for filenames that
don't have a type component (e.g. ReadMe files).
* publish.cl - set-cookie-header takes an encode-value argument
to control whether it does encoding of its argument.
2002-01-07 John Foderaro <jkf@tiger.franz.com>
* main.cl - fix problem of restarting aserve in non-ssl mode
after starting it is ssl mode.
2002-01-06 John Foderaro <jkf@tiger.franz.com>
* add :nofile return code to parse-multipart-header
2002-01-04 John Foderaro <jkf@tiger.franz.com>
1.2.20
* main.cl - add two higher level functions to aid retrieving
multipart data: parse-multipart-header and get-all-multipart-data.
The examples now show using both the low level and higher
level functions for retrieving multipart form data.
2001-12-03 John Foderaro <jkf@tiger.franz.com>
1.2.19
* main.cl: add ensure-stream-lock function to put a lock object
on a stream that the logging functions then can use.
2001-11-30 <jkf@CROW>
* doc/aserve.html - add documentation on using AllegroServe as
an NT service, and a description of how to write
web pages that handle international characters
* main.cl - add :external-format argument to request-query-value
2001-11-28 John Foderaro <jkf@tiger.franz.com>
* log.cl - use locking around writes to the log if the
stream has a lock on it's property list.
2001-11-28 <jkf@main.verada.com>
* add :binary type to publish-multi
* chat.cl - add the ability to upload pictures
2001-11-26 John Foderaro <jkf@tiger.franz.com>
1.2.18
* decode.cl - handle character set decoding inside uri queries
* publish.cl - access file caching
2001-11-15 John Foderaro <jkf@tiger.franz.com>
1.2.17
* added new publish fcn: publish-prefix
>>> * incompatible changes:
redid the way access files are processed, see the
document for the latest spec.
notable changes:
:ignore is now :deny
:block is gone from :subdirectories but I've added
:allow and :deny for fine tuned blocking
:inherit now defaults to nil
you can have multiple forms of the same kind of
information in a single access file and they will
all be used.
2001-11-06 John Foderaro <jkf@tiger.franz.com>
* fix bug causing infinite loop when reading truncated form body
2001-11-05 John Foderaro <jkf@tiger.franz.com>
1.2.16
* failed request now identifies AllegroServe as the server
and gives its version number
* if AllegroServe isn't setup to proxy it will not match proxy
requests with local web pages.
2001-11-05 <jkf@main.verada.com>
* log.cl - write to log files under the protection of a process
lock found on the stream-property-list of the stream associated
with the :lock indicator. If no such lock is found, write
to the streame anyway.
* examples/chat.cl - improve the speed of deleting messages by
binary searching the existing messages.
2001-10-31 John Foderaro <jkf@tiger.franz.com>
1.2.15
* start now takes a host argument to allow you to bind the server
to a specific host
* publish-multi will not return 304 (not modified) unless the
request is a get or a head
* files published with publish-file will now obey a single
range specifier so they will be download accelerator friendly
2001-10-26 John Foderaro <jkf@tiger.franz.com>
* add entity-plist slot to entities and use it to link
file entities to their parent directory entities with
the :parent indicator
* add map-entities function
* print vhosts in a why that shows their host names
2001-10-24 John Foderaro <jkf@tiger.franz.com>
1.2.14
* added access files for publish-directory. These allow
.htaccess-like controlling of what publish-directory publishes.
>>> * incompatible change: added an extra argument to the
publish-directory filter function and publisher functions.
2001-10-19 John Foderaro <jkf@tiger.franz.com>
1.2.13
* added publish-multi
* while debugging (:notrap) we ignore connection reset by peer errors
by default since they are frequent and not errors in most
cases. You can have them recognized by setting
*debug-connection-reset-by-peer* to t.
2001-10-18 John Foderaro <jkf@tiger.franz.com>
* The initial log stream (which is used then to initialize vhost
log streams) is now *initial-terminal-io* and not
*standard-output*.
* random messages (written by logmess) are now sent to the
vhost-error-stream of the default-vhost of the server.
This allows one to separate these random messages from the
the request logs
* logs of proxy activity is now sent to the vhost-error-stream
of the default-vhost of the server. we may rethink this later.
* support vhost specific request filters
2001-10-17 John Foderaro <jkf@tiger.franz.com>
* cgi.cl: redo cgi so that it doesn't buffer data... also
can now process standard error from scripts
2001-10-16 John Foderaro <jkf@tiger.franz.com>
1.2.12
>>> * incompatible change: the format argument to with-http-body
has been moved to with-http-response.
The format argument to with-http-body was ignored, but on
with-http-response it will be obeyed and will override
the format specified in the entity.
The internal generic function compute-strategy now takes
three arguments. This function isn't part of the
external interface to AllegroServe but some users have
specialized it.
2001-10-15 John Foderaro <jkf@tiger.franz.com>
* add timeout value to each entity object to serve as a default
that's checked before the wserver-response-timeout.
* add a timeout argument to publish functions to set this
entity timeout value.
* add a publisher argument to publish-directory so users can
control what kind of entity is created when the real file is
eventually found.
2001-10-12 John Foderaro <jkf@tiger.franz.com>
* using socket stream i/o timeouts in acl6.1
* moved the *http-response-timeout* to a slot in the wserver
object so it can be server dependent.
* documented timeouts in aserve.html
* added timeout test to t-aserve.cl but disabled running them
by default since they take a long time.
2001-10-10 John Foderaro <jkf@tiger.franz.com>
1.2.11
* upgraded support for virtual hosts, introducting
an object to denote a virtual host so that each
virtual host can do its own logging.
See aserve.html for details on Virtual Hosts.
2001-10-08 John Foderaro <jkf@tiger.franz.com>
* publish.cl - publish-directory must pass on host info
to the publish-files that it does.
- unpublish takes a :server argument
2001-09-29 John Foderaro <jkf@tiger.franz.com>
* cgi.cl - fix bug where content-length was specified wrong
2001-09-21 John Foderaro <jkf@tiger.franz.com>
1.2.10
* added ability to run cgi programs
new file cgi.cl
2001-09-20 John Foderaro <jkf@tiger.franz.com>
* examples/examples.cl - add commentary to some of the links
to make them clearer
2001-09-20 Kevin Layer <layer@crikey>
* makefile: split `clean' into `clean' and `cleanall', the latter
which removes aserve-src.
* makefile (clean): add `r' to `rm'
2001-09-18 Kevin Layer <layer@crikey>
1.2.9
* makefile: add build and srcdist rules; have make clean remove
aserve-src
* load.cl: parameterize make-src-distributions's directory name
2001-09-12 John Foderaro <jkf@tiger.franz.com>
1.2.8
* client.cl: add :skip-body to do-http-request. add test for this.
* decode.cl: fix form-urlencoded-to-query so that it can
handle a non simple string (which can be returned under
certain circumstances from get-request-body)
2001-08-28 John Foderaro <jkf@tiger.franz.com>
1.2.7
* take the default value for the external-format
argument from *default-aserve-external-format*.
net.aserve:start sets the value of *default-aserve-external-foramt*
in worker threads.
* parse.cl (split-string): don't get confused by commas inside
a double quoted header parameter value.
2001-08-24 John Foderaro <jkf@tiger.franz.com>
* when an error occurs in the worker thread print the command line
for the request that got the error.
2001-08-16 John Foderaro <jkf@tiger.franz.com>
1.2.6
* main.cl - try harder to prevent debug output from multiple
threads from getting jumbled up on the console
* publish.cl - do a keep-alive connection if the data is a binary
stream as long as we know the content length.
Add a new internal entity type so that returns of
"304 - Not Modified" can do keep alives too.
2001-08-15 John Foderaro <jkf@tiger.franz.com>
1.2.5
* main.cl - incf version number for new release
2001-08-09 John Foderaro <jkf@tiger.franz.com>
* publish.cl - added :filter functionality to publish-directory
* test/t-aserve.cl - test filters in publish-directory
2001-08-08 John Foderaro <jkf@tiger.franz.com>
* publish.cl - allow list of index files to be specified in
for each directory-entity.
- specify a catch-all compute-response-stream method so
users adding new entity type don't have to do so.
2001-08-08 jkf <jkf@main.verada.com>
* publish.cl - fix for when no body is given with-http-body
and thus a string-output-stream is not created.
2001-07-30 <jkf@DEEDEE>
1.2.4
* main.cl: fix get-multipart-* to correspond to rfc2046
and thus it will work with the Opera browser which
generates legal (but unusual) kinds of boundary markers
2001-07-19 John Foderaro <jkf@tiger.franz.com>
1.2.3
* publish.cl
- If publish-file file is changed then invalidate
the cached information on it.
- remove extraneous slots in classes.
* test/t-aserve.cl
test cache invaldation in publish-file
2001-07-18 <jkf@CROW>
* doc/publish.html - update publish-file doc for preload and
cache-p args
* doc/htmlgen.html - make first example clearer
* doc/tutorial.html - add note to help Windows users
2001-07-18 jkf <jkf@main.verada.com>
* publish.cl - add cache-p argument to publish-file which will
cache the file contents on first use
* chat.cl - add support for removing selective private messages
after a certain amount of time.
* test/t-aserve.cl - test cache-p argument to publish-file
2001-07-09 John Foderaro <jkf@tiger.franz.com>
* example/chat.cl - add chat transcript feature
2001-06-27 jkf <jkf@main.verada.com>
1.2.2
* added the ability to filter requests before they get
processed. see Request-Filters in aserve.html
2001-06-26 John Foderaro <jkf@tiger.franz.com>
1.2.1
* main.cl - don't get blocked on a force-output that will
never return due to the other side of the connection
going away.
* examples/chat.cl - support private chats amoung groups of
people. Support deleting messages. Support levels
of users. Support redirecting
people at certain IP addresses away from the chat if
they cause problems.
2001-06-05 John Foderaro <jkf@tiger.franz.com>
1.2.0
* main.cl - update version to 1.2.0 to mark acl 6.1 release.
2001-04-04 John Foderaro <jkf@tiger.franz.com>
* changed how publish-directory deals with urls that
point to directories and not files. It used to
pretend that you specified an index.html or index.htm
file in that directory. This was bad since relative urls
in the index file would not be processed correctly. with
the change it now redirects to the index.html or index.htm
file so that the browser knows what it's getting.
2001-03-22 John Foderaro <jkf@tiger.franz.com>
1.1.41
* add os-processes argument to net.aserve:start
which causes aserve to fork (on unix only) and create
multiple operating system processes listening on the
same port.
2001-02-08 John Foderaro <jkf@tiger.franz.com>
1.1.40
* added the proxy-proxy argument to net.aserve:start that
permits you to specify that the allegroserve proxy should
sent its requests through another proxy.
2001-02-06 John Foderaro <jkf@tiger.franz.com>
1.1.39
* proxy and scanning fixes
2001-01-22 John Foderaro <jkf@tiger.franz.com>
1.1.38
* main.cl: incf version. Also hooks added for links scanning.
2001-01-18 John Foderaro <jkf@tiger.franz.com>
* examples/urian.cl - new international character set demo
(reachable from the main aserve examples page)
2001-01-02 jkf <jkf@main.verada.com>
1.1.37
* main.cl, proxy.cl - add the ability to save and restore
the whole state of the proxy cache. (see docs for start
and shutdown in the manual).
* ensure that proxy cache threads are killed off when a shutdown
is done.
>>> incompatible change: the net.aserve:shutdown function used to
take an optional argument. Now it takes keyword arguments.
2000-12-27 John Foderaro <jkf@tiger.franz.com>
1.1.36
* client.cl: handle illegal set-cookie headers sent by Netscape's
v3 web server. In a client request Split the single large
Cookie line into muliple Cookie lines so that Netscape's v3
web server can understand them.
Add a redirect-methods argument to do-http-request to support
more user control of redirection.
* proxy.cl - many enhancements including connection caching
2000-11-06 Kevin Layer <layer@ultra>
1.1.35
* log.cl: make logmess a method, so I can define an after method
on it in my own code
* main.cl: maybe-universal-time-to-date and
universal-time-to-date: take time-zone optional argument, so my
redefined version of log-request can specify the local time zone
2000-10-31 John Foderaro <jkf@tiger.franz.com>
1.1.34
* add to the list of characters to escape in form-urlencoding
those that must be escaped so that the result can be put
in the query string of a uri
* in proxy code write request and headers in one big block
to get around bug in IP redirectors (such as found in www.cbs.com)
2000-10-25 jkf <jkf@main.verada.com>
1.1.33
* hooks for link checking and experimenting with caching
2000-10-19 John Foderaro <jkf@tiger.franz.com>
1.1.32
* add ssl arguments to net.aserve.start and
net.aserve.client:do-http-request so that a secure server
can be started and secure http requests can be made.
Make the aserve test suite test run though the tests using ssl.
Note: the ssl module is only present in certain acl6 distributoins.
* add examples/puzzle.cl - a demo featuring the use of international
characters in acl6.
2000-10-15 John Foderaro <jkf@tiger.franz.com>
1.1.31
* support caching requests with cookies
2000-10-12 John Foderaro <jkf@tiger.franz.com>
1.1.30
* proxy and cache facilty added.
2000-09-22 Charles A. Cox <cox@pie>
* decode.cl: Add :external-format to to uriencode-string.
* publish.cl: Add :external-format to set-cookie-header.
* test/t-aserve.cl: Add :external-format tests for
uri{en,de}code-string.
2000-09-07 Charles A. Cox <cox@delta>
1.1.29
>>> Note: Many of the functions listed in this log entry have had
the :external-format argument added. Documentation has been
updated
Note 2: All changes intended to be upward compatible. Allegro
specific changes are marked with #+(and allegro (version>= 6 0)).
* client.cl: make-http-client-request: add/use external-format
argument.
* decode.cl: uridecode-string, query-to-form-urlencoded,
encode-form-urlencode, form-urlencoded-to-query: add/use
external-format argument.
* main.cl: with-http-body, request-query: add/use external-format
argument.
* publish.cl: get-cookie-values: add/use external-format
argument.
* examples/examples.cl: Add new international character examples.
* test/t-aserve.cl: Add tests for external-format additions.
2000-08-28 John Foderaro <jkf@tiger.franz.com>
1.1.28
* client.cl - before doing a redirect close down the existing
connection.
2000-08-25 John Foderaro <jkf@tiger.franz.com>
* fix bug which caused file descriptors to remain open
forever if a "connection reset by peer" error occured.
Added the ability to track sockets opened by aserve to
ensure that they were closed before being gc'ed away.
2000-08-24 John Foderaro <jkf@tiger.franz.com>
1.1.27
* rewrote the get-multipart-xxx functions to use an
(unsigned-byte 8) buffer since character buffers have
issues with international code. This eliminates the
extra <cr><lf> at the end problem with get-multipart-sequence.
The file transfer should be faster, especially if you
pass get-multipart-sequence a 4096 byte (unsigned-byte 8) vector.
!! Eliminte the raw argument from get-multipart-sequence. Now
transfers are all 'raw'
If a character array is passed to get-multipart-sequence then
we just copy into each character the code-char of the
item in the buffer (which corresponds to the latin1-base
external format). We will allow external-format select
soon.
2000-08-21 John Foderaro <jkf@tiger.franz.com>
* add :proxy arg to net.aserve:start so you can enable the proxy
when you start the server.
* fix test suite to report only legit errors
2000-08-20 jkf <jkf@main.verada.com>
1.1.26
* Added a proxy capability. enable-proxy will turn it on.
Currently it acts an http/1.0 client and server since that
makes it easier to debug. However this does cause 12 test
set errors to be reported since it expects to see http/1.1
responses.
2000-08-17 jkf <jkf@main.verada.com>
* implement generalized cons-free header parsing and use it
in both the client and server.
* change the header info returned by do-http-request to
also use keywords to describe headers
!! non upward compatiable change !!
2000-08-15 John Foderaro <jkf@tiger.franz.com>
* fix bug where certain headers were sent twice
2000-08-12 John Foderaro <jkf@tiger.franz.com>
* name headers by keyword symbols rather than strings
!! this change is not upward compatible !!
2000-08-10 John Foderaro <jkf@tiger.franz.com>
1.1.25
* decode.cl: request-query will now convert items in query
strings without values into ("keyname" . "") in the resulting
alist.
* doc/aserve.html - update doc of request-query and
request-query-value to reflect what happens with null valued
query elements
2000-08-09 jkf <jkf@main.verada.com>
* publish.cl: write the transfer encoding as all lowercase 'chunked'
since a bug in Mozilla M17 means it will only understand this form.
* htmlgen/htmlgen.cl - add the <caption> tag
2000-08-04 jkf <jkf@main.verada.com>
1.1.24
* examples/chat.cl - add user logins and private messages
between users.
2000-07-31 jkf <jkf@main.verada.com>
* main.cl: if a multipart-mixed body was being sent then
note that the request-body has been grabbed.
2000-07-25 jkf <jkf@main.verada.com>
* example/chat.cl - enhanced to support logging into the chat
2000-07-17 John Foderaro <jkf@tiger.franz.com>
1.1.22
* main.cl: incf version
2000-07-15 John Foderaro <jkf@tiger.franz.com>
* examples/chat.cl - sample program that does web based chat
2000-07-14 John Foderaro <jkf@tiger.franz.com>
* client.cl - now do-http-request will always return a uri object
(previously it would return its uri arg unless a redirect
was done in which case it would return a uri object)
2000-07-01 John Foderaro <jkf@tiger.franz.com>
* client.cl - handle the "100 continue" response we seem to
get from IIS whenever we do a post.
2000-06-25 jkf <jkf@main.verada.com>
* keep track all of all ip addresses by which the server
is contacted (this is simpler than trying to figure them
out in advance).
* add function to find a response object given the code.
* keep track of the raw uri by which a request was made
(as distinguished from the uri in which we've added the
host and port values). This is necessary to distriguish
when we must proxy.
* in html-print assume that attribute values are already html escaped
2000-06-12 John Foderaro <jkf@tiger.franz.com>
* main.cl: add utility function request-query-value to
combine getting the query info via request query
and locating the particular value with assoc
2000-06-08 John Foderaro <jkf@tiger.franz.com>
1.1.21
* client.cl - do-http-request:
1. give the redirect arg a numeric
value to prevent infinite redirect loops.
2. handle two other redirect codes
3. autoredirect only for get and head
4. return the uri accessed as the fourth value
* main.cl - add more response codes
- handle calls to request-query specifying different
uri and post values.
* examples.cl - add redirect test
* t-aserve.cl - test redirection
* doc/aserve.html - update for changes above
* doc/tutorial.html - don't be so cookie centric
2000-05-30 John Foderaro <jkf@tiger.franz.com>
1.1.20
* macs.cl - add note about where to find the if* macro
* main.cl - cache result of get-request-body so that it can
safely be called more than once inside a response
function. Also be sure to call get-request-body
if the connection is keep-alive and there might
be a body following the headers.
* t-aserve.cl - test enhancment to get-request-body
* doc/aserve.html - fix do-http-request documentation to
reflect change made in 1.1.18
Fri May 26 22:42:12 PST 2000 Duane Rettig <duane@beta>
1.1.19
* makefile: set SHELL variable
* main.cl: incf version
2000-05-16 John Foderaro <jkf@tiger.franz.com>
1.1.18
* ! Non upward-compatiable change ! - the function
do-http-request returns arguments in a different
order, it now returns the body value first, then the
response code and then the headers.
* fixed bug in publish-directory (sourceforge bug 105426)
* added query and content-type arguments to do-http-request
and make-http-client-request. These make it even easier
to send form data to web servers
2000-05-16 John Foderaro <jkf@tiger.franz.com>
1.1.17
* in order to make portions of the LGPL license meaningful
for a Lisp program we've added a prequel to the license
agreement in the file license-allegroserve.txt.
2000-05-16 jkf <jkf@main.verada.com>
* client.cl
- increase header reading buffer size - but we should
make this growable.
- handle cookies with = signs embedded
* decode.cl
- in query-to-form-urlencoded all the values to
be non-strings and in that case use ~a format to stringify them
* parse.cl
- add arg to utility function
2000-05-04 John Foderaro <jkf@tiger.franz.com>
1.1.16
* request-query can now read from uri and/or post'ed body
see doc/aserve.html for details
2000-04-26 John Foderaro <jkf@tiger.franz.com>
1.1.15
* ! Non upward-compatible change ! -- the function
decode-form-urlencoded has been renamed
form-urlencoded-to-query so as to match its new inverse
function: query-to-form-urlencoded
* added query-to-form-urlencoded to allow one to encode
query to strings for use by client code.
2000-04-24 John Foderaro <jkf@tiger.franz.com>
1.1.14
* verify that it works in acl501 trial (Linux)
2000-04-24 <jkf@CROW>
* load.cl: make aServe load in acl5.0.1 Lite (Windows) but
be advised that it doesn't work very well due to socket
problems that can be patched in the Lite version.
* main.cl: the default timeout for a with-http-response
now comes from *http-response-timeout* and it
now defaults to 120 seconds rather than 60.
* some documention updates
2000-04-23 jkf <jkf@main.verada.com>
* client.cl - added proxy argument so that client requests
can go through a proxy
* various doc fixes
2000-04-17 John Foderaro <jkf@tiger.franz.com>
1.1.13
* rename Allegro iServe to AllegroServe.
As a result where iserve was used before we now use aserve.
For example the package is now called net.aserve.
2000-04-17 John Foderaro <jkf@tiger.franz.com>
1.1.12
* add test/t-iserve.cl to the list of files in the ftp distribution
2000-04-16 <jkf@DEEDEE>
* debug-on and debug-off are no longer exported symbols.
They continue to exist but you have to use
net.iserve::debug-on and net.iserve::debug-off to reach them.
* added two new response type symbols to aid in doing redirections:
*response-moved-permanently*
*response-temporary-redirect*
note that netscape 4 doesn't understand *response-temporary-redirect*
as that's a http/1.1 thing.
* request-query takes a :handle-post keyword arguments. When true
(and that's the default) it will automatically read,
extract, parse and cache the query string from the entity body
when the request is a post request.
2000-03-28 John Foderaro <jkf@tiger.franz.com>
* move htmlgen.html from htmlgen/ to doc/ so that it's in
a consistent place regardless of distribution type.
2000-04-08 <jkf@DEEDEE>
1.1.11
* make the debugging output feature based rather than
numeric. see net.iserve:debug-on
* properly do client queries
* use setfable reply-header-slot-value to read and set
headers for the reply that will be sent
* always send back HTTP/1.1 as our protocol
2000-03-27 John Foderaro <jkf@tiger.franz.com>
1.1.10
* add headers argument to do-http-request and make-http-client-request
to allow you to add headers
* fix client requests for :head so it doesn't wait for a body
to be returned
* fix debugging output when running inside emacs
* add client info to documentation.
2000-03-27 John Foderaro <jkf@tiger.franz.com>
1.1.9
* mainly documentation fixes
2000-03-22 John Foderaro <jkf@tiger.franz.com>
1.1.8
* fix http/0.9 processing
* make errors in http worker threads, if uncaught (see below)
and if the emacs-lisp interface is running, cause a new
emacs window to appear in which you can debug the problem
* add net.iserve::*trap-errors* (default t). If set to
nil then errors in http processing by iserve will result
in error break loops.
* fixed errors in publish-directory. Also prevent user from
passing ../ in urls to access above the published directory
2000-03-22 John Foderaro <jkf@tiger.franz.com>
1.1.7
* make initial lisp listerner of standalone version sleep
so that the process can be put in the background.
* add t-iserve.cl and begin to add automated tests
* add cookies and authorization to client module
* load client module into iserve
2000-03-20 John Foderaro <jkf@tiger.franz.com>
1.1.6
* convert references to neo to iserve
* minor fixups in tutorial
2000-03-20 John Foderaro <jkf@tiger.franz.com>
1.1.5
* include iservelogo.gif in the ftp distribution
* fix problem where the response to a file entity request
for a file that doesn't exist would cause browser to hang
until the socket was closed
2000-03-17 John Foderaro <jkf@tiger.franz.com>
1.1.4
* change source-readme.txt and load.cl so that
it will build on Windows without the unix tools
*******************************************************************************
join from acl50 branch
- cvs command: cvs update -d -j acl50
- next merge tag: acl50_merge2
*******************************************************************************
2000-03-15 John Foderaro <jkf@tiger.franz.com>
1.1.3
* switch to lgpl license.
* add source-readme.txt to describe what to do with
the source
2000-03-14 John Foderaro <jkf@tiger.franz.com>
1.1.2
* add authorizer objects to support checking for valid
access to pages
2000-03-07 John Foderaro <jkf@tiger.franz.com>
1.1.1
* load.cl - lisp need not be in the directory containing this
file in order to load it (and iserve)
* main.cl - get-request-body will not get fooled by :get requests
* publish.cl - make virtual hosts work for prefix handlers
* doc/iserve.html - update to describe :remove arg to pubilsh
functions
* doc/tutorial.html - lots more added
* examples/tutorial.cl - add sample methods
2000-03-02 jkf <jkf@main.verada.com>
* added setuid, setgid args to start
* changed the names of the worker processes
* changed the names of the slots and accessors holding the
commonly used request header info
* allowed the :host arg to publish to be a list of host names
* for publish-file compute the content-type automatically if
not provided
2000-02-25 John Foderaro <jkf@tiger.franz.com>
* added code to the examples so that the pubished url
handlers will find the files they reference (if any)
no matter what the current directory is when the examples
file is loaded.
2000-02-18 John Foderaro <jkf@tiger.franz.com>
* moved examples and doc to their own directories
2000-02-08 John Foderaro <jkf@tiger.franz.com>
1.1.0
renamed neo to Allegro iServe
changed neo package to net.iserve
changed htmlgen package to net.html.generator
2000-02-08 John Foderaro <jkf@tiger.franz.com>
1.0.9
* main.cl - added exports
* examples.cl - show how to publish a generated jpg file
* neo.html - more documentation
2000-01-28 John Foderaro <jkf@tiger.franz.com>
1.0.8
* renamed accessors
2000-01-25 John Foderaro <jkf@tiger.franz.com>
* partially added logging
2000-01-25 jkf <jkf@main.verada.com>
* use uri package
2000-01-18 John Foderaro <jkf@tiger.franz.com>
1.0.7
* changed :url to :path in the publish functions
* added a locator class to expose the search for a matching
entity
2000-01-11 John Foderaro <jkf@tiger.franz.com>
* document accessors.
get timedout-response working
1999-12-15 John Foderaro <jkf@tiger.franz.com>
1.0.6
* cookie support added and documented
1999-12-14 jkf <jkf@main.verada.com>
* added new file decode.cl to hold all decode/encode functions
1999-12-11 John Foderaro <jkf@tiger.franz.com>
1.0.5
* add shutdown command
1999-12-02 John Foderaro <jkf@tiger.franz.com>
1.0.4
* do case insensitive comparison of mime separation strings.
It may not be necessary but it seemed to be for IE.
1999-11-02 John Foderaro <jkf@tiger.franz.com>
1.0.3
* fixed chunking output calls so it works again
1999-10-15 jkf <jkf@main.verada.com>
1.0.2
* added multipart info grabbing and updated the documentatoin
1999-10-13 John Foderaro <jkf@tiger.franz.com>
1.0.1
* start changelog