Changes with Apache-SSL 1.3.6/1.32

  *) Upgraded to Apache 1.3.6.
     [Ben Laurie]

Changes with Apache-SSL 1.3.4/1.32

  *) Add support for new OpenSSL session ID context, so we can still reuse
     sessions.
     [Ben Laurie]

  *) If the client certificate is optional, with no CA required, then don't
     send a CA list.
     [Ben Laurie]

  *) Add support for new 56/1024 bit export ciphersuites.
     [Ben Laurie]

  *) Use new certificate stack functions in OpenSSL 0.9.2. Combine
     SSLCACertificateFile and SSLCACertificateDir CA certs to send to the
     client.
     [Ben Laurie]

Changes with Apache-SSL 1.3.4/1.31

  *) Make Apache-SSL work with "configure --enable-shared=max".
     [Ben Laurie, reported by Don Sullivan <dsullivan@gaia.arc.nasa.gov>]

  *) Make httpsd the default install target.
     [Ben Laurie, reported by Don Sullivan <dsullivan@gaia.arc.nasa.gov>]

  *) Add new SSLRandomFile and SSLRandomFilePerConnection directives.
     [Ben Laurie, suggested by Bodo Moeller
      <3moeller@informatik.uni-hamburg.de>]

Changes with Apache_SSL 1.3.4/1.30

  *) Port to Apache 1.3.4. [Ben Laurie]

  *) Timeout during SSL accept phase.
     [Ben Laurie, suggested by Nigel Metheringham]

  *) Make error message when gcache fails to open the socket more specific.
     [Ben Laurie]

  *) Make SSLVerifyClient and SSLVerifyDepth per directory. This involves
     renegotiating the client connection and is rather a major change, so by
     default it is disabled. Enable it by setting RENEG to TRUE in
     apache_ssl.c. This is just the first in a series of
     per-directorifications. N.B. This facility is not currently very reliable,
     so only enable it for testing. [Ben Laurie]

Changes with Apache_SSL 1.3.3/1.29

  *) Make SSL_SERVER_I_/SSL_CLIENT_I_ change optional - set USE_OLD_ENVIRONMENT
     to true in apache_ssl.c to use the old names. [Ben Laurie]

  *) Add some missing entries in the 1.28 changes. [Spotted by Ralf
     Engelschall]

  *) Don't log SSL_accept failure if the return value is zero - this should
     eliminate the spurious warnings Netscape causes. [Ben Laurie]

  *) Fix file descriptor leak. [Quinton Dolan <q@fan.net.au>]

  *) Fix error in server certificate soft link. [Ben Laurie]

  *) Send CA list to client when SSLCACertificatePath is used (this was only
     done for SSLCACertificateFile up to now). [Ben Laurie]

Changes with Apache_SSL 1.3.3/1.28

  *) Pad certificate exports with =s, as some implementations required them,
     and they're significantly easier to remove than to add.
     [Ben Laurie, reported by Adam Laurie]

  *) Make cert issuer components actually start with SSL_SERVER_I_/
     SSL_CLIENT_I_ as documented, instead of SSL_SERVER_I/SSL_CLIENT_I.
     [Ben Laurie]

  *) Check for a few more errors to avoid problems with cert chains and
     certificate verification. [Ralf Engelschall]

Changes with Apache_SSL 1.3.2/1.27

  *) Fix lingering problem where gcache died if left alone for a while. This
     appears to be caused by spurious SIGPIPEs on some OSes. [Ben Laurie]

Changes with Apache_SSL 1.3.2/1.26 (never released)

  *) Add test to FixPatch to check that patch is up-to-date. [Ben Laurie]

  *) Don't export client cert chain with SSLeay before 0.9.0, since it can't
     disable session ID caching. [Ben Laurie]

  *) Make sure session caching is enabled if certificate export is (at least
     until it is no longer needed).
     [Ben Laurie, pointed out by Ralf Engelschall]

  *) Add new SSLExportClientCertificates option. [Ben Laurie]

  *) Default to not exporting client cert chains. [Ben Laurie]

  *) Stop Ralf bleating about gcc warnings. [Ben Laurie]

