This file contains an overview of version differences. The list
is not complete. Refer to cvs comments for more information.

Changes since 3.3 beta 35
- Fix late uid check that might cause confusing error message

Changes since 3.3 beta 34
- Once again fix handling of virtual uids

Changes since 3.3 beta 33
- Remove duplicated authorization checks for CGI
- Remove SSLv2 compatibility: keep SSLv3 and TLSv1
- Improve error handling, limit $ERROR_CODE cases

Changes since 3.3 beta 32
- Directory redirects are backwards compatible again (i.e. add filename)

Changes since 3.3 beta 31
- Fix compilation on NetBSD, by Ed Schouten

Changes since 3.3 beta 30
- Allow SSL certs per socket config. '-s' is now deprecated.

Changes since 3.3 beta 29
- Error messages are now valid xhtml, by Ed Schouten
- Fix domain detection and S_IFDIR on Linux, by Peter Koeleman
- Fix perl interpreter usage, by Peter Koeleman

Changes since 3.3 beta 28
- Allow comments in .redir and .noxs files, fix parsing

Changes since 3.3 beta 27
- Previous uid fix was broken, this one's better

Changes since 3.3 beta 26
- Use configured virtual host uid for non-user CGI binaries

Changes since 3.3 beta 25
- Added contrib/agentstats.pl for user agent statistics, by Ed Schouten
- PCRE and LDAP support are now *disabled* by default
- httpd -v option displays compiled in options (better than ldd guessing)
- Include PATH_INFO and QUERY_STRING info in access logging of CGI's
- Fix race condition in posting via https

Changes since 3.3 beta 24
- Fix handling of 'pass' in .redir files

Changes since 3.3 beta 23
- wwwstats.pl changed to show per domain averages
- Change how .redir with PCREs work (not backwards compatible)
- Allow server-side URL rewrites using .redir files and PCREs

Changes since 3.3 beta 22
- Allow multiple extensions in mime.types lines and ignore empty definitions
- Move supplied tools to contrib directory

Changes since 3.3 beta 21
- Fix handling of local .mimetypes files
- Include example vhost statistics script by Ed Schouten
- Log configured main vhost name, rather than client's Host: header

Changes since 3.3 beta 20
- Set $USER, $HOME and $PWD as users might expect

Changes since 3.3 beta 19
- Introduce strlcat, strlcpy (with replacement functions)
- Allow port indication in <Virtual> Hostname field:
  one can now use different configs (dirs) depending on the port number

Changes since 3.3 beta 18
- Fix session termination when entire POST has been read

Changes since 3.3 beta 17
- Fix missing SSL_CIPHER environment variable

Changes since 3.3 beta 16
- Workaround for possible race condition

Changes since 3.3 beta 15
- Include LDAP authentication patch by Rink Springer, see xsauth(5)

Changes since 3.3 beta 14
- Clean up temp files used during extracting of compressed data
- Add UsePcreRedir to interpret PCREs in *.redir files

Changes since 3.3 beta 13
- Add HostAlias option to define multiple hostnames with the same settings
- Add ScriptCpuLimit option to limit CPU abuse of CGI scripts (in mins)

Changes since 3.3 beta 12
- Pathnames containing // or /./ will now generate a redirect
- DNS lookups for logging can be disabled with UseDnsLookup

Changes since 3.3 beta 11
- Cleaned up SSL and moved to libxs.a as well (to do: cgi-ssl)

Changes since 3.3 beta 10
- Include local strsep and fix other replacement functions
- Revamped build system by using a libxs.a for general functions

Changes since 3.3 beta 9
- Added LogStyle 'virtual': combined log with http_host prefix

Changes since 3.3 beta 8
- Added IndexFiles configuration directive

Changes since 3.3 beta 7
- Style cleanup and minor bug fixes (thanks Janjaap)
- Document recently introduced features
- Fixed bug in https directory redirects

Changes since 3.3 beta 6
- Finally got rid of all the DECL* macros (thanks Janjaap)
- Also removed VOID, PROTO, NOFORWARDS, NONEWSTYLE
- Some compile warnings fixed

Changes since 3.3 beta 5
- Recursive .mimetypes
- Recursive .xsscripts

Changes since 3.3 beta 4
- Allow per directory .mimetypes

Changes since 3.3 beta 3
- Several patches to compile on other machines
- Added VirtualHostDir configuration directive. Please set this.

Changes since 3.3 beta 2
- Make default charset configurable
- Recursive check for .noxs and .charset files as well
- Parse IP or IPv6 prefix (CIDR-notation) in .noxs

Changes since 3.3 beta 1
- Recursive check for .xsauth files (probably not air-tight)
- SSL certificate files are a global setting
- Add charset=US-ASCII for text documents if unspecified

Changes since 3.2 gamma 1
- Remove superfluous double quotes from logs (rewrite as single quote)
- Allow configurable priority - and a separate prio for user CGI's
- Deprecate LocalMode option - use %u with full path in Users/HtmlDir

Changes since 3.2 beta 36
- Accomodate new autoconf (259) and automake (1.8) versions

Changes since 3.2 beta 35
- SERVER_NAME uses the requested HTTP_HOST instead of default hostname

Changes since 3.2 beta 34
- A 404 NOT FOUND error was returned when not appropriate
- Tested (and working) with PHP 5.0.0

Changes since 3.2 beta 33
- Last socket instance might have wrong settings
- HANDLE_SCRIPT and HANDLE_COMPRESSED can no longer be disabled at compile;
  set UseLocalScript or UseCompressed to false if you don't want it