Changes with Apache_SSL 1.3.2/1.25

  *) Port to new Apache. [Ben Laurie]

  *) Supply client certificate chain in environment as SSL_CLIENT_CERT and
     SSL_CLIENT_CERT_CHAIN_1 and so on. Can be disabled if desired in buff.h.
     [Ben Laurie]

  *) Allow passphrase retries. [Ben Laurie, suggested by Holger Reif]

Changes with Apache_SSL 1.3.1/1.24

  *) Cache private keys over restarts. This means you can use passphrases and
     survive a restart. It also means that the ugliness with sleep is no longer
     required (we can read the private keys on the first pass through the
     config file). Of course, having a server autostart still requires you to
     have no passphrase. [Ben Laurie]

Changes with Apache-SSL 1.3.1/1.23

  *) Rerefix dependencies.
     [Ben Laurie, Koga Youichirou <y-koga@jp.FreeBSD.org>]

  *) Fix make install a bit more. [Koga Youichirou <y-koga@jp.FreeBSD.org>]

  *) Stop irritating people with my EXTRA_CFLAGS. [Ben Laurie]

  *) Don't launch gcache until runtime checks have been completed. [Ben Laurie,
     reported by Bjoern A. Zeeb <bear@dinx.de>]

Changes with Apache-SSL 1.3.1/1.22

  *) Refix dependencies. [Ben Laurie]

Changes with Apache-SSL 1.3.1/1.21

  *) Fix dependencies. [Suggested by Ralf S. Engelschall]

  *) Add missing copyright notices. [Ralf S. Engelschall]

  *) Fix APACI install and apachectl fixup to do httpsd instead of httpd.
     Install gcache.
     [Koga Youichirou <y-koga@jp.FreeBSD.org>]

  *) Eliminate SSLLogFile (all info logged to it now goes to the error log).
     Make its use an error (with an explanation). [Ben Laurie]

  *) Correct typo when Apache-SSL is shared (bFirst instead of bFirstTime).
     [arobertson@phoenix.co.uk]

  *) Switch some stuff that really should be on stderr back again. [Ben Laurie]

  *) Finally make FREE_SESSION work. I'm still not convinced that there was any
     real reason to do it, though. [Ben Laurie]

Changes with Apache-SSL 1.3.1/1.20

  *) Log most errors instead of putting them on stderr. [Ben Laurie]

  *) Do Apache-SSL on inetd connections.
     [Philippe Vanhaesendonck <pvanhaes@be.oracle.com>]

  *) Make Apache-SSL the last module again so FakeBasicAuth works. [Ben Laurie]

  *) Do a cleanup before starting gcache. [Ben Laurie]

  *) Make gcache die when httpsd dies. This failing in previous versions
     appears to be a bug in Apache. [Ben Laurie]

  *) Document the biz with passphrases and sleep. [Ben Laurie]

  *) Include the FixPatch script to fix up paths in SSLpatch. [Andrew Ford
     <andrew@icarus.demon.co.uk>]

  *) Make a few functions static that weren't but should have been.
     [Ben Laurie]

  *) Don't use the new version string stuff (but explain why). [Ben Laurie]

  *) Don't patch configure (that was a mistake - I'd use --compat if I were you
     if you do use configure). [Ben Laurie]

  *) Make apachectl control httpsd instead of httpd.
     [Koga Youichirou <y-koga@jp.FreeBSD.org>]

  *) Get rid of {srm,access}.conf, make a few things in README.SSL clearer.
     [Jean Meloche <jean@stat.ubc.ca>]

Changes with Apache-SSL 1.3.0/1.19

  *) Close the private key file. [Jean-Hugues ROYER <jhroyer@joher.com>]

  *) Mess about with file descriptors to make passphrases work again. They
     don't work quite as they used to, however, since they are prompted for
     after the server has detached. This means you'll need to follow the server
     launch with a long sleep so you don't fight with the shell to enter the
     passphrase. [Ben Laurie]