Changes since 3.2 beta 32
- Fix a bug in naming logfiles (this broke httpdc reload)
- Prepare for DIGEST-MD5 support (not implemented yet)
- Make ScriptTimeout configurable

Changes since 3.2 beta 31
- The multiple sockets implementation did not work. Redone.

Changes since 3.2 beta 30
- Fix -p (port) command line option
- New option -N disables configuration file, logging and pidfile

Changes since 3.2 beta 29
- Enable logging through an external program, such as cronolog
- Support binding on multiple sockets simultaneously

Changes since 3.2 beta 28
- Deal with standard HTTP server headers supplied by CGI scripts
- Set SCRIPT_FILENAME to accomodate new PHP versions
- Don't serve *.[Rr]edir files
- Don't log errors to access_log, even when using an error CGI
- Use setproctitle() when available instead of setprocname() hacks

Changes since 3.2 beta 27
- Document the use of SSL in 'man httpd' and include SSL-Makefile

Changes since 3.2 beta 26
- Undo change in beta 25 which would lead to different counters being
  used for 'path/' and 'path/index.html'
- Don't set PATH_INFO for files w/o additional info

Changes since 3.2 beta 25
- <!--#last-modified--> now looks at the original URL
- Original URL is kept in $ORIG_PATH_INFO and $ORIG_PATH_TRANSLATED
  and restored to $PATH_INFO and $PATH_TRANSLATED when appropriate,
  instead of overwriting with <!--#include--> or <!--#run-cgi--> filenames
- New SSI <!--#printenv--> which takes an optional argument (for debugging)
- SCRIPT_NAME would be wrong for a directory index with arguments

Changes since 3.2 beta 24
- Fix typo that caused PATH_TRANSLATED and friends to be unset

Changes since 3.2 beta 23
- Fix small portability issues: now runs again on IRIX, Solaris, etc.
- httpdc uses PidFile setting from httpd.conf

Changes since 3.2 beta 22
- Fixed error handling for root and non-existant users
- Start up with an empty environment
- OpenSSL support is now compiled in by default if it is available
  use './configure --without-ssl' if this this is not desired
- Use new style autoconf scripts

[oops, missed a lot of changes here]

Patch peters@stack.nl
- When nesting <virtual>, complain about nesting <virtual> instead of <users>
- Added support for Username and Groupname directives inside <virtual>

Changes since 3.1 beta 4
- Pragma: no-cache would be omitted when required and vice versa
- Use Extended CLF logging format by default

Changes since 3.1 beta 3
- Use SO_REUSEPORT instead of SO_REUSEADDR
- Be RFC2324 compatible... well, sortof...

Changes since 3.1 beta 2
- Hook up with a perl library (experimental)

Changes since 3.1 beta 1
- Add internal:404 for file types that should never be shown (includes)
- Compile cleanly under Darwin

Changes since 3.0 beta 13
- Add a third directory index fallback: index.php
- Allow multiple password retries
- Use general /cgi-bin/error when virtual host doesn't have it
- Don't allow virtual host "."
- Change to current directory before running CGI or PHP
- Allow setting character set (using .charset files)

Changes since 3.0 beta 12
- Fix a uid check

Changes since 3.0 beta 11
- Preserve QUERY_STRING in directory redirects
- Optionally switch to user id for virtual hosts
- Fix nph-scripts
- Fix nph-scripts in combination with SSL
- Append port number in HTTP_HOST even when MSIE is used
- Don't show files in group/world writable homedirs
- Don't expect the user to always give -s as first argument
- A good rewrite for SSL handling routines (credits to Marc Olzheim)
- Minor cleanups

Changes since 3.0 beta 10
- Optionally display virtual hosts with euid of dir owner
- Fix bug which might allow source access to global /cgi-bin files
- Started work on a decent configuration file
- Fix possible abort when EWOULDBLOCK occurs during CGI write
- Work around broken Linux libs when IPv6 is not available
- Never show contents of .noxs files
- Send compressed data only when the browser expects it
- Several minor fixes/cleanups

Changes since 3.0 beta 9
- Critical: check for valid Host: header before using $HTTP_HOST
  pointed out by Mark Huizer and Martijn van Buul
- Remove the obsolete '#include virtual' server-side include
- Allow relative paths in '#include-file' SSI
- Only use tolower(c) iff isupper(c): critical on 2.11BSD
- Collapse // and /./ in requested path, but not in $QUERY_STRING
- Several small bug-fixes

Changes since 3.0 beta 8
- Several portability patches (compiles even on Cygwin/MS Windows)
- Detect more "features" (now including the domainname ;)
- Include strptime() library when required
- Send compressed files with the proper Content-Encoding headers
- Re-introduce header parsing (using a static buffer)
- Several small bug-fixes (thanks to Rob Essink)

Changes since 3.0 beta 7
- Fix default port selection on systems without getaddrinfo()
- Added optional define BROKEN_GETNAMEINFO (no offline check yet)
- Replaced old MAXHOSTNAMELEN by NI_MAXHOST (self-defined if needed)
- Removed/rewritten all functions that require libnsl
- Include files named mystring.h and mygetopt.h to prevent recursion
- Several small bug-fixes (now compiles clean on Solaris and IRIX)

Changes since 3.0 beta 6
- Easy to configure and install (using ./configure)
- Support for server-side includes in CGI binaries
- Allowing arbitrary CGI headers
- Rewrite and improvement of IPv6 support
- Added command line -f option for binding to a single iface
- Many small bug- and security-fixes