Changes with Apache-SSL 1.3.0/1.18

  *) Make numeric SSLCacheServerPort work again. [Ben Laurie]

  *) Move gcache launch into the module init function. [Ben Laurie]

  *) Remove nasty bFirst kludge - so now modules are initialised twice, just
     like in a standard Apache. [Ben Laurie]

  *) Failing to provide a CA cert file (SSLCACertificateFile) should no longer
     cause a crash. [Ben Laurie]

  *) New SSLRequireSSL directive, to forbid non-SSL access to sensitive
     directories in case of configuration error. [Ben Laurie, suggested by Rob
     Heittman]

  *) SSLEnable didn't work. Nor did anything that required inheritance from the
     main server. Directives now inherit. WARNING: this may change the
     behaviour of your server when upgrading. [Ben Laurie, reported by Adam
     Laurie]

Changes with Apache-SSL 1.2.6/1.17

  *) Change CHANGES.SSL format to match src/CHANGES. [Ben Laurie]

  *) Make gcache only accept connections from localhost, and become the same
     user as Apache. [Ben Laurie, suggested by Rick Perry <perry@ece.vill.edu>]

  *) Move gcache launch point so it is after logs have been opened, and
     arrange for error/diagnostic output to be logged. [Ben Laurie]

  *) Add stuff to expand client and server certs field by field for CGI
     scripts. [Quinton Dolan <q@fan.net.au>]

  *) Stop suexec from filtering HTTPS/SSL environment vars. [Ben Laurie,
     suggested by Kristofer Peterson <bepeterson@taconic.net>]

  *) Document environment vars in README.SSL. [Ben Laurie]

  *) Resolve conflict between SSLeay and crypt.h in mod_auth_msql.c.
     [Sean Purdy <sean@cix.co.uk>]

  *) Make fixup return DECLINED instead of OK (thus allowing other fixups to
     be called). [Jaromir Dolecek <dolecek@ics.muni.cz>]

  *) Fix htdigest. [Ben Laurie]

  *) Remove unsigned short typedef to keep SGI happy. [Brian S. Wallace
     <wallace@wbs.issi.net>]

  *) Make Configuration.tmpl more consistent with Configuration. [Ben Laurie]

  *) Make SSL optionally optional, which is useful for subrequests.
     [Ben Laurie, suggested by Jaromir Dolecek <dolecek@ics.muni.cz>]

  *) Make SSLLogFile server root relative. [Ben Laurie, suggested by Matthias
     Suencksen <msuencks@marcant.de>]

  *) Optionally use Unix domain sockets for the cache server.
     [Ben Laurie, Stefano Ravaioli <Stefano.Ravaioli@cineca.it>]

  *) Actually use the configured cache expiry time. [Ben Laurie]

  *) Don't try to handle a connection to gcache if accept() gets an error.
     [Stefano Ravaioli <Stefano.Ravaioli@cineca.it>].

  *) Correctly report the SSL version number (format changed, no longer "2" or
     "3", now "TLS1", "SSL2" or "SSL3").
     [Ben Laurie]

  *) Use our own SSLeay configuration file, to ask the right question for CN.
     [Holger Reif <Holger.Reif@Prakinf.tu-ilmenau.de>]

1.2.6+1.16	Make it possible to disable session caching.
		Support SSLeay 0.9.0.
		Make client auth work with session caching (contributed by
			Stefano Ravaioli <Stefano.Ravaioli@cineca.it>).
		Possibly make gcache more reliable.
		Make SSLVerifyClient 3 work. At least with SSLeay 0.9.0.
		Give up on support for SSLeay 0.6.x (at least until someone
			persuades me otherwise).

1.2.6+1.15	Fix minor security holes (/tmp symlink attacks) (found by
			Ondrej Suchy <ondrej@eurexa.cz>).
		Port to Apache 1.2.6.
		Fix mistake in check_fulluri (contributed by Frank Bernard
			<fbernard@apriori.de>).

1.2.5+1.14	mod_imap.c was not correctly translated. Fixed.
		Pass on SSL_* to module make.
		Add SSL_APP_DIR to make life easier for people who want to use
			installed SSLeay.
		Add experimental session ID caching.
		Add vague explanation of SSLRequiredCiphers and friends.
		Add SSLEnable (contributed by Ray Bellis <rpb@community.net.uk>).


1.2.5+1.13	This version was sponsored by Virgin Music Group.
		Brought up to date.
		Send client the server's CA for client certs [Wojceich Tryc].
		Note that this could be made more sophisticated!

1.2.4+1.12	? [this is the only version that works correctly with 1.2.4]

1.2.4+1.11	Fix bug related to double load of config.
		Fix bug in check_fulluri (pointed out by Laurentiu Badea). This
			could have caused some strangeness in virtual hosts, I
			suppose.

1.2.4+1.10	Fix bug in buff.c causing corruption in large files.

1.2.4+1.9	Brought up to date.

1.?+1.4-8	?

1.1.1+1.3	Configurable logging was lost in 1.2. Fixed.
		':' missing. Fixed.
		Now that HTTP and HTTPS are both supported many assumption
			about default ports are wrong. Mostly fixed.

1.1.1+1.2	Ported to Apache 1.1.1 (thanks to Nigel Metheringham for an
			initial version of this).
		Changed version numbering scheme again to conform to HTTP
			standards.
		Ported to SSLeay 0.6.1. Support still present for 0.5.x.
		Added "no CA" client verification mode. This didn't work with
			SSLeay 0.5.x and is untested with 0.6.1.
		Added new directives SSLRequiredCiphers, SSLRequireCipher,
			SSLBanCipher, SSLDisable.
		Allowed a single server to serve both HTTP and HTTPS.
		Set HTTPS, HTTPS_CIPHER, HTTPS_KEYSIZE, HTTPS_SECRETKEYSIZE and
			SSL_CLIENT_DN for CGIs.

1.0.5+1.1	Allow SSLCertificateKeyFile to use an absolute path.

1.0.5+1.0	Ported to Apache 1.0.5 and SSLeay 0.5.2a.
		Fixed mod_dir.c stack overrun bug.
		Fixed client authentication.
		Changed version numbering scheme to de facto standard Apache
			derivative numbering (that is <derivative name>/<Apache
			version>+<derivative version>).

1.0.3a		Ported to Apache 1.0.3 and SSLeay 0.5.1b.
		Removed SSL logging from mod_log_common.c. It is now available
			only in configurable logs.
		Removed duplicate typedef for pool in apache_ssl1.h.
		Added "make certificate" to generate a test certificate.
		Added per-host control of CA verification path/file.
		Inverted this list!

1.0.1a		Ported to Apache 1.0.1. This was considerably more troublesome
			than expected, so apologies to those who have tried and
			failed to apply the 0.8.14 patches to 1.0.x.
		A small amount of extra documentation was added to httpd.conf.
		Worked around a bug in timeouts in 1.0.1 (pool close functions
			weren't used).
		Copyright notices updated.

0.8.14h		Corrected mod_imap - http: and https: were reversed.
		Corrected another reference to http: in util.c, and default
			port numbers in util.c, mod_imap.c and httpd.h.

0.8.14g		Added configurable logging to mod_log_config.c (another
			sameer@c2.org idea).
		Removed extra logging from mod_log_common.c (code left behind
			in case anyone relies on it, but will be removed
			later).
		Made mod_imap use https: by default, and recognise https: and
			ftp: as valid methods (again, sameer@c2.org).
			(Not tested).

0.8.14f		szClientX509 was not cleared for a new connection. Fixed.
		Put my PGP key in the distribution instead of anyone else who
			happens to have "ben" in their name. Ooops!

0.8.14e		Removed os_conn_printf(), which was ugly, unused and
			unintelligible.
		Added "#include <stdarg.h>" to apache_ssl2.h.
		Removed os_one_time_init(), also ugly and unused.
		Added SSLLogError (suggested by sameer@c2.org), to log errors
			to the main error log. Note that many are also logged
			in SSLLogFile.
		Added remark about patch usage in README.SSL.

0.8.14d		Fixed mod_imap.c.
		Added SSLLogFile for miscellaneous rubbish produced by SSL.
		Added this file, and EXPORT.SSL.


