CHANGES revision 4c6731b2f737f8d7fcacd44b97d9e6bab745f1a5
a5b9c2b208b51b039c8f4006cddf3d37dd781561Brian WellingtonChanges with Apache 2.0.24-dev
a5b9c2b208b51b039c8f4006cddf3d37dd781561Brian Wellington *) Close a major resource leak. Everytime we had issued a
a5b9c2b208b51b039c8f4006cddf3d37dd781561Brian Wellington graceful restart, we leaked a socket descriptor.
2da0b7dfbd02fab454b8ba60f1fdb7e2a5cbd2dbMark Andrews *) Fix a problem with the new method code. We need to cast
2da0b7dfbd02fab454b8ba60f1fdb7e2a5cbd2dbMark Andrews the 1 to an apr_int64_t or it will be treated as a 32-bit
1cb6e8cbe41afade950837319e04da4ccf8649e0Brian Wellington integer, and it will wrap after being shifted 32 times.
1cb6e8cbe41afade950837319e04da4ccf8649e0Brian Wellington [Cody Sherr <csherr@covalent.net> and Ryan Morgan <rmorgan@covalent.net>]
2033e305852d4b76772885ea73ebfb6776c1f820Mark Andrews *) Fix a bug in mod_expires. Previous to this patch, if you
6443201354efa09f16ada26dab99e9b7f8271521Andreas Gustafsson told mod_expires to add 604800 seconds to the last-modified
6443201354efa09f16ada26dab99e9b7f8271521Andreas Gustafsson time, it actually added 604800 usec's to the last-modified time,
6443201354efa09f16ada26dab99e9b7f8271521Andreas Gustafsson so that when looking at the response it looked like nothing
e980502db40155234b4e8d320b748b34dbaba3a2Brian Wellington had been done. The root of the problem was that we always compute
e980502db40155234b4e8d320b748b34dbaba3a2Brian Wellington time in usec's, but we ask users to input sec's. This means we
e980502db40155234b4e8d320b748b34dbaba3a2Brian Wellington need to convert to usec's before using those values.
ecd1addb86319bacc6c0bff2c68373619eebbffcMark Andrews *) The worker MPM now handles shutdown and restart requests. It
0176adc7c58bb8bd60ec71eeae94dbfbbc4018a8Mark Andrews definately isn't perfect, but we do stop the servers correctly.
0176adc7c58bb8bd60ec71eeae94dbfbbc4018a8Mark Andrews The biggest problem right now is that SIGHUP causes the server to
ea20115e347264b9bc1c686d6dfc1b5af3a5516bAndreas Gustafsson just die. [Ryan Bloom]
ea20115e347264b9bc1c686d6dfc1b5af3a5516bAndreas GustafssonChanges with Apache 2.0.23
bddfe77128b0f16af263ff149db40f0d885f43d0Mark Andrews *) Use the prefork MPM by default on Unix. [various]
aa0dc8d920a1f79626c3564408db9c5c9a5319a7Andreas Gustafsson *) mod_rewrite: Fix the line ending on some non-Unix systems for
aa0dc8d920a1f79626c3564408db9c5c9a5319a7Andreas Gustafsson messages written to the rewrite log.
aa0dc8d920a1f79626c3564408db9c5c9a5319a7Andreas Gustafsson [Richard Labennett <rlabenn@us.ibm.com>]
47d48791fc352fcdf9019200070221be41a8d77cMark Andrews *) All mod_autoindex query parsing is now quietly quashed with the
35db8a8eda6a889675138eb125d366c8851f68a5Andreas Gustafsson IndexOption IgnoreClient. The IndexOption SuppressColumnSorting
0d5e7cd0afaee07302f8364aa454f09b4c63ea79Andreas Gustafsson still drops the column sort <a href>'s for the column headers, but
0d5e7cd0afaee07302f8364aa454f09b4c63ea79Andreas Gustafsson IgnoreClient is required to ignore these Query options entirely.
5e88852b94830bf71e37dc700d568cb35e2e6f7eAndreas Gustafsson [William Rowe]
5e88852b94830bf71e37dc700d568cb35e2e6f7eAndreas Gustafsson *) Introduced new mod_autoindex query argument parsing for F=[0|1|2]
5e88852b94830bf71e37dc700d568cb35e2e6f7eAndreas Gustafsson to allow the client to select plain, FancyIndexing or HTMLTable
22815444822da17fab82d4ab115da6e055ea1754Brian Wellington formatting, V=[0|1] to inhibit or enable version sorting, and
5e88852b94830bf71e37dc700d568cb35e2e6f7eAndreas Gustafsson P=pattern to return only specific files. The old Query Arguments
22815444822da17fab82d4ab115da6e055ea1754Brian Wellington were reorganized as C=f for sorting column 'f' (same N, D, S, or M
22815444822da17fab82d4ab115da6e055ea1754Brian Wellington as before), and O=A|D for ordering ascending or descending.
35db8a8eda6a889675138eb125d366c8851f68a5Andreas Gustafsson [William Rowe]
35db8a8eda6a889675138eb125d366c8851f68a5Andreas Gustafsson *) Fixed an error in mod_include's directive parsing routines which
c6de6524d777c90ae8011af8b10f5cac044081e5Mark Andrews caused #if, #elif, and #else expressions containing backslashes
bd6504aa9aa16a912412fbe010046aaf4bf23621Brian Wellington to be improperly evaluated. [Cliff Woolley]
5e88852b94830bf71e37dc700d568cb35e2e6f7eAndreas Gustafsson *) Introduced new mod_autoindex IndexOptions flags; SuppressIcon to
bd6504aa9aa16a912412fbe010046aaf4bf23621Brian Wellington drop the icon column, SuppressRules to drop the <hr> elements,
bd6504aa9aa16a912412fbe010046aaf4bf23621Brian Wellington and HTMLTable to create rudimentary HTML table listings (implies
bd6504aa9aa16a912412fbe010046aaf4bf23621Brian Wellington FancyIndexing). [William Rowe]
e9596e1fb3dfa560216776acdbfac3cf5ef97157Mark Andrews *) Re-Introduced the mod_autoindex IndexOptions flag TrackModified
e9596e1fb3dfa560216776acdbfac3cf5ef97157Mark Andrews from Apache 1.3.15. This is needed for two reasons, first, given
1e289d3cca5cdd01dda650fa6e4c1de1aa8b4196Andreas Gustafsson multiple machines within a server farm, ETags and Last-Modified
c54210716ee55b55e22d8dad56fd696a641fc98dBob Halley stamps won't correspond from machine to machine, and second, many
c54210716ee55b55e22d8dad56fd696a641fc98dBob Halley Unixes don't capture changes to the date or time stamp of existing
c54210716ee55b55e22d8dad56fd696a641fc98dBob Halley files, since these don't modify the dirent itself. [William Rowe]
3fcf6b956f47405750724bd84e1b2290b61c9186Brian Wellington *) Re-Introduced the mod_autoindex InextOptions flag FoldersFirst
82c65f4f62819340ef8198932d3eab8a308a4874Andreas Gustafsson and DirectoryWidth options from Apache 1.3.10.
3fcf6b956f47405750724bd84e1b2290b61c9186Brian Wellington [William Rowe, Ken Coar]
1e289d3cca5cdd01dda650fa6e4c1de1aa8b4196Andreas Gustafsson *) Eliminated FancyIndexing directive, depricated early in Apache
0a2d5c990559ce2b9f95df752db6e93024d9a250Brian Wellington 1.3 by the IndexOptions FancyIndexing syntax. [William Rowe]
96ed62425310854fd6f6f06bfb7651b3e4c17ee7Andreas Gustafsson *) mod_autoindex now excludes any file names that would result in
96ed62425310854fd6f6f06bfb7651b3e4c17ee7Andreas Gustafsson an error, other than a success or redirect. Also optimized
96ed62425310854fd6f6f06bfb7651b3e4c17ee7Andreas Gustafsson the parent directory, always included except in the URI '/'.
96ed62425310854fd6f6f06bfb7651b3e4c17ee7Andreas Gustafsson [William Rowe]
5733d25b06b46067b3751d10436d82aef09cd705Brian Wellington *) Refactored mod_negotiation and mod_mime to help mod_dir accept
82c65f4f62819340ef8198932d3eab8a308a4874Andreas Gustafsson negotiated index pages, and prevent the server from defaulting
5733d25b06b46067b3751d10436d82aef09cd705Brian Wellington to an autoindex of the directory. mod_negotiation will now die
5733d25b06b46067b3751d10436d82aef09cd705Brian Wellington with a 500 Internal Error if it could match some filenames
82c65f4f62819340ef8198932d3eab8a308a4874Andreas Gustafsson (e.g. for mod_dir) but none can be served. mod_negotation now
5733d25b06b46067b3751d10436d82aef09cd705Brian Wellington refuses to serve any file with an extention that mod_mime doesn't
debff476ad3512687a354499c25d2793e2009acdBrian Wellington recognize, and wasn't part of the request. [William Rowe]
eb6e3b04169a766d2b968bcc978191605c2ef24cAndreas Gustafsson *) Eliminate mod_cgi's handling of .exe files without the .exe file
eb6e3b04169a766d2b968bcc978191605c2ef24cAndreas Gustafsson extension. This is already handled by multiviews, if the admin
eb6e3b04169a766d2b968bcc978191605c2ef24cAndreas Gustafsson wishes to AddHandler .exe or define a content type handler and
eb6e3b04169a766d2b968bcc978191605c2ef24cAndreas Gustafsson associate .exe files with that content type. Multiviews must be
eb6e3b04169a766d2b968bcc978191605c2ef24cAndreas Gustafsson enabled to allow these to be served. [William Rowe]
7d8c3693d0426b56750b14d80c47df5e42fc75e4Andreas Gustafsson *) Speed up the server's response to a spike in incoming workload
fed846067d265db1037483d81d01f3651c8a3f28Brian Wellington or restarts by assigning empty scoreboard slots to new processes
82c65f4f62819340ef8198932d3eab8a308a4874Andreas Gustafsson when they are available. [Greg Ames]
a26ad011f382d12058478704cb5e90e6f4366d01Andreas Gustafsson *) Add a handler to mod_includes.c. This handler is designed to
a26ad011f382d12058478704cb5e90e6f4366d01Andreas Gustafsson implement the XbitHack directive. This can't be done with a
a26ad011f382d12058478704cb5e90e6f4366d01Andreas Gustafsson fixup, because we need to check the content-type, which is
a26ad011f382d12058478704cb5e90e6f4366d01Andreas Gustafsson only available in the handler phase. [Ryan Bloom]
7d8c3693d0426b56750b14d80c47df5e42fc75e4Andreas Gustafsson *) Make the includes filter check return codes from filters lower in
7d8c3693d0426b56750b14d80c47df5e42fc75e4Andreas Gustafsson the filter chain. If a lower level filter returns an error, then
7d8c3693d0426b56750b14d80c47df5e42fc75e4Andreas Gustafsson the request needs to stop immediately. This allows mod_include to
9a72459b6040b30d043c5fd9e283441b847e569aAndreas Gustafsson stop parsing data once a lower filter recognizes an error.
07c336a9a85791dff886b1e28514589a25d9b720Andreas Gustafsson *) Add the ability to extend the methods that Apache understands
07c336a9a85791dff886b1e28514589a25d9b720Andreas Gustafsson and have those methods <limit>able in the httpd.conf. It uses
07c336a9a85791dff886b1e28514589a25d9b720Andreas Gustafsson the same bit mask/shifted offset as the original HTTP methods
07c336a9a85791dff886b1e28514589a25d9b720Andreas Gustafsson such as M_GET or M_POST, but expands the total bits from an int to
07c336a9a85791dff886b1e28514589a25d9b720Andreas Gustafsson an ap_int64_t to handle more bits for new request methods than
07c336a9a85791dff886b1e28514589a25d9b720Andreas Gustafsson an int provides. [Cody Sherr <csherr@covalent.net>]
712fa28946312882a60b0c6a913914d3e8c69867Mark Andrews *) Fix broken mod_mime behavior in merging its arguments. Possible
f2a16ec2e8970615d39f8fe339b215ad0a893b85Mark Andrews cause of unexplicable crashes introduced in 2.0.20. [William Rowe]
63fd201fde27ce408cde1c73a054e401fcfb9e3bDavid Lawrence *) Solve many mod_ssl porting issues (too many to detail) with
f8644da8d948dbc973f6dd4c94a79774e16ec07bDavid Lawrence help from the whole team, but most notably [Ralf S. Engelschall,
f8644da8d948dbc973f6dd4c94a79774e16ec07bDavid Lawrence Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>,
9bfa90768ab83ea5a8571c98d3774377da4bdcbeDavid Lawrence Doug MacEachern, William Rowe, Cliff Woolley]
9bfa90768ab83ea5a8571c98d3774377da4bdcbeDavid Lawrence *) More stall fixes for the threaded & worker mpm's.
9bfa90768ab83ea5a8571c98d3774377da4bdcbeDavid Lawrence Make mod_status output more accurate. Don't
9bfa90768ab83ea5a8571c98d3774377da4bdcbeDavid Lawrence count workers in processes which aren't actively
2d67c2474475acf52c8251dc48bfb7565ee5f2ffDavid Lawrence serving requests. [Greg Ames]
2d67c2474475acf52c8251dc48bfb7565ee5f2ffDavid Lawrence *) Win32: Get SSI exec cgi tag working. [Bill Stoddard]
6a7a69e9f764812872ec2db775be2ac8bb073102Andreas Gustafsson *) Add a single listener/multiple worker MPM. This MPM is
6a7a69e9f764812872ec2db775be2ac8bb073102Andreas Gustafsson definately not fully correct, but it allows us to solve many
6a7a69e9f764812872ec2db775be2ac8bb073102Andreas Gustafsson of the problems that exist in the threaded MPM. This is a
0a9a3d8c6daf9ffcfb62dbe366e26f521cbb9736Brian Wellington modified version of the threaded MPM. [Ryan Bloom]
0a9a3d8c6daf9ffcfb62dbe366e26f521cbb9736Brian Wellington *) Improve content generation throughout Apache, providing closer
f5ebf2f0c9e9d2068ace1dbcc2ef2ed3ebdbfde5Andreas Gustafsson compliance with HTML 3.2, HTML 4.01 Transitional and XHTML 1.0
8bcf7a157900c3a05168aaec708b8c664b96d797Andreas Gustafsson Transitional specifications. [William Rowe]
1d9ab721315555ac75e7d4f57585323909283688Andreas GustafssonChanges with Apache 2.0.22
1d9ab721315555ac75e7d4f57585323909283688Andreas Gustafsson *) Fix a problem where the threaded MPM stalls after restarts or
63fd201fde27ce408cde1c73a054e401fcfb9e3bDavid Lawrence segfaults. Also prevent multiple active processes from using
ef8d97818f0d30a4e09db97af695f504b311372cMark Andrews the same scoreboard slot. [Greg Ames]
63fd201fde27ce408cde1c73a054e401fcfb9e3bDavid Lawrence *) Apache/Win32 now fills in the service description with Apache's
63fd201fde27ce408cde1c73a054e401fcfb9e3bDavid Lawrence server version string, including loaded and advertised modules.
63fd201fde27ce408cde1c73a054e401fcfb9e3bDavid Lawrence [William Rowe]
519f8475ff8218e3981ae2b249eb1403da7c52f6Andreas Gustafsson *) Improved support for the Win32 build, to recover gracefully from
519f8475ff8218e3981ae2b249eb1403da7c52f6Andreas Gustafsson missing apr or apr-util directories or the awk interpreter,
edc1c60621b44fbc8131ad1542f657dd129f9a30Andreas Gustafsson create the proper cgi-bin examples, including a test-cgi.bat, and
edc1c60621b44fbc8131ad1542f657dd129f9a30Andreas Gustafsson fix the perl shebang line for printenv.pl, when installing from
edc1c60621b44fbc8131ad1542f657dd129f9a30Andreas Gustafsson the build environment. [William Rowe]
41626c0997c89dcdecf67c931f0031aadd507977Andreas Gustafsson *) Fix a segfault in threaded.c caused by passing uninitialized
41626c0997c89dcdecf67c931f0031aadd507977Andreas Gustafsson apr_thread_t * to apr_thread_join(). [Jeff Trawick]
4f4e44c98f315bfadc6dded1b86b465222a83967David Lawrence *) Use new APR number conversion functions to reduce CPU consumption
464c2e4bb960d15bd60d53c3ef3ae7414b129037David Lawrence when setting the content length, and in mod_log_config.
6112718b0dbb01ffbfd3fabc61e30c7e4485b0a7David Lawrence *) Fix problem reported by Taketo Kabe <kabe@sra-tohoku.co.jp>
6112718b0dbb01ffbfd3fabc61e30c7e4485b0a7David Lawrence where HEAD response headers were being repeated twice for
6112718b0dbb01ffbfd3fabc61e30c7e4485b0a7David Lawrence files greater than 32K bytes (4*AP_MIN_BYTES_TO_WRITE). This
6112718b0dbb01ffbfd3fabc61e30c7e4485b0a7David Lawrence problem in the http_header filter was exposed by the recent rewrite
6112718b0dbb01ffbfd3fabc61e30c7e4485b0a7David Lawrence of the content_length filter. [Taketo Kabe, Bill Stoddard]
04260c5c48d234734863f0222e207b6564cd41a8David Lawrence *) Fix seg faults in mod_status with ExtendedStatus enabled, after
04260c5c48d234734863f0222e207b6564cd41a8David Lawrence restarts. A garbage pointer to a vhost's server_rec from the
04260c5c48d234734863f0222e207b6564cd41a8David Lawrence previous generation was being left around under certain
f479c9ff5576b3d138c7e52cfc2319b185b7ebcfDavid Lawrence conditions. [Greg Ames]
f479c9ff5576b3d138c7e52cfc2319b185b7ebcfDavid Lawrence *) Fix a cosmetic problem with mod_include. Non-existant SSI vars
6c35e4dd17e6562a6b4d106cbf1d824b9f529356David Lawrence used to appear as '(none', without the closing paren.
504f7802d4c9b43db4820f496c4d00e078effa18David Lawrence [G�nter Knauf <eflash@gmx.net>]
504f7802d4c9b43db4820f496c4d00e078effa18David Lawrence *) Improve the exports generating awk script. In the past, we had
504f7802d4c9b43db4820f496c4d00e078effa18David Lawrence work around problems in the awk script by avoiding some #if and
6af5c66df334c4e275e07b03c9b35e40dbaa4f31Andreas Gustafsson #ifdefs. This has bitten us many times in generating the exports.c
6af5c66df334c4e275e07b03c9b35e40dbaa4f31Andreas Gustafsson file. This improvement allows corrects the header file parsing.
3b6bcedffe1d326fd9f6aa3bfb1537af0975fab8Brian Wellington [Sander Striker <striker@apache.org>]
3b6bcedffe1d326fd9f6aa3bfb1537af0975fab8Brian WellingtonChanges with Apache 2.0.21
841179549b6433e782c164a562eb3422f603533dAndreas Gustafsson *) Resolve the Win32 htpasswd bug, where a file that existed would be
f808bd34fbd3dd9508e8183e8025635bc330c34aAndreas Gustafsson overwritten, regardless of the -c flag.
f808bd34fbd3dd9508e8183e8025635bc330c34aAndreas Gustafsson [William Rowe, Mladen Turk <mladen.turk@mail.inet.hr>]
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson *) Introduce connection sub-pools into ab. Truncating the lifetime
f808bd34fbd3dd9508e8183e8025635bc330c34aAndreas Gustafsson of these allocations means that ab no longer perpetually grows
841179549b6433e782c164a562eb3422f603533dAndreas Gustafsson its working set, running out of memory on large request attempts.
841179549b6433e782c164a562eb3422f603533dAndreas Gustafsson [William Rowe]
841179549b6433e782c164a562eb3422f603533dAndreas Gustafsson *) Make scoreboard creation a hook. This allows management
6c6a6c9f5e2b3c6fd72263eac155e4feddb77316Brian Wellington modules to have access to the scoreboard at the time that it is
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson created, and at every restart request.
6c6a6c9f5e2b3c6fd72263eac155e4feddb77316Brian Wellington [Cody Sherr <csherr@covalent.net>]
2445d14b1a95132a473aa30076d0ce1762027e76Mark Andrews *) Changed AP_MPMQ_MAX_DAEMONS to refer to MaxClients and
2445d14b1a95132a473aa30076d0ce1762027e76Mark Andrews added an AP_MPMQ_MAX_DAEMON_USED to refer to the highest
4585aeb2cc84c0e0602da5abf47c31f92ec3b6b2Mark Andrews daemon index actually used in the scoreboard. I also
4585aeb2cc84c0e0602da5abf47c31f92ec3b6b2Mark Andrews updated the pertinent calls. [Paul J. Reder]
56877490bc70e4004f6b5e4a16067750ca64be85Andreas Gustafsson *) Win32: Prevent listening sockets from being inherited by
56877490bc70e4004f6b5e4a16067750ca64be85Andreas Gustafsson the Apache child process, CGI scripts, rotatelog process
56877490bc70e4004f6b5e4a16067750ca64be85Andreas Gustafsson etc. If the Apache child process segfaults, any processes
56877490bc70e4004f6b5e4a16067750ca64be85Andreas Gustafsson that the child started are not reaped. Prior to this fix,
711c2be7d9d99ee4415bc4e41ebe4f7f31947b3bAndreas Gustafsson these processes inherited the listening sockets which sometimes
56877490bc70e4004f6b5e4a16067750ca64be85Andreas Gustafsson prevented the restarted Apache child process from accepting
56877490bc70e4004f6b5e4a16067750ca64be85Andreas Gustafsson connections (ie, the server would hang).
56877490bc70e4004f6b5e4a16067750ca64be85Andreas Gustafsson [Bill Stoddard]
af0be81b2f6ea700dd882d3b18468c7815bd5ef2Andreas Gustafsson *) Provide vhost and request strings when ExtendedStatus is on.
ed0e1ae6bc3df39389a24d72cf544b2437bf8340Andreas Gustafsson *) Fix some issues with the pod and prefork: check the pod *after*
ed0e1ae6bc3df39389a24d72cf544b2437bf8340Andreas Gustafsson processing a connection so that a server processing a time-
ed0e1ae6bc3df39389a24d72cf544b2437bf8340Andreas Gustafsson consuming request bails out as soon as practical; when the
ed0e1ae6bc3df39389a24d72cf544b2437bf8340Andreas Gustafsson parent process wakes up a server process via connect(), use an
ed0e1ae6bc3df39389a24d72cf544b2437bf8340Andreas Gustafsson APR timeout on the connect() so that we don't hang for a long
6cefb60af55912df4411389bccfc38a74e992332Mark Andrews time if there aren't server processes around to do accept().
6cefb60af55912df4411389bccfc38a74e992332Mark Andrews [Jeff Trawick, Greg Ames]
02e81689e3eff98a8d70c98a7cc45c150472316aBrian Wellington *) Performance improvement to mod_mime.c. find_ct() in mod_mime,
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson spends a lot of time in apr_table_get calls. Using the default
02e81689e3eff98a8d70c98a7cc45c150472316aBrian Wellington httpd.conf, the tables for languages and charsets are somewhat
02e81689e3eff98a8d70c98a7cc45c150472316aBrian Wellington large, so the time spent scanning them on each request is
99a8d30559834dc12bd80f4f164fa6375f73cb62Mark Andrews significant. Replacing the tables with hash tables provides
dccd7f8459d811141fde04d4a307b9b695cf58b1David Lawrence a nice speedup. [Brian Pane <bpane@pacbell.net>]
dccd7f8459d811141fde04d4a307b9b695cf58b1David Lawrence *) Add two functions to allow modules to access random parts of the
dccd7f8459d811141fde04d4a307b9b695cf58b1David Lawrence scoreboard. This allows modules compiled for one MPM to access the
dccd7f8459d811141fde04d4a307b9b695cf58b1David Lawrence scoreboard, even if it the server was compiled for another MPM.
dccd7f8459d811141fde04d4a307b9b695cf58b1David Lawrence [Harrie Hazewinkel <harrie@covalent.net>]
dccd7f8459d811141fde04d4a307b9b695cf58b1David LawrenceChanges with Apache 2.0.20
dccd7f8459d811141fde04d4a307b9b695cf58b1David Lawrence *) Fix problem in content-length filter where the filter would
dccd7f8459d811141fde04d4a307b9b695cf58b1David Lawrence buffer all the output from a CGI before sending any bytes
dccd7f8459d811141fde04d4a307b9b695cf58b1David Lawrence down the filter stack to the network. This problem would cause
03f91269f5453bcbd924910ef85a8f8496cf2661Mark Andrews significant memory consumption if the CGIs generated
03f91269f5453bcbd924910ef85a8f8496cf2661Mark Andrews lots of bytes. [Bill Stoddard]
03f91269f5453bcbd924910ef85a8f8496cf2661Mark Andrews *) Get non-blocking CGI pipe reads working with the bucket brigades.
afb0a628efd8ecf40f66f6b8d0711bca62be2a9aMark Andrews [Bill Stoddard]
17dba29ba5db791976e505114baee53a1dde88aaBrian Wellington *) Fix seg fault on Windows when serving files cached with mod_file_cache.
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson [Bill Stoddard]
17dba29ba5db791976e505114baee53a1dde88aaBrian Wellington *) Fix a bug in the threaded MPM that would cause it to kill off all
b5a86fe434c7d58d28af3b5c70c1743979f13aaeMark Andrews workers immediately after starting if the number of workers started
b5a86fe434c7d58d28af3b5c70c1743979f13aaeMark Andrews was above a certain threshold. [Ryan Bloom, Bill Stoddard]
fb13bc029f62193a07d92384a910a0317fc7e0b0Brian WellingtonChanges with Apache 2.0.19
3042b3e2711d00b7fd9ffbf51443ad761d30427fMark Andrews *) Fix problem with threaded MPM. The problem was that if each child
fb13bc029f62193a07d92384a910a0317fc7e0b0Brian Wellington process was busy serving a single long-lived request and the server
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson was sent a graceful restart signal, the server would stop serving
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence requests. This would happen because each child process would wait to
af0be81b2f6ea700dd882d3b18468c7815bd5ef2Andreas Gustafsson die until the last thread was done, and the parent wouldn't spawn any
af0be81b2f6ea700dd882d3b18468c7815bd5ef2Andreas Gustafsson new children until a process died. Now, the parent looks at the fact
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence that the children are dying gracefully, and starts new children.
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence Those new children only start enough threads to compliment the number
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence of threads in the other child process that shares the same spot in
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence the scoreboard. In this way, we make sure to never go over
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence MaxClients. [Ryan Bloom]
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence *) modified mod_negotiation and mod_autoindex to speed up by almost a
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence factor of two on apr_dir_read()-enhanced platforms, such as Win32
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence and OS2, by calling ap_sub_request_lookup_dirent() with the results
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence already provided by apr_dir_read(). [William Rowe]
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence *) mod_file_cache is now more robust to filtering and serves requests
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence slightly more efficiently. [Cliff Woolley]
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence *) Fix problem handling FLUSH bucket in the chunked encoding filter.
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence Module was calling ap_rwrite() followed by ap_rflush() but the
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence served content was not being displayed in the browser. Inspection
74cc9d733ca94d43310ff3df84d7a4644c0950f9Andreas Gustafsson of the output stream revealed that the first data chunk was
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence missing the trailing CRLF required by the RFC. [Bill Stoddard]
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence *) apxs no longer generates ap_send_http_header() in the example handler
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence *) Fix an ab problem which could cause a divide-by-zero exception
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence with certain invocations (e.g., ab -k -c 6 -n 100 localhost/).
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence [Ian Holsman <ianh@cnet.com>]
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence *) Solve case-insensitive platforms' confusion about negotiated
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence filenames, allowing files of differnt case to match in choosing
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence the document to serve. [William Rowe]
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence *) Fix brokenness when ThreadsPerChild is higher than the built-in
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence limit. We left ap_threads_per_child at the higher value which
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence led to segfaults when doing certain scoreboard operations.
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence [Jeff Trawick]
adcd8c93196ad0a3516252d80597c3c52472ffb2David Lawrence *) Fix seg faults and/or missing output from mod_include. The
5455f30a7532738d750252c00e649890c694ee30Brian Wellington default_handler was using the subrequest pool for files and
5455f30a7532738d750252c00e649890c694ee30Brian Wellington MMAPs, even though the associated APR structures typically
e2fd12f3a020ca8c5de168a44fb72e339cdaa3e9Brian Wellington live longer than the subrequest. [Greg Ames]
e2fd12f3a020ca8c5de168a44fb72e339cdaa3e9Brian Wellington *) Extend mod_setenvif to support specifying regular expressions
cf74d05a50e342e5b3870005c04ae5ed8013ab3eBrian Wellington on the SetEnvIf (and SetEnvIfNoCase) directive attribute field.
cf74d05a50e342e5b3870005c04ae5ed8013ab3eBrian Wellington Example: SetEnvIf ^TS* [a-z].* HAVE_TS
cf74d05a50e342e5b3870005c04ae5ed8013ab3eBrian Wellington will cause HAVE_TS to be set if any of the request headers begins
cf74d05a50e342e5b3870005c04ae5ed8013ab3eBrian Wellington with "TS" and has a value that begins with any character in the
2ae4dd0dbd50b3159476537c60ccdc8b64364356Mark Andrews set [a-z]. [Bill Stoddard]
2ae4dd0dbd50b3159476537c60ccdc8b64364356Mark Andrews *) httpd children now re-bind themselves to a random CPU on
4fbd6a13a5ba6ec1e9bd080cba86c74b3b92c894Mark Andrews multiprocessor systems on AIX via bindprocessor() in 2.0.
761a21dfab558235030ccfc3d61979146e2cf4b5Mark Andrews [Victor J. Orlikowski]
f3ac8ee19231ae3018ec21756f19b1bd639ce7e7Andreas Gustafsson *) Fix htdigest. It would go into a loop in getline when adding
af0be81b2f6ea700dd882d3b18468c7815bd5ef2Andreas Gustafsson a second user. [Bill Stoddard]
0b135de5a52acec5bb42f96b4e79484d1629fd93Brian Wellington *) Win32 platforms now fully support mod_userdir options. [Will Rowe]
5ce23ccf3f324dc90ab9b4426b1da6284b0e2abfAndreas Gustafsson *) Automatically generate httpd.exp for AIX.
5ce23ccf3f324dc90ab9b4426b1da6284b0e2abfAndreas Gustafsson DSOs now work again on AIX in 2.0
5ce23ccf3f324dc90ab9b4426b1da6284b0e2abfAndreas Gustafsson [Victor J. Orlikowski]
508d17362c2c43ddf95ddc87ae6a8c5f32f35323Andreas Gustafsson *) Add a new request hook, error_log. This phase allows modules
508d17362c2c43ddf95ddc87ae6a8c5f32f35323Andreas Gustafsson to act on the error log string _after_ it has been written
508d17362c2c43ddf95ddc87ae6a8c5f32f35323Andreas Gustafsson to the error log. The goal for this hook is to allow monitoring
508d17362c2c43ddf95ddc87ae6a8c5f32f35323Andreas Gustafsson modules to send the error string to the monitoring agent.
508d17362c2c43ddf95ddc87ae6a8c5f32f35323Andreas Gustafsson *) Modify mod_echo to make it use filters for input and output.
508d17362c2c43ddf95ddc87ae6a8c5f32f35323Andreas Gustafsson [Ryan Morgan <rmorgan@covalent.net>]
e7a4f58d55042cbc981a70b5071aaea46b9ebf7fAndreas Gustafsson *) Extend mod_headers to support conditional driven Header
e7a4f58d55042cbc981a70b5071aaea46b9ebf7fAndreas Gustafsson add, append and set. Use SetEnvIf to set an envar and conditionally
e7a4f58d55042cbc981a70b5071aaea46b9ebf7fAndreas Gustafsson add/append/set headers based on this envar thusly:
5fdc9aaf401f6816df65d0e9cf701872f345c558Andreas Gustafsson SetEnvIf TSMyHeader value HAVE_TSMyHeader
5fdc9aaf401f6816df65d0e9cf701872f345c558Andreas Gustafsson Header add MyHeader "%t %D" env=HAVE_TSMyHeader
6060b0ac76667afae3c9132ab6e3568a7a693f5dAndreas Gustafsson If the request contains header "TSMyHeader: value" then header
6060b0ac76667afae3c9132ab6e3568a7a693f5dAndreas Gustafsson MyHeader: "t=xxxxxxxxxx D=yyyy" will be sent on the response.
50097b38c075be55a73bb3737d091c503c70061dBrian Wellington [Bill Stoddard]
af1a99a13d73126760b755d63ff7ef8c28ca9070Bob Halley *) Extend mod_headers to support using format specifiers on Header
af1a99a13d73126760b755d63ff7ef8c28ca9070Bob Halley add, append and set header values. Two format specifiers are supported:
af1a99a13d73126760b755d63ff7ef8c28ca9070Bob Halley %t - reports, in UTC microseconds since the epoch, when the
751aa24c98fea02215cad95a08411af547d70e41Bob Halley request was received.
fd5847ef0954117d5f905dbbfb68f1e67e4f285fAndreas Gustafsson %D - reports the time, in microseconds, between when the request was
fd5847ef0954117d5f905dbbfb68f1e67e4f285fAndreas Gustafsson received and the response sent.
82e991b8ed4e0ed3b010d191e0cadfd60226c2d9Andreas Gustafsson Header add MyHeader "This request served in %D microseconds. %t"
82e991b8ed4e0ed3b010d191e0cadfd60226c2d9Andreas Gustafsson results in a header being added to the response that looks like this:
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson MyHeader: This request served in D=5438 microseconds. t=991424704447256
f08f3c6caeb8460cb679a8687f61da61fff69fb0Mark Andrews [Bill Stoddard]
3242899a56da9c245956979d5be9c92b2cf0ee24Andreas Gustafsson *) Fix reset_filter(). We need to be careful how we remove filters.
8fbd23c0aaacdde1348b6457c5db14c433096fd2Andreas Gustafsson If we set r->output_filters to NULL, we also have to reset the
8fbd23c0aaacdde1348b6457c5db14c433096fd2Andreas Gustafsson connection's filters. [John Sterling]
5f539d5fc68ca056bd1791e3156b0fe6b28cde16Brian Wellington *) Optimise reset_filter() in http_protocol.c. [Greg Stein]
5f539d5fc68ca056bd1791e3156b0fe6b28cde16Brian Wellington *) Add a check to ap_die() to make sure the filter stack is sane and
76477bd0e0a8f150f06f45c347d286b782cfa679Brian Wellington contains the correct basic filters when an error occurs. This fixes
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson a problem where headers are not being sent on error. [John Sterling]
76477bd0e0a8f150f06f45c347d286b782cfa679Brian Wellington *) New Header directive 'echo' option. "Header echo regex" will
e491ef29043ae77d3d78fb7a59328f143fcf70feAndreas Gustafsson cause any headers received on the request that match regex to be
e491ef29043ae77d3d78fb7a59328f143fcf70feAndreas Gustafsson echoed to (included in) the response headers.
e491ef29043ae77d3d78fb7a59328f143fcf70feAndreas Gustafsson [Bill Stoddard]
1a286a6613d385b443030a8c932e40ac9e9c301fBob Halley *) include/ap_compat.h tested and set APR_COMPAT_H instead of AP_COMPAT_H.
1a286a6613d385b443030a8c932e40ac9e9c301fBob Halley This prevented the inclusion of apr_compat.h. PR #7773
1a286a6613d385b443030a8c932e40ac9e9c301fBob Halley [Oleg Broytmann <phd@phd.pp.ru>]
1a286a6613d385b443030a8c932e40ac9e9c301fBob Halley *) Moved util_uri to the apr-util library. This required a bunch of
3242899a56da9c245956979d5be9c92b2cf0ee24Andreas Gustafsson apr_name changes for the uri utility functions. [Justin Erenkrantz]
3242899a56da9c245956979d5be9c92b2cf0ee24Andreas Gustafsson *) Move the addition of default AP_HTTP_HTTP_HEADER filters to the
ecaedd50f4e6b8cff110f9981a0a33a34269d421Mark Andrews insert_filter phase so that other filters are not bypassed by default.
9ffcab1e9a398e431c10c9936c28e4166c2e82e0Andreas Gustafsson [Graham Leggett]
de8717a7218a4f034144ad7b8755ad43e3fd45c9David Lawrence *) Reimplement mod_headers as an output filter. mod_headers can now
de8717a7218a4f034144ad7b8755ad43e3fd45c9David Lawrence add custom headers to inbound requests using the RequestHeader directive
de8717a7218a4f034144ad7b8755ad43e3fd45c9David Lawrence and to responses using the same old Header directive. [Graham Leggett]
6f115bdb61672871bd822bdcd09cb1a3aad38aa0David LawrenceChanges with Apache 2.0.18
1ac6cf2f7ae95e4c915cba7038e61930d7c4ba2aAndreas Gustafsson *) Fix command-line processing so that if a bad argument is specified
6f115bdb61672871bd822bdcd09cb1a3aad38aa0David Lawrence Apache will exit. [Jeff Trawick]
5e194abb5b548524e5c0fd2bb4627ec698b75e2bAndreas Gustafsson *) Change the make targets and rules to be consistent in all of the
5e194abb5b548524e5c0fd2bb4627ec698b75e2bAndreas Gustafsson Apache-owned source trees. [Roy Fielding]
5e194abb5b548524e5c0fd2bb4627ec698b75e2bAndreas Gustafsson *) Fix processing of the TRACE method. Previously we passed bogus
5e194abb5b548524e5c0fd2bb4627ec698b75e2bAndreas Gustafsson parms to form_header_field() and it overlaid some vhost structures,
5e194abb5b548524e5c0fd2bb4627ec698b75e2bAndreas Gustafsson resulting in a segfault in check_hostalias().
09ae77ca30eb17ee32d3f7720ca796a72259cde6Andreas Gustafsson [Greg Ames, Jeff Trawick]
09ae77ca30eb17ee32d3f7720ca796a72259cde6Andreas Gustafsson *) Win32: Add support for reliable piped logs. If the logging process
47afc27c28aef95d94e8d1296498ba57a5f00b25Brian Wellington goes down, Apache will automatically restart it. This function has
cedd0ab1e812ec7cf05d57c3e602db41b79f0a2aAndreas Gustafsson been part of Apache on Unix/Linux/BSD since the early v1.3 releases.
8c3989000a19f88415d094eb5984f7cf6ba2340cBrian Wellington [Bill Stoddard]
8c3989000a19f88415d094eb5984f7cf6ba2340cBrian Wellington *) Do not start piped log processes during the config file
ac6afcd0caf72aaa2a537e0003de30b363b4a68bBrian Wellington preflight. This change also circumvents a problem on
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson Windows where the rotatelog processes created during preflight
ac6afcd0caf72aaa2a537e0003de30b363b4a68bBrian Wellington was not getting cleaned up properly.
c20ffa38dee7efa0dc01822d4bac5e41729b9b61Brian Wellington [Bill Stoddard]
9ffcab1e9a398e431c10c9936c28e4166c2e82e0Andreas Gustafsson *) add "Request Phase Participation" info to mod_info
9ffcab1e9a398e431c10c9936c28e4166c2e82e0Andreas Gustafsson [Doug MacEachern]
2b7a77a68e27fc7991a857d403cb34b2ae90fc0bMark Andrews *) Make first phase changes to the scoreboard data structures in
4df51a8f53381d57b3dd75dd84615abd4cf9e969Andreas Gustafsson preparation for the rewriting of the scoreboard per my posted
0c9dd74fecd876563b7f0e4662243ff026b59622Andreas Gustafsson design notes. [Paul J. Reder]
0c9dd74fecd876563b7f0e4662243ff026b59622Andreas Gustafsson *) Fix httpd's definition of LTFLAGS to be consistent with that of apr
aed6a8ed2e706404ccca0f31faf110fd6efd34e6Andreas Gustafsson and apr-util, allow it to be overridden by the configure command-line
aed6a8ed2e706404ccca0f31faf110fd6efd34e6Andreas Gustafsson (default="--silent") and introduce LT_LDFLAGS to replace what we were
aed6a8ed2e706404ccca0f31faf110fd6efd34e6Andreas Gustafsson formerly abusing as LTFLAGS. [Roy Fielding]
f8b3c627949bd4bc2f6aafb3dab2f56e3aa9ba06Brian Wellington *) Clean up the reporting of incorrect closing container tags.
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson [Barrie Slaymaker <barries@slaysys.com>]
f8b3c627949bd4bc2f6aafb3dab2f56e3aa9ba06Brian Wellington *) Simplify the configure process by moving all libtool stuff to APR
55ddb88e53838693370c213930beda1652b8a583Brian Wellington and moving hints.m4 inline. [Roy Fielding]
55ddb88e53838693370c213930beda1652b8a583Brian Wellington *) Add the AP_DECLARE()/AP_CORE_DECLARE macros on the return types
daad43e5a4e83bd3c055632799ab67e269467db0Brian Wellington of functions used by mod_proxy for export in the DLL
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson [Ian Holsman <IanH@cnet.com>]
3efd6904134ef6c4866a633eabeb55d1c86be7bbBrian Wellington *) Prevent a hang when a cgi handled by mod_cgid tries to read a
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson request body from its stdin but no reqest body is being written to
3efd6904134ef6c4866a633eabeb55d1c86be7bbBrian Wellington the cgi. [Jeff Trawick]
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson *) mod_log_config: %c connection status incorrectly logged
70d08aea0a693c6ca62c2f7bb33bfddf9e427601Brian Wellington as "-" (non-keepalive) when MaxKeepAliveRequests is set to 0.
907620b5e0d898da324192cbbe5a5b518f55d175Bob Halley [Bill Stoddard]
907620b5e0d898da324192cbbe5a5b518f55d175Bob Halley *) Get mod_cern_meta working under Windows
2c9db9314993504064c1a71f4a059ff9493a75caBrian Wellington [Bill Stoddard]
2c9db9314993504064c1a71f4a059ff9493a75caBrian Wellington *) Create Files, and thus MMAPs, out of the request pool, not the
672056d560d973cac1c0d02f087e059eef8f948fBrian Wellington connection pool. This solves a small resource leak that had us
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson not closing files until a connection was closed. In order to do
9027e1bcf1b245226e3053a75d16c5351d7e60caDavid Lawrence this, at the end of the core_output_filter, we loop through the
9027e1bcf1b245226e3053a75d16c5351d7e60caDavid Lawrence brigade and convert any data we have into a single HEAP bucket
9027e1bcf1b245226e3053a75d16c5351d7e60caDavid Lawrence that we know will survive clearing the request_rec.
9027e1bcf1b245226e3053a75d16c5351d7e60caDavid Lawrence [Ryan Bloom, Justin Erenkrantz <jerenkrantz@ebuilt.com>,
9027e1bcf1b245226e3053a75d16c5351d7e60caDavid Lawrence Cliff Woolley]
668f8d91db59f4dd89a0b54206f87879354339f5Brian Wellington *) Completely revamp configure so that it preserves the standard make
d7ba3622ffa20c653ef6c8cfae42d8cd26465b7fBrian Wellington variables CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS and LIBS by moving
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson the configure additions to EXTRA_* variables. Also, allow the user
d7ba3622ffa20c653ef6c8cfae42d8cd26465b7fBrian Wellington to specify NOTEST_* values for all of the above, which eliminates the
c0968380c4fb0b8196aafb8de225531bd847bb6dBrian Wellington need for THREAD_CPPFLAGS, THREAD_CFLAGS, and OPTIM. Fix the setting
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson of INCLUDES and EXTRA_INCLUDES. Check flags as they are added to
c0968380c4fb0b8196aafb8de225531bd847bb6dBrian Wellington avoid pointless duplications. Fix the order in which flags are given
c0968380c4fb0b8196aafb8de225531bd847bb6dBrian Wellington on the compile and link lines. Remove obsolete macros APR_DOEXTRA,
c0968380c4fb0b8196aafb8de225531bd847bb6dBrian Wellington AC_ADD_LIBRARY, AC_CHECK_DEFINE, APACHE_PASSTHRU, and APACHE_ONCE.
1d92d8a2456b23842a649b6104c60a9d6ea25333Brian Wellington Added APR_SAVE_THE_ENVIRONMENT and APR_RESTORE_THE_ENVIRONMENT macros.
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson Renamed AC_TYPE_RLIM_T macro to APACHE_TYPE_RLIM_T. [Roy Fielding]
c1ff0308f3f67bf148f96ca952db081eb5fd8383Brian Wellington *) Get mod_tls to compile/work better on Windows. PR #7612
b879ed05f4fb8209add6c19a509c984b6c8b3a98Andreas Gustafsson [Bernhard Schrenk <b.schrenk@improx.com>]
b52a5b063050f209b0f47379178a1e7ae7404624Andreas Gustafsson *) Fix shutdown/restart hangs in the threaded MPM.
b52a5b063050f209b0f47379178a1e7ae7404624Andreas Gustafsson [Jeff Trawick, Greg Ames, Ryan Bloom]
34613b2e39478a83076f6a626a4b855cebb19533Andreas Gustafsson *) Removed the keptalive boolean from conn_rec because it is now only
34613b2e39478a83076f6a626a4b855cebb19533Andreas Gustafsson used by a single routine and can be replaced by a local variable.
34613b2e39478a83076f6a626a4b855cebb19533Andreas Gustafsson [Greg Stein, Ryan Bloom, Roy Fielding]
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson *) Patch prefork to put enough of the signal processing back in so that
6eccf5bd07eb9abf65cc08fec4a8fc97b62c0e1bBrian Wellington signals are all handled properly now. The previous patch fixed the
6eccf5bd07eb9abf65cc08fec4a8fc97b62c0e1bBrian Wellington deadlock race condition, but broke the user directed signal handling.
3d1483d86dce11fffd03c5b6c93be2e689f522abAndreas Gustafsson This fixes it to work the way it did before my previous prefork patch
3d1483d86dce11fffd03c5b6c93be2e689f522abAndreas Gustafsson (primarily, SIGTERM is now working).
3d1483d86dce11fffd03c5b6c93be2e689f522abAndreas Gustafsson *) Change how input filters decide how much data is returned to the
3d1483d86dce11fffd03c5b6c93be2e689f522abAndreas Gustafsson higher filter. We used to use a field in the conn_rec, with this
b8a85202af814468421a6541b4c935bd14773c53Brian Wellington change, we use an argument to ap_get_brigade to determine how much
b879ed05f4fb8209add6c19a509c984b6c8b3a98Andreas Gustafsson data is retrieved. [Ryan Bloom]
b879ed05f4fb8209add6c19a509c984b6c8b3a98Andreas Gustafsson *) Fix seg fault at start-up introduced by Ryan's change to enable
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington modules to specify their own logging tags. mod_log_config
48565891e8f2f8c77b87908b4893f693a08e9ba9Brian Wellington registers an optional function, ap_register_log_handler().
4c03e69ab845f703c1ffa3b7772938ca98cce44dAndreas Gustafsson ap_register_log_handler() was being called by http_core before
b0390aab30438a13f533cccae9389945214b1421Brian Wellington the directive hash table was created. This patch creates the
b0390aab30438a13f533cccae9389945214b1421Brian Wellington directive hash table before ap_register_log_handler() is
b0390aab30438a13f533cccae9389945214b1421Brian Wellington registered as an optional function.
b0390aab30438a13f533cccae9389945214b1421Brian Wellington [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
54d64c7994d01da590462ecc56faf1a87fc4abb9Brian Wellington *) Add ap_set_int_slot() function
4c03e69ab845f703c1ffa3b7772938ca98cce44dAndreas Gustafsson [John K. Sterling <sterling@covalent.net>]
4c03e69ab845f703c1ffa3b7772938ca98cce44dAndreas Gustafsson *) Under certain circumstances, Apache did not supply the
225a66da7ea2671a3e4db3cc4337f97ff67be647Brian Wellington right response headers when requiring authentication.
225a66da7ea2671a3e4db3cc4337f97ff67be647Brian Wellington [Gertjan van Wingerde <Gertjan.van.Wingerde@cmg.nl>] PR#7114
91e35ded544576b671606779143d7fbffaf451d2Andreas Gustafsson (This is a port of the change that went into Apache 1.3.19.)
d9112843333472bb7700c02a10d18e2b253b2708Bob Halley *) Allow modules to specify their own logging tags. This basically
279de54fe3a0ac10b64762b18a4569c07b15d742Andreas Gustafsson allows a module to tell mod_log_config that when %x is encountered
279de54fe3a0ac10b64762b18a4569c07b15d742Andreas Gustafsson a specific function should be called. Currently, x can be any single
279de54fe3a0ac10b64762b18a4569c07b15d742Andreas Gustafsson character. It may be more useful to make this a string at some point.
04cb6056a6539539e0fc2ed695298f7fa7b1d632Brian WellingtonChanges with Apache 2.0.17
17789c880460c0bca3f3693c759be2214b936e69Brian Wellington *) If a higher-level filter handles the the byterange aspects of a
55b62439233d930152690b9eba97b06d9dc13d23Mark Andrews request, then the byterange filter should not try to redo the
55b62439233d930152690b9eba97b06d9dc13d23Mark Andrews work. The most common case of this happening, is a byterange
02e7e0ba65a26a5f8728b0ee256f7253795cf839Brian Wellington request going through the proxy, and the origin server handles
123a3dddc94534d3a6c6f81c118a5b63dc5994c3Andreas Gustafsson the byterange request. The proxy should ignore it.
590233519e14f3cf49840a93d2648d5560dd957eDavid Lawrence [Graham Leggett <minfrin@sharp.fm>]
590233519e14f3cf49840a93d2648d5560dd957eDavid Lawrence *) Changed the threaded mpm to have child_main join to each of the
590233519e14f3cf49840a93d2648d5560dd957eDavid Lawrence worker threads to make sure the kids are all gone before child_main
590233519e14f3cf49840a93d2648d5560dd957eDavid Lawrence exits after a signal (cleanup from perform_idle_server_maintenance).
123a3dddc94534d3a6c6f81c118a5b63dc5994c3Andreas Gustafsson This is an extension of Ryans recent commit to make the child_main
123a3dddc94534d3a6c6f81c118a5b63dc5994c3Andreas Gustafsson the signal thread.
123a3dddc94534d3a6c6f81c118a5b63dc5994c3Andreas Gustafsson *) Add more options to the ap_mpm_query function. This also allows MPMs to
5ea0d11ca45bfd1ea9db8db07f18fbb02f500661Brian Wellington report if their threads are dynamic or static. Finally, this also
88a790c39176f72a8f98f134b83df92e09a8c56bAndreas Gustafsson implements a new API, ap_show_mpm, which returns the MPM that was
5ea0d11ca45bfd1ea9db8db07f18fbb02f500661Brian Wellington required into the core. [Harrie Hazewinkel <harrie@covalent.net>]
d25dd5b0567f67ecf40b7ed1cb20e0dce7b41c49Brian Wellington *) Do not install the binaries from the support directory twice.
d25dd5b0567f67ecf40b7ed1cb20e0dce7b41c49Brian Wellington [jun-ichiro hagino <itojun@iijlab.net>]
9ac7076ebad044afb15e9e2687e3696868778538Mark Andrews *) The ap_f* functions should flush data to the filter that is passed
7c058f1c384ebdba74231111f9358cf08109a5dbBob Halley in, not the the filter after the one passed in.
7c058f1c384ebdba74231111f9358cf08109a5dbBob Halley [Ryan Morgan <rmorgan@covalent.net>]
7c058f1c384ebdba74231111f9358cf08109a5dbBob Halley *) Make ab work again by changing its native types to apr types and formats.
76b3ec5e0c3ae856bc1000270bf3df13580673ebBrian Wellington [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
4e3f8e480f220ef8a87fd28d02f9001b8fc6f423Bob Halley *) Move the byterange filter and all of the supporting functions back
4e3f8e480f220ef8a87fd28d02f9001b8fc6f423Bob Halley to the HTTP module. The byterange filter turned out to be very
f9e1aa0c440b6c6938967ed5356ec025ea40502eBrian Wellington HTTP specific, and it belongs in the HTTP module. [Greg Stein]
f9e1aa0c440b6c6938967ed5356ec025ea40502eBrian Wellington *) Make clean, distclean, and extraclean consistently according to the
4e3f8e480f220ef8a87fd28d02f9001b8fc6f423Bob Halley Gnu makefile guidelines. [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
dc2e09d48b49d96a0572a971180718f680140cf0Andreas Gustafsson *) Fix errors in the renaming of the apr_threadattr_detach_xxx functions.
dc2e09d48b49d96a0572a971180718f680140cf0Andreas Gustafsson This may have been causing problems stopping processes in the threaded
dc2e09d48b49d96a0572a971180718f680140cf0Andreas Gustafsson mpm's. [Greg Ames]
dc2e09d48b49d96a0572a971180718f680140cf0Andreas Gustafsson *) Fix content-length in mod_negotiation to a long int representation.
dc2e09d48b49d96a0572a971180718f680140cf0Andreas Gustafsson [William Rowe]
dc2e09d48b49d96a0572a971180718f680140cf0Andreas Gustafsson *) Remove BindAddress from the default config file.
dc2e09d48b49d96a0572a971180718f680140cf0Andreas Gustafsson [giles@nemeton.com.au]
dc2e09d48b49d96a0572a971180718f680140cf0Andreas Gustafsson *) Allow module authors to add a module to their Apache build using
90c099e88e9f16bfee9edee3ac1a51fc98843772Brian Wellington --with-module, without re-running buildconf. The syntax is:
620de5a4b1f23dc9b4ec30d30c0607ff389be0daBob Halley --with-module=module_type:/path/to/module.c
620de5a4b1f23dc9b4ec30d30c0607ff389be0daBob Halley The configure script will copy the module.c file to
620de5a4b1f23dc9b4ec30d30c0607ff389be0daBob Halley modules/module_type, and it will be added to the relevant Makefiles.
68b952dc98a9e02b269c0712da120cd773679652Brian Wellington currently, this only works for static modules. [Ryan Bloom]
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson *) Changes required to make prefork clean up idle children properly.
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson There was a window during which a starting worker deadlocks when
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson an idle cleanup arrives before it completes init. Apache then keeps
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson trying to cleanup the same deadlocked worker forever (until higher
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson pids come along, but it still will never reduce below the deadlocked
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson pid). Thus the number of children would not reduce to the correct
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson idle level. [Paul J. Reder]
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas GustafssonChanges with Apache 2.0.16
ed0a4f1a302a5e543a9a2e4f8e61ca8a0673c6a7Mark Andrews *) Change the default installation directory to /usr/local/apache2,
ed0a4f1a302a5e543a9a2e4f8e61ca8a0673c6a7Mark Andrews as now defined by the "Apache" layout in config.layout. [Marc Slemko]
a93cf7e83be621d3d68f51e37121a47a70a6757bMark Andrews *) OS/2: Added support for building loadable modules as OS/2 DLLs.
a93cf7e83be621d3d68f51e37121a47a70a6757bMark Andrews [Brian Havard]
c05eeed3c915d55a4949f5c2ce8700a0b0f9381bAndreas Gustafsson *) Get MaxRequestsPerChild working with the Windows MPM.
1c1156b6e71555e593ed4bbca2284055c9f6fa45Andreas Gustafsson [Bill Stoddard]
c05eeed3c915d55a4949f5c2ce8700a0b0f9381bAndreas Gustafsson *) Make generic hooks to work, with mod_generic_hook_import/export
c05eeed3c915d55a4949f5c2ce8700a0b0f9381bAndreas Gustafsson experimental modules. [Ben Laurie, Will Rowe]
3bb043a8b8b15eece3794ec31ad0ccab103a1c21Brian Wellington *) Fix segfaults for configuration file syntax errors such as
3bb043a8b8b15eece3794ec31ad0ccab103a1c21Brian Wellington "<Directory>" followed by "</Directory" and
14c615e979f674aa61b0ca65c6a252009e521dd8Brian Wellington "<Directory>" followed by "</Directoryz>". [Jeff Trawick]
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson *) Cleanup the --enable-layout option of configure. This makes
d1cc210d2091916df6f9858fae20a1c760f3b257Andreas Gustafsson us use a consistent location for the config.layout file, and it
df0f58959ed82a2a43ca8d816ce9592541df9f2fMark Andrews makes configure more portable.
4d35b6836eb57387a9da6b103331b59cc988b827Mark Andrews [jun-ichiro hagino <itojun@iijlab.net>]
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob Halley *) Changes to 'ab'; fixed int overrun's, added statistics, output in
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson csv/gnuplot format, rudimentary ssl support and various other tweaks
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob Halley to make results more true to what is measured. The upshot of this it
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob Halley turns out that 'ab' has often underreported the true performance of
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob Halley apache. Often by a order of magnitude :-) See talk/paper of Sander
f4b5a0f43481026ea27bd96e3584ca0e92542f0dBob Halley Temme <sctemme@covalent.net> at April ApacheCon 2001 for details.
6211baaa66d7cac28a21b6426681e597ff04ca9eAndreas Gustafsson [Dirk-Willem van Gulik]
4e605108c6533c2ec6311ee7a466582392656dddAndreas Gustafsson *) Clean up mod_cgid's temporary request pool. Besides fixing a
6211baaa66d7cac28a21b6426681e597ff04ca9eAndreas Gustafsson storage leak this ensures that some unnecessary pipes are closed.
ea544b0511a66bc5f3700d56a72dcd808fdf22e8Brian Wellington [Jeff Trawick]
762a538eed7f4de4c340090536553f9c73f6432aBrian Wellington *) Performance: Add quick_handler hook. This hook is called at the
ea544b0511a66bc5f3700d56a72dcd808fdf22e8Brian Wellington very beginning of the request processing before location_walk,
a012d6dbfb100390efa7d0d4be64ada0210b09ddBrian Wellington translate_name, etc. This hook is useful for URI keyed content
a012d6dbfb100390efa7d0d4be64ada0210b09ddBrian Wellington caches like Mike Abbott's Quick Shortcut Cache.
a012d6dbfb100390efa7d0d4be64ada0210b09ddBrian Wellington [Bill Stoddard]
7ae7d499f353549162ddcf6fed957ea21e4fa52bMark Andrews *) top_module global variable renamed to ap_top_module [Perl]
1e50dad10da55802152d00d5573f8b7d49d752a6Bob Halley *) Move ap_set_last_modified to the core. This is a potentially
1e50dad10da55802152d00d5573f8b7d49d752a6Bob Halley controversial change, because this is kind of HTTP specific. However
1e50dad10da55802152d00d5573f8b7d49d752a6Bob Halley many protocols should be able to take advantage of this kind of
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson information. I expect that headers will need one more layer of
1e50dad10da55802152d00d5573f8b7d49d752a6Bob Halley indirection for multi-protocol work, but this is a small step in
c8d185ad5827bf2cf9982075e3336f680759a260Andreas Gustafsson the right direction. [Ryan Bloom]
40c1177517ca5312371da6cc697d813576cfe5a8Andreas Gustafsson *) Enable mod_status by default. This matches what Apache 1.3 does.
22cafd0ece9c8d22a1218f000afdbceda21fe8afBrian Wellington *) Add a ScriptSock directive to the default config file. This is
2cb74c5bc52ef415a771fafe0bf504eab609feadBrian Wellington only enabled when mod_cgid is used.
2cb74c5bc52ef415a771fafe0bf504eab609feadBrian Wellington [Taketo Kabe <kabe@sra-tohoku.co.jp>]
3d60fe9bafbf633e3a7811c11227baebb17878a4Brian WellingtonChanges with Apache 2.0.15
218c8472e6c8c1a014e412615cc97bb93c0ef9c2Brian Wellington *) Untangled the buildconf script and eliminated the need for build's
218c8472e6c8c1a014e412615cc97bb93c0ef9c2Brian Wellington aclocal.m4, generated_lists, build.mk, build2.mk, and a host of other
218c8472e6c8c1a014e412615cc97bb93c0ef9c2Brian Wellington libtool muck that is now under srclib/apr/build. [Roy Fielding]
f24c135e09214c3843a49fd32ebef2f6a436ba8eBrian Wellington *) Win32: Don't accept more connections than we have worker threads
f24c135e09214c3843a49fd32ebef2f6a436ba8eBrian Wellington [Bill Stoddard]
02940eaf0f732c28c0b39ed114a3803074a80138Andreas Gustafsson *) Fix bug in the Unix threaded.c MPM that allowed child processes
02940eaf0f732c28c0b39ed114a3803074a80138Andreas Gustafsson to fork() new child processes.
02940eaf0f732c28c0b39ed114a3803074a80138Andreas Gustafsson [Bill Stoddard]
9a7d163f6f305d48771b4c56d8d18efc6dfc8fc3Mark Andrews *) Fix a major security problem with double-reverse lookup checking.
80aba3d49a872ca11d7cf8550c3a993162e7939fMark Andrews Previously, a client connecting over IPv4 would not be matched
31039b15173fb3e375269991920e4843f664457eMark Andrews properly when the server had an IPv6 listening socket. PR #7407
31039b15173fb3e375269991920e4843f664457eMark Andrews [Taketo Kabe <kiabe@sra-tohoku.co.jp>]
aa23a35d81a9618a40c4a9b44be48009553e4777Andreas Gustafsson *) Change the way the beos MPM handles polling to allow it to stop and
936af16e0dbac26c1ec2337e684ff6ca9b2fe1bbAndreas Gustafsson restart. Problem was the sockets being polled were being reset by
aa23a35d81a9618a40c4a9b44be48009553e4777Andreas Gustafsson the select call, so once it had accepted a connection it was no
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson longer listening on the UDP socket we use for shutdown instructions.
22457624d3e63e7cd255b4083cb435c16caea26dBob Halley APR needs to be altered, patch on it's way. [David Reid]
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson *) Empty out the brigade shared by ap_getline()/ap_get_client_block()
91425b5e7204b05165e2c5b244f3dad502f9627dBrian Wellington on error exit from ap_getline(). Some other code got upset because
91425b5e7204b05165e2c5b244f3dad502f9627dBrian Wellington the wrong data was in the brigade. [Greg Ames, Jeff Trawick]
91425b5e7204b05165e2c5b244f3dad502f9627dBrian Wellington *) Handle ap_discard_request_body() being called more than once.
b18a5b6730dcb062cf7f47c6b3cb909030b58f36Brian Wellington [Greg Ames, Jeff Trawick]
e880677f633f726b7df11ba3e59d4406e22256aaMark Andrews *) Get rid of an inadvertent close of file descriptor 2 in
e880677f633f726b7df11ba3e59d4406e22256aaMark Andrews mod_mime_magic. [Greg Ames, Jeff Trawick]
328b080b4af258fdd4d3a2ea1558b48706bd8116Andreas Gustafsson *) Add a hook, create_request. This hook allows modules to modify
328b080b4af258fdd4d3a2ea1558b48706bd8116Andreas Gustafsson a request while it is being created. This hook is called for all
328b080b4af258fdd4d3a2ea1558b48706bd8116Andreas Gustafsson request_rec's, main request, sub request, and internal redirect.
328b080b4af258fdd4d3a2ea1558b48706bd8116Andreas Gustafsson When this hook is called, the the r->main, r->prev, r->next
328b080b4af258fdd4d3a2ea1558b48706bd8116Andreas Gustafsson pointers have been set, so modules can determine what kind of
9e560b59a722d06a62b5aed761e71fec72638a7cBrian Wellington request this is. [Ryan Bloom]
f91dc72b422479b5a0caf1fe54c4054d25ae6055Brian Wellington *) Cleanup the build process a bit more. The Apache configure
f91dc72b422479b5a0caf1fe54c4054d25ae6055Brian Wellington script no longer creates its own helper scripts, it just
7e361074bc8a2df7a0891a7040eea02ca3a5e286Andreas Gustafsson [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
d6b3d06db7ce3b9229dc30cc0e3a72ba2603da28Bob Halley *) Stop the forced downgrade of the connection to HTTP/1.0 for
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson proxy requests. [Graham Leggett]
d6b3d06db7ce3b9229dc30cc0e3a72ba2603da28Bob Halley *) Avoid using sscanf to determine the HTTP protocol number in
8e68489885e744ab48907414b4199c36858c27ddMark Andrews the common case because sscanf is a performance hog. From
8e68489885e744ab48907414b4199c36858c27ddMark Andrews Mike Abbot's Accelerating Apache patch number 6.
8e68489885e744ab48907414b4199c36858c27ddMark Andrews [Mike Abbot <mja@trudge.engr.sgi.com>, Bill Stoddard]
c17c59662f0969a5e52e8b7529cbde1a7c746095Andreas Gustafsson *) Fix a security exposure in mod_access. Previously when IPv6
c17c59662f0969a5e52e8b7529cbde1a7c746095Andreas Gustafsson listening sockets were used, allow/deny-from-IPv4-address rules
c17c59662f0969a5e52e8b7529cbde1a7c746095Andreas Gustafsson were not evaluated properly (PR #7407). Also, add the ability to
ec4f7c6d0f0cfc72bcecdb22bf59890d590218d6Mark Andrews specify IPv6 address strings with optional prefix length on Allow
d8d95c7d2eae28c5adbde097e88efa115bae6f35Andreas Gustafsson and Deny. [Jeff Trawick]
651421a5db8a9edf39c76fd8cf859409eb8c373bAndreas Gustafsson *) Enhance rotatelogs so that a UTC offset can be specified, and
651421a5db8a9edf39c76fd8cf859409eb8c373bAndreas Gustafsson the logfile name can be formatted using strftime(3). (Brought
651421a5db8a9edf39c76fd8cf859409eb8c373bAndreas Gustafsson forward from 1.3.) [Ken Coar]
7427490a67b9547242b57c255254f7e146127c48Bob Halley *) Reimplement the Windows MPM (mpm_winnt.c) to eliminate calling
7427490a67b9547242b57c255254f7e146127c48Bob Halley DuplicateHandle on an IOCompletionPort (a practice which
7427490a67b9547242b57c255254f7e146127c48Bob Halley MS "discourages"). The new model does not rely on associating
aac319b506beb2e9a77ef124ee95b18870194b05Mark Andrews the completion port with the listening sockets, thus the
fbe35d126f2c4df000f50662ed9d90ced13188c3Andreas Gustafsson completion port can be completely managed within the child
dfa0badebe5a8260281228d94dbe28e4314a9df6Andreas Gustafsson process. A dedicated thread accepts connections off the network,
dfa0badebe5a8260281228d94dbe28e4314a9df6Andreas Gustafsson then calls PostQueuedCompletionStatus() to wake up worker
dfa0badebe5a8260281228d94dbe28e4314a9df6Andreas Gustafsson threads blocked on the completion port.
dfa0badebe5a8260281228d94dbe28e4314a9df6Andreas Gustafsson [Bill Stoddard]
2d0627005d48b7657fa11792c123466b4f974b61Mark Andrews *) Bring forward the --suexec-umask option which allows the
2d0627005d48b7657fa11792c123466b4f974b61Mark Andrews builder to preset the umask for suexec processes. [Ken Coar]
b1b3495eba72ea2b7270c5cd62b0bb824de74e05Mark Andrews *) Add a -V flag to suexec, which causes it to display the
80ddc8b22bf2ede60038393be5cad9da99d3f03fAndreas Gustafsson compile-time settings with which it was built. (Only
94baac869a70b529a24ff23d8dc899faa5d4fdc4Brian Wellington usable by root or the AP_HTTPD_USER username.) [Ken Coar]
94baac869a70b529a24ff23d8dc899faa5d4fdc4Brian Wellington *) Mod_include should always unset the content-length if the file is
1ac2c28488fb5de80b3ce9aac3500d215cb61728Brian Wellington going to be passed through send_parsed_content. There is no to
1ac2c28488fb5de80b3ce9aac3500d215cb61728Brian Wellington determine if the content will change before actually scanning the
1ac2c28488fb5de80b3ce9aac3500d215cb61728Brian Wellington entire content. It is far safer to just remove the C-L as long
a1cad3b231800ca928751ff8889bdc6d312d1f88Andreas Gustafsson as we are scanning it. [Ryan Bloom]
a12d9cfa59b5981c52e1aaafedf652d5128f3448Brian Wellington *) Make sure Apache sends WWW-Authenticate during a reverse proxy
702a69f04a89422968ef8fc6fc271fac058e03efBrian Wellington request and not Proxy-Authenticate.
702a69f04a89422968ef8fc6fc271fac058e03efBrian Wellington [Graham Leggett <minfrin@sharp.fm>]
0f537d1c63f643924355ff9ca2cf72c547101aa4Brian WellingtonChanges with Apache 2.0.14
0f537d1c63f643924355ff9ca2cf72c547101aa4Brian Wellington *) Fix content-length computation. We ONLY compute a content-length if
9ee323b64bc9dcd73f9a0a0e69a31475026721daAndreas Gustafsson We are not in a 1.1 request and we cannot chunk, and this is a keepalive
4b236540be165859390f05911eda86a39ee58eedAndreas Gustafsson or we already have all the data. [Ryan Bloom]
c27148868266dd718b6677c794b3e6dca53c3bdcAndreas Gustafsson *) Report unbounded containers in the config file. Previously, a typo
c27148868266dd718b6677c794b3e6dca53c3bdcAndreas Gustafsson in the </container> directive could result in the rest of the config
f6987630ce2d424a34bb9d373b3c08de48010287Andreas Gustafsson file being silently ignored, with undesired defaults used.
c27148868266dd718b6677c794b3e6dca53c3bdcAndreas Gustafsson [Jeff Trawick]
f8a44ed40032e034883019ac556f3bb732491a32Mark Andrews *) Make the old_write filter use the ap_f* functions for the buffering.
f8a44ed40032e034883019ac556f3bb732491a32Mark Andrews [Ryan Bloom]
07d6480b684d3745e645f35a8b95dae9bda982a3Mark Andrews *) Move more code from the http module into the core server. This
07d6480b684d3745e645f35a8b95dae9bda982a3Mark Andrews is core code, basically the default handler, the default input
363cb30a83e8e57bc8874e621910f0e23dd84909Mark Andrews and output filters, and all of the core configuration directives.
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson All of this code is required in order for the server to work, with or
ea6709ec8a66e3ffef9c9466613df499567c57f8Brian Wellington without HTTP. The server is closer to working without the HTTP
ea6709ec8a66e3ffef9c9466613df499567c57f8Brian Wellington module, although there is still more to do. [Ryan Bloom]
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson *) Fix a number of SGI compile warnings throughout the server. Fix some
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson bad parameters to apr_bucket_read(). Fix a bad statement in
c2c275f5f4ead0943c76b6463cf7a93095559c64Andreas Gustafsson ap_method_in_list(). For the mod_rewrite cache use apr_time_t
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson consistently; we were mixing apr_time_t and time_t in invalid ways
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson before. In load_file(), call apr_dso_error() instead of
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson apr_strerror() so that we get a more specific string on some platforms.
634784cb66a1c9ddee0c448f71580f024c8fe40bAndreas Gustafsson PR #6980 [Jeff Trawick]
49576ae7a481415d5e815ff59b71c76203259619Andreas Gustafsson *) Allow modules to query the MPM about it's execution profile. This
e8af4e152413190e5553c2fb3074a1cc689c6cefAndreas Gustafsson query API can and should be extended in the future, but for now,
e8af4e152413190e5553c2fb3074a1cc689c6cefAndreas Gustafsson max_daemons, and threading or forking is a very good start.
4d30acbac52fcb20a4f0ab4f8508f24861386fe7Brian Wellington [Jon Travis <jtravis@covalent.net>]
4d30acbac52fcb20a4f0ab4f8508f24861386fe7Brian Wellington *) Modify mod_include to send blocks of data no larger than 9k.
131d5feb05fce60143bc17dab73df20753d9301fBrian Wellington Without this, mod_include will wait until the whole file is parsed,
131d5feb05fce60143bc17dab73df20753d9301fBrian Wellington or the first tag is found to send any data to the client.
131d5feb05fce60143bc17dab73df20753d9301fBrian Wellington [Paul J. Reder <rederpj@raleigh.ibm.com>]
76c9d2f6c0a5d6ea8bcc35fc3228d2019507b2bbBrian Wellington *) Fix mod_info, so that <Directory> and <Location> directives are
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson not displayed twice when displaying the current configuration.
76c9d2f6c0a5d6ea8bcc35fc3228d2019507b2bbBrian Wellington [Ryan Morgan <rmorgan@covalent.net>]
187a97287e626b2f2e9774479e145dfbf1eba66cBrian Wellington *) Add config directives to override DEFAULT_ERROR_MSG and
187a97287e626b2f2e9774479e145dfbf1eba66cBrian Wellington DEFAULT_TIME_FORMAT. This was sent in as PR 6193.
49576ae7a481415d5e815ff59b71c76203259619Andreas Gustafsson [Dan Rench <drench@xnet.com>]
7ed2d93fa4e12e0ceaa0c7c0da3a89e7a5d78296Andreas Gustafsson *) Get mod_info building and loading on Win32. [William Rowe]
1ec527b71267747cc3ae4d9849aa4f6362c78ea9Brian Wellington *) Begin to move protocol independant functions out of mod_http. The goal
1ec527b71267747cc3ae4d9849aa4f6362c78ea9Brian Wellington is to have only functions that are HTTP specific in the http directory.
703e1c0bb66f3cd3d300358ca0c1fdf3cb5fb1c5Brian WellingtonChanges with Apache 2.0.13
bfd14616fa53e2572e7492a21467fad239deeae7Andreas Gustafsson *) Don't assume that there will always be multiple calls to the byterange
7ed2d93fa4e12e0ceaa0c7c0da3a89e7a5d78296Andreas Gustafsson filter. It is possible that we will need to do byteranges with only
14bb9cccae74676e25ae145dc14a3681cc3022b9Mark Andrews one call to the filter. [Ryan Morgan <rmorgan@covalent.net>]
01b8865b1462ba219c90cf6c00f1bf0fdf780d9bBrian Wellington *) Move the error_bucket definition from the http module to the
01b8865b1462ba219c90cf6c00f1bf0fdf780d9bBrian Wellington core server. Every protocol will need this ability, not just
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley HTTP. [Ryan Bloom]
fcc3c131e03cb7e844eaecf74d4f9b7fd38c8398Andreas GustafssonChanges with Apache 2.0.12
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson *) Modify mod_file_cache to save pre-formatted strings for
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafsson content-length and last-modified headers for performance.
7017ede939a5d3e7f2dc113061887a9e81fe8627Brian Wellington [Mike Abbot <mja@trudge.engr.sgi.com>]
7017ede939a5d3e7f2dc113061887a9e81fe8627Brian Wellington *) Namespace protect IOBUFSIZ since it is exposed in the API.
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafsson [Jon Travis <jtravis@covalent.net>]
66921d6dd259c4486a07aba19eee2b8349698575Brian Wellington *) Use "Basic" authentication instead of "basic" in ab, as the spec
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafsson says we should. [Andre Breiler <andre.breiler@rd.bbc.co.uk>]
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafsson *) Fix a seg fault in mod_userdir.c. We used to use the pw structure
2728a98ee4104b2fb30f273893a7f354e20002b5Mark Andrews without ever filling it out. This fixes PR 7271.
c50895694ef939f287aaa7505e0fcf634903bd34Mark Andrews [Taketo Kabe <kabe@sra-tohoku.co.jp> and
be387fd057ee54ae5d84904e69587d6e29bd3950Mark Andrews Cliff Woolley <cliffwoolley@yahoo.com>]
d72269740049af28b091ba81d68a067c88f53547Mark Andrews *) Add a couple of GCC attribute tags to printf style functions.
6d3e8dffb447b9a961360f7f4fd77b0bdb81de76Andreas Gustafsson [Jon Travis <jtravis@covalent.net>]
7dbb39a417a28f61ba13e6e066c2f9c711f61471Mark Andrews *) Add the correct language tag for interoperation with the Taiwanese
a51f77a70bba62f227fb15fe72ecf959893e3f0fMark Andrews versions of MSIE and Netscape. [Clive Lin <clive@CirX.ORG>] PR#7142
a51f77a70bba62f227fb15fe72ecf959893e3f0fMark Andrews *) Migrate the perchild MPM to use the new apr signal child, and
5e16689bd396d261779526345a1c5207e3308477Andreas Gustafsson APR thread functions. [Ryan Bloom]
ff7f1dc0393cfc8a033be7e94aa56cd57c97d174Andreas Gustafsson *) Close one copy of the CGI's stdout before creating the new process.
7dec36c225ad044a6546a4e232888f3412c030a8Brian Wellington The CGI will still have stdout, because we have already dup'ed it.
7dec36c225ad044a6546a4e232888f3412c030a8Brian Wellington This keeps Apache from waiting forever to send the results of a CGI
7dec36c225ad044a6546a4e232888f3412c030a8Brian Wellington process that has forked a long-lived child process.
ff7f1dc0393cfc8a033be7e94aa56cd57c97d174Andreas Gustafsson [Taketo Kabe <kabe@sra-tohoku.co.jp>]
ff7f1dc0393cfc8a033be7e94aa56cd57c97d174Andreas Gustafsson *) Remove the rest of the pthreads functions from the threaded MPM.
ff7f1dc0393cfc8a033be7e94aa56cd57c97d174Andreas Gustafsson This requires the APR support for a signal thread that was just
725fec8d79ff36402b0f90a7a05aafa7964e387fBrian Wellington added. [Ryan Bloom]
9b0c4bf7003db929fe00a345fc96fb97677d29e0Brian Wellington *) Make mod_dir use a fixup for sending a redirect to the browser.
19c7cce8555ccc0c95455a0c35dedd017d420d05Mark Andrews Before this, we were using a handler, which doesn't make much
19c7cce8555ccc0c95455a0c35dedd017d420d05Mark Andrews sense, because the handler wasn't generating any data, it would
576f85e5fdb8805307f318db79dfc0d19e390d1aAndreas Gustafsson either return a redirect error code, or DECLINED. This fits the
576f85e5fdb8805307f318db79dfc0d19e390d1aAndreas Gustafsson current hooks better. [Ryan Morgan <rmorgan@covalent.net>]
576f85e5fdb8805307f318db79dfc0d19e390d1aAndreas Gustafsson *) Make the threaded MPM use APR threads instead of pthreads.
0c70ab306505d89983186e9f8bb8647de55b5d04Mark Andrews *) Get mod_tls to the point where it actually appears to work in all cases.
0c70ab306505d89983186e9f8bb8647de55b5d04Mark Andrews [Ben Laurie]
32e64787d9bd84a012ddac506f88fbc677b49377Brian Wellington *) implement --enable-modules and --enable-mods-shared for "all" and
32e64787d9bd84a012ddac506f88fbc677b49377Brian Wellington "most". [Greg Stein]
fa5a42fbad42f4e033376d5d4624e29d018d97b7Brian Wellington *) Move the threaded MPM to use APR locks instead of pthread locks.
12acad068846c11ad7bb9adb23f02a6fc37b4e17Andreas Gustafsson *) Rename mpmt_pthread to threaded. This is more in line with the
523dd6a979865b8b1b8f1ecc81e5ce47a168c63fBrian Wellington fact that mpmt_pthread shouldn't be using pthreads directly, and
523dd6a979865b8b1b8f1ecc81e5ce47a168c63fBrian Wellington it is a smaller name that doesn't tie into anything.
5bb4ceb2a67fd558962f8a786c93daedc148a599Mark Andrews [Ryan Bloom]
5bb4ceb2a67fd558962f8a786c93daedc148a599Mark Andrews *) Rename the module structures so that the exported symbol matches
d119051ef75d5a88d28c13fb0a7c6d6757a4e9b5Brian Wellington the file name, and it is easier to automate the installation
d119051ef75d5a88d28c13fb0a7c6d6757a4e9b5Brian Wellington process (generating LoadModule directives from the module filenames).
d119051ef75d5a88d28c13fb0a7c6d6757a4e9b5Brian Wellington [Martin Kraemer]
3f8ad70264645ebd6a2a8bc7e923271eb5bf8416Brian Wellington *) Remove the coalesce filter. With the ap_f* functions, this filter
3f8ad70264645ebd6a2a8bc7e923271eb5bf8416Brian Wellington is no longer needed. [Ryan Bloom]
fff07c1022643da7274d4ba1b086c9c218762dc9Brian WellingtonChanges with Apache 2.0.11
fff07c1022643da7274d4ba1b086c9c218762dc9Brian Wellington *) Remove the dexter MPM. Perchild is the same basic idea, but it has the
4817a0628785835abb57d06f2f616b4a6515ac2fAndreas Gustafsson added feature of allowing a uid/gid per child process. If no
c26c349eab7ca0499786c2091f0e407ec90eee6bAndreas Gustafsson uid/gid is specified, then Perchild behaves exactly like dexter.
c26c349eab7ca0499786c2091f0e407ec90eee6bAndreas Gustafsson *) Get perchild building again. [Ryan Bloom]
4817a0628785835abb57d06f2f616b4a6515ac2fAndreas Gustafsson *) Don't disable threads just because we are using the prefork MPM.
4817a0628785835abb57d06f2f616b4a6515ac2fAndreas Gustafsson If somebody wants to compile without threads, they must now add
4817a0628785835abb57d06f2f616b4a6515ac2fAndreas Gustafsson --disable-threads to the configure command line. [Ryan Bloom]
228c679d7a269423019f7c528db92e855f08240bMark Andrews *) Begin to move the calls to update_child_status into common code, so
a2a7eaf89cd68acdb16177bb05701107ceab52b9Brian Wellington that each individual MPM does not need to update the scoreboard itself.
148af05e15f5d7ae3b076231617369fdaf57d26dAndreas Gustafsson *) Allow mod_tls to compile under Unix boxes where openssl has been
d31498a54482c8d5d934875d3fdeaa621c962d6fBrian Wellington installed to the system include files.
d31498a54482c8d5d934875d3fdeaa621c962d6fBrian Wellington [Gomez Henri <new-httpd@slib.fr>]
a2a7eaf89cd68acdb16177bb05701107ceab52b9Brian Wellington *) Cleanup the mod_tls configure process. This should remove any need
a2a7eaf89cd68acdb16177bb05701107ceab52b9Brian Wellington to hand-edit any files. We require OpenSSL 0.9.6 or later, but
a2a7eaf89cd68acdb16177bb05701107ceab52b9Brian Wellington configure doesn't check that yet. [Ryan Bloom]
175ba246fb074ae8caca0e76ecc8055517ab486cBrian Wellington *) Add a very early prototype of SSL support (in mod_tls.c). It is
54ce9b2e29aafe1cb5f898a0983fb66e450e9559Brian Wellington vital that you read modules/tls/README before attempting to build
54ce9b2e29aafe1cb5f898a0983fb66e450e9559Brian Wellington it. [Ben Laurie]
7357590beef5f671cfdd4ec4304e5210adfb0d8aBrian Wellington *) Fix a potential seg fault on all platforms. David Reid fixed this
7357590beef5f671cfdd4ec4304e5210adfb0d8aBrian Wellington on BEOS, but the problem could happen anywhere, so we don't want
7357590beef5f671cfdd4ec4304e5210adfb0d8aBrian Wellington to #ifdef it. [Cliff Woolley <cliffwoolley@yahoo.com>]
8dd5237a27e2e824d18f835dc711573aeb23a173Mark Andrews *) Add new LogFormat directive, %D, to log time it takes to serve a
8dd5237a27e2e824d18f835dc711573aeb23a173Mark Andrews request in microseconds. [Bill Stoddard]
bbd3d20d0843165a74698166a3180897fd019e18Andreas Gustafsson *) Change AddInputFilter and AddOutputFilter to SetInputFilter and
3b5102fc018a29e52befde5991844843c7b70786Michael Sawyer SetOutputFilter. This corresponds nicely with the other Set
61470ed14b20c55c0730461165faa582a3775eb8Mark Andrews directives, which operate on containers while the Add* directives
bbd3d20d0843165a74698166a3180897fd019e18Andreas Gustafsson tend to work directly on extensions. [Ryan Bloom]
f7e900edbc368275aa7cec7ebec0986e45aeadd7Mark Andrews *) Cleanup the header handling a bit. This uses the apr_brigade_*
f7e900edbc368275aa7cec7ebec0986e45aeadd7Mark Andrews functions for the buffering so that we don't need to compute
ec772e873bd7f24418049b5b1b5d7c44ff781356Brian Wellington the length of the headers before we actually create the header
ec772e873bd7f24418049b5b1b5d7c44ff781356Brian Wellington buffer. [Ryan Bloom]
abfbf760f3bc2a6744b0249a31ca5153234b49e8Brian Wellington *) Allow filters to buffer data using the ap_f* functions. These have
abfbf760f3bc2a6744b0249a31ca5153234b49e8Brian Wellington become macros that resolve directly to apr_brigade_*.
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley *) Get the Unix MPM's to do a graceful restart again. If we are going
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley to register a cleanup with ap_cleanup_scoreboard, then we have to
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley kill the cleanup with the same function, and that function can't be
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley static. [Ryan Bloom]
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley *) Install all required header files. Without these, it was not
065958bd3d26dbc25ff313cfcee07bb6a77ee47eBrian Wellington possible to compile some modules outside of the server.
75768d5fa2c6c5c441b849ca4efa649a7c2a9e88Bob Halley [Ryan Bloom]
fa280ff02ad0c29616a0c3a22ef02cbb3f6db7efDavid Lawrence *) Fix the AliasMatch directive in Apache 2.0. When we brought a patch
22dbaf9ad8065127fd93eff0f239fd9c548d18b6Andreas Gustafsson forward from 1.3 to 2.0, we missed a single line, which broke regex
22dbaf9ad8065127fd93eff0f239fd9c548d18b6Andreas Gustafsson aliases. [Ryan Bloom]
22dbaf9ad8065127fd93eff0f239fd9c548d18b6Andreas Gustafsson *) We have a poor abstraction in the protocol. This is a temporary
22dbaf9ad8065127fd93eff0f239fd9c548d18b6Andreas Gustafsson hack to fix the bug, but it will need to be fixed for real. If
184867e88b5a30bbc29f17edbc7b50a6c8a944e7David Lawrence we find an error while sending out a custom error response, we back
184867e88b5a30bbc29f17edbc7b50a6c8a944e7David Lawrence up to the first non-OK request and send the data. Then, when we send
184867e88b5a30bbc29f17edbc7b50a6c8a944e7David Lawrence the EOS from finalize_request_protocol, we go to the last request,
fa280ff02ad0c29616a0c3a22ef02cbb3f6db7efDavid Lawrence to ensure that we aren't sending an EOS to a request that has already
fa280ff02ad0c29616a0c3a22ef02cbb3f6db7efDavid Lawrence received one. Because the data is sent on a different request than
fa280ff02ad0c29616a0c3a22ef02cbb3f6db7efDavid Lawrence the EOS, the error text never gets sent down the filter stack. This
046a9aca49bdc25bd57d75fd0dd34c021722f095Mark Andrews fixes the problem by finding the last request, and sending the data
f4e4111795ceb13066d09c38723afacb04e33ad4Mark Andrews with that request. [Ryan Bloom]
f4e4111795ceb13066d09c38723afacb04e33ad4Mark Andrews *) Make the server status page show the correct restart time, and
253ab81bf2760d3d7f68512b43710afc02d788daMark Andrews thus the proper uptime. [Ryan Bloom]
253ab81bf2760d3d7f68512b43710afc02d788daMark Andrews *) Move the CGI creation logic from mod_include to mod_cgi(d). This
be171be1799e0ba8cdd35d4f67b772ff086d0d81Andreas Gustafsson should reduce the amount of duplicate code that is required to
be171be1799e0ba8cdd35d4f67b772ff086d0d81Andreas Gustafsson create CGI processes.
9f28451bca8377ef6c9ea3b0a49bf342c9fa6800Mark Andrews [Paul J. Reder <rederpj@raleigh.ibm.com>]
a110543bb4d2e53caa40f83c2b45786a1efe63efAndreas Gustafsson *) ap_new_connection() closes the socket and returns NULL if a socket
af5dc286ff4b750deec50d1c006aae5fc38019c0Mark Andrews call fails. Usually this is due to a connection which has been
af5dc286ff4b750deec50d1c006aae5fc38019c0Mark Andrews reset. [Jeff Trawick]
ee303f481dfefcd4e4994f8b8b17f2de32aa4d69Brian Wellington *) Move the Apache version information out of httpd.h and into release.h.
ee303f481dfefcd4e4994f8b8b17f2de32aa4d69Brian Wellington This is in preparation for the first tag with the new tag and release
ee303f481dfefcd4e4994f8b8b17f2de32aa4d69Brian Wellington system. [Ryan Bloom]
9b2a2a9016980fbed6b2025d365a8ae99897608cDavid Lawrence *) Begin restructuring scoreboard code to enable adding back in
9b2a2a9016980fbed6b2025d365a8ae99897608cDavid Lawrence the ability to use IPC other than shared memory.
86b8c485762daa54a96d033110f6f41ea96e5213David Lawrence Get mod_status working on Windows again. [Bill Stoddard]
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence *) Make mod_status work with 2.0. This will work for prefork,
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence mpmt_pthread, and dexter. [Ryan Bloom]
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence *) Correct a typo in httpd.conf.
2115bc7d6433c92499d8e4f67e1c1dfa42ecd6f0David Lawrence [Kunihiro Tanaka <tanaka@apache.or.jp>] PR#7154
2115bc7d6433c92499d8e4f67e1c1dfa42ecd6f0David Lawrence *) Really fix mod_rewrite map lookups this time. [Tony Finch]
02e38214502c3a946cdfe87e16525747617a1150Brian Wellington *) Get the correct IP address if ServerName isn't set and we can't
02e38214502c3a946cdfe87e16525747617a1150Brian Wellington find a fully-qualified domain name at startup.
f8da2d95835c5216570a45e9000f740321503ae3David Lawrence PR#7170 [Danek Duvall <dduvall@eng.sun.com>]
f8da2d95835c5216570a45e9000f740321503ae3David Lawrence *) Make mod_cgid work with SuExec. [Ryan Bloom]
fdb2cda3ed366699d70aaf67ee5ae7fcd2ca7561David Lawrence *) Adopt apr user/group name features for mod_rewrite. Eliminates some
fdb2cda3ed366699d70aaf67ee5ae7fcd2ca7561David Lawrence 'extra' stat's for user/group since they should never occur, and now
6094a7774954463e312f7266c8d4d3f26aa07d4aAndreas Gustafsson resolves the SCRIPT_USER and SCRIPT_GROUP, including on WinNT NTFS
6094a7774954463e312f7266c8d4d3f26aa07d4aAndreas Gustafsson volumes. [William Rowe]
a110543bb4d2e53caa40f83c2b45786a1efe63efAndreas Gustafsson *) Adopt apr features to simplify mod_includes. This changes the
a110543bb4d2e53caa40f83c2b45786a1efe63efAndreas Gustafsson behavior of the USER_NAME variable, unknown uid's are now reported
a110543bb4d2e53caa40f83c2b45786a1efe63efAndreas Gustafsson as USER_NAME="<unknown>" rather than the old user#000 result.
ef9f9001fca9445ef315b1e76a66fc84fef6fdc6Andreas Gustafsson WinNT now resolves USER_NAME on NTFS volumes. [William Rowe]
a06df85974344892431b14bec51c1beeee971eccAndreas Gustafsson *) Adopt apr features for simplifing mod_userdir, and accept the new
24c5978e0b32137305c2bef2c6e116ee7680a610Andreas Gustafsson Win32/OS2 exceptions without hiccuping. [William Rowe]
63612a0fe1abbeb8ab6d727a4cfe46831c481387Brian Wellington *) Replace configure --with-optim option by using and saving the
63612a0fe1abbeb8ab6d727a4cfe46831c481387Brian Wellington environment variable OPTIM instead. This is needed because configure
63612a0fe1abbeb8ab6d727a4cfe46831c481387Brian Wellington options do not support multiple flags separated by spaces.
9be0c3d823200bed1286cff6bddf2a8c639f5287Brian Wellington [Roy Fielding]
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence *) Fix some byterange handling. If we get a byte range that looks like
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence "-999999" where that is past the end of the file, we should return
125a916d1a0c01f139ced5736145703df28d07cfDavid Lawrence a PARTIAL CONTENT status code, and return the whole file as one big
32bb863ea960caa650105b60dcd45e3db6840a6fAndreas Gustafsson byterange. This matches the 1.3 handling now. [Ryan Bloom]
7d33e8996948523e0180bc7e28a93d534d878dccAndreas Gustafsson *) Make the error bucket a real meta-data bucket. This means that the
736aab3076e9bec708cec073f5cf8e6c4b588886Brian Wellington bucket length is 0, and a read returns NULL data. If one of these
736aab3076e9bec708cec073f5cf8e6c4b588886Brian Wellington buckets is passed down after the headers are sent, this data will
736aab3076e9bec708cec073f5cf8e6c4b588886Brian Wellington just be ignored. [Greg Stein]
bb1cf189bb9fd9059cf13b785d15b0e50c0be8fbAndreas Gustafsson *) The prefork MPM wasn't killing child processes correctly if a restart
7cb10f77890fe36b14079c7beb848ec390a53e44Andreas Gustafsson signal was received while the process was serving a request. The child
7cb10f77890fe36b14079c7beb848ec390a53e44Andreas Gustafsson process would become the equivalent of a second parent process. If
7cb10f77890fe36b14079c7beb848ec390a53e44Andreas Gustafsson we break out of the accept loop, then we need to do die after cleaning
bb1cf189bb9fd9059cf13b785d15b0e50c0be8fbAndreas Gustafsson up after ourselves. [Ryan Bloom]
bb1cf189bb9fd9059cf13b785d15b0e50c0be8fbAndreas Gustafsson *) Change the Prefork MPM to use SIGWINCH instead of SIGUSR1 for graceful
bb1cf189bb9fd9059cf13b785d15b0e50c0be8fbAndreas Gustafsson restarts. [Ryan Bloom]
f53848e17123569387b279578f0100dca5407da5Mark Andrews *) Modify the apr_stat/lstat/getfileinfo calls within apache to use
f53848e17123569387b279578f0100dca5407da5Mark Andrews the most optimal APR_FINFO_wanted bits. This spares Win32 from
d46bf932ed5e1f58a4c424ce1ce7525963354482Brian Wellington performing very expensive owner, group and permission lookups
d46bf932ed5e1f58a4c424ce1ce7525963354482Brian Wellington and allows the server to function until these apr_finfo_t fields
d46bf932ed5e1f58a4c424ce1ce7525963354482Brian Wellington are implemented under Win32. [William Rowe]
1599bd6998f54b2b34804d7332f543744368a586Mark Andrews *) Support for typedsafe optional functions - that is functions exported by
09671f9551077f9eae8c41619b61272cb9821100Andreas Gustafsson optional modules, which, therefore, may or may not be present, depending
1599bd6998f54b2b34804d7332f543744368a586Mark Andrews on configuration. See the experimental modules mod_optional_fn_{ex,im}port
acc63b06d9e4e2137950dabddcccd17d8b336ca0Olafur Gudmundsson for sample code. [Ben Laurie]
c8fc692fa1445ccfc39b68902546cdfc7ee30d3eBrian Wellington *) filters can now report an HTTP error to the server. This is done
c8fc692fa1445ccfc39b68902546cdfc7ee30d3eBrian Wellington by sending a brigade where the first bucket is an error_bucket.
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafsson This bucket is a simple bucket that stores an HTTP error and
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafsson a string. Currently the string is not used, but it may be needed
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafsson to output an error log. The http_header_filter will find this
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafsson bucket, and output the error text, and then return
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafsson AP_FILTER_ERROR, which informs the server that the error web page
f19771c55d7e7d5bb38160e710185e6e61749d16Andreas Gustafsson has already been sent. [Ryan Bloom]
f1d427043e94371cdf1f21b3cbd65917adbcff25Andreas Gustafsson *) If we get an error, then we should remove all filters except for
f1d427043e94371cdf1f21b3cbd65917adbcff25Andreas Gustafsson those critical to serving a web page. This fixes a bug, where
f1d427043e94371cdf1f21b3cbd65917adbcff25Andreas Gustafsson error pages were going through the byterange filter, even though
f1d427043e94371cdf1f21b3cbd65917adbcff25Andreas Gustafsson that made no sense. [Ryan Bloom]
6c29053a20f7614167bafa4388c666644a095349Andreas Gustafsson *) Relax the syntax checking of Host: headers in order to support
6c29053a20f7614167bafa4388c666644a095349Andreas Gustafsson iDNS. PR#6635 [Tony Finch]
6c29053a20f7614167bafa4388c666644a095349Andreas Gustafsson *) Cleanup the byterange filter to use the apr_brigade_partition
6c29053a20f7614167bafa4388c666644a095349Andreas Gustafsson and apr_bucket_copy functions. This removes a lot of very messy
3d509f54ac6bbcc19de5aa6d1ce37e001821dc7bDavid Lawrence code, and hopefully makes this filter more stable.
3d509f54ac6bbcc19de5aa6d1ce37e001821dc7bDavid Lawrence *) Remove AddModule and ClearModuleList directives. Both of these
a59ed6543bbc13e7c784d6badce7b757c2620e28David Lawrence directives were used to ensure that modules could be enabled
a59ed6543bbc13e7c784d6badce7b757c2620e28David Lawrence in the correct order. That requirement is now gone, because
a59ed6543bbc13e7c784d6badce7b757c2620e28David Lawrence we use hooks to ensure that modules are in the correct order.
10e6498d6d7b2cfd8d822788d817fc9a3e0b0c3aDavid Lawrence *) When SuExec is specified, we need to add it to the list of
10e6498d6d7b2cfd8d822788d817fc9a3e0b0c3aDavid Lawrence targets to be built. If we don't, then any changes to the
10e6498d6d7b2cfd8d822788d817fc9a3e0b0c3aDavid Lawrence configuration won't affect SuExec, unless 'make suexec' is
10e6498d6d7b2cfd8d822788d817fc9a3e0b0c3aDavid Lawrence specifically run. [Ryan Bloom]
91b191a90cae9b162b8c68a3b4820031e129b37bBrian Wellington *) Cleaned out open_file from mod_file_cache, as apr now accepts
bf00f50cf43a43a999b5ab054cab652f7775dce6Brian Wellington the APR_XTHREAD argument to open a file for consumption by
bf00f50cf43a43a999b5ab054cab652f7775dce6Brian Wellington parallel threads on win32. [William Rowe]
253f774e358dba38742a484426a4cadf4f248817Brian Wellington *) Correct a bug in determining when we follow symlinks. The code
253f774e358dba38742a484426a4cadf4f248817Brian Wellington expected a stat -1 result, not an apr_status_t positive error.
253f774e358dba38742a484426a4cadf4f248817Brian Wellington Also check if the APR_FINFO_USER fields are valid before we
2de31518c3da27092120b40fc373cecf600d64e6Brian Wellington follow the link. [William Rowe]
2de31518c3da27092120b40fc373cecf600d64e6Brian Wellington *) Move initgroupgs, ap_uname2id and ap_gname2id from util.c to
4ae3a03bb7dbb050adddc051a5df6f3de057eb27Andreas Gustafsson mpm_common.c. These functions are only valid on some platforms,
4ae3a03bb7dbb050adddc051a5df6f3de057eb27Andreas Gustafsson so they should not be in the main-line code. [Ryan Bloom]
4ae3a03bb7dbb050adddc051a5df6f3de057eb27Andreas Gustafsson *) Remove ap_chdir_file(). This function is not thread-safe,
10e22ebcc3629be94d37bf408157e2c5ee5740e0Andreas Gustafsson and nobody is currently using it. [Ryan Bloom]
2732332fe53d00592109ef69c0075fcc2ad09db9Brian Wellington *) Do not try to run make depend if there are no .c files in the
2732332fe53d00592109ef69c0075fcc2ad09db9Brian Wellington current directory, doing so makes `make depend` fail.
8fa78d9ad5f5ab6c69d1d52b00b1ffcdf1bd5bebMichael Sawyer *) Update highperformance.conf to work with either prefork or
8fa78d9ad5f5ab6c69d1d52b00b1ffcdf1bd5bebMichael Sawyer pthreads mpms. [Greg Ames]
e544b507b8019a62c5d2716281f6832519a8791dDavid Lawrence *) Stop checking to see if this is a pipelined request if we know
e544b507b8019a62c5d2716281f6832519a8791dDavid Lawrence for a fact that it isn't. Basically, if r->connection->keepalive == 0.
09de21079e902c7356d936ef4f2a31060b36e5f3Brian Wellington This keeps us from making an extra read call when serving a 1.0
09de21079e902c7356d936ef4f2a31060b36e5f3Brian Wellington request. [Ryan Bloom and Greg Stein]
ee4429e13e08f30c366cdc5d10585388b8a9f212Michael Sawyer *) Fix the handling of variable expansion look-ahead in mod_rewrite,
ee4429e13e08f30c366cdc5d10585388b8a9f212Michael Sawyer i.e. syntax like %{LA-U:REMOTE_USER}, and also fix the parsing of
b74896ead5671943135727b50d86d1040d7ffbf3David Lawrence more complicated nested RewriteMap lookups. PR#7087 [Tony Finch]
b74896ead5671943135727b50d86d1040d7ffbf3David Lawrence *) Fix the RFC number mentioned when complaining about a missing
b74896ead5671943135727b50d86d1040d7ffbf3David Lawrence Host: header. PR#7079 [Alexey Toptygin <alexeyt@wam.umd.edu>]
8aff41ca8ac8dbd9671f3da824406a8783db49d1Brian Wellington *) Fix an endless loop in ab which occurred when ab was posting
8aff41ca8ac8dbd9671f3da824406a8783db49d1Brian Wellington and the server dropped the connection unexpectedly.
8aff41ca8ac8dbd9671f3da824406a8783db49d1Brian Wellington [Jeff Trawick]
c9d7e543d0da2996d1cc52d3c5920141df49a4ecBrian Wellington *) Fix a segfault while handling request bodies in ap_http_filter().
6dbf9cbe6a39a00de910ef843b9f864abf68bc40Brian Wellington This problem has been seen with mod_dav usage as well as with
6dbf9cbe6a39a00de910ef843b9f864abf68bc40Brian Wellington requests where the body was just being discarded. [Jeff Trawick]
17aac384e029f5dd3314876058c7501f4d84b90bBrian Wellington *) Some adjustment on the handling and automatic setting (via
17aac384e029f5dd3314876058c7501f4d84b90bBrian Wellington hints.m4) of various compilation flags (eg: CFLAGS). Also,
833535ea78ec7a15376b862fd288ffd00f808666Brian Wellington add the capability to specify flags (NOTEST_CFLAGS and
17aac384e029f5dd3314876058c7501f4d84b90bBrian Wellington NOTEST_LDFLAGS) which are used to compile Apache, but
23f64ea0dcd7f5b7094ae6ade2a002fb7dde1466Brian Wellington not used during the configuration process. Useful for
23f64ea0dcd7f5b7094ae6ade2a002fb7dde1466Brian Wellington flags like "-Werror". [Jim Jagielski]
3c7ce471aa8a1a9c5bc0ca9e41f406bdc9f0b2aeAndreas Gustafsson *) Stop using environment variables to force debug mode or
3c7ce471aa8a1a9c5bc0ca9e41f406bdc9f0b2aeAndreas Gustafsson no detach. We now use the -D command line argument to
3c7ce471aa8a1a9c5bc0ca9e41f406bdc9f0b2aeAndreas Gustafsson specify the correct mode. -DONE_PROCESS and -DNO_DETACH.
3c7ce471aa8a1a9c5bc0ca9e41f406bdc9f0b2aeAndreas Gustafsson [Greg Stein, Ryan Bloom]
3562c9dc12f06eb964ccefd3291a012f4e6b1743Brian Wellington *) Change handlers to use hooks. [Ben Laurie]
4d5c668a91c6e5a26653031dd137292bfc03da52Andreas Gustafsson *) Stop returning copies of filenames from both apr_file_t and
f437f6ffae28f88334cf47ce8f948cbf40331ffaAndreas Gustafsson apr_dir_t. We pstrdup the filenames that we store in the
f437f6ffae28f88334cf47ce8f948cbf40331ffaAndreas Gustafsson actual structures, so we don't need to pstrdup the strings again.
704d6eeab1d8d6a2aeb99c37fa5a97322d9340fcBrian Wellington *) mod_cgi: Fix some problems where the wrong error value was being
ed8ba54e644957e0ebd51601552193275299ca8dAndreas Gustafsson traced. [Jeff Trawick]
ed8ba54e644957e0ebd51601552193275299ca8dAndreas Gustafsson *) EBCDIC: Fix some missing ASCII conversion on some protocol data.
4d5c668a91c6e5a26653031dd137292bfc03da52Andreas Gustafsson [Jeff Trawick]
4d5c668a91c6e5a26653031dd137292bfc03da52Andreas Gustafsson *) Add generic hooks. [Ben Laurie]
5a6335a8bffdcc15ab4b3bb01d070080f9bc892eMark Andrews *) Use a real pool to dup the error log descriptor. [Ryan Bloom]
9c566a852f31c3a5d0b9d6eaf11463114339c01dAndreas Gustafsson *) Fix a segfault caused by mod_ext_filter when the external filter
9c566a852f31c3a5d0b9d6eaf11463114339c01dAndreas Gustafsson program does not exist. [Jeff Trawick]
9c566a852f31c3a5d0b9d6eaf11463114339c01dAndreas Gustafsson *) Fix an output truncation error when on an HTTP >= 1.0 request an
9c566a852f31c3a5d0b9d6eaf11463114339c01dAndreas Gustafsson object of size between DEFAULT_BUCKET_SIZE and AP_MIN_BYTES_TO_WRITE
9c566a852f31c3a5d0b9d6eaf11463114339c01dAndreas Gustafsson was served through mod_charset_lite (or anything else that would
9c566a852f31c3a5d0b9d6eaf11463114339c01dAndreas Gustafsson create a transient bucket in this size range). ap_bucket_make_heap()
4c08b67a5f01eda472a9dfee4c73dbbac49c0065Mark Andrews silently failed (fixed), transient_setaside() discovered it, but
4c08b67a5f01eda472a9dfee4c73dbbac49c0065Mark Andrews ap_save_brigade() ignored it (fixed). [Jeff Trawick]
f8abaa0fae7f75d9601c10b6a4af8dd907494d45Mark Andrews *) Ignore \r\n or \n when using PEEK mode for input filters. The problem
f8abaa0fae7f75d9601c10b6a4af8dd907494d45Mark Andrews is that some browsers send extra lines at the end of POST requests, and
1addbb84718fdb7635459ed05f060be086e88f35Andreas Gustafsson we don't want to delay sending data back to the user just because the
1addbb84718fdb7635459ed05f060be086e88f35Andreas Gustafsson browser isn't well behaved. [Ryan Bloom]
1addbb84718fdb7635459ed05f060be086e88f35Andreas Gustafsson *) Get SuEXEC working again. We can't send absolute paths to suExec
1addbb84718fdb7635459ed05f060be086e88f35Andreas Gustafsson because it refuses to execute those programs. SuEXEC also wasn't
1addbb84718fdb7635459ed05f060be086e88f35Andreas Gustafsson always recognizing configuration changes made using the autoconf
d3be9a9c6ef76a5d7671b0962785ca025b153d2bAndreas Gustafsson setup. [Ryan Bloom]
d3be9a9c6ef76a5d7671b0962785ca025b153d2bAndreas Gustafsson *) Allow the buildconf process to find the config.m4 files in the correct
e9fce1415f8be4cd38d528950c92c481bd105254Mark Andrews order. Basically, we can now name config.m4 files as config\d\d.m4,
e9fce1415f8be4cd38d528950c92c481bd105254Mark Andrews and we will sort them correctly when inserting them into the build
e9fce1415f8be4cd38d528950c92c481bd105254Mark Andrews process. [Ryan Bloom]
483958540f0034d543f0564beb7877326f15a45bMark Andrews *) Get mod_cgid to use apr calls for creating the actual CGI process.
59e1a928bc4253b91ead0f7c46be7d3984cb3016Bob Halley This also allows mod_cgid to use ap_os_create_priviledged_process,
90cd33e0baf23574a88a4c967afec8b95a1801deAndreas Gustafsson thus allowing for SuExec execution from mod_cgid. Currently, we do
90cd33e0baf23574a88a4c967afec8b95a1801deAndreas Gustafsson not support everything that standard SuExec supports, but at least
90cd33e0baf23574a88a4c967afec8b95a1801deAndreas Gustafsson it works minimally now. [Ryan Bloom]
517950ae99fa271b034a5cfec1c9fbb62696f975Mark Andrews *) Allow SuExec to be configured from the ./configure command line.
517950ae99fa271b034a5cfec1c9fbb62696f975Mark Andrews [Ryan Bloom]
f9870620b346ed267023dc98ee81adcfef2e16b7Andreas Gustafsson *) Update some of the docs in README and INSTALL to reflect some of
f9870620b346ed267023dc98ee81adcfef2e16b7Andreas Gustafsson the changes in Apache 2.0 [Cliff Woolley <cliffwoolley@yahoo.com>]
19ff7edc1a6388085193f5487e1599f45aa62648Mark Andrews *) If we get EAGAIN returned from the call to apr_sendfile, then we
19ff7edc1a6388085193f5487e1599f45aa62648Mark Andrews need to call sendfile again. This gets us serving large files
19ff7edc1a6388085193f5487e1599f45aa62648Mark Andrews such as apache_2.0a9.tar.gz on FreeBSD again. [Ryan Bloom]
8a0ff6c15cb20c903f9e16a3d5c2cab603478bc3Mark Andrews *) Get the support programs building cleanly again.
8a0ff6c15cb20c903f9e16a3d5c2cab603478bc3Mark Andrews [Cliff Woolley <cliffwoolley@yahoo.com>]
a6dbd6b6604e27ae3c7190de20dbcaaa6e5a1fd8Andreas Gustafsson *) The Apache/Win32 Apache.exe and dll's now live in bin. The
42928d936e79dbda7ea00bbcab6e5d8034a95bf8Andreas Gustafsson current directory logic now backs up over bin/ to determine the
0c0619cc1983ff58e855c5159d8892e46dddac5eBrian Wellington server root from the Apache.exe path.
c472ead4a932f93251eddaa41e120c3bfc4f95a4Andreas Gustafsson *) Apache/Win32 now follows the standard conventions of mod_foo.so
c472ead4a932f93251eddaa41e120c3bfc4f95a4Andreas Gustafsson loadable modules, dynamic libs are all named libfoo.dll, and the
c472ead4a932f93251eddaa41e120c3bfc4f95a4Andreas Gustafsson makefile.win populates the include, lib and libexec directories.
c472ead4a932f93251eddaa41e120c3bfc4f95a4Andreas Gustafsson *) Apache is now IPv6-capable. On systems where APR supports IPv6,
a6dbd6b6604e27ae3c7190de20dbcaaa6e5a1fd8Andreas Gustafsson Apache gets IPv6 listening sockets by default. Additionally, the
a6dbd6b6604e27ae3c7190de20dbcaaa6e5a1fd8Andreas Gustafsson Listen, NameVirtualHost, and <VirtualHost> directives support IPv6
a6dbd6b6604e27ae3c7190de20dbcaaa6e5a1fd8Andreas Gustafsson numeric address strings (e.g., "Listen [fe80::1]:8080").
383665e42ad838046472e847b16c4e0d3f1aaf76Bob Halley [Jeff Trawick]
383665e42ad838046472e847b16c4e0d3f1aaf76Bob Halley *) Modify the install directory layout. Modules are now installed in
383665e42ad838046472e847b16c4e0d3f1aaf76Bob Halley modules/. Shared libraries should be installed in libraries/, but
383665e42ad838046472e847b16c4e0d3f1aaf76Bob Halley we don't have any of those on Unix yet. All install directories
383665e42ad838046472e847b16c4e0d3f1aaf76Bob Halley are modifyable at configure time. [Ryan Bloom]
6b5a6fbe1cc0ceb7e2b516aaada596b79360a5b8Bob Halley *) Install all header files in the same directory on Unix. [Ryan Bloom]
6b5a6fbe1cc0ceb7e2b516aaada596b79360a5b8Bob Halley *) Get the functions in server/linked into the server, regardless of
5bbed85a33186db4e629e98f45ca702ac6b09127Brian Wellington which modules linked into the server. This uses the same hack
ba6fd2580863759baedd9c47153602b19006a324Andreas Gustafsson for Apache that we use for APR and apr-util to ensure all of the
ba6fd2580863759baedd9c47153602b19006a324Andreas Gustafsson necessary functions are linked. As a part of thise, the CHARSET_EBCDIC
ba6fd2580863759baedd9c47153602b19006a324Andreas Gustafsson was renamed to AP_CHARSET_EBCDIC for namespace protection, and to make
ba6fd2580863759baedd9c47153602b19006a324Andreas Gustafsson the scripts a bit easier.
86a4d80e0624a10b1824d25018246e1ea63f55d2Andreas Gustafsson *) Rework the RFC1413 handling to make it thread-safe, use a timeout
86a4d80e0624a10b1824d25018246e1ea63f55d2Andreas Gustafsson on the query, and remove IPv4 dependencies. [Jeff Trawick]
dd16d9d9e77c2d906ee5ffa3dd9f71cacfbcb081Brian Wellington *) Get all of the auth modules to the point that they will install and
dd16d9d9e77c2d906ee5ffa3dd9f71cacfbcb081Brian Wellington be loadable into the server. Our new build/install mechanism expects
d3a86da2e8f09e2c3f55721aae537b9cacc7e537Andreas Gustafsson that all modules will have a common name format. The auth modules
d3a86da2e8f09e2c3f55721aae537b9cacc7e537Andreas Gustafsson didn't use that format, so we didn't install them properly.
850d70818503ca1b0f98c9c70b16b51e789fd705Andreas Gustafsson *) API routines ap_pgethostbyname() and ap_pduphostent() are no longer
850d70818503ca1b0f98c9c70b16b51e789fd705Andreas Gustafsson available. Use apr_getaddrinfo() instead. [Jeff Trawick]
3c82f274bd880a33fdaf211af4fe8f6b3d6ca556David Lawrence *) Get "NameVirtualHost *" working in 2.0. [Ryan Bloom]
3c82f274bd880a33fdaf211af4fe8f6b3d6ca556David Lawrence *) Return HTTP_RANGE_NOT_SATISFIABLE if the every range requested starts
3c82f274bd880a33fdaf211af4fe8f6b3d6ca556David Lawrence after the end of the response. [Ryan Bloom]
3c82f274bd880a33fdaf211af4fe8f6b3d6ca556David Lawrence *) Get byterange requests working with responses that do not have a
3c82f274bd880a33fdaf211af4fe8f6b3d6ca556David Lawrence content-length. Because of the way byterange requests work, we have to
3c82f274bd880a33fdaf211af4fe8f6b3d6ca556David Lawrence have all of the data before we can actually do the byterange, so we
3c82f274bd880a33fdaf211af4fe8f6b3d6ca556David Lawrence can compute the content-length in the byterange filter.
3c82f274bd880a33fdaf211af4fe8f6b3d6ca556David Lawrence *) Get exe CGI's working again on Windows.
3c82f274bd880a33fdaf211af4fe8f6b3d6ca556David Lawrence [Allan Edwards]
78d78f05d91205cbde33ca87d24b8d13aa2d8d66Brian Wellington *) Get mod_cgid and mod_rewrite to work as DSOs by changing the way
78d78f05d91205cbde33ca87d24b8d13aa2d8d66Brian Wellington they keep track of whether or not their post config hook has been
78d78f05d91205cbde33ca87d24b8d13aa2d8d66Brian Wellington called before. Instead of a static variable (which is replaced when
78d78f05d91205cbde33ca87d24b8d13aa2d8d66Brian Wellington the DSO is loaded a second time), use userdata in the process pool.
5afc10d6d8278c9ab34b9f6c82ef7bb3bfefd0efAndreas Gustafsson [Jeff Trawick]
5afc10d6d8278c9ab34b9f6c82ef7bb3bfefd0efAndreas GustafssonChanges with Apache 2.0a9
3f01dde0bd24561fc3a6c2f7e259a58af4457a86Brian Wellington *) Win32 now requires perl to complete the final install step for users
3f01dde0bd24561fc3a6c2f7e259a58af4457a86Brian Wellington to build + install on Win32. Makefile.win now rewrites @@ServerRoot@
3f01dde0bd24561fc3a6c2f7e259a58af4457a86Brian Wellington and installs the conf, htdocs and htdocs/manual directories.
626b221f7113479a0709f0bb0a8193c0ab0dcf84Andreas Gustafsson [William Rowe]
626b221f7113479a0709f0bb0a8193c0ab0dcf84Andreas Gustafsson *) Make mod_include use a hash table to associate directive tags with
626b221f7113479a0709f0bb0a8193c0ab0dcf84Andreas Gustafsson functions. This allows modules to implement their own SSI tags easily.
733e928f714c848aa394c2d12b6239bc7780101bMark Andrews The idea is simple enough, a module can insert it's own tag and function
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson combination into a hash table provided by mod_include. While mod_include
c379c1bddb2d84c9219ab6c394b33aa866b9f3bfAndreas Gustafsson parses an SSI file, when it encounters a tag in the file, it does a
febaa091847ab004f40500cc475a819f2c73fcddAndreas Gustafsson hash lookup to find the function that implements that tag, and passes
febaa091847ab004f40500cc475a819f2c73fcddAndreas Gustafsson all of the relevant data to the function. That function is then
ebfcb6cf66283096ebda1503b6cc042ce86b6bedBrian Wellington responsible for processing the tag and handing the remaining data back
ebfcb6cf66283096ebda1503b6cc042ce86b6bedBrian Wellington to mod_include for further processing.
c379c1bddb2d84c9219ab6c394b33aa866b9f3bfAndreas Gustafsson [Paul J. Reder <rederpj@raleigh.ibm.com>]
c379c1bddb2d84c9219ab6c394b33aa866b9f3bfAndreas Gustafsson *) Get rid of ap_new_apr_connection(). ap_new_connection() now has
066faef1195d539f575816ccab87ff3e85b1b13eBrian Wellington fewer parameters: the local and remote socket addresses were removed
dffdc24ffd76ef3d8c8141671e89fb39428fef06Brian Wellington from the parameter list because all required information is available
17442ccc2b2e9c3b3bfc337f0fdfad6186fbb123Mark Andrews via the APR socket. [Jeff Trawick]
61b0df9eb522f13aef13cc2704728e799cbc251aMichael Sawyer *) Distribution directory structure reorganized to reflect a
61b0df9eb522f13aef13cc2704728e799cbc251aMichael Sawyer normal source distribution with external install targets.
61b0df9eb522f13aef13cc2704728e799cbc251aMichael Sawyer [Roy Fielding]
369bb68c2c7709c7fd8b0d6c1d1f8abc6422a7e2Michael Sawyer *) The MPMs that need multiple segments of shared memory now create
369bb68c2c7709c7fd8b0d6c1d1f8abc6422a7e2Michael Sawyer two apr_shmem_t variables, one for each shared memory allocation.
369bb68c2c7709c7fd8b0d6c1d1f8abc6422a7e2Michael Sawyer the problem is that we can't determine how much memory will be required
369bb68c2c7709c7fd8b0d6c1d1f8abc6422a7e2Michael Sawyer for shared memory allocations once we try to allocate more than one
3dcb97b199693012d12e978b8f577a339e434361Andreas Gustafsson variable. The MM code automatically aligns the shared memory allocations,
3dcb97b199693012d12e978b8f577a339e434361Andreas Gustafsson so we end up needing to pad the amount of shared memory we want based
a3e41e3c03a32b00fc243fce538a39ddc7237885Andreas Gustafsson on how many variables will be allocated out of the shared memory segment.
a3e41e3c03a32b00fc243fce538a39ddc7237885Andreas Gustafsson It is just easier to create a second apr_shmem_t variable, and two
a3e41e3c03a32b00fc243fce538a39ddc7237885Andreas Gustafsson shmem memory blocks.
fa3cbea8bfba19d1c11f9a6ad20f40a2c15377f0Brian Wellington *) Cleanup the export list a bit. This creates a single unified list of
fa3cbea8bfba19d1c11f9a6ad20f40a2c15377f0Brian Wellington functions exported by APR. The export list is generated at configure
0fc89c4ee660e825ac66774f2d4912cfc396386aMark Andrews time, and that list is then used to generate the exports.c file.
0fc89c4ee660e825ac66774f2d4912cfc396386aMark Andrews Because of the way the export list is generated, we only export those
e21d199dca95aff5d50f133d6b064309e209af00Brian Wellington functions that are valid on the platform we are building on.
c03298d879554fc5dc197c28fd4b686e0d880ee3Mark Andrews *) Enable logging the cookie with mod_log_config
04c22ceaf2d3812eaab69d79958d0e0d62048cd2Mark Andrews [Sander van Zoest <sander@covalent.net>]
04c22ceaf2d3812eaab69d79958d0e0d62048cd2Mark Andrews *) Fix a segfault in mod_info when it reaches the end of the configuration.
04c22ceaf2d3812eaab69d79958d0e0d62048cd2Mark Andrews [Jeff Trawick]
04c22ceaf2d3812eaab69d79958d0e0d62048cd2Mark Andrews *) Added lib/aputil/ as a placeholder for utility functions which are not
04c22ceaf2d3812eaab69d79958d0e0d62048cd2Mark Andrews specific to the Apache HTTP Server (but do not make sense with APR).
6ef15459b8fd3fc8b5672da4ad72c19a755dbe45Mark Andrews The first utility is "apu_dbm": a set of functions to work with DBM
b65f2ab14abb4b6ef906d7d02064fba158f07b1eDavid Lawrence files. This first version can be compiled for SDBM or GDBM databases.
b65f2ab14abb4b6ef906d7d02064fba158f07b1eDavid Lawrence *) Complete re-write of mod_include. This makes mod_include a filter that
b65f2ab14abb4b6ef906d7d02064fba158f07b1eDavid Lawrence uses buckets directly. This has now served the FAQ correctly.
b65f2ab14abb4b6ef906d7d02064fba158f07b1eDavid Lawrence [Paul Reder <rederpj@raleigh.ibm.com>]
c03bb27f0675a6e60ceea66b451548e8481bc05cMark Andrews *) Allow modules to specify the first filter in a sub_request when
c03bb27f0675a6e60ceea66b451548e8481bc05cMark Andrews making the sub_request. This keeps modules from having to change the
b65f2ab14abb4b6ef906d7d02064fba158f07b1eDavid Lawrence output_filter immediately after creating the sub-request, and therefore
b65f2ab14abb4b6ef906d7d02064fba158f07b1eDavid Lawrence skip the sub_req_output_filter. [Ryan Bloom]
c03bb27f0675a6e60ceea66b451548e8481bc05cMark Andrews *) Update ab to accept URLs with IPv6 literal address strings (in the
c03bb27f0675a6e60ceea66b451548e8481bc05cMark Andrews format described in RFC 2732), and to build Host header fields in
389c749a5ee18f1c0d6278ae49f2aae5d5f0d2dcMark Andrews the same format. This allows IPv6 literal address strings to be
389c749a5ee18f1c0d6278ae49f2aae5d5f0d2dcMark Andrews used with ab. This support has been tested against Apache 1.3 with
72fa265baa3d138b43427bcb5c0838740f807045Mark Andrews the KAME patch, but Apache 2.0 does not yet work with this format
09671f9551077f9eae8c41619b61272cb9821100Andreas Gustafsson of the Host header field. [Jeff Trawick]
4b6d5b2312d1482cc406fe58fa3269dd7a915b3fMark Andrews *) Accomodate an out-of-space condition in the piped logs and the
4b6d5b2312d1482cc406fe58fa3269dd7a915b3fMark Andrews rotatelogs.c code, and no longer churn log processes for this
4b6d5b2312d1482cc406fe58fa3269dd7a915b3fMark Andrews condition. [Victor J. Orlikowski]
29c818c7d40fc8898b062903ec703851328a4deaMark Andrews *) Add support for partial writes with apr_sendfile() to core_output_filter.
b1cde6bf3a8e3a77eb77caf97df0d7ec5c8450dfBrian WellingtonChanges with Apache 2.0a8
f8abaa0fae7f75d9601c10b6a4af8dd907494d45Mark Andrews *) Add a directive to mod_mime so that filters can be associated with
f8abaa0fae7f75d9601c10b6a4af8dd907494d45Mark Andrews a given mime-type.
f8abaa0fae7f75d9601c10b6a4af8dd907494d45Mark Andrews [Ryan Bloom]
28b7844ee93231da831ba3c090e1677bb1be5f18Andreas Gustafsson *) Get multi-views working again. We were setting the path_info
37d1c8ee546ae89720c3e17e57ee3a05e9cdc7b9Brian Wellington field incorrectly if we couldn't find the specified file.
28b7844ee93231da831ba3c090e1677bb1be5f18Andreas Gustafsson *) Fix 304 processing. The core should never try to send the headers
28b7844ee93231da831ba3c090e1677bb1be5f18Andreas Gustafsson down the filter stack. Always, just setup the table in the request
28b7844ee93231da831ba3c090e1677bb1be5f18Andreas Gustafsson record, and let the header filter convert it to data that is ready
28b7844ee93231da831ba3c090e1677bb1be5f18Andreas Gustafsson for the network.
78db9e8f4b686fde6dfa0ec85a68c06cc9d4bf28Brian Wellington *) More fixes for the proxy. There are still bugs in the proxy code,
78db9e8f4b686fde6dfa0ec85a68c06cc9d4bf28Brian Wellington but this has now proxied www.yahoo.com and www.ntrnet.net (my ISP)
78db9e8f4b686fde6dfa0ec85a68c06cc9d4bf28Brian Wellington successfully.
b20ee662a7c847c9ef7b96ab9e5e34543efe5c0dMark Andrews *) Fix params for apr_getaddrinfo() call in connect proxy handler.
b20ee662a7c847c9ef7b96ab9e5e34543efe5c0dMark Andrews [Chuck Murcko]
450995b90c8cb66d82c2377d4f9bd9812a132c30Andreas Gustafsson *) APR: Add new apr_getopt_long function to handle long options.
450995b90c8cb66d82c2377d4f9bd9812a132c30Andreas Gustafsson [B. W. Fitzpatrick <fitz@red-bean.com>]
f90fe7c8b9a3eef8968fac74905e868c8ab583a3Brian Wellington *) APR: Change apr_connect() to take apr_sockaddr_t instead of hostname.
190fbe9738bd0c1b9b13732bb8bd56b2b7c71640David Lawrence Add generic apr_create_socket(). Add apr_getaddrinfo() for doing
190fbe9738bd0c1b9b13732bb8bd56b2b7c71640David Lawrence hostname resolution/address string parsing and building
190fbe9738bd0c1b9b13732bb8bd56b2b7c71640David Lawrence apr_sockaddr_t. Add apr_get_sockaddr() for getting the address
190fbe9738bd0c1b9b13732bb8bd56b2b7c71640David Lawrence of one of the apr_sockaddr_t structures for a socket. Change
190fbe9738bd0c1b9b13732bb8bd56b2b7c71640David Lawrence apr_bind() to take apr_sockaddr_t. [David Reid and Jeff Trawick]
190fbe9738bd0c1b9b13732bb8bd56b2b7c71640David Lawrence *) Remove the BUFF from the HTTP proxy. This is still a bit ugly, but
c40085afa75a5eae732ec1198384dd5cb24400b6Bob Halley I have proxied pages with it, cleanup will commence soon.
c40085afa75a5eae732ec1198384dd5cb24400b6Bob Halley [Ryan Bloom]
c40085afa75a5eae732ec1198384dd5cb24400b6Bob Halley *) Make the proxy work with filters. This isn't perfect, because we
c40085afa75a5eae732ec1198384dd5cb24400b6Bob Halley aren't dealing with the headers properly. [Ryan Bloom]
7b438bdb9b821f9f1c96443762072e137716048dBrian Wellington *) Do not send a content-length iff the C-L is 0 and this is a head
c40085afa75a5eae732ec1198384dd5cb24400b6Bob Halley request. [Ryan Bloom]
c40085afa75a5eae732ec1198384dd5cb24400b6Bob Halley *) Make cgi-bin work as a regular directory when using mod_vhost_alias
c40085afa75a5eae732ec1198384dd5cb24400b6Bob Halley with no VirtualScriptAlias directives. PR#6829 [Tony Finch]
c40085afa75a5eae732ec1198384dd5cb24400b6Bob Halley *) Remove BUFF from the PROXY connect handling. [Ryan Bloom]
86c270cbb24117976d6cd3098c3010e067915c24Andreas Gustafsson *) Get the default_handler to stop trying to deal with HEAD requests.
10258f6b3d1ce54ffb22e6b9a31f8f001f7ee2d5Mark Andrews The idea is to let the content-length filter compute the C-L before
b38ebe307cb2411535c79afd441870a99cc50eddMark Andrews we try to send the data. If we can get the C-L correctly, then we
b38ebe307cb2411535c79afd441870a99cc50eddMark Andrews should send it in the HEAD response.
b38ebe307cb2411535c79afd441870a99cc50eddMark Andrews [Ryan Bloom]
8217f91f8d2dd6e94a2bf893284506ea47cd294aAndreas Gustafsson *) The Header filter can now determine if a body should be sent based
c2e0aac879097f81bcd31e3d09660a71e70c5fb0Michael Sawyer on r->header_only. The general idea of this is that if we delay
21a170a0cee1ec2df7be0ce334da309f9a892ea9Andreas Gustafsson deciding to send the body, then we might be able to compute the
588b63e1a86fb707172830e14897da624ed380edMark Andrews content-length correctly, which will help caching proxies to cache
588b63e1a86fb707172830e14897da624ed380edMark Andrews our data better. Any handler that doesn't want to try to compute
bb17aa91c14de959b191a200df61afb6a68f110fBrian Wellington the content-length can just send an EOS bucket without data and
bb17aa91c14de959b191a200df61afb6a68f110fBrian Wellington everything will just work.
452d75b18f9d050086964fa39c326cf388517396Mark Andrews *) Add the referer to the error log if one is available.
2b4db0b6d4b5a0307cecbafdd1d34d6f61b7dbadMark Andrews [Markus Gyger <mgyger@itr.ch>]
6850cdd4497424c9d42ade487edfde9fb9a47de9Brian Wellington *) Mod_info.c has now been ported to Apache 2.0. As a part of this
6850cdd4497424c9d42ade487edfde9fb9a47de9Brian Wellington change, the root of the configuration tree has been exposed to modules
6850cdd4497424c9d42ade487edfde9fb9a47de9Brian Wellington as ap_conftree.
6850cdd4497424c9d42ade487edfde9fb9a47de9Brian Wellington [Ryan Morgan <rmorgan@covalent.net>]
2a37aa188c2297e0c0856c3e5740c43dd426a432Mark Andrews *) Get the core_output_filter to use the bucket interface directly.
2a37aa188c2297e0c0856c3e5740c43dd426a432Mark Andrews This keeps us from calling the content-length filter multiple times
6c87cf19970a9eef43c1e38227cd23b3a2f6151aMark Andrews for a simple static request.
6c87cf19970a9eef43c1e38227cd23b3a2f6151aMark Andrews [Ryan Bloom]
7869b99dc815e3b863351b8095d1b71b3f583541Brian Wellington *) We are sending the content-type correctly now.
df1e829dde71ab960545453e4ae439ae601d5a9eMark Andrews [Ryan Bloom and Will Rowe]
df1e829dde71ab960545453e4ae439ae601d5a9eMark Andrews *) APR on FreeBSD: Fix a bug in apr_sendfile() which caused us to report
df1e829dde71ab960545453e4ae439ae601d5a9eMark Andrews a bogus bytes-sent value when the only thing being sent was trailers
df1e829dde71ab960545453e4ae439ae601d5a9eMark Andrews and writev() returned an error (or EAGAIN). [Jeff Trawick]
fb04db11ee6aad3ac3e023ab89b5f9d8a4d5674dMichael Sawyer *) Get SINGLE_LISTEN_UNSERIALIZED_ACCEPT working again. This uses the
fb04db11ee6aad3ac3e023ab89b5f9d8a4d5674dMichael Sawyer hints file to determine which platforms define
fb04db11ee6aad3ac3e023ab89b5f9d8a4d5674dMichael Sawyer SINGLE_LISTEN_UNSERIALIZED_ACCEPT.
fb04db11ee6aad3ac3e023ab89b5f9d8a4d5674dMichael Sawyer *) APR: add apr_get_home_directory() [Jeff Trawick]
fb04db11ee6aad3ac3e023ab89b5f9d8a4d5674dMichael Sawyer *) Initial import of 1.3-current mod_proxy. [Chuck Murcko]
fb04db11ee6aad3ac3e023ab89b5f9d8a4d5674dMichael Sawyer *) Not all platforms have INADDR_NONE defined by default. Apache
fb04db11ee6aad3ac3e023ab89b5f9d8a4d5674dMichael Sawyer used to make this check and define INADDR_NONE if appropriate,
fb04db11ee6aad3ac3e023ab89b5f9d8a4d5674dMichael Sawyer but APR needs the check too, and I suspect other applications will
fb04db11ee6aad3ac3e023ab89b5f9d8a4d5674dMichael Sawyer as well. APR now defines APR_INADDR_NONE, which is always a valid
fb04db11ee6aad3ac3e023ab89b5f9d8a4d5674dMichael Sawyer value on all platforms.
e65fe7af00935a0a81d4b0b0ed51c7f6c89f5c3bAndreas Gustafsson [Branko �ibej <brane@xbc.nu>]
e65fe7af00935a0a81d4b0b0ed51c7f6c89f5c3bAndreas Gustafsson *) Destroy the pthread mutex in lock_intra_cleanup() for PR#6824.
4bb3a1a63d7943564f30bf9efd312283141439a2Andreas Gustafsson [Shuichi Kitaguchi <ki@hh.iij4u.or.jp>]
4bb3a1a63d7943564f30bf9efd312283141439a2Andreas Gustafsson *) Relax the syntax checking of Host: headers in order to support
4bb3a1a63d7943564f30bf9efd312283141439a2Andreas Gustafsson iDNS. PR#6635 [Tony Finch]
e2b52099918681498136fc82df192d256cc3cdd3Brian Wellington *) When reading from file buckets we convert to an MMAP if it makes
cef18335b7f37bf02bc9e9f2c8750a3a9dcd718aAndreas Gustafsson sense. This also simplifies the default handler because the
389ec663f262cc219e986d6600eec9707ef2cb24Brian Wellington default handler no longer needs to try to create MMAPs.
e549eb1242b69ee050440e7205a5633cb56199b3Mark Andrews [Ryan Bloom]
88cef4408ab6b4c48702ed1b3ae27e20f485d864Mark Andrews *) BUFF has been removed from the main server. The BUFF code will remain
88cef4408ab6b4c48702ed1b3ae27e20f485d864Mark Andrews in the code until it has been purged from the proxy module as well.
88cef4408ab6b4c48702ed1b3ae27e20f485d864Mark Andrews [Ryan Bloom]
88cef4408ab6b4c48702ed1b3ae27e20f485d864Mark Andrews *) Byteranges have been completely re-written to be a filter. This
fce9a9550e8e7a6dff4093d4815ec41fae2d7b55Mark Andrews has been tested, and I believe it is working correctly, but it could
fce9a9550e8e7a6dff4093d4815ec41fae2d7b55Mark Andrews doesn't work for the Adobe Acrobat plug-in. The output almost matches
ff7e6f2791cc5ad7c5f401a184b88343fde5ec3cAndreas Gustafsson the output from 1.3, the only difference being that 1.3 includes
693ddf84daa745a0ea8ca311a8154dfa03eabc43Andreas Gustafsson a content-length in the response, and this does not.
ff7e6f2791cc5ad7c5f401a184b88343fde5ec3cAndreas Gustafsson *) APR read/write functions and bucket read functions now operate
ff7e6f2791cc5ad7c5f401a184b88343fde5ec3cAndreas Gustafsson on unsigned integers, instead of signed ones. It doesn't make
ff7e6f2791cc5ad7c5f401a184b88343fde5ec3cAndreas Gustafsson any sense to use signed ints, because we return the error codes,
ff7e6f2791cc5ad7c5f401a184b88343fde5ec3cAndreas Gustafsson so if we have an error we should report 0 bytes read or written.
2bebe117bf96d7e24df4d703d6488d61a5179bcaMark Andrews *) Always compute the content length, whether it is sent or not.
4da10bce4bf64b574b59aa4fb5be0f237d0d41edBrian Wellington The reason for this, is that it allows us to correctly report
4da10bce4bf64b574b59aa4fb5be0f237d0d41edBrian Wellington the bytes_sent when logging the request. This also simplifies
3f123dcc2fe5d2cd08ca91b732741d86a4036906Brian Wellington content-length filter a bit, and fixes the actual byte-reporing
16ea60d0dbbaf1206f4800cb16744ef568fd7be8Michael Sawyer *) Remove AP_END_OF_BRIGADE definition. This does not signify what
16ea60d0dbbaf1206f4800cb16744ef568fd7be8Michael Sawyer it says, because it was only used by EOS and FLUSH buckets. Since
85b23709431b1a84924fe2844f5cf657d1689eefMichael Sawyer neither of those are required at the end of a brigade, this was
85b23709431b1a84924fe2844f5cf657d1689eefMichael Sawyer really signifying FLUSH_THE_DATA, but that can be determined better
85b23709431b1a84924fe2844f5cf657d1689eefMichael Sawyer by checking AP_BUCKET_IS_EOS() or AP_BUCKET_IS_FLUSH. EOS and FLUSH
85b23709431b1a84924fe2844f5cf657d1689eefMichael Sawyer buckets now return a length of 0, which is actually the amount of data
d15f51c600ed29b2dc379c433fb226c3a13ac0bbAndreas Gustafsson read, so they make more sense.
d15f51c600ed29b2dc379c433fb226c3a13ac0bbAndreas Gustafsson *) Allow the core_output_filter to save some data past the end of a
d15f51c600ed29b2dc379c433fb226c3a13ac0bbAndreas Gustafsson request. If we get an EOS bucket, we only send the data if it
cef18335b7f37bf02bc9e9f2c8750a3a9dcd718aAndreas Gustafsson makes sense to send it. This allows us to pipeline request
cef18335b7f37bf02bc9e9f2c8750a3a9dcd718aAndreas Gustafsson responses. As a part of this, we also need to allocate mmap
aa2c453d3c6e416b56b29247bedd9a0af2721e93Mark Andrews buckets out of the connection pool, not the request pool. This
e412ae947df6de858883564b8676a9650df70d9aMark Andrews allows the mmap to outlive the request.
e412ae947df6de858883564b8676a9650df70d9aMark Andrews [Ryan Bloom]
cef18335b7f37bf02bc9e9f2c8750a3a9dcd718aAndreas Gustafsson *) Make blocking and non-blocking bucket reads work correctly for
07a926724c0a91d85b85a94441938d0094e88cffMark Andrews sockets and pipes. These are the only bucket types that should
07a926724c0a91d85b85a94441938d0094e88cffMark Andrews have non-blocking reads, because the other bucket types should
07a926724c0a91d85b85a94441938d0094e88cffMark Andrews ALWAYS be able to return something immediately.
07a926724c0a91d85b85a94441938d0094e88cffMark Andrews [Ryan Bloom]
90023730de34721b8cd8f3b5d059a28b7a65cf04Andreas Gustafsson *) In the Apache/Win32 console window, accept Ctrl+C to stop the
90023730de34721b8cd8f3b5d059a28b7a65cf04Andreas Gustafsson server, but use Ctrl+Break to initiate a graceful restart
922e6a3c2ac4ef900dd9dc99f0cc137f18372583Andreas Gustafsson instead of duplicating behavior. [John Sterling]
922e6a3c2ac4ef900dd9dc99f0cc137f18372583Andreas Gustafsson *) Patch mod_autoindex to set the Last-Modified header based on
280747fa7c1d4597d47f7be8ec5fb7c8980c1952Andreas Gustafsson the directory's mtime, and add the ETag header. [William Rowe]
280747fa7c1d4597d47f7be8ec5fb7c8980c1952Andreas Gustafsson *) Merge the 1.3 patch to add support for logging query string in
0e07026a21dfcaf57dc789e7ece20182dc36029cMark Andrews such a way that "%m %U%q %H" is the same as "%r".
0e07026a21dfcaf57dc789e7ece20182dc36029cMark Andrews [Bill Stoddard]
337ca1838428c52bca3c72288342ce3dee550a04Andreas Gustafsson *) Port three log methods from mod_log_config 1.3 to 2.0:
337ca1838428c52bca3c72288342ce3dee550a04Andreas Gustafsson CLF compliant '-' byte count, method and protocol.
337ca1838428c52bca3c72288342ce3dee550a04Andreas Gustafsson [Bill Stoddard]
337ca1838428c52bca3c72288342ce3dee550a04Andreas Gustafsson *) Add a new LogFormat directive, %c, that will log connection
337ca1838428c52bca3c72288342ce3dee550a04Andreas Gustafsson status at the end of the response as follows:
337ca1838428c52bca3c72288342ce3dee550a04Andreas Gustafsson 'X' - connection aborted before the response completed.
6b0ce7d29fac9df84ed34aa2d4634e754aec750dAndreas Gustafsson '+' - connection may be kept-alive by the server.
6b0ce7d29fac9df84ed34aa2d4634e754aec750dAndreas Gustafsson '-' - connection will be closed by the server.
6b0ce7d29fac9df84ed34aa2d4634e754aec750dAndreas Gustafsson [Bill Stoddard]
6b0ce7d29fac9df84ed34aa2d4634e754aec750dAndreas Gustafsson *) Expand APR for WinNT to fully accept and return utf-8 encoded
27d725f2b0f8d176d4625dc8b2ed71269b25c9a7Andreas Gustafsson Unicode file names and paths for Win32, and tag the Content-Type
27d725f2b0f8d176d4625dc8b2ed71269b25c9a7Andreas Gustafsson from mod_autoindex to reflect that charset if the the feature
27d725f2b0f8d176d4625dc8b2ed71269b25c9a7Andreas Gustafsson macro APR_HAS_UNICODE_FS is true. [William Rowe]
c89ac488df58cf6a37918cd00236eedf015830f8Andreas Gustafsson *) Compute the content length (and add appropriate header field) for
c89ac488df58cf6a37918cd00236eedf015830f8Andreas Gustafsson the response when no content length is available and we can't use
c89ac488df58cf6a37918cd00236eedf015830f8Andreas Gustafsson chunked encoding. [Jeff Trawick]
46a7e707fee6d7ba6ca6dae200ff6e0230f4d2f1Brian Wellington *) Changed ap_discard_request_body() to use REQUEST_CHUNKED_DECHUNK,
46a7e707fee6d7ba6ca6dae200ff6e0230f4d2f1Brian Wellington so that content input filters get dechunked data when using
eb059776a206e9be778de0f196a0304b558a779cAndreas Gustafsson the default handler. Also removed REQUEST_CHUNKED_PASS.
9d3ef72b37c7d23ce3aaaaa5cd0434b4e5ed5c12Mark Andrews [Sascha Schumann]
a7c76f1924d5fc914c579fd3b0276ffbddd2f65aMark Andrews *) Add mod_ext_filter as an experimental module. This module allows
a7c76f1924d5fc914c579fd3b0276ffbddd2f65aMark Andrews the administrator to use external programs as filters. Currently,
c50a002bd1e36d13e95d74b43ed4a2b5d6fdcec3Mark Andrews only filtering of output is supported. [Jeff Trawick]
c50a002bd1e36d13e95d74b43ed4a2b5d6fdcec3Mark Andrews *) Most Apache functions work on EBCDIC machines again, as protocol
c50a002bd1e36d13e95d74b43ed4a2b5d6fdcec3Mark Andrews data is now translated (again). [Jeff Trawick]
c50a002bd1e36d13e95d74b43ed4a2b5d6fdcec3Mark Andrews *) Introduce ap_xlate_proto_{to|from}_ascii() to clean up some of
c50a002bd1e36d13e95d74b43ed4a2b5d6fdcec3Mark Andrews the EBCDIC support. They are noops on ASCII machines, so this
c50a002bd1e36d13e95d74b43ed4a2b5d6fdcec3Mark Andrews type of translation doesn't have to be surrounded by #ifdef
566155f16e43fe5f1550456e534b31b0cc36d243David Lawrence CHARSET_EBCDIC. [Jeff Trawick]
07a46d6dca37ef96b6e9c1fc0c2789983d91819cAndreas Gustafsson *) Fix mod_include. tag commands work again, and the server will
566155f16e43fe5f1550456e534b31b0cc36d243David Lawrence send the FAQ again. This also allows mod_include to set aside
051beeafa6547440da17985665b31952b85ede56Brian Wellington buckets that include partial buckets.
07a46d6dca37ef96b6e9c1fc0c2789983d91819cAndreas Gustafsson [Ryan Bloom and David Reid]
07a46d6dca37ef96b6e9c1fc0c2789983d91819cAndreas Gustafsson *) Add suexec support back. [Manoj Kasichainula]
6d85ebc2d2ccbb8ef01c3ac1659686d3c2be0377Brian Wellington *) Lingering close now uses the socket directly instead of using
6d85ebc2d2ccbb8ef01c3ac1659686d3c2be0377Brian Wellington BUFF. This has been tested, but since all we can tell is that it
4a0b04961653b4153402dabd71dfd8474b6c230dAndreas Gustafsson doesn't fail, this needs to be really hacked on.
b0796437d493ca2e083ab0ff02acf0dc0c8ad2a3David Lawrence *) Allow filters to modify headers and have those headers be sent to
98b8d49c0c0bbace27966eed5811bc81255ce297Brian Wellington the client. The idea is that we have an http_header filter that
98b8d49c0c0bbace27966eed5811bc81255ce297Brian Wellington actually sends the headers to the network. This removes the need
a94948ad5b3b258ce9503b7322bdf82c0baabcabAndreas Gustafsson for the BUFF to send headers.
8357e90fba97010a86356a41c8a961d5d602d7d0Michael Sawyer *) Charset translation: mod_charset_lite handles translation of
3291587f23b940c986f41cf37b2e531f618ec2bdMichael Sawyer request bodies. Get rid of the xlate version of ap_md5_digest()
a94948ad5b3b258ce9503b7322bdf82c0baabcabAndreas Gustafsson since we don't compute digests of filtered (e.g., translated)
a94948ad5b3b258ce9503b7322bdf82c0baabcabAndreas Gustafsson response bodies this way anymore. (Note that we don't do it at
abb38b673379d6dae7cbb495f814d73a4afe5c8bAndreas Gustafsson all at the present; somebody needs to write a filter to do so.)
3291587f23b940c986f41cf37b2e531f618ec2bdMichael Sawyer [Jeff Trawick]
b374727d513049b4bfcb9eb021002595fe6a7c63Mark Andrews *) Input filters and ap_get_brigade() now have a input mode parameter
b374727d513049b4bfcb9eb021002595fe6a7c63Mark Andrews (blocking, non-blocking, peek) instead of a length parameter.
b374727d513049b4bfcb9eb021002595fe6a7c63Mark Andrews *) Update the mime.types file to the registered media types as
2868291ab5d4deba4d61c110f92dc397807702c7Mark Andrews of 2000-10-19. PR#6613 [Carsten Klapp <carsten.klapp@home.net>,
be1d71fd17c92b0acee36ba43ebe4daa498e8014Mark Andrews *) Namespace protect some macros declared in ap_config.h
b374727d513049b4bfcb9eb021002595fe6a7c63Mark Andrews [Ryan Bloom]
8e732de92e9814e3fa54e36d2154939ea6086b16Andreas Gustafsson *) Support HTTP header line folding with input filtering.
afd2f40b3cff8c3c307155bdc27e5b60e9115545Andreas Gustafsson *) Mod_include works again. This should still be re-written, but at
afd2f40b3cff8c3c307155bdc27e5b60e9115545Andreas Gustafsson least now we can serve an SHTML page again.
c605f30cd7d540243509c86cf31b01bdd4fe19feMark Andrews *) Begin to remove BUFF from the core. Currently, we keep a pointer
c605f30cd7d540243509c86cf31b01bdd4fe19feMark Andrews to both the BUFF and the socket in the conn_rec. Functions that
c605f30cd7d540243509c86cf31b01bdd4fe19feMark Andrews want to use the BUFF can, functions that want to use the socket,
3302ed8d6eaef8f598338f5682477c5f6acd583cBob Halley can. They point to the same place.
3302ed8d6eaef8f598338f5682477c5f6acd583cBob Halley [Ryan Bloom]
3302ed8d6eaef8f598338f5682477c5f6acd583cBob Halley *) apr_psprintf doesn't understand %lld as a format. Make it %ld.
3302ed8d6eaef8f598338f5682477c5f6acd583cBob Halley [Tomas "�gren" <stric@ing.umu.se>]
d03bffc40e68ddb63d278946fd9f7f1ad784f5bcMichael Sawyer *) APR pipes on Unix and Win32 are now cleaned up automatically when the
cef18335b7f37bf02bc9e9f2c8750a3a9dcd718aAndreas Gustafsson associated pool goes away. (APR pipes on OS/2 were already had this
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson logic.) This resolvs a fatal file descriptor leak with CGIs.
d03bffc40e68ddb63d278946fd9f7f1ad784f5bcMichael Sawyer [Jeff Trawick]
91ac60fe11b3ebd095c5fed0db343b2c9a97e646Mark Andrews *) The final line of the config file was not being read if there was
83d2840b6f1a5ec898e441be148ddd3211f11583Bob Halley no \n at the end of it. This was caused by apr_fgets returning
83d2840b6f1a5ec898e441be148ddd3211f11583Bob Halley APR_EOF even though we had read valid data. This is solved by
83d2840b6f1a5ec898e441be148ddd3211f11583Bob Halley making cfg_getline check the buff that was returned from apr_fgets.
83d2840b6f1a5ec898e441be148ddd3211f11583Bob Halley If apr_fgets return APR_EOF, but there was data in the buf, then we
42e31e6ef7689e0c0569a1f9a5c250d73870b073Michael Graff return the buf, otherwise we return NULL.
42e31e6ef7689e0c0569a1f9a5c250d73870b073Michael Graff *) Piped logs work again in the 2.0 series.
a405a53d536521e6c93f47485aacd7c1a1ffb29eAndreas Gustafsson *) Restore functionality broken by the mod_rewrite security fix:
a405a53d536521e6c93f47485aacd7c1a1ffb29eAndreas Gustafsson rewrite map lookup keys and default values are now expanded
a405a53d536521e6c93f47485aacd7c1a1ffb29eAndreas Gustafsson so that the lookup can depend on the requested URI etc.
a405a53d536521e6c93f47485aacd7c1a1ffb29eAndreas Gustafsson PR #6671 [Tony Finch]
53df51bf458da9b04074b6b62b5639c926a751e4Andreas Gustafsson *) Tighten up the syntax checking of Host: headers to fix a
53df51bf458da9b04074b6b62b5639c926a751e4Andreas Gustafsson security bug in some mass virtual hosting configurations
ba43c53451d5c38765f376eeede457178b36951aBob Halley that can allow a remote attacker to retrieve some files
ba43c53451d5c38765f376eeede457178b36951aBob Halley on the system that should be inaccessible. [Tony Finch]
b9dead30b1806bcfcca9a47dfa3f5078c6377910Mark Andrews *) Add a pool bucket type. This bucket is used for data allocated out
b9dead30b1806bcfcca9a47dfa3f5078c6377910Mark Andrews of a pool. If the pool is cleaned before the bucket is destroyed, then
056141f2878d1046306ef0ba035263a00de57f98Mark Andrews the data is converted to a heap bucket, allowing it to survive the
056141f2878d1046306ef0ba035263a00de57f98Mark Andrews death of the pool.
5126112bc3639b9dae5726c3148d6699d277e789Mark Andrews [Ryan Bloom]
668278867ba063995988507b6b28724ebb9f9391Mark Andrews *) Add a flush bucket. This allows modules to signal that the filters
4440f995911810aaa98d8985ac1a8192095879f2Michael Graff should all flush whatever data they currently have. There is no way
72c815ed1780b9039b9ad0d31faf68b3b5c05637Andreas Gustafsson to actually force them to do this, so if a filter ignores this bucket,
72c815ed1780b9039b9ad0d31faf68b3b5c05637Andreas Gustafsson that's life, but at least we can try with this.
2053a53eeac7f069311d8ed67333503c7d3a2e2bAndreas Gustafsson *) Add an output filter for sub-requests. This filter just strips the
72c815ed1780b9039b9ad0d31faf68b3b5c05637Andreas Gustafsson EOS bucket so that we don't confuse the main request's core output
b7e031d5173476224027407d8e23eaa7557fc396Andreas Gustafsson filter by sending multiple EOS buckets. This change also makes sub
b7e031d5173476224027407d8e23eaa7557fc396Andreas Gustafsson requests start to send EOS buckets when they are finished.
b7e031d5173476224027407d8e23eaa7557fc396Andreas Gustafsson *) Make ap_bucket_(read|destroy|split|setaside) into macros. Also
b7e031d5173476224027407d8e23eaa7557fc396Andreas Gustafsson makes ap_bucket_destroy a return void, which is okay because it
b7e031d5173476224027407d8e23eaa7557fc396Andreas Gustafsson used to always return APR_SUCCESS, and nobody ever checked its
b7e031d5173476224027407d8e23eaa7557fc396Andreas Gustafsson return value anyway.
7ec4367f3d578170a9495ff3c851b248c1656f08Andreas Gustafsson [Cliff Woolley <cliffwoolley@yahoo.com>]
2c9c7c5bb5975a18925c30aeb33a26094902f1c1Andreas Gustafsson *) Remove the index into the bucket-type table from the buckets
cef18335b7f37bf02bc9e9f2c8750a3a9dcd718aAndreas Gustafsson structure. This has now been replaced with a pointer to the
2c9c7c5bb5975a18925c30aeb33a26094902f1c1Andreas Gustafsson bucket_type. Also add some macros to test the bucket-type.
94361d586755d4de09b717782f7002e9dd282c89Andreas Gustafsson *) Renamed all MODULE_EXPORT symbols to AP_MODULE_DECLARE and all symbols
94361d586755d4de09b717782f7002e9dd282c89Andreas Gustafsson for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper)
94361d586755d4de09b717782f7002e9dd282c89Andreas Gustafsson and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE.
4440f995911810aaa98d8985ac1a8192095879f2Michael Graff All _VAR_ flavors changes to _DATA to be absolutely clear.
4440f995911810aaa98d8985ac1a8192095879f2Michael Graff [William Rowe]
4440f995911810aaa98d8985ac1a8192095879f2Michael Graff *) Add support for /, //, //servername and //server/sharename
4440f995911810aaa98d8985ac1a8192095879f2Michael Graff parsing of <Directory> blocks under Win32 and OS2.
4440f995911810aaa98d8985ac1a8192095879f2Michael Graff [Tim Costello, William Rowe, Brian Harvard]
4440f995911810aaa98d8985ac1a8192095879f2Michael Graff *) Remove the function pointers from the ap_bucket type. They have been
abaec24086f0cc3d7c0994ca9d2247b40eb6aaedBrian Wellington replaced with a global table. Modules are allowed to register bucket
abaec24086f0cc3d7c0994ca9d2247b40eb6aaedBrian Wellington types and use then use those buckets.
cef18335b7f37bf02bc9e9f2c8750a3a9dcd718aAndreas Gustafsson *) mod_cgid: In the handler, shut down the Unix socket (only for write)
3ad16d4c3a5029662d4ec804f7644739d011d03dBob Halley once we finish writing the request body to the cgi child process;
3ad16d4c3a5029662d4ec804f7644739d011d03dBob Halley otherwise, the client doesn't hit EOF on stdin. Small request bodies
3ad16d4c3a5029662d4ec804f7644739d011d03dBob Halley worked without this change (for reasons I don't understand), but large
3ad16d4c3a5029662d4ec804f7644739d011d03dBob Halley ones didn't. [Jeff Trawick]
32b2cdf212de957e3f9b0efca59f098ed4fb42deBrian Wellington *) Remove file bucket specific information from the ap_bucket type.
32b2cdf212de957e3f9b0efca59f098ed4fb42deBrian Wellington This has been moved to a file_bucket specific type that hangs off
32b2cdf212de957e3f9b0efca59f098ed4fb42deBrian Wellington the data pointer in the ap_bucket type.
b42a7e9d80e293a5104d9de6ddabd29676918aa5Andreas Gustafsson *) Input filtering now has a third argument. This is the amount of data
3113e4dac81fa7b9f0ee5d663d54fbb8ed92738dBob Halley to read from lower filters. This argument can be -1, 0, or a positive
3113e4dac81fa7b9f0ee5d663d54fbb8ed92738dBob Halley number. -1 means give me all the data you have, I'll deal with it and
3113e4dac81fa7b9f0ee5d663d54fbb8ed92738dBob Halley let you know if I need more. 0 means give me one line and one line
7f52817a92d74be0d970c33b204f8f13309eece5Andreas Gustafsson only. A positive number means I want no more than this much data.
8cf8a04209c3b6c8d4f0936f1dce06b629605c81Michael Graff Currently, only 0 and a positive number are implemented. This allows
8cf8a04209c3b6c8d4f0936f1dce06b629605c81Michael Graff us to remove the remaining field from the conn_rec structure, which
8cf8a04209c3b6c8d4f0936f1dce06b629605c81Michael Graff has also been done.
1fc26319b5d69d19a7a31c8d0ab1afc2beef0c41Andreas Gustafsson *) Big cleanup of the input filtering. The goal is that http_filter
1fc26319b5d69d19a7a31c8d0ab1afc2beef0c41Andreas Gustafsson understands two conditions, headers and body. It knows where it is
1fc26319b5d69d19a7a31c8d0ab1afc2beef0c41Andreas Gustafsson based on c->remaining. If c->remaining is 0, then we are in headers,
7da0286b540515c82ea83163d6cba59a64fa3eddMichael Graff and http_filter returns a line at a time. If it is not 0, then we are
7da0286b540515c82ea83163d6cba59a64fa3eddMichael Graff in body, and http_filter returns raw data, but only up to c->remaining
cef18335b7f37bf02bc9e9f2c8750a3a9dcd718aAndreas Gustafsson bytes. It can return less, but never more.
7da0286b540515c82ea83163d6cba59a64fa3eddMichael Graff [Greg Ames, Ryan Bloom, Jeff Trawick]
7da0286b540515c82ea83163d6cba59a64fa3eddMichael Graff *) mod_cgi: Write all of the request body to the child, not just what
c4ec2c3190175705df255aa3d5e842a96137a5a1Andreas Gustafsson the kernel would accept on the first write. [Jeff Trawick]
8529c3cdc6abdf3514cb0127313a976bbc3b3936Andreas Gustafsson *) Back out the change that moved the brigade from the core_output_filters
8529c3cdc6abdf3514cb0127313a976bbc3b3936Andreas Gustafsson ctx to the conn_rec. Since all requests over a given connection
87ecd67dae468cf5c9bae213c6fa321449b2ebc2Andreas Gustafsson go through the same core_output_filter, the ctx pointer has the
87ecd67dae468cf5c9bae213c6fa321449b2ebc2Andreas Gustafsson correct lifetime.
f38a84ce830efefe48838425ab281e0ae2a91d0eAndreas Gustafsson *) Fix another bug in the send_the_file() read/write loop. A partial
f38a84ce830efefe48838425ab281e0ae2a91d0eAndreas Gustafsson send by apr_send would cause unsent data in the read buffer to
1b32bc7da1da9059abd68d6dd15b23e8a442afa3Brian Wellington get clobbered. Complete making send_the_file handle partial
1b32bc7da1da9059abd68d6dd15b23e8a442afa3Brian Wellington writes to the network.
1b32bc7da1da9059abd68d6dd15b23e8a442afa3Brian Wellington [Bill Stoddard]
4187398298c1916f409b44e0457f60e551f5ea1bAndreas Gustafsson *) Fix a couple of type fixes to allow compilation on AIX again
4187398298c1916f409b44e0457f60e551f5ea1bAndreas Gustafsson [Victor J. Orlikowski <v.j.orlikowski@gte.net>]
4187398298c1916f409b44e0457f60e551f5ea1bAndreas Gustafsson *) Fix bug in send_the_file() which causes offset to be ignored
4b809ba3464c9fb6bb08e9153b9286a8f8a37b01Brian Wellington if there are no headers to send.
4b809ba3464c9fb6bb08e9153b9286a8f8a37b01Brian Wellington [Bill Stoddard]
a69cebac84ec223b908e056678fa7c1181785b20Andreas Gustafsson *) Handle APR_ENOTIMPL returned from apr_sendfile in the core
a69cebac84ec223b908e056678fa7c1181785b20Andreas Gustafsson filter. Useful for supporting Windows 9* with a binary
d9ec31a329a14588127b0a15618dec53ca41c73eAndreas Gustafsson compiled on Windows NT.
d9ec31a329a14588127b0a15618dec53ca41c73eAndreas Gustafsson [Bill Stoddard]
e5d0f6d61e2349e1512c40922305b28c69cb4d3fBrian WellingtonChanges with Apache 2.0a7
37a8fbab3a1fe6d513b767118cba7515152c2b9bBrian Wellington *) Reimplement core_output_filter to buffer/save bucket brigades
37a8fbab3a1fe6d513b767118cba7515152c2b9bBrian Wellington across multiple calls to the core_filter. The brigade will be
a38f86ea5bb9f924b5912d8444862000a1323082Andreas Gustafsson sent when either MIN_BYTES_TO_SEND or MAX_IOVEC_TO_WRITE
a38f86ea5bb9f924b5912d8444862000a1323082Andreas Gustafsson thresholds are hit or the EOS bucket is received.
a38f86ea5bb9f924b5912d8444862000a1323082Andreas Gustafsson [Bill Stoddard]
7d8d82cee0910a0252e1c37bace732e996789772Andreas Gustafsson *) Create experimental filter (buffer_filter) that coalesces bytes
7d8d82cee0910a0252e1c37bace732e996789772Andreas Gustafsson into one large buffer before invoking the next filter in the
7d8d82cee0910a0252e1c37bace732e996789772Andreas Gustafsson chain. This filter is particularly useful with the current
cdc2d4a065b6b1a00f0b07aae94bc7cb380d15bcAndreas Gustafsson implementation of mod_autoindex when it inserted above the
ec4060d3104e8bec28406232eb7338c81bb1b1c1Mark Andrews chunk_filter. mod_autoindex generates a lot of brigades that
735fb4ffa6a76413f85101d7d625a4776d6ee6cdAndreas Gustafsson containing buckets holding just a few bytes each. The
d70e2f3652fcbcfb2cfa0781a71e2bd2396871f3Andreas Gustafsson buffer_filter coalesces these buckets into a single large bucket.
2c7097eac0aed3b0b3387082cb783db64f2d7765Andreas Gustafsson [Bill Stoddard]
d70e2f3652fcbcfb2cfa0781a71e2bd2396871f3Andreas Gustafsson *) Add apr_sendfile() support into the core_output_filter.
9139e153da3ffa88457d3e035e2f0132c63a4a71Andreas Gustafsson [Bill Stoddard]
9139e153da3ffa88457d3e035e2f0132c63a4a71Andreas Gustafsson *) Add apr_sendv() support into the core_output_filter.
30e6ea9dedbe0738f9729833b1b59042dbebc4dfBrian Wellington [Bill Stoddard]
1aae88078f409b39c24e2313ffdd767ed29ac787Brian Wellington *) Fix mod_log_config so that it compiles cleanly with BUFFERED_LOGS
1aae88078f409b39c24e2313ffdd767ed29ac787Brian Wellington [Mike Abbott <mja@sgi.com>]
17a28c1f02c5093b207a3b64201aa9e71df78ebaAndreas Gustafsson *) Remove ap_send_fb. This is no longer used in Apache, and it doesn't
b5232b135db580a2c16666e74a82f11130e0731fAndreas Gustafsson make much sense, because Apache uses buckets instead of BUFFs now.
b5232b135db580a2c16666e74a82f11130e0731fAndreas Gustafsson *) send_the_file now falls back to a read/write loop on platforms that
87075c90f668f4c2f7a709a6bd32bb8e013ae73dBrian Wellington do not have sendfile.
87075c90f668f4c2f7a709a6bd32bb8e013ae73dBrian Wellington [Ryan Bloom and Brian Havard]
cea88d887559f209ae9d993e0a8fb58d03f60e77Brian Wellington *) Install apachectl correctly, and substitute the proper values so
cea88d887559f209ae9d993e0a8fb58d03f60e77Brian Wellington that it works again. [Ryan Bloom]
a7705f38e91cc6afaba0426f6b452c9ae5a4efeaAndreas Gustafsson *) Better(??) handle platforms that lack sendfile().
a7705f38e91cc6afaba0426f6b452c9ae5a4efeaAndreas Gustafsson [Jim Jagielski]
a7705f38e91cc6afaba0426f6b452c9ae5a4efeaAndreas Gustafsson *) APR now has UUID generation/formatting/parsing support.
a7705f38e91cc6afaba0426f6b452c9ae5a4efeaAndreas Gustafsson *) Begin the http_filter. This is an input filter that understands
735fb4ffa6a76413f85101d7d625a4776d6ee6cdAndreas Gustafsson the absolute basic amount required to parse an HTTP Request. The
735fb4ffa6a76413f85101d7d625a4776d6ee6cdAndreas Gustafsson goal is to be able to split headers from request body before passing
735fb4ffa6a76413f85101d7d625a4776d6ee6cdAndreas Gustafsson the data back to the other filters.
c05eb51a1b9ebd156b9fec957d60c2579c968468Mark Andrews *) Bring forward from 1.3.13 the config directory implementation
a3365e361f0066609d250005e2b1082cb2ba35fdAndreas Gustafsson [Jim Jagielski]
a3365e361f0066609d250005e2b1082cb2ba35fdAndreas Gustafsson *) install apxs if it is created
e32394a2ac3466a2235f79ee32c247a11be42a8dAndreas Gustafsson *) Added APR_IS_STATUS_condition test macros to eliminate canonical error
031f9084fc1ca8b258c151f428677e7226556ad0Mark Andrews conversions. [William Rowe]
031f9084fc1ca8b258c151f428677e7226556ad0Mark Andrews *) Now that we have ap_add_input_filter(), rename ap_add_filter() to
031f9084fc1ca8b258c151f428677e7226556ad0Mark Andrews ap_add_output_filter(). [Jeff Trawick]
031f9084fc1ca8b258c151f428677e7226556ad0Mark Andrews *) Multiple build and configuration fixes
031f9084fc1ca8b258c151f428677e7226556ad0Mark Andrews Build process:
031f9084fc1ca8b258c151f428677e7226556ad0Mark Andrews -add datadir and localstatedir substitutions
44215b932d4f0ce5257d794cb6f76b9282455eb1Mark Andrews -fix layout name
44215b932d4f0ce5257d794cb6f76b9282455eb1Mark Andrews -fix logfilename misspelling
44215b932d4f0ce5257d794cb6f76b9282455eb1Mark Andrews -fix evaluation of installation dir variables and
44215b932d4f0ce5257d794cb6f76b9282455eb1Mark Andrews -replace $foobar by $(foobar) to be usefull in the makefile
405ffb1f0d2c12d199f85f03973d1a02ac12e000Andreas Gustafsson Cross compile:
405ffb1f0d2c12d199f85f03973d1a02ac12e000Andreas Gustafsson -add rules for cross-compiling in rules.mk. Okay, rule to check for
405ffb1f0d2c12d199f85f03973d1a02ac12e000Andreas Gustafsson $CC_FOR_BUILD is still missing
405ffb1f0d2c12d199f85f03973d1a02ac12e000Andreas Gustafsson -use CHECK_TOOL instead of CHECK_PROG for ranlib
eea2865feca4ea56facd2ef6e7226386a3604f65Andreas Gustafsson -add missing "AR=@AR@" to severaly Makefile.in's
6d8568cb45240974da0ee1b653b28e3fdfffe93eAndreas Gustafsson -cache result for "struct rlimit"
6d8568cb45240974da0ee1b653b28e3fdfffe93eAndreas Gustafsson -compile all helper programs with native and cross compiler
6d8568cb45240974da0ee1b653b28e3fdfffe93eAndreas Gustafsson and use the native version to generate header file
6d8568cb45240974da0ee1b653b28e3fdfffe93eAndreas Gustafsson ["R�diger" Kuhlmann <Tadu@gmx.de>]
6d3f954c572db02159deedd444373161fda47a88Brian Wellington *) Prepare our autoconf setup for autoconf 2.14a and for cross-
b0f941a50f24656b3523609f86cead41b0269c7aBrian Wellington ["R�diger" Kuhlmann <Tadu@gmx.de>]
ea419adc4eca4c3e44f2c282035b5dce6b795fe2Andreas Gustafsson *) Fix a bug where a client which only sends \n to delimit header
3f31c8c2954f857e375db8e943a35f6aa5e230b4Andreas Gustafsson lines (netcat) gets a strange looking HTTP_NOT_IMPLEMENTED
ea419adc4eca4c3e44f2c282035b5dce6b795fe2Andreas Gustafsson message. Start working on ebcdic co-existance with input
ff59f0e4feaefb45a49427bd91775058b4b4f2d0Andreas Gustafsson [William Rowe, Greg Ames]
8af0b86ade4c15a7db207bd7643f8a9f6cb5a648David Lawrence *) If mod_so is enabled in the server always create libexec, even
8af0b86ade4c15a7db207bd7643f8a9f6cb5a648David Lawrence if there are no modules installed in this directory. This is a
886b96ebfd555cfeaf37ae46fc08421a41c61392Andreas Gustafsson requirement for APXS to work correctly.
674f1cfb1d7dfa92e52db950dbe80e60ef8f5cddBrian Wellington *) Connection oriented output filters are now stored in the
69d17bea6be937b92f3375e6249b5677c90f4fe2Andreas Gustafsson conn_rec instead of the request_rec. This allows us to add the
69d17bea6be937b92f3375e6249b5677c90f4fe2Andreas Gustafsson output filter in the pre-connection phase instead of the
69d17bea6be937b92f3375e6249b5677c90f4fe2Andreas Gustafsson post_read_request phase, which keeps us from trying to write an
da76a8046e01e1c1c2e6f75772afb2c4f202cc25Brian Wellington error page before we have a filter to write to the network.
cd7ffa4c1286a48c10056632be3fb0b64c575c35Brian Wellington [Ryan Bloom, Jeff Trawick, and Greg Ames]
cd7ffa4c1286a48c10056632be3fb0b64c575c35Brian Wellington *) Cleaning up an mmap bucket no longer deletes the mmap. An
0cff88818a96197995c3533f6cbfb1a0efc06db0Brian Wellington mmap can be used across multiple buckets (default_handler with
0cff88818a96197995c3533f6cbfb1a0efc06db0Brian Wellington byte ranges, mod_file_cache, mod_mmap_static), so cleanup of
5bba7216f3263dc49dd4db2ac64b6203a9e2b180Andreas Gustafsson the mmap itself can't be associated with the bucket.
5bba7216f3263dc49dd4db2ac64b6203a9e2b180Andreas Gustafsson [Jeff Trawick]
40817ed9c13782a7844e15dde24432611c4694acDavid Lawrence *) Add .dll caching directive ISAPICacheFile to mod_isapi.
e06aebbe7b5b3128f99b16d6756a074b4de28d37Mark Andrews [William Rowe]
40b1b44ed65b9655a135fc867ed9f0374c247ad4Andreas Gustafsson *) Radical surgery to improve mod_isapi support under Win32.
40b1b44ed65b9655a135fc867ed9f0374c247ad4Andreas Gustafsson Includes a number of newer ServerSupportFunction calls, support
40b1b44ed65b9655a135fc867ed9f0374c247ad4Andreas Gustafsson for ReadClient (in order to retrieve POSTs greater than 48KB),
ab8668fb583a92df0698f5cdac7e7b12ead614aaBrian Wellington and general bug fixes to more reliably load ISAPI .dll's and
ab8668fb583a92df0698f5cdac7e7b12ead614aaBrian Wellington prevent leaking handle resources. Note: There are still
ab8668fb583a92df0698f5cdac7e7b12ead614aaBrian Wellington discrepancies between IIS's and Apache's ServerVariables, and
575db903aabb08137a757d1c60ebb0d286ecff56Andreas Gustafsson async calls are still not supported. Additional warnings are
575db903aabb08137a757d1c60ebb0d286ecff56Andreas Gustafsson logged to facilitate debugging of unsupported ISAPI calls.
575db903aabb08137a757d1c60ebb0d286ecff56Andreas Gustafsson [William Rowe]
575db903aabb08137a757d1c60ebb0d286ecff56Andreas Gustafsson *) Add input filtering to Apache. The basic idea for the input
575db903aabb08137a757d1c60ebb0d286ecff56Andreas Gustafsson filters is the same as the ideas for output filters. The biggest
a4c55a3d0813e00e3d7846cc9736110c61d0a2baAndreas Gustafsson difference is that instead of calling ap_pass_brigade, ap_get_brigade
a4c55a3d0813e00e3d7846cc9736110c61d0a2baAndreas Gustafsson should be called, and the order of execution for the filter itself is
d403e27f2b1c94f2b9349ddb68f50a141ae8d26dAndreas Gustafsson different. When writing an output filter, a brigade is passed in,
c851f1cc2187b59687af94725fbacac022987d05Andreas Gustafsson and filters operate directly on that brigade, when done, they call
c851f1cc2187b59687af94725fbacac022987d05Andreas Gustafsson ap_pass_brigade. Input filters are the exact opposite. Because input
91614f2bc498ef7eea22e449c91951f4598c8223Andreas Gustafsson is not a push operation, filters first call ap_get_brigade. When this
91614f2bc498ef7eea22e449c91951f4598c8223Andreas Gustafsson function returns, the input filter will be left with a valid brigade.
91614f2bc498ef7eea22e449c91951f4598c8223Andreas Gustafsson The input filter should then operate on the brigade, and return.
512661edd7d51c8c179cce89a855df6cec2fcdcdMark Andrews *) Fix building on BSD/OS using its native make. The build system
512661edd7d51c8c179cce89a855df6cec2fcdcdMark Andrews falls back to the BSD .include directive on that host platform.
385a9cb48a70b329e507c39d043fa9a44c659913James Brister [Sascha Schumann]
385a9cb48a70b329e507c39d043fa9a44c659913James Brister *) Expand dbmmanage to allow -d -m -s -p options for Crypt, MD5,
385a9cb48a70b329e507c39d043fa9a44c659913James Brister SHA1 and plaintext password encodings. Make feature tests a
3cb0de1c667237085c6a805715c31ddc5fdc9c4dBrian Wellington bit more flexible. [William Rowe]
bd77de5fcaea4dcf2f0250ded32adfccd3a38256Brian Wellington *) Charset translation: mod_charset_lite handles output content
bd77de5fcaea4dcf2f0250ded32adfccd3a38256Brian Wellington translation in a filter. mod_charset_lite no longer ignores
bd77de5fcaea4dcf2f0250ded32adfccd3a38256Brian Wellington subrequests. A bunch of cruft related to BUFF's support for
e5f5ec73a710d21067d4721a9e82f2399f2f6c25David Lawrence translating request and response bodies was removed.
48674819ebf9176b5d5582ae851e485c324c1159Michael Sawyer [Jeff Trawick]
e5f5ec73a710d21067d4721a9e82f2399f2f6c25David Lawrence *) Move the addition of the CORE filter to the post_read_request
48674819ebf9176b5d5582ae851e485c324c1159Michael Sawyer hook in http_core.c. This removes the need to add the filter in
9594482ba300a4d694162fa62ba636c7dd00d3b6Brian Wellington multiple places and allows for an SSL module to be added much
9594482ba300a4d694162fa62ba636c7dd00d3b6Brian Wellington simpler. [Ryan Bloom]
47ddde42728034854444cf17e278cebaea06f666Michael Graff *) Fix a security problem that affects certain configurations of
edf8c55546efa9fb42da1c055ce02462a5c709c0David Lawrence mod_rewrite. If the result of a RewriteRule is a filename that
edf8c55546efa9fb42da1c055ce02462a5c709c0David Lawrence contains expansion specifiers, especially regexp backreferences
edf8c55546efa9fb42da1c055ce02462a5c709c0David Lawrence $0..$9 and %0..%9, then it may be possible for an attacker to
c5944292e9ebee4a39fe939b9a16fe5596808556David Lawrence access any file on the web server. [Tony Finch]
c5944292e9ebee4a39fe939b9a16fe5596808556David Lawrence *) Fix a bug where errors that are detected during early request parsing
c5944292e9ebee4a39fe939b9a16fe5596808556David Lawrence don't produce visible HTTP error messages at the browser, because
c5944292e9ebee4a39fe939b9a16fe5596808556David Lawrence the core_filter wasn't present. [Greg Ames]
c5944292e9ebee4a39fe939b9a16fe5596808556David Lawrence *) Provide apr_socklen_t as a portability aid.
c5944292e9ebee4a39fe939b9a16fe5596808556David Lawrence [Victor J. Orlikowski]
c5944292e9ebee4a39fe939b9a16fe5596808556David Lawrence *) Overhaul of dbmmanage to allow a groups arg (as in Apache 1.2)
36e0c379080343a0272dc076b7d7795ded04ee1dBrian Wellington as well as a comment arg to the add, adduser and update cmds.
36e0c379080343a0272dc076b7d7795ded04ee1dBrian Wellington update allows the user to clear or preserve pw/groups/comment.
529a6b5224d751504027293a766a4c8b81241869Brian Wellington Fixed a bug in dbmmanage that prevented the check option from
529a6b5224d751504027293a766a4c8b81241869Brian Wellington parsing a password followed by :group... text. Corrected the
529a6b5224d751504027293a766a4c8b81241869Brian Wellington seed calcualation for Win32 systems, and added -lsdbm support.
186ba80b8e391cf8421872f26771324644e45d83Andreas Gustafsson [William Rowe]
862a026a7d752fbc8b376df6f7a9080d7c778b49Brian Wellington *) Configured mod_auth_dbm to compile with sdbmlib under Win32.
677045ed612e1c26a32b5700479e26c25bcede58Brian Wellington [William Rowe]
677045ed612e1c26a32b5700479e26c25bcede58Brian Wellington *) Avoid a segfault when parsing .htaccess files. An
febf5f8b55abb2e6e840488a29a5ef4e20654f67David Lawrence uninitialized tree pointer was passed to ap_build_config().
febf5f8b55abb2e6e840488a29a5ef4e20654f67David Lawrence [Jeff Trawick]
c34bdef6bd197a04990e52469ad68481532dd35aAndreas Gustafsson *) Change the way that inet_addr & inet_network are checked for
c34bdef6bd197a04990e52469ad68481532dd35aAndreas Gustafsson in APR's configure process to allow BeOS BONE to correctly
05f6d0c0381d19eec721e11f6fd88caef25dacd8Andreas Gustafsson find them. With this change BeOS BONE now builds from source
bc334fc90142b2ca26823a3ed1a3f4f086c7d558Andreas Gustafsson with no problems. [David Reid]
a32738e3e4ed9619c8ace22cd119e6769176b22cAndreas Gustafsson *) Fix a bug in apr_create_process() for Unix. The NULL signifying
a32738e3e4ed9619c8ace22cd119e6769176b22cAndreas Gustafsson the end of the parameters to execve() was stored in the wrong
a32738e3e4ed9619c8ace22cd119e6769176b22cAndreas Gustafsson location, overlaying the storage beyond the newargs[] array and
6dc130c7c95107748fff5f767161c2bb742f9f87Brian Wellington also passing uninitialized storage to execve(), which would
6dc130c7c95107748fff5f767161c2bb742f9f87Brian Wellington sometimes fail with EFAULT. [Jeff Trawick]
49855f0856a0f6f9fed80af88faddf38f3e74eefAndreas Gustafsson *) Fix a bug parsing configuration file containers. With a sequence
49855f0856a0f6f9fed80af88faddf38f3e74eefAndreas Gustafsson like this in the config file
cef18335b7f37bf02bc9e9f2c8750a3a9dcd718aAndreas Gustafsson the second container would be terminated at the blank line due to
080a4fe83c3ad208073bffbce1a2af8fe444214fMichael Sawyer sediment in the buffer from reading the prior </IfModule> and an
36007b707f28f36864e8d76f11379b22e9737538Michael Sawyer error message would be generated for the real </IfModule> for the
36007b707f28f36864e8d76f11379b22e9737538Michael Sawyer second container. Also due to this problem, any two characters
36007b707f28f36864e8d76f11379b22e9737538Michael Sawyer could be used for "</" in the close of a container.
375f19cfb2f9cf5a9efbc65b557a8ce865de85c2Michael Sawyer [Jeff Trawick]
375f19cfb2f9cf5a9efbc65b557a8ce865de85c2Michael Sawyer *) ap_add_filter prototype changed to remove the ctx pointer. The
375f19cfb2f9cf5a9efbc65b557a8ce865de85c2Michael Sawyer pointer still remains in the filter structure, but it can not be
375f19cfb2f9cf5a9efbc65b557a8ce865de85c2Michael Sawyer a part of the ap_add_filter prototype. The reason is that when
375f19cfb2f9cf5a9efbc65b557a8ce865de85c2Michael Sawyer the core uses AddFilter to add a filter to the stack it doesn't
9bef4575d71a084edf59ac681e53e35ae1b72166Andreas Gustafsson know how to allocate the ctx pointer, or even how much memory should
9bef4575d71a084edf59ac681e53e35ae1b72166Andreas Gustafsson be allocated. The filters will have to be responsible for allocating
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence the ctx memory when they need it.
87f4c7933fd2962cca3b9b7e046327f3c6306b84Andreas Gustafsson *) Add an AddFilter directive. This directive takes a list of filters
87f4c7933fd2962cca3b9b7e046327f3c6306b84Andreas Gustafsson that should be activated for the requested resource.
87f4c7933fd2962cca3b9b7e046327f3c6306b84Andreas Gustafsson *) apr_snprintf(): Get quad format strings working on OS/390 (and perhaps
87f4c7933fd2962cca3b9b7e046327f3c6306b84Andreas Gustafsson some other platforms). [Jeff Trawick]
87f4c7933fd2962cca3b9b7e046327f3c6306b84Andreas Gustafsson *) Modify mod_include to be a filter. Currently, it has only been tested
87f4c7933fd2962cca3b9b7e046327f3c6306b84Andreas Gustafsson on actual files, but it should work for CGI scripts too.
10e6498d6d7b2cfd8d822788d817fc9a3e0b0c3aDavid Lawrence *) apr_putc(), apr_puts() for Unix: handle buffered files and interrupted
10e6498d6d7b2cfd8d822788d817fc9a3e0b0c3aDavid Lawrence writes. apr_flush() for Unix: handle interrupted writes.
10e6498d6d7b2cfd8d822788d817fc9a3e0b0c3aDavid Lawrence [Jeff Trawick]
10e6498d6d7b2cfd8d822788d817fc9a3e0b0c3aDavid Lawrence *) NameVirtualHost can now take "*" as an argument instead of
10e6498d6d7b2cfd8d822788d817fc9a3e0b0c3aDavid Lawrence an IP address. This allows you to create a purely name-based
dae5ce6ddb0a3c425865d3b6f0f13c4126eacc17Andreas Gustafsson virtual hosting server that does not have any IP addresses in
dae5ce6ddb0a3c425865d3b6f0f13c4126eacc17Andreas Gustafsson the configuration file and which ignores the local address
dae5ce6ddb0a3c425865d3b6f0f13c4126eacc17Andreas Gustafsson of any connections. PR #5595, PR #4455 [Tony Finch]
9a8fea7bc8fb79ff1d31f0a2ba3c9694041c6f3aAndreas Gustafsson *) Fix some compile warnings in mod_mmap_static.c
9a8fea7bc8fb79ff1d31f0a2ba3c9694041c6f3aAndreas Gustafsson [Mike Abbott <mja@sgi.com>]
663841abe0bb1cc8040e552597ef721c35b799e5Brian Wellington *) Fix chunking problem with CGI scripts. The general problem was that
663841abe0bb1cc8040e552597ef721c35b799e5Brian Wellington the CGI modules were adding an EOS bucket and then the core added an
c49e3222b0912479015161e8b54a67a1abf9a0ffAndreas Gustafsson EOS bucket. The chunking filter finalizes the chunked response when it
c49e3222b0912479015161e8b54a67a1abf9a0ffAndreas Gustafsson encounters an EOS bucket. Because two EOS buckets were sent, we
c49e3222b0912479015161e8b54a67a1abf9a0ffAndreas Gustafsson finalized the response twice. The fix is to make sure we only send one
bf68c5151b5c4f7d6b2783584434e61045a88d7fAndreas Gustafsson EOS, by utilizing a flag in the request_rec.
bf68c5151b5c4f7d6b2783584434e61045a88d7fAndreas Gustafsson *) apr_put_os_file() now sets up the unget byte appropriately on Unix
178f73169a27ac031f58863ae12cdb33dc15f6c4Brian Wellington and Win32. Previously, the first read from an apr_file_t set up via
178f73169a27ac031f58863ae12cdb33dc15f6c4Brian Wellington apr_put_os_file() would return a '\0'. [Jeff Trawick]
9c4cba349f52bb8176c3858b2b5b340f13603802Brian Wellington *) Mod_cgid now creates a single element bucket brigade, with a pipe
9c4cba349f52bb8176c3858b2b5b340f13603802Brian Wellington bucket, instead of using BUFF's and ap_r*.
0e65062acb2b0d14ab64e0c7ae7eb4137758339bAndreas Gustafsson *) APRVARS.in no longer overwrites the EXTRA_LIBS variable.
64024eaa4d029b0bd090c435b8b02b45eef5cd89Andreas Gustafsson [Mike Abbott <mja@sgi.com>]
da527e4ff6a013364826637963e7ac372e024f33David Lawrence *) Remove ap_bopenf from buff code. This required modifying the file_cache
bc334fc90142b2ca26823a3ed1a3f4f086c7d558Andreas Gustafsson code to use APR file's directly instead of going through BUFFs.
8d51d9e67e1e5dcf10203c4147ece519c7daa57dMark Andrews [Ryan Bloom]
db6fa2e944b3a0682168e9ee145b86c81a6a5321Andreas Gustafsson *) Fix compile break on some platforms for mod_mime_magic.c
db6fa2e944b3a0682168e9ee145b86c81a6a5321Andreas Gustafsson [John K. Sterling <sterling@covalent.net>]
ce2be9b7211ab5bacaa10fe74ef35def3a3f6089David Lawrence *) Fix merging of AddDefaultCharset directive.
ce2be9b7211ab5bacaa10fe74ef35def3a3f6089David Lawrence PR #5872 (1.3) [Jun Kuriyama <kuriyama@imgsrc.co.jp>]
ce2be9b7211ab5bacaa10fe74ef35def3a3f6089David Lawrence *) Minor revamp of the rlimit sections of code. We now test
9bf765ab3a5203b854d32266e6162e547791383cDavid Lawrence explicitly for setrlimit and getrlimit. Also, unixd_set_rlimit()
9bf765ab3a5203b854d32266e6162e547791383cDavid Lawrence is now "available" even if the platform doesn't support
f4d9f465cd29963a99554bbe2936509ea3568c89James Brister the rlimit family (it's just a noop though). [Jim Jagielski]
f4d9f465cd29963a99554bbe2936509ea3568c89James Brister *) Migrate the pre-selection of which MPM to use for specific
adade77942b069127a7094df419b3ad39dafb385James Brister platforms to hints.m4, which contains (or should contain)
adade77942b069127a7094df419b3ad39dafb385James Brister all platform specific "hints". [Jim Jagielski]
9bf765ab3a5203b854d32266e6162e547791383cDavid Lawrence *) Remove IOLs from Apache. With filtering, IOLs are no longer necessary
5c0a406664065d54824675e3d2f795ea9e2a56b8Mark Andrews *) Add tables with non-string/binary values to APR.
ea01648cb950b8d4b5625a8a91a4c1c019dec885Andreas Gustafsson *) Fix some bad calls to ap_log_rerror() in mod_rewrite.
ea01648cb950b8d4b5625a8a91a4c1c019dec885Andreas Gustafsson [Jeff Trawick]
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *) Update PCRE to version 3.2. [Ryan Bloom]
ea01648cb950b8d4b5625a8a91a4c1c019dec885Andreas Gustafsson *) Change the way buckets' destroy functions are called so that
7d7bd1b4f0270691f434d37b1052259a13185663Andreas Gustafsson they can be more directly used when changing the type of a
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence bucket in place. [Tony Finch]
7d7bd1b4f0270691f434d37b1052259a13185663Andreas Gustafsson *) Add generic support for reference-counting the resources used by
7d7bd1b4f0270691f434d37b1052259a13185663Andreas Gustafsson buckets, and alter the HEAP and MMAP buckets to use it. Change
7d7bd1b4f0270691f434d37b1052259a13185663Andreas Gustafsson the way buckets are initialised to support changing the type of
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence buckets in place, and use it when setting aside TRANSIENT buckets.
ce8d0fffea20fe03fd0f075263f529ad55f82aacAndreas Gustafsson Change the implementation of TRANSIENT buckets so that it can be
81f11a70588c6929d1aefd529b940efb70747fc2Andreas Gustafsson mostly shared with IMMORTAL buckets, which are now implemented.
04d58db32739157df6c44e3f37ecb83816fd3f75Andreas GustafssonChanges with Apache 2.0a6
04d58db32739157df6c44e3f37ecb83816fd3f75Andreas Gustafsson *) Add support to Apache and APR for dsos on OS/390. [Greg Ames]
04d58db32739157df6c44e3f37ecb83816fd3f75Andreas Gustafsson *) Add a chunking filter to Apache. This brings us one step closer
5096958739769958dd7a6b69356bf41260033873David Lawrence to removing BUFF. [Ryan Bloom]
5096958739769958dd7a6b69356bf41260033873David Lawrence *) ap_add_filter now adds filters in a LIFO fashion. The first filter
5096958739769958dd7a6b69356bf41260033873David Lawrence added to the stack is the last filter to be called. [Ryan Bloom]
84f4e4a656926a795f3bae40b2a6308bebb48b49David Lawrence *) Apache 2.0 has been completely documented using Scandoc. The
84f4e4a656926a795f3bae40b2a6308bebb48b49David Lawrence docs can be generated by running 'make docs'. [Ryan Bloom]
838281ed55d0d3939c2f510559d5852872ed4ddbDavid Lawrence *) Add filtered I/O to Apache. This is based on bucket brigades,
838281ed55d0d3939c2f510559d5852872ed4ddbDavid Lawrence Currently the buckets still use BUFF under the covers, but that
838281ed55d0d3939c2f510559d5852872ed4ddbDavid Lawrence should change quickly. The only currently written filter is the
89e57b472d87a37aa6c49a5544d1d1dfe9617f5dDavid Lawrence core filter which just calls ap_bwrite. [The Apache Group]
89e57b472d87a37aa6c49a5544d1d1dfe9617f5dDavid Lawrence *) APR locks on Unix: Let APR_LOCKALL locks work when APR isn't
89e57b472d87a37aa6c49a5544d1d1dfe9617f5dDavid Lawrence built with thread support. [Jeff Trawick]
280942843277ca894571ca94c1e431ba079d0ca0Mark Andrews *) Abort configuration if --with-layout was specified and there's
d1e971ba027a8d320cc87a02a71158970bd03308Mark Andrews no layout definition file. [Ken Coar]
d1e971ba027a8d320cc87a02a71158970bd03308Mark Andrews *) Add support for '--with-port=n' option to configure. [Ken Coar]
89e57b472d87a37aa6c49a5544d1d1dfe9617f5dDavid Lawrence *) Add support for extension methods for the Allow response header
475c936d4cd0fb83700eb3e022aaecc5626b9b4fJames Brister field, and an API routine for accessing r->allowed and the
d8c8722f28ca439b9ca46f109e2804a7eb33a1acBrian Wellington list of extension methods in a unified manner. [Ken Coar]
d8c8722f28ca439b9ca46f109e2804a7eb33a1acBrian Wellington *) mod_cern_meta: fix broken file reading loop in scan_meta_file().
d8c8722f28ca439b9ca46f109e2804a7eb33a1acBrian Wellington [Rob Simonson <simo@us.ibm.com>]
4b7167e96abe79cdf194ac3865760a7139b70090Brian Wellington *) Get xlate builds working again. The apr renaming in 2.0a5 broke
4b7167e96abe79cdf194ac3865760a7139b70090Brian Wellington APACHE_XLATE builds. [Jeff Trawick]
4b7167e96abe79cdf194ac3865760a7139b70090Brian Wellington *) A configuration file parsing problem was fixed. When the
a4b496f2abd35b0f27761385c8679de1f5714b0dBrian Wellington configuration file started with an IfModule/IfDefine container,
a4b496f2abd35b0f27761385c8679de1f5714b0dBrian Wellington only the last statement in the container would be retained.
a4b496f2abd35b0f27761385c8679de1f5714b0dBrian Wellington [Jeff Trawick]
952e9025b0ecd20e6c7f7852551e36bb9677f713James BristerChanges with Apache 2.0a5
952e9025b0ecd20e6c7f7852551e36bb9677f713James Brister *) Perchild is serving pages after passing them to different child
952e9025b0ecd20e6c7f7852551e36bb9677f713James Brister processes. There are still a lot of bugs, but this does work. I
952e9025b0ecd20e6c7f7852551e36bb9677f713James Brister have made requests against the same installation of Apache, and had
952e9025b0ecd20e6c7f7852551e36bb9677f713James Brister different servers use different user IDs to serve the responses.
952e9025b0ecd20e6c7f7852551e36bb9677f713James Brister This change moves to using socketpair instead of an AF_UNIX socket.
952e9025b0ecd20e6c7f7852551e36bb9677f713James Brister *) Perchild MPM still doesn't work perfectly, but it is serving pages.
952e9025b0ecd20e6c7f7852551e36bb9677f713James Brister It can't seem to pass between child processes yet, but I think we
952e9025b0ecd20e6c7f7852551e36bb9677f713James Brister are closer now than before. This moves us back to using Unix
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence Domain Sockets. [Ryan Bloom]
08133a2dbe88e0715e092fbdeec2431971ec0711Andreas Gustafsson *) libapr functions and types renamed with apr_ prefix.
08133a2dbe88e0715e092fbdeec2431971ec0711Andreas Gustafsson #include "apr_compat.h" for 1.3.x backwards compat
08133a2dbe88e0715e092fbdeec2431971ec0711Andreas Gustafsson *) Fix problems with APR sockaddr handling on Win32. It didn't always
8c1aa8573dd85774ac8921dc0482b91d73e8b8b6Mark Andrews return the right information on the local socket address.
bc334fc90142b2ca26823a3ed1a3f4f086c7d558Andreas Gustafsson [Gregory Nicholls <gnicholls@level8.com>]
96ab25294b028270eb1be867613df8a6c999b332David Lawrence *) ap_recv() on Win32: Set bytes-read to 0 on error.
96ab25294b028270eb1be867613df8a6c999b332David Lawrence [Gregory Nicholls <gnicholls@level8.com>]
96ab25294b028270eb1be867613df8a6c999b332David Lawrence *) Add an option to not detach from the controlling terminal without
96ab25294b028270eb1be867613df8a6c999b332David Lawrence going into single process mode. This allows for much easier
96ab25294b028270eb1be867613df8a6c999b332David Lawrence debugging of the process startup code. [Ryan Bloom]
e68de4a7dbf5b6a1b2ff3f4f4dd8adf80b80525bBrian Wellington *) ab: don't use perror() to report the failure of an APR function.
4ebb4093f80e32e4a57ff3769f7fd4ad2217ee44Andreas Gustafsson [Jeff Trawick]
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *) Make dexter, mpmt_pthread, and perchild MPMs not destroy the
5aa96829fdd12f30a2e9f717e66d44a4698b0675Andreas Gustafsson scoreboard on graceful restarts.
5aa96829fdd12f30a2e9f717e66d44a4698b0675Andreas Gustafsson *) Fix segfault/SIGSEGV when running gzip from mod_mime_magic.c.
5aa96829fdd12f30a2e9f717e66d44a4698b0675Andreas Gustafsson An invalid ap_proc_t was passed to ap_create_process().
5aa96829fdd12f30a2e9f717e66d44a4698b0675Andreas Gustafsson [Jeff Trawick]
e2894b0e5007e49f5b21be9113e41419ca8489a0Brian Wellington *) Allow modules to register filters. Those filters are still
e2894b0e5007e49f5b21be9113e41419ca8489a0Brian Wellington never called, but this is a step in the right direction.
e2894b0e5007e49f5b21be9113e41419ca8489a0Brian Wellington [Ryan Bloom and Greg Stein]
bc334fc90142b2ca26823a3ed1a3f4f086c7d558Andreas Gustafsson *) Register the mod_cgid daemon process for cleanup so that it is
845e0b5f968d4ac069ac8b802730467df8cd7136Mark Andrews killed at termination if it does not die when the parent gets
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence SIGTERM. This change is to fix occasional problems where the
c4252cd10ba9a35ef03c53b97961a4c0b15fe44fAndreas Gustafsson process stays around. Bugs in similar logic in mod_rewrite and
c4252cd10ba9a35ef03c53b97961a4c0b15fe44fAndreas Gustafsson mod_include were also fixed. [Jeff Trawick]
bc334fc90142b2ca26823a3ed1a3f4f086c7d558Andreas Gustafsson *) Fix a bug in the time handling. Basically, we were imploding a time
1318ddb52d8a8a22eae47f7d82137e74b9beacf1Mark Andrews in ap_parseHTTPdate, but it had bogus data in the exploded time format.
de8e189332e884db065b921f84e3ee4922ad10e3David Lawrence Namely, tm_usec and tm_gmtoff were not filled out. ap_implode_time
de8e189332e884db065b921f84e3ee4922ad10e3David Lawrence uses those two fields to adjust the time value. Because of the HTTP
de8e189332e884db065b921f84e3ee4922ad10e3David Lawrence spec, both of those values can be zero'ed out safely. This fixes
de8e189332e884db065b921f84e3ee4922ad10e3David Lawrence the bug correctly. [Ryan Bloom]
de8e189332e884db065b921f84e3ee4922ad10e3David Lawrence *) Fix a couple of place in the Windows code where the wrong error
202991557a4b7e8d3df7725d84f0fcae90dbaee6David Lawrence code was being returned. [Gregory Nicholls <gnicholls@level8.com>]
202991557a4b7e8d3df7725d84f0fcae90dbaee6David Lawrence *) Fix POOL_DEBUG (at least for prefork mpm). [Dean Gaudet]
202991557a4b7e8d3df7725d84f0fcae90dbaee6David Lawrence *) Added the APR_EOL_STR macro for platform dependent differences in
1c823819b73f17cbfd188d35962da196a48190fbAndreas Gustafsson logfiles and other raw text (such as all APR files). Fixes logfiles
1c823819b73f17cbfd188d35962da196a48190fbAndreas Gustafsson not terminated with cr/lf sequences in Win32. [William Rowe]
1c823819b73f17cbfd188d35962da196a48190fbAndreas Gustafsson *) Move all strings functions in APR to src/lib/apr/strings and create
e405739af20dcdc6c7f604548e78806a0d1515c5Brian Wellington apr_strings.h for the prototypes. [Ryan Bloom]
4ebb4093f80e32e4a57ff3769f7fd4ad2217ee44Andreas Gustafsson *) APR lock fixes: when using SysV sems, flock(), or fcntl(), be sure
428b78e56dc10ea220fadfed11242ceb1d51d0e3Andreas Gustafsson to repeat the syscall until we stop getting EINTR. I noticed a
b719a598e77aada962b3a05cb00179dc929d3939Andreas Gustafsson related problem at termination (SIGTERM) on FreeBSD when using
b719a598e77aada962b3a05cb00179dc929d3939Andreas Gustafsson fcntl(). Apache 1.3 had these new loops too. Also, make the flock()
b719a598e77aada962b3a05cb00179dc929d3939Andreas Gustafsson implementation work properly with child init. Previously, ap_lock()
b719a598e77aada962b3a05cb00179dc929d3939Andreas Gustafsson was essentially a no-op because all children were using different
428b78e56dc10ea220fadfed11242ceb1d51d0e3Andreas Gustafsson locks and thus nobody ever blocked. [Jeff Trawick]
428b78e56dc10ea220fadfed11242ceb1d51d0e3Andreas Gustafsson *) The htdocs/ tree has been moved out of the CVS source tree into
428b78e56dc10ea220fadfed11242ceb1d51d0e3Andreas Gustafsson a separate area for easier development. This has NO EFFECT on
428b78e56dc10ea220fadfed11242ceb1d51d0e3Andreas Gustafsson end-users or Apache installations. [Ken Coar]
428b78e56dc10ea220fadfed11242ceb1d51d0e3Andreas Gustafsson *) Integrate the mod_dav module for WebDAV protocol handling. This
428b78e56dc10ea220fadfed11242ceb1d51d0e3Andreas Gustafsson adds the dav and dav_fs modules, the SDBM library, and additional
b74e73c5b4b299da20a6b196b68b9068d376ff35Mark Andrews XML handling utilities. [Greg Stein]
b74e73c5b4b299da20a6b196b68b9068d376ff35Mark Andrews *) Clean out obsolete names (from httpd.h) for the HTTP Status Codes
b74e73c5b4b299da20a6b196b68b9068d376ff35Mark Andrews [Greg Stein]
202991557a4b7e8d3df7725d84f0fcae90dbaee6David Lawrence *) Update the lib/expat-lite/ library (bring forward changes from
323b6387ce2575627427859b8668e7f27f090c4cMark Andrews the Apache 1.3 repository). [Greg Stein]
d68e4b66b1075e556b480f8bfb607aeba5da46f6Andreas Gustafsson *) If sizeof(long long) == sizeof(long), then prefer long in APR
d68e4b66b1075e556b480f8bfb607aeba5da46f6Andreas Gustafsson configure.in. [Dave Hill <ddhill@zk3.dec.com>]
d68e4b66b1075e556b480f8bfb607aeba5da46f6Andreas Gustafsson *) Add ap_sendfile for Tru64 Unix. Also, add an error message for
d68e4b66b1075e556b480f8bfb607aeba5da46f6Andreas Gustafsson machines where sendfile is detected, but nobody has written ap_sendfile.
d68e4b66b1075e556b480f8bfb607aeba5da46f6Andreas Gustafsson [Dave Hill <ddhill@zk3.dec.com>]
e44d56866bd609e066380cbef414e6ce11a08976Andreas Gustafsson *) Compile fixes in mod_mmap_static. [Victor J. Orlikowski]
e44d56866bd609e066380cbef414e6ce11a08976Andreas Gustafsson *) ab would start up more connections than needed, then quit when the
4ebb4093f80e32e4a57ff3769f7fd4ad2217ee44Andreas Gustafsson desired number were finished. Also fixed a logic error involving
84c4c99c9e2cf14fb9ef6f6815a9fdb824475423Michael Sawyer ab keepalives. [Victor J. Orlikowski]
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence *) WinNT: Implement non-blocking pipes with timeouts to communicate
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence with CGIs. Apache 2.0a4 had non-blocking pipes but without
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence timeouts (i.e, if a timeout was specified, the pipe reverted to
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence a full blocking pipe). Now the behaviour is more in line with
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence Unix non-blocking pipes.
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence [Bill Stoddard]
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence *) WinNT: Implement accept socket reuse. Using mod_file_cache to
0df2335526caaebd8639129fd0327a6cc97060eaDavid Lawrence cache open file handles along with accept socket reuse enables
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence Apache 2.0 to serve non-keepalive requests for static files at
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence 3x the rate of Apache 1.3.(e.g, Apache 1.3 will serve 400 rps
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence and Apache 2.0 will serve almost 1200 rps on my system).
8b31f5630f6345f686449f8a84c33c0813283e42Andreas Gustafsson [Bill Stoddard]
8b31f5630f6345f686449f8a84c33c0813283e42Andreas Gustafsson *) Merge mod_mmap_static function into mod_file_cache. mod_file_cache
8b31f5630f6345f686449f8a84c33c0813283e42Andreas Gustafsson supports two config directives, mmapfile (same behavious as
13c32cb589e571e9204dbb091e145809288c9c21David Lawrence mod_mmap_static) and cachefile. Use the cachefile directive
13c32cb589e571e9204dbb091e145809288c9c21David Lawrence to cache open file handles. This directive only works on systems
4ebb4093f80e32e4a57ff3769f7fd4ad2217ee44Andreas Gustafsson that have implemented the ap_sendfile API. cachefile works today
13c32cb589e571e9204dbb091e145809288c9c21David Lawrence on Windows NT, but has not been tested on any flavors of Unix.
822f118444dcaddaf977bc73e958b2f755e4ddfdAndreas Gustafsson [Bill Stoddard]
822f118444dcaddaf977bc73e958b2f755e4ddfdAndreas Gustafsson *) Cleanup the configuration. With the last few changes the
822f118444dcaddaf977bc73e958b2f755e4ddfdAndreas Gustafsson configuration process automatically:
822f118444dcaddaf977bc73e958b2f755e4ddfdAndreas Gustafsson inherits information about how to build from APR. Allowing
822f118444dcaddaf977bc73e958b2f755e4ddfdAndreas Gustafsson APR to inform Apache that it should or should not use -ldl
202991557a4b7e8d3df7725d84f0fcae90dbaee6David Lawrence Detects which mod_cgi should be used mod_cgi or mod_cgid,
8775909be9fc67180fc480115716f88174e74471James Brister based on the threading model
406ce0cd9633188a79c008e8f7c8092fa54bc98cJames Brister Apache calls APR's configure process before finishing it's
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence configuration processing, allowing for more information flow
a797a75953e21b514427d188bf5d5051419c10adBrian Wellington between the two.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Change Unix and Win32 ap_setsockopt() so that APR_SO_NONBLOCK
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence with non-zero argument makes the socket non-blocking. BeOS and
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence OS/2 already worked this way. [Jeff Trawick]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) ap_close() now calls ap_flush() for buffered files, so write
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence operations work a whole lot better on buffered files.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Jeff Trawick]
a38e5f0695a8ddf0b3cbb70b5a172a5c6dce994bDavid Lawrence *) Fix error messages issued from MPMs which explain where to change
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence compiled-in limits (e.g., ThreadsPerChild, MaxClients, StartTreads).
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) ap_create_pipe() now leaves pipes in blocking state. (This helps
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence reduce the number of syscalls on Unix.) ap_set_pipe_timeout() is
c244584cad2a71276e60919bf2c80c7d79dc073bDavid Lawrence now the way that the blocking state of a pipe is manipulated.
abeb505bb6c1400dde1a40d0bff7b3a435666e1cMark Andrews ap_block_pipe() is gone. [Jeff Trawick]
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *) Correct the problem where the only local host name that the IP stack
727eef0cbc8bf889ddb3b58eb89e9ea2c3b4b047Andreas Gustafsson can discover are 'undotted' private names. If no fully qualified
57b3597444bc8716459f0fb3022b2c12f4eee2aeAndreas Gustafsson domain name can be identified, the default ServerName will be set to
727eef0cbc8bf889ddb3b58eb89e9ea2c3b4b047Andreas Gustafsson the machine's IP address string. A warning is always provided if the
727eef0cbc8bf889ddb3b58eb89e9ea2c3b4b047Andreas Gustafsson ServerName not specified, but assumed. Solves PR6215 [William Rowe]
26c86a6fc85c89447d23d4a3e34b11157a2ff6f4Andreas Gustafsson *) Repair problems with config file processing which caused segfault
26c86a6fc85c89447d23d4a3e34b11157a2ff6f4Andreas Gustafsson at init when virtual hosts were defined and which caused ServerName to
26c86a6fc85c89447d23d4a3e34b11157a2ff6f4Andreas Gustafsson be ignored when there was no valid DNS setup. [Jeff Trawick]
26c86a6fc85c89447d23d4a3e34b11157a2ff6f4Andreas Gustafsson *) Removed pointless ap_is_aborted macro function. [Roy Fielding]
b3157263ee12a5792737f09b708d3fc65ca99e01Andreas Gustafsson *) Add ap_sendfile implementation for AIX
b3157263ee12a5792737f09b708d3fc65ca99e01Andreas Gustafsson [Victor J. Orlikowski]
b3157263ee12a5792737f09b708d3fc65ca99e01Andreas Gustafsson *) Repair C++ compatibility in ap_config.h, apr_file_io.h,
b90d3f516fd62514ff0b06a6ee0311d7ab5fbbb4Brian Wellington [Tyler J. Brooks <tylerjbrooks@home.com>, Jeff Trawick]
b90d3f516fd62514ff0b06a6ee0311d7ab5fbbb4Brian Wellington *) Bring the allocation and pool debugging code back into a working
b35a009df86b4aa3793e87602c95af2a503ec0eeMark Andrews state. This will need to be tested as so far it's only been used on
b35a009df86b4aa3793e87602c95af2a503ec0eeMark Andrews BeOS. [David Reid]
7bb1e299e133de5d530aa4cb545f4130aabf5235Andreas Gustafsson *) Change configuration command setup to be properly typesafe when in
7bb1e299e133de5d530aa4cb545f4130aabf5235Andreas Gustafsson maintainer mode. Note that this requires a compiler that can initialise
7bb1e299e133de5d530aa4cb545f4130aabf5235Andreas Gustafsson unions. [Ben Laurie]
482b9dae17bc5dc4e51b78d3c5b1a18c7c1adae9Andreas Gustafsson *) Turn on buffering for config file reads. Part of this was to
482b9dae17bc5dc4e51b78d3c5b1a18c7c1adae9Andreas Gustafsson repair buffered I/O support in Unix and implement buffered
482b9dae17bc5dc4e51b78d3c5b1a18c7c1adae9Andreas Gustafsson ap_fgets() for all platforms. [Brian Havard, Jeff Trawick]
34ea3c6fd940a8514b5ec609491f823263a735c7Michael Sawyer *) Win32: Fix problem where UTC offset was not being set correctly
26c86a6fc85c89447d23d4a3e34b11157a2ff6f4Andreas Gustafsson in the access log. Problem reported on news group by Jerry Baker.
3c671ac666de8a7dcd7bd02afa20968da0b85bbdMark Andrews [Bill Stoddard]
3c671ac666de8a7dcd7bd02afa20968da0b85bbdMark Andrews *) Fix segfault when reporting this type of syntax error:
3c671ac666de8a7dcd7bd02afa20968da0b85bbdMark Andrews "</container> without matching <container> section", where
3c671ac666de8a7dcd7bd02afa20968da0b85bbdMark Andrews container is VirtualHost or Directory or whatever.
3c671ac666de8a7dcd7bd02afa20968da0b85bbdMark Andrews [Jeff Trawick]
3c671ac666de8a7dcd7bd02afa20968da0b85bbdMark Andrews *) Prevent the source code for CGIs from being revealed when using
3c671ac666de8a7dcd7bd02afa20968da0b85bbdMark Andrews mod_vhost_alias and the CGI directory is under the document root
58c42ee18c186b2151ced62f64aa4ca23cff4a1dJames Brister and a user makes a request like http://www.example.com//cgi-bin/cgi
58c42ee18c186b2151ced62f64aa4ca23cff4a1dJames Brister as reported in <news:960999105.344321@ernani.logica.co.uk>
58c42ee18c186b2151ced62f64aa4ca23cff4a1dJames Brister *) Add support for the new Beos NetwOrking Environment (BONE)
26c86a6fc85c89447d23d4a3e34b11157a2ff6f4Andreas Gustafsson *) xlate: ap_xlate_conv_buffer() now tells the caller when the
5dc6a24e8b6808f03e7a9bc6530d646ebba927dbMark Andrews final input char is incomplete; ap_bwrite_xlate() now handles
5dc6a24e8b6808f03e7a9bc6530d646ebba927dbMark Andrews incomplete final input chars. [Jeff Trawick]
77771185071bf74d53378f1a3099a04d2af5153eBrian Wellington *) Yet another update to saferead/halfduplex stuff -- need to ensure
77771185071bf74d53378f1a3099a04d2af5153eBrian Wellington that a bhalfduplex call occurs before logging or else DNS and
77771185071bf74d53378f1a3099a04d2af5153eBrian Wellington such can delay the last packet of the response. [Dean Gaudet]
0d5d8e2bbf2c0c129f0416f24758a0925ce12be8James Brister *) Some syscall reduction in APR on unix -- don't seek when setting
0d5d8e2bbf2c0c129f0416f24758a0925ce12be8James Brister up an mmap; and don't fcntl() more than once per socket.
0d5d8e2bbf2c0c129f0416f24758a0925ce12be8James Brister [Dean Gaudet]
99f3a24e69edbb19e4fe7f2fb0a72c478f8c3cafJames Brister *) When mod_cgid is started as root, the cgi daemon now switches
99f3a24e69edbb19e4fe7f2fb0a72c478f8c3cafJames Brister to the configured User/Group (like other httpd processes)
aa79283a0d97d5d77d3c17bcb1756035eabe647aAndreas Gustafsson instead of continuing as root. [Jeff Trawick]
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence *) The prefork MPM now uses an APR lock for the accept() mutex.
bc334fc90142b2ca26823a3ed1a3f4f086c7d558Andreas Gustafsson It has not been getting a lock at all recently. httpd -V now
aa79283a0d97d5d77d3c17bcb1756035eabe647aAndreas Gustafsson displays APR's selection of the lock mechanism instead of the
aa79283a0d97d5d77d3c17bcb1756035eabe647aAndreas Gustafsson symbols previously respected by prefork. [Jeff Trawick]
aa79283a0d97d5d77d3c17bcb1756035eabe647aAndreas Gustafsson *) Change the mmap() feature test to check only for existence.
aa79283a0d97d5d77d3c17bcb1756035eabe647aAndreas Gustafsson The previous check required features not used by Apache.
f204bdd8e6703ff0ef1adf0a2c407202418a936dDavid Lawrence *) Fix a couple of bugs in mod_cgid: The cgi arguments were
0bfcec250f9705a1211d0374f0fc1049960de84bMark Andrews sometimes mangled. The len parm to accept() was not
0bfcec250f9705a1211d0374f0fc1049960de84bMark Andrews initialized, leading sometimes to an endless loop of failed
b5f24a6988e04710bee0281b03b7e168358ac868Andreas Gustafsson accept() calls on OS/390 and anywhere else that failed the call
b5f24a6988e04710bee0281b03b7e168358ac868Andreas Gustafsson if the len was negative. Use <sys/un.h> for struct sockaddr_un
379bd2c19cec393f56a2e9c42cc87fc8213a1b62James Brister instead of declaring it ourselves to fix a compilation problem
379bd2c19cec393f56a2e9c42cc87fc8213a1b62James Brister on Solaris. [Jeff Trawick]
379bd2c19cec393f56a2e9c42cc87fc8213a1b62James Brister *) Add Resource limiting code back into Apache 2.0. [Ryan Bloom]
379bd2c19cec393f56a2e9c42cc87fc8213a1b62James Brister *) Fix zombie process problem with mod_cgi. [Jeff Trawick]
c24265935e70d17279153b3cde43e3f6c3527577Andreas Gustafsson *) Port mod_mmap_static to 2.0. Make it go faster. [Greg Ames]
bedfa169b4cc5511b34c0c4a54c5b8aae364babeJames Brister *) Fix storage overlay when loading dsos. Symptom: Apache dies at
bedfa169b4cc5511b34c0c4a54c5b8aae364babeJames Brister initialization if ALLOC_DEBUG is defined; no known symptom
bedfa169b4cc5511b34c0c4a54c5b8aae364babeJames Brister otherwise. [Jeff Trawick]
bedfa169b4cc5511b34c0c4a54c5b8aae364babeJames Brister *) Fix typo in configure script when checking for mod_so. bash
bedfa169b4cc5511b34c0c4a54c5b8aae364babeJames Brister doesn't seem to have a problem but /bin/sh on Solaris does.
d85552c450141012e7cbeaacc77fb9575b0bb4cbJames Brister Symptom: "./configure: test: unknown operator =="
d85552c450141012e7cbeaacc77fb9575b0bb4cbJames Brister [Jeff Trawick]
47c196192afa37b2dea728e52579779f190bf07fJames Brister *) Rebind the Win32 NT and 9x services control into the MPM.
47c196192afa37b2dea728e52579779f190bf07fJames Brister All console, WinNT SCM and Win9x pseudo-service control code is
29196ffb72a1337c72ffd6d52f1c8348f84c644eJames Brister now wrapped within the WinNT MPM.
47c196192afa37b2dea728e52579779f190bf07fJames Brister [William Rowe]
f3b52d9fe5e7e851adecad4eec8952cceda47592Brian Wellington *) Make a copy of getenv("PATH") before storing for later use. Some
94c5757a7a2d98b4de3e7a68cfe330d59450f09eAndreas Gustafsson getenv() implementations use the same storage for successive calls.
f3b52d9fe5e7e851adecad4eec8952cceda47592Brian Wellington CGIs on OS/390 had a bad PATH due to this. [Jeff Trawick]
94c5757a7a2d98b4de3e7a68cfe330d59450f09eAndreas Gustafsson *) Server Tokens work in 2.0 again. This also propogates the change
94c5757a7a2d98b4de3e7a68cfe330d59450f09eAndreas Gustafsson to allow just the product name in the server string using
71a4339351de0d8233d61025a667ec4dc3e0f868James BristerChanges with Apache 2.0a4
71a4339351de0d8233d61025a667ec4dc3e0f868James Brister *) EBCDIC: Rearrange calls to ap_checkconv() so that most handlers
71a4339351de0d8233d61025a667ec4dc3e0f868James Brister won't need to call it. [Greg Ames, Jeff Trawick]
71a4339351de0d8233d61025a667ec4dc3e0f868James Brister *) Move pre_config hook call to between configuration read and config
0380c44d0238a88e167526954d630d071739ed28Mark Andrews tree walk. This allows all modules to implement pre_config hooks
0380c44d0238a88e167526954d630d071739ed28Mark Andrews and know that they will be called at an appropriate time.
0380c44d0238a88e167526954d630d071739ed28Mark Andrews [Ryan Bloom]
a6733246eafeb43755ce6d7ec3627ac4209cbccbMark Andrews *) mod_cgi, mod_cgid: Make ScriptLog directive work again.
a6733246eafeb43755ce6d7ec3627ac4209cbccbMark Andrews [Jeff Trawick]
36bcb04af27e050ddc04b2ff37dbeafc84538fd4Brian Wellington *) Add pre-config hooks back to all modules.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Fix a SIGSEGV in ap_md5digest(), which is used when you have
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence ContentDigest enabled and we can't/don't mmap the file.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Jeff Trawick]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) We now report the correct line number for syntax errors in config
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence files. [Ryan Bloom, Greg Stein, Jeff Trawick]
9c11326b18c69b9b2fd6102d80fbd568ae6bd31eAndreas Gustafsson *) Brought mod_auth_digest up to synch with 1.3, fixed ap_time_t-
ed71ea51c6ecb5d7d659b6e6a20f6b3f5c2678c6David Lawrence related bugs, and changed shmem/locking to use apr API. Shared-mem
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence is currently disabled, however, because of problems with graceful
9c11326b18c69b9b2fd6102d80fbd568ae6bd31eAndreas Gustafsson restarts. [Ronald Tschal�r]
c78dc8b001ba46ef1edb784635c3ba7b3e4456ceJames Brister *) Fix corruption of IFS variable in --with-module= handling.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence Depending on the user's shell or customization thereof, there
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence would be errors generating ap_config_auto.h later in the configure
c78dc8b001ba46ef1edb784635c3ba7b3e4456ceJames Brister procedure. [Jeff Trawick]
d5399cc351a549db957185993b320a3bffa40e41James Brister *) mod_cgi: Restore logging of stderr from child process when ScriptLog
d5399cc351a549db957185993b320a3bffa40e41James Brister isn't used (as in 1.3), except that on Unix it is now logged via
d5399cc351a549db957185993b320a3bffa40e41James Brister ap_log_rerror() instead of by the child having STDERR_FILENO refer
d5399cc351a549db957185993b320a3bffa40e41James Brister to the error log. [Greg Ames, Jeff Trawick]
40f349ad1f2f0a63ef2784b8affcd44dc660b39cJames Brister *) Add '-D' argument processing for run time configuration defines.
40f349ad1f2f0a63ef2784b8affcd44dc660b39cJames Brister [William Rowe]
ac3b769801d794993e9eb6065b2f7144ffcfc9acMark Andrews *) Organize http_main.c as independent code, such that no code or
69b691c9624f31e59b8d128ada902a82127c15a3James Brister global data is exported from it. WIN32 will dynamically link it
69b691c9624f31e59b8d128ada902a82127c15a3James Brister to the server core, so this will prevent mutual dependency.
69b691c9624f31e59b8d128ada902a82127c15a3James Brister [William Rowe]
69b691c9624f31e59b8d128ada902a82127c15a3James Brister *) Add separate dynamic linkage tags APR_EXPORT(), APR_EXPORT_NONSTD()
dba20696eb808075d849e5a4cc8d854555869fb2Brian Wellington and APR_VAR_EXPORT to correctly resolve apr functions and globals.
dba20696eb808075d849e5a4cc8d854555869fb2Brian Wellington [William Rowe]
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *) Add Win9x service execution and Ctrl+C/Ctrl+Break/Shutdown handlers.
98c2f9a11185b8a5dd601798990612beb6d1578eJames Brister [William Rowe, Jan Just Keijser <KEIJSERJJ@logica.com>]
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *) Add mod_charset_lite for configuring character set translation.
98c2f9a11185b8a5dd601798990612beb6d1578eJames Brister [Jeff Trawick]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Add '-n' option to htpasswd to make it print its user:pw record
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence on stdout rather than having to frob a text file. [Ken Coar]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Fix saferead. Basically, we flush the output buffer if a read on the
705cb05a187558959d20ec2c31e06de8e96f61b2David Lawrence input will block.
a3c0a79b61edfd6a021c080d4b368c9c962fcad6Andreas Gustafsson *) APR: Add ap_xlate_get_sb() so that an app can find out whether or not
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence a conversion is single-byte only. [Jeff Trawick]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) BEOS: ap_shutdown should return APR_SUCCESS or errno. Note that
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence the BeOS 5.0 documentation says that shutdown doesn't work yet.
0b056755b2f423ba5f6adac8f7851d78f7d11437David Lawrence [Roy Fielding]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Fix some minor errors where pid was being manipulated as an int
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence instead of the portable pid_t. [Roy Fielding]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Fix some error log prints that were printing the pointer to a
174a4f7b80af7f7a33cd9a098c13af23e5ec2a28David Lawrence structure rather than the pid within the structure.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Jeff Trawick, Roy Fielding]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) ab: Fix a command-line processing bug; track bad headers in
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence err_response; support reading headers up to 2K.
174a4f7b80af7f7a33cd9a098c13af23e5ec2a28David Lawrence [Ask Bjoern Hansen <ask@valueclick.com>]
0640343258a99230c62e39dfbbe1505e3a970ee8Andreas Gustafsson *) Fix ap_resolve_env() so that it handles new function added in a prior
dccfe96a449d135d1b3806a9ab8fd7481d017c8bAndreas Gustafsson alpha (see "Added the capability to do ${ENVVAR} constructs in the
dccfe96a449d135d1b3806a9ab8fd7481d017c8bAndreas Gustafsson config file.") as well as the constructs used by mod_rewrite.
dccfe96a449d135d1b3806a9ab8fd7481d017c8bAndreas Gustafsson [Paul Reder <rederpj@raleigh.ibm.com>]
d98c74e2ec5b96bd22aa4ed6d893e8993787493bMichael Graff *) Apache 2.0 builds and runs on OS/390. [Jeff Trawick, Greg Ames]
d98c74e2ec5b96bd22aa4ed6d893e8993787493bMichael Graff *) Change the EBCDIC support in functions for MD5, SHA1, and base 64 to use
d98c74e2ec5b96bd22aa4ed6d893e8993787493bMichael Graff APR to perform translation, instead of accessing the hard-coded tables
d03d4524993ecf5da72694907cb8581eadbe5c4dBrian Wellington in 1.3's ebcdic.c. [Jeff Trawick]
d03d4524993ecf5da72694907cb8581eadbe5c4dBrian Wellington *) Fix some bugs (mostly lost 1.3 code) in ab's command-line processing.
75f6c57d9544aa77a3b1a04587b4702c07343c90Brian Wellington [Jeff Trawick]
75f6c57d9544aa77a3b1a04587b4702c07343c90Brian Wellington *) Add the ability to hook into the config file reading phase. Basically
c8df84cb389994b4eaf549f5851e70d18e2d063fAndreas Gustafsson if a directive is specified EXEC_ON_READ, then when that directive is
c8df84cb389994b4eaf549f5851e70d18e2d063fAndreas Gustafsson read from the config file, the assocaited function is executed. This
f34984369fbc87f6cc5c5d1059303377a1724d79James Brister should only be used for those directives that must muck with HOW the
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence server INTERPRETS the config. This should not be used for directives
b092aef75539b462d24b460b67ac49edb79aaff8Andreas Gustafsson that re-order or replace items in the config tree. Those changes should
7cd4c3ddd1baf5f2b204562fdba3da37c716cc78Andreas Gustafsson be made in the pre-config step.
76a191c4202a4839e4ce598ec91f0c0d12f630aaAndreas Gustafsson *) Add mod_example to the build system.
fef059dcec0f7f83b09b9ce30b91b21a51d9c481Andreas Gustafsson *) APR: Add ap_xlate_conv_byte() to convert one char between single-
fef059dcec0f7f83b09b9ce30b91b21a51d9c481Andreas Gustafsson byte character sets. [Jeff Trawick]
5f80c1428b9b7235fc9c1c80aa505457c3043504Brian Wellington *) Pick up various EBCDIC fixes from 1.3 (from Martin
5f80c1428b9b7235fc9c1c80aa505457c3043504Brian Wellington Kraemer and Oliver Reh originally according to the change log).
174a4f7b80af7f7a33cd9a098c13af23e5ec2a28David Lawrence [Jeff Trawick]
af602636644fdfaabc331bd926b0aabb9432e152Brian Wellington *) Fix a couple of problems in RFC1413 support (controlled by the
b3aaa872e12e5c8658271bde8e4dd85d015e823fAndreas Gustafsson IdentityCheck directive). Apache did not build the request string
b3aaa872e12e5c8658271bde8e4dd85d015e823fAndreas Gustafsson properly and more importantly Apache would loop forever if the
b3aaa872e12e5c8658271bde8e4dd85d015e823fAndreas Gustafsson would-be ident server dropped the connection before sending a
b3aaa872e12e5c8658271bde8e4dd85d015e823fAndreas Gustafsson properly terminated response. [Jeff Trawick]
b3aaa872e12e5c8658271bde8e4dd85d015e823fAndreas Gustafsson *) apxs works in 2.0.
389f2ccc2f5f00a11a14114d40492f7ac8249fa7Olafur Gudmundsson *) Reliable piped logs work in 2.0.
6deb631b20b7e212d9a350759e472fa60f9e92e4David Lawrence *) Introduce a hash table implementation into APR to be used for
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence replacing tables and other random data structures in Apache.
a9bc95f22ef2dd4a12e79be99412c9f18b814a5dBrian Wellington *) Add some more error reporting to htpasswd in the case of problems
a9bc95f22ef2dd4a12e79be99412c9f18b814a5dBrian Wellington generating or accessing the temporary file. Also, pass in a
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence buffer if the implementation knows how to use it (i.e., if L_tmpnam
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence is defined). [Ken Coar]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Configure creates config.nice now containing your configure
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence options. Syntax: ./config.nice [--more-options]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Sascha Schumann]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Fix various return code problems in APR on Win32. For most of
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence these, APR was returning APR_EEXIST instead of GetLastError()/
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence WSAGetLastError(). [Jeff Trawick]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Make piped logs work again in version 2.0
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Add VPATH support to UNIX build system of Apache and APR.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Sascha Schumann]
20b20b23948b90cb2f7d7f402da99d09f837efd0David Lawrence *) Fix ap_tokenize_to_argv to respect the const arguments that are
a89b06a49cc61cdce2ce0ea0f62b514998fa16d9Andreas Gustafsson *) Fix mm's memcpy/memset macros, pointer arithmetic was broken.
9c987b20b9246a34f38af8ed3cd22c61040933a7Andreas Gustafsson Patch submitted to author.
9c987b20b9246a34f38af8ed3cd22c61040933a7Andreas Gustafsson [Sascha Schumann]
7e9bfde7951c4e35bcbd0d3439790cc823a6794cAndreas Gustafsson *) Fix mm configuration on Solaris 8 x86 and OS/390. Don't require
7e9bfde7951c4e35bcbd0d3439790cc823a6794cAndreas Gustafsson /sbin in PATH on FreeBSD (all submitted to rse previously)
7e9bfde7951c4e35bcbd0d3439790cc823a6794cAndreas Gustafsson [Jeff Trawick]
4c9406964425ecc33fac38bb093e236b43b449e6Andreas Gustafsson *) Fix building Pthread-based MPMs on OpenBSD
4c9406964425ecc33fac38bb093e236b43b449e6Andreas Gustafsson [Sascha Schumann] PR#26
533131b93b69c4534b5f1f9138b59211670e6e6dMichael Graff *) Fix ap_readdir() problem on systems where d_name[] field in
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence struct dirent is declared with only one byte. (This problem only
533131b93b69c4534b5f1f9138b59211670e6e6dMichael Graff affected multithreaded builds.) This caused a segfault during
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson pool cleanup with mod_autoindex on Solaris (Solaris 8 x86, at
533131b93b69c4534b5f1f9138b59211670e6e6dMichael Graff least). [Jeff Trawick]
533131b93b69c4534b5f1f9138b59211670e6e6dMichael Graff *) Fix some make-portability problems on at least Tru64, Irix
533131b93b69c4534b5f1f9138b59211670e6e6dMichael Graff [Sascha Schumann] PR#18, PR#39
0e7da7ac26cb234763ff03c3a9bc06e3c22e546fAndreas Gustafsson *) Add ap_sigwait() to support old-style sigwait() on systems
533131b93b69c4534b5f1f9138b59211670e6e6dMichael Graff like OS/390 and UnixWare.
73abbeb5823a9b3e01b05a8878db915eb6beccdaAndreas Gustafsson [Sascha Schumann]
73abbeb5823a9b3e01b05a8878db915eb6beccdaAndreas Gustafsson *) Add POSIX-thread flags for more platforms.
73abbeb5823a9b3e01b05a8878db915eb6beccdaAndreas Gustafsson [Sascha Schumann]
538971e27d45861c937331f52b0e96d3a5157d8eAndreas Gustafsson *) Fix some minor bugs in ap_strerror(). Teach ap_strerror()
538971e27d45861c937331f52b0e96d3a5157d8eAndreas Gustafsson (on Unix, at least) to handle resolver errors. Fix a bug in
538971e27d45861c937331f52b0e96d3a5157d8eAndreas Gustafsson the definition of APR_ENOMEM so that ap_strerror() can spit
7ffc4c63ac8841d127c2d77c8716cc0dc483badcDavid Lawrence out the correct error message for it.
c50936eb40263b65ebf6afe4e6556e2dc67c10e4Brian Wellington [Jeff Trawick]
8977ab7ca0ed63a39a8cd0b915ab9cb1254dcd3fJames BristerChanges with Apache 2.0a3
8977ab7ca0ed63a39a8cd0b915ab9cb1254dcd3fJames Brister *) mod_so reports ap_os_dso_error() if ap_dso_load() fails
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Doug MacEachern]
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence *) API: *HOOK* macros now have an AP_ prefix
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence [Doug MacEachern]
95be83b467e2384d414693982318a5c06cccf1d7Andreas Gustafsson *) Win32: Eliminate redundant calls to initialize winsock.
95be83b467e2384d414693982318a5c06cccf1d7Andreas Gustafsson [Tim Costello <timcostello@ozemail.com.au>]
95be83b467e2384d414693982318a5c06cccf1d7Andreas Gustafsson *) Fix bugs initializing ungetchar for pipes.
95be83b467e2384d414693982318a5c06cccf1d7Andreas Gustafsson [Chia-liang Kao <clkao@CirX.ORG>]
95be83b467e2384d414693982318a5c06cccf1d7Andreas Gustafsson *) The ab program in the src/support directory is now portable using
95be83b467e2384d414693982318a5c06cccf1d7Andreas Gustafsson *) Support directory is being compiled when the server is built
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) The configure option --with-program-name has been added to allow
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence developers to rename the executable at configure time. This also
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence changes the name of the config files to match the executable's name.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) mod_autoindex: Add `IndexOptions +VersionSort', to nicely sort filenames
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence containing version numbers. [Martin Pool]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) ap_open(..,APR_OS_DEFAULT,..) uses perms 0666 instead of 0777 on
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Unix; access_log and error_log now created with these perms; non-
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Unix is unaffected [Jeff Trawick]
52b784e2a662038b833e4f9ad7bff881faf52a85Andreas Gustafsson *) Finished move of ap_md5 routines to apr_md5. Removed ap_md5.h.
52b784e2a662038b833e4f9ad7bff881faf52a85Andreas Gustafsson Replaced more magic numbers with MD5_DIGESTSIZE.
52b784e2a662038b833e4f9ad7bff881faf52a85Andreas Gustafsson [William Rowe, Roy Fielding]
edb8ffbbf3e4b3c16a10fdd45720d97706e6bf50Mark Andrews *) Win32: Get mod_auth_digest compiling and added to the Windows
edb8ffbbf3e4b3c16a10fdd45720d97706e6bf50Mark Andrews build environment. Not tested and I'd be suprised if it
edb8ffbbf3e4b3c16a10fdd45720d97706e6bf50Mark Andrews actually works. [Bill Stoddard]
59abb512d344bfa09012cc11b7d814966f035da4Mark Andrews *) Revamp the Win32 make environment. Makefiles have been removed and
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Apache.dsw created to bring together all the pieces. Create new file
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence os/win32/BaseAddr.ref to define module base addresses (to prevent
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence dll relocation at start-up).
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [William Rowe, Greg Marr, Tim Costello, Bill Stoddard]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) [EBCDIC] Port Paul Gilmartin's CRLF patch from 1.3. This replaces most
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence of the \015, \012, and \015\012 constants with macros.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Greg Ames <gregames@us.ibm.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Add ap_xlate_open() et al for translation of text between different
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence character sets. The initial implementation requires iconv().
a120694df8156f76eb629e4d686d3729362e3c90David Lawrence [Jeff Trawick]
fcba8f29fedd5a29651579e22c96413b4f37cab9Brian Wellington *) More FAQs and answers from comp.infosystems.www.servers.unix.
f6afa4ac95f3a6c86c61c0b122cd0dc6f957649bBrian Wellington [Joshua Slive <slive@finance.commerce.ubc.ca>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) CGI output is being timed out now.
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister *) Fix the problem with dieing quietly. dupfile now takes a pool which
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister is used by the new apr file. There is no reason to create a new file
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister with the same lifetime as the original file.
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister *) Win32: Attempt to eliminate dll relocation at start-up by specifying
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister module base addresses. This will help shooting seg faults
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister in the field. [William Rowe <wrowe@lnd.com>]
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister *) Update Apache on Windows documentation. Add new document
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister describing how to compile Apache on Windows.
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister [William Rowe <wrowe@lnd.com>]
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *) ap_set_pipe_timeout(), ap_poll(), and APR_SO_TIMEOUT now take
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister microseconds instead of seconds. Some storage leaks and other
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister minor bugs in related code were fixed. [Jeff Trawick]
cde7793c7fb83adecf1a60bfc76cde6d1d7db0ebJames Brister *) Win32: First cut at getting mod_isapi working under 2.0
c0b06c8275c5ea3cde8cc67f3a6f9cab1bd55d65James Brister [William Rowe <wrowe@lnd.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) First stab at getting mod_auth_digest working under 2.0
527ea00c176abc167a6daf978e06f52c7e70aa06Andreas Gustafsson quick change summary:
527ea00c176abc167a6daf978e06f52c7e70aa06Andreas Gustafsson - moved the random byte generation (ap_generate_random_bytes) into APR
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence - now uses ap_time_t
f7d85bae58428b91fde90f87c1e9ef89897acf2eAndreas Gustafsson - compiles and runs on linux
f7d85bae58428b91fde90f87c1e9ef89897acf2eAndreas Gustafsson - tested with amaya
f7d85bae58428b91fde90f87c1e9ef89897acf2eAndreas Gustafsson [Brian Martin <bmartin@penguincomputing.com>]
ec7493d8d1966a3dc5f5306fc0a96519e0de6dceAndreas Gustafsson *) Win32: Move the space stripping of physical service names
ec7493d8d1966a3dc5f5306fc0a96519e0de6dceAndreas Gustafsson fix up from Apache 1.3. #include'ing "ap_mpm.h" fixes up an
ec7493d8d1966a3dc5f5306fc0a96519e0de6dceAndreas Gustafsson unresolved symbol. Add dependency checking to the
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence CreateService call to ensure TCPIP and AFP (winsock) is started
289fd0daf888e3f7b1733bd750f60891ce90e1e6Andreas Gustafsson before Apache.
289fd0daf888e3f7b1733bd750f60891ce90e1e6Andreas Gustafsson [William Rowe <wrowe@lnd.com>]
289fd0daf888e3f7b1733bd750f60891ce90e1e6Andreas Gustafsson *) Win32: Add code to perform latebinding on functions that may
bd36d3014e8a82d217ed1c88cdb4c717a25fee09Andreas Gustafsson not exist on all levels of Windows where Apache runs. This
bd36d3014e8a82d217ed1c88cdb4c717a25fee09Andreas Gustafsson is needed to allow Apache to start-up on Win95/98. All calls
8adf1b9e749ca303ea8a8ffb29b5101ecbe2ecf6Mark Andrews to non portable functions should be protected with
8adf1b9e749ca303ea8a8ffb29b5101ecbe2ecf6Mark Andrews ap_oslevel checks to prevent runtime segfaults.
8adf1b9e749ca303ea8a8ffb29b5101ecbe2ecf6Mark Andrews [William Rowe <wrowe@lnd.com>]
8adf1b9e749ca303ea8a8ffb29b5101ecbe2ecf6Mark Andrews *) Fix fallback default values for SHM_R and SHM_W [Martin Kraemer]
8adf1b9e749ca303ea8a8ffb29b5101ecbe2ecf6Mark Andrews *) Get lingering_close() working again. [Dean Gaudet, Jeff Trawick]
8adf1b9e749ca303ea8a8ffb29b5101ecbe2ecf6Mark Andrews *) Win32: Get non-blocking CGI pipe reads working under Windows NT.
c052487cdf42c83bb0fa8e4c0ed135e801ac1e90Mark Andrews This addresses PR 1623. Still need to address timing out runaway
c052487cdf42c83bb0fa8e4c0ed135e801ac1e90Mark Andrews CGI scripts. [Bill Stoddard]
dcd66bf9667816cfc3419f2040e03f5621d88555Andreas Gustafsson *) Win32: Make ap_stat Windows 95/98 friendly
dcd66bf9667816cfc3419f2040e03f5621d88555Andreas Gustafsson [William Rowe <wrowe@lnd.com>]
f4f3f2cf3499cf6c32f6329aca08b5c557f507f1Mark Andrews *) Win32: Fix a bug in ap_get_oslevel which causes GetVersionEx() to
f4f3f2cf3499cf6c32f6329aca08b5c557f507f1Mark Andrews always fail. Need to initialise the dwOSVersionInfoSize member of the
f4f3f2cf3499cf6c32f6329aca08b5c557f507f1Mark Andrews OSVERSIONINFO struct before calling GetVersionEx, so GetVersionEx
f4f3f2cf3499cf6c32f6329aca08b5c557f507f1Mark Andrews always fails.
f4f3f2cf3499cf6c32f6329aca08b5c557f507f1Mark Andrews The patch also enhances ap_get_oslevel (and the associated enum) to
f4f3f2cf3499cf6c32f6329aca08b5c557f507f1Mark Andrews handle selected service packs for NT4, and adds recognition for
ff8d15be4e6096329fe6ae8217d0adcabd08c94bOlafur Gudmundsson Windows 2000. This is useful, eg. if we can recognise NT4 SP2 then
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence we can use ReadFileScatter and WriteFileGather in readwrite.c.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Tim Costello <Tim.Costello@BTFinancialgroup.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Get mod_rewrite building and running, and mod_status building for Win NT
9dff010bd0224c0eb0046e02c51947bf69cbb718David Lawrence [Allan Edwards <ake@raleigh.ibm.com>]
9dff010bd0224c0eb0046e02c51947bf69cbb718David Lawrence *) Patch to port mod_auth_db to the 2.0 api and also to support
996f4a8bc34cb0203ce6a40ff82bca8bf32423ccAndreas Gustafsson Berlekey DB 3.0. It works for me with both Berkeley DB 3.0.55 and
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence 2.7.7. It should work with version 1 as well but I haven't tested it.
f2fdfe7c42f3b10f3653f851ce5a0a90ee5ac1f9David Lawrence [Brian Martin <bmartin@penguincomputing.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Get APR DSO code working under Windows. Includes cross platform
c0fcd6b98bc1fe5bbd2bd1a4d729215f65e3d20fJames Brister [Tim.Costello@BTFinancialgroup.com]
17d0495c338ca6273cc1e1e3fd9354ab785a9ae9Mark Andrews *) Fix some of the Windows APR time functions.
17d0495c338ca6273cc1e1e3fd9354ab785a9ae9Mark Andrews [William Rowe]
4c5651ee049cbace08d5350e3d23a0d6da491fa8James Brister *) FAQ changes related to tidying up historical documents on the web site.
4c5651ee049cbace08d5350e3d23a0d6da491fa8James Brister [Joshua Slive <slive@finance.commerce.ubc.ca>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Move Windows DSO code into APR.
e06abf2270cc397e6a1ab8e25055e9c05f256beeJames Brister [Bill Stoddard]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Eliminate apr_win.h and apr_winconfig.h (and the ugly #ifdefs they cause).
e06abf2270cc397e6a1ab8e25055e9c05f256beeJames Brister Now, apr.h and apr_config.h are generated from apr.hw and apr_config.hw
e411a986b94276c28e6a971f9c3b61d45c635456James Brister at build time. At this point, the server will not compile on Windows because
e411a986b94276c28e6a971f9c3b61d45c635456James Brister of the recent DSO commits. Fixing those next.
e411a986b94276c28e6a971f9c3b61d45c635456James Brister [Bill Rowe & Bill Stoddard]
c6ce77b4dccb15297f78de9e0c00d40f40ce8aa4Mark Andrews *) Added error checking for file I/O APR routines.
c6ce77b4dccb15297f78de9e0c00d40f40ce8aa4Mark Andrews [Jon Travis <jtravis@covalent.net>]
76a33ffee5be9a1001c27c103e6d98983443cbfdAndreas Gustafsson *) APR: Don't use the values of resolver error codes for the
1d7172079ddd7aaad66a135a814d0013c6503837Andreas Gustafsson corresponding APR error codes. On Unix and Win32, return the
1d7172079ddd7aaad66a135a814d0013c6503837Andreas Gustafsson proper APR error code after a resolver error. [Jeff Trawick]
5159c427839689d5070e2f9c6c9a0168dd9f6583Mark AndrewsChanges with Apache 2.0a2
41da7fdc551c50cddebf2c5311e322efd793fd3bDavid Lawrence *) Renamed the executable back to httpd on all platforms other
5159c427839689d5070e2f9c6c9a0168dd9f6583Mark Andrews [Ryan Bloom]
1d7172079ddd7aaad66a135a814d0013c6503837Andreas Gustafsson *) Allow BeOS to survive restarts, log properly and a few
dd3fc76a33569ee9d5d30effc0d975651a4567f5Andreas Gustafsson small things it had problems with due to the way it setup
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence users and groups. [David Reid]
3364cad7e4699aff0b2d5090ab09a6da9733a118Andreas Gustafsson *) Get mod_rewrite working with APR locks
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Paul Reder <rederpj@raleigh.ibm.com>]
e2cf9c2db3fd484d160d3b7850f5e4d9c19945faJames Brister *) Actually remove the sempahore when the lock cleanup routine
e2cf9c2db3fd484d160d3b7850f5e4d9c19945faJames Brister is called on BeOS. [David Reid]
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *) Clear hook registrations between reads of the config file.
e2cf9c2db3fd484d160d3b7850f5e4d9c19945faJames Brister When DSOs are unloaded and re-loaded the old hook pointers may
e2cf9c2db3fd484d160d3b7850f5e4d9c19945faJames Brister no longer be valid. This fix eliminates potential segfaults.
e2cf9c2db3fd484d160d3b7850f5e4d9c19945faJames Brister [Allan Edwards <ake@raleigh.ibm.com>]
dd3fc76a33569ee9d5d30effc0d975651a4567f5Andreas Gustafsson *) Fix a problem with Sigfunc not being defined or bypassed
e2cf9c2db3fd484d160d3b7850f5e4d9c19945faJames Brister if sigaction() wasn't found. [Jim Jagielski]
41da7fdc551c50cddebf2c5311e322efd793fd3bDavid Lawrence *) Fix the locking mechanism on BSD variants. They now use fcntl
e2cf9c2db3fd484d160d3b7850f5e4d9c19945faJames Brister locks. This allows the server to start and serve pages.
36357e4304862fb47e9fae03c704cb6720310c45James Brister *) First cut at getting the Win32 installer to work
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [William Rowe <wrowe@lnd.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Get htpasswd compiling under Windows
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [William Rowe <wrowe@lnd.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Change the log message for a bind() failure to show the
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence interface and port number. [Jeff Trawick]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Import the documentation from 1.3.12 and bring parts of it
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence up-to-date with respect to the changes that have occurred
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) BeOS MPM updated. CGI bug on BeOS fixed. IP addresses
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence now logged correctly on BeOS.
014892d86d30b7eceb0003d51788f9b5cadfc1bfAndreas Gustafsson *) Create one makefile for all Win32 distributions (NT/2000/95/98).
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Makefile.win includes the same user interface as the old
b99d080717fdd741961d736581270d37bad8bec0David Lawrence [William Rowe <wrowe@lnd.com>, Jeff Trawick <trawick@us.ibm.com>]
97f75286ada13a1b06a424607e638bde5ebfb3caAndreas Gustafsson *) Win32 exec now uses COMSPEC environment string for command
97f75286ada13a1b06a424607e638bde5ebfb3caAndreas Gustafsson shell path resolution.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [William Rowe <wrowe@lnd.com>] PR#3715
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Win32: ap_connect() was not returning correct error condition
23a09704774241d2dba059e4d9231cd3d28bb116David Lawrence [Allen Prescott <allen@clanprescott.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Win32: ap_open() was broken on Win9x because an NT-specific
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence flag was passed to CreateFile. ap_puts() added an unnecessary
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Jeff Trawick <trawick@us.ibm.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Put in Korean and Norwegian index.html pages (2.0 and 1.3)
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence which where donated by Lee Kuk Hyun and Lorant Czaran. 'Fixed'
54a2e7e8a21ee765f41bd995101995613bff9e8cDavid Lawrence confusing ee/et name and made all extensions language/dialect
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence rather than country reflecting. Changed example files to
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence explicit reflect the ISO charset and added a few common
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence ones to the example config [dirkx]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Extend external module capability. To use this, you call
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence configure with --with-module=path/to/mod1,path/to/mod2,etc.
a2605214c27439a8af2ad4bd9a8630dcfcc8152eDavid Lawrence *) Backported the various "default charset" fixes from 1.3.12,
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence including the AddDefaultCharset directive. [Jim Jagielski]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Added the capability to do ${ENVVAR} constructs in the
738922ba7bb10b206f6f54931aed068e3dcb950dDavid Lawrence config file. E.g. 'ServerAdmin ${POSTMASTER}'. As commited
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence it does this on a line by line basis; i.e. if the envvar
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence expands to something with spaces you have to protect it
eefea43215016bce437ab4a7441b2851fd182960David Lawrence by adding quotes around it (Unless of course you expect it
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence to contains more than one argument. Alternatively you
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence can compile it on a per token basis; which is what people
9c4f33b6718407e94d50dbfb4977e16d3f83de9dDavid Lawrence usually expect by setting RESOLVE_ENV_PER_TOKEN. But this
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence hampers fancier hacks.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Dirk-Willem van Gulik]
c403d3f7d6cb17406e9be03a330ed5cf91619abcDavid Lawrence *) Changed the 'ErrorDocument' syntax in that it NO longer
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence supports the asymetric
a0f6cda5fd9f2fcc4154bb63628f849b639a40caAndreas Gustafsson ErrorDocument 301 "Some message
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Note the opening " quote, without a closing quote. It now
dc91d010dbd848ab3a11815e5a3d109662a38b0cDavid Lawrence has either the following syntaxes
e3b3a046bf653d39cb5b92534a6a36fce1702d20Bob Halley ErrorDocument XXX /local/uri
e3b3a046bf653d39cb5b92534a6a36fce1702d20Bob Halley ErrorDocument XXX http://valid/url
e3b3a046bf653d39cb5b92534a6a36fce1702d20Bob Halley ErrorDocument XXX "Some Message"
e3b3a046bf653d39cb5b92534a6a36fce1702d20Bob Halley The recognition heuristic is: if it has a space it
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence is a message. If it has no spaces and starts with a /
904463e94cafd59c8284f472ea8f58f1f311b8cbDavid Lawrence or is a valid URL then treat it that way. Otherwise it
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence is assumed to be a message.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence This breaks backward compatibility but makes live a hell
bf6f755a74e24441e96a110b3c8d11cfe2ed0da7David Lawrence of a lot easier for GUI's and config file parsers.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Dirk-Willem van Gulik]
1a7f6c3898266854db100fb2cb36418d650de8e7Brian Wellington *) Changed 'CacheNegotiatedDocs' from its present/not-present
1a7f6c3898266854db100fb2cb36418d650de8e7Brian Wellington syntax into a 'on' or 'off' syntax. As it currently is the
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence only non nesting token which uses NO_ARGS and thus is an
56433595bb938c21fd3b07a0f7c565d942bb8780David Lawrence absolute pain for any config interface automation. This
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence breaks backward compatibility. [Dirk-Willem van Gulik]
fc9e755ba340607d76c7de897ee2d985d3b24505David Lawrence *) Add ability to add external modules to the build process. This is
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence done with --with-module=/path/to/module. Modules can only be added
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence as static modules at this point.
7896e45912df15d07eb99f885b9d9c15ad5f3f68David LawrenceChanges with Apache 2.0a1
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Fix FreeBSD 3.3 core dump.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Basically, ap_initialize() needs to get called before
32eddfc189108fa93e31761e13150594c7a79d2bDavid Lawrence create_process(), since create_process() passes op_on structure
b8dd48ecf83142f6ee7238cbd68fec455e527fc8Mark Andrews to semop() to get a lock, but op_on isn't initialized until
b8dd48ecf83142f6ee7238cbd68fec455e527fc8Mark Andrews ap_initialize() calls setup_lock(). Here is a slight
b8dd48ecf83142f6ee7238cbd68fec455e527fc8Mark Andrews rearrangement to main() which calls ap_initialize() earlier...
68e4926b2262571e004b4be00b905ec776c01d9cMichael Graff [Jeff Trawick <trawick@us.ibm.com>]
68e4926b2262571e004b4be00b905ec776c01d9cMichael Graff *) Enable Apache to use sendfile/TransmitFile API
6c7e680943ccdb75f23b050a7bc5ac0825e5244aMark Andrews [Bill Stoddard, David Reid, Paul Reder]
6c7e680943ccdb75f23b050a7bc5ac0825e5244aMark Andrews *) Re-Implement Win32 APR network I/O APIs and most of the file I/O
6c7e680943ccdb75f23b050a7bc5ac0825e5244aMark Andrews [Bill Stoddard]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Make file I/O and network I/O writev/sendv APIs consistent.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Eliminate use of ap_iovec_t and use Posix struct iovec.
61e9c1cdbe29683bb2db388e4fc6a6fd59315cefDavid Lawrence Use seperate variable on ap_writev to set the number of iovecs
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence passed in and number of bytes written.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Bill Stoddard]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Adapt file iol to use APR functions. Replaced ap_open_file()
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence with ap_create_file_iol(). ap_create_file_iol() requires that
2cc1d2536d5834fbe20281068b8bd34dd1ee5337David Lawrence the file be opened prior to the call using ap_open().
140d92622430165001bd91ba2e7d516992faeb2fMichael Sawyer [Bill Stoddard]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Port mod_include and mod_cgi to 2.0
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Paul Reder, Bill Stoddard]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) ap_send{,v}, ap_recv, ap_sendfile API clarification --
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence bytes_read/bytes_written is always valid (never -1). Plus
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence some fixes to buff.c to correct problems introduced by the
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence errno => ap_status_t changes a while back. Plus a fix to
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence chunked encoding introduced right at the beginning of 2.0.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Dean Gaudet]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Revamped UNIX build system to use autoconf and libtool.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Manoj Kasichainula, Sascha Schumann]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) port mod_rewrite to 2.0. [Paul J. Reder <rederpj@raleigh.ibm.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) More rigorous checking of Host: headers to fix security problems
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence with mass name-based virtual hosting (whether using mod_rewrite
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence or mod_vhost_alias).
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Ben Hyde, Tony Finch]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Add back support for UseCanonicalName in <Directory> containers.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Manoj Kasichainula]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Added APLOG_STARTUP log type. This allows us to write an error
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence message without any of the date and time information. As a part
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence of this change, I also removed all of the calls to fprintf(stderr
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence and replaced them with calls to ap_log_error using APLOG_STARTUP
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence writing to stderr is no longer portable, because we don't direct
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence stderr to the error log on all platforms.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Convert error logging functions to take errno as an argument.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence This makes our error logs more portable, because some Windows API's
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence don't set errno. This change allows us to still output a valid
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence message on all of our platforms.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) mod_mime_magic runs in 2.0-dev now.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Paul Reder <rederpj@raleigh.ibm.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) sendfile has been added to APR.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [John Zedlewski <zedlwski@Princeton.EDU>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) buff.c has been converted to no longer use errno.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Manoj Kasichainula]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) mod_speling runs in 2.0-dev now: a bug in readdir_r handling and
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence interface adaption to APR functions did it. [Martin Kraemer]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Support DSOs properly on 32-bit HP-UX 11.0
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Dilip Khandekar <dilip@cup.hp.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Updated MM in APR source tree from version 1.0.8 to 1.0.11
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Ralf S. Engelschall]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Cleaned APR build environment integration and bootstrap APR
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence automatically for developers from src/Configure.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Ralf S. Engelschall]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Fixed building of src/support/htpasswd.c
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Ralf S. Engelschall]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) When generating the Location: header, mod_speling forgot
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence to escape the spelling-fixed uri. (Forw-Port from 1.3)
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Martin Kraemer]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Moved mod_auth_digest.c from experimental to standard. [Roy Fielding]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Change all pools to APR contexts. This is the first step to
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence incorporating APR into Apache. [Ryan Bloom]
16a107c904a30a687a08efec86a26a2f9398d2edAndreas Gustafsson *) Move "handler not found" warning message to below the check
16a107c904a30a687a08efec86a26a2f9398d2edAndreas Gustafsson for a wildcard handler. [Dirk <dirkm@teleport.com>, Roy Fielding]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence PR#2584, PR#2751, PR#3349, PR#3436, PR#3548, PR#4384, PR#4795, PR#4807
33e927bf8622db6d3e5ecfd871f517db47fa722bDavid Lawrence *) Support line-continuation feature in config.option file and
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence allow the loading of multiple option sections at once via
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence ``--with-option=<section1>,<section2>,...''
3e6b98586e823544344bcbbcad825d3d4485de59David Lawrence [Ralf S. Engelschall]
947bd6c648bd29bc226971324de1b30230a56a22David Lawrence *) Rebuilt CVS repository with Apache 1.3.9 as basis. [Roy Fielding]
878363c06b3d42f8fa4acca0c4aec9252b7844d9David LawrenceChanges with Apache MPM
cc5547dbcb04bdc498cf050c6104a1974f68c6eaAndreas Gustafsson *) Use asynchronous AcceptEx() and a completion port to accept and
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence dispatch connections to threads in Windows NT/2000.
b8957f3496b6a900df9ca263864a47dbb1cb8978David Lawrence [Bill Stoddard]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Implement WINNT Win32 MPM from original Win32 code in http_main.c
c7f22f83aac9e61dafee191cad040e9c42652cc8David Lawrence [Bill Stoddard]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Implement the APACI --with-option facility
c4717613e45323ed23dc6e9162cba89f1f83830cDavid Lawrence (per default used the config.option file).
f6d6835ed5bb14f7d87cb9b736deadf9de2085ddAndreas Gustafsson [Ralf S. Engelschall]
f6d6835ed5bb14f7d87cb9b736deadf9de2085ddAndreas Gustafsson *) MPM BEOS port. [David Reid <abb37@dial.pipex.com>]
d41c9885ecfb4be7382fd32a58ae4a9fb2056b81David Lawrence *) Start to implement module-defined hooks that are a) fast and b) typesafe.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Replace pre_connection module call with a register_hook call and
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence implement pre_connection as a hook. The intent is that these hooks will
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence be extended to allow Apache to be multi-protocol, and also to allow the
38feb01f1b0a3ac65897ae63c22c27c72e8cfda1David Lawrence calling order to be specified on a per-hook/per-module basis.
802aa6f2b70cc0b4e69ef0a1dcab0a8d68a0fdeaDavid Lawrence *) Implement mpm_* methods as "modules". Each method gets its own
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence subdir in src/modules (eg: src/modules/prefork). Selection
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence of method uses Rule MPM_METHOD. [Jim Jagielski]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Port the hybrid server from the apache-apr repository as
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence mpm_mpmt_pthread. [Manoj Kasichainula]
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halley *) os/unix/unixd.[ch]: detach, setuid, setgid, stuff which will be common
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halley amongst the unix MPMs.
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halley *) mpm_prefork: throw away all the alarm/timeout crud; and clean up the
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halley signal handling for the new world order. [Dean Gaudet]
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halley *) Crude ap_thread_mutex abstraction so that we get the pthread stuff out
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halley of alloc.c for now. [Dean Gaudet]
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halley *) Handle partial large writes correctly. [Ben Laurie]
cc43f2461d2b7da80105cf6d1b96bda4e93303cdDavid Lawrence *) Eliminate conn_rec's pointer to server. All it knows is the base server
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence based on IP/port. [Ben Laurie]
58bc93c3ddbdf0b2fde9b7d2b4342f90d83ec633David Lawrence *) Port a bunch of modules to the new module structure.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence ["Michael H. Voase" <mvoase@midcoast.com.au>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) I/O layering and BUFF revamp. See docs/buff.txt. [Dean Gaudet]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Basic restructuring to introduce the MPM concept; includes various
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence changes to the module API... better described by
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David LawrenceChanges with Apache pthreads
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) New buff option added: BO_TIMEOUT. It describes the timeout for
32eeec855957c3dd38f0d6c98ca79b67a71300b6Brian Wellington buff operations (generally over a network).
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Dean Gaudet, Ryan Bloom, Manoj Kasichainula]
f3f88c6802df4cfee59439b19a1c49637b70342dDavid Lawrence *) Created http_accept abstraction. Added 4 new functions (not exported):
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence init_accept(), begin_accepting_requests(), get_request(),
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence stop_accepting_requests() [Bill Stoddard]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Fix to ap_rprintf call that allows mod_info to work properly.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [James Morris <jmorris@intercode.com.au>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) user and ap_auth_type fields were moved from connection_rec to
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence request_rec. [Ryan Bloom]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Removed the ap_block_alarms and ap_unblock_alarm calls. These aren't
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence needed in a threaded server.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Initial pthread implementation from from Dean's apache-nspr code.
cabcfd3e90a647c7bab3c5cc3ef7b36f49830787David Lawrence [Bill Stoddard, Ryan Bloom]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid LawrenceChanges with Apache 1.3.9
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Remove bogus error message when a redirect doesn't set Location.
d111a46c88adda33a93839f4934e127b6147d87dBob Halley Instead, use an empty string to avoid coredump if the error message
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence was supposed to include a location. [Roy Fielding]
e4e183af576855f4ccc9fc28084ffe095aaa5b55Andreas Gustafsson *) Don't allow configure to include mod_auth_digest unless it is
e49a98d47fea220023c22bcc7204f13f7f0b07feBrian Wellington explicitly requested, even if the user asked for all modules.
6f17d90364f01c3e81073a9ffb40b0093878c8e2Brian Wellington [Roy Fielding]
195da2b26542b85d60308b2af35ea9966df9c3bbMichael Graff *) Translate module names to dll names for OS/2 so that they are no more
195da2b26542b85d60308b2af35ea9966df9c3bbMichael Graff than 8 characters long and have an extension of "dll" instead of "so".
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Brian Havard]
e9a9ae4fc627f24cb960a3008f2723ba9a55b274Brian Wellington *) Print out pointer to Rule DEV_RANDOM when truerand lib not found.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Fix test-compile check to check for randbyte instead of trand32.
d1bdeae7bb7a0642170d5476c2fd901db3028143Andreas Gustafsson Use ap_base64encode_binary/decode instead of copy in mod_auth_digest.c
d1bdeae7bb7a0642170d5476c2fd901db3028143Andreas Gustafsson and tweak to make Amaya happier. [Ronald Tschal�r]
d111a46c88adda33a93839f4934e127b6147d87dBob Halley *) Ensure that the installed expat include files are world readable,
d111a46c88adda33a93839f4934e127b6147d87dBob Halley just like the other header files. [Martin Kraemer]
585529aaeb95a71cd3d95df2602a4688fc7c3292David Lawrence *) Fixed generated AddModule adjustments in APACI's `configure' script
9e53cbca72767d0c91962b7a01650ea07d7398ddMark Andrews in order to allow (new) modules like mod_vhost_alias to be handled
585529aaeb95a71cd3d95df2602a4688fc7c3292David Lawrence correctly (which was touched by the adjustments for mod_alias).
9e53cbca72767d0c91962b7a01650ea07d7398ddMark Andrews [Ralf S. Engelschall]
2d0c5f1eada2015324cb89c11c7c5c11cccb493fAndreas Gustafsson *) For binary builds, add -R flag to apachectl to work around the lack of
3bb3b7ac462a90c2b8b1fb783324d800e2ba748cMichael Graff an absolute path to the ./libexec directory where the libhttp.ep file
3bb3b7ac462a90c2b8b1fb783324d800e2ba748cMichael Graff is needed for SHARED_CORE architectures. [Randy Terbush]
c6adcd09c8d5c0acd47a8dccb8061bb1105cad95Michael Graff *) WIN32: Create the CGI script process as DETACHED. This may solve the
c6adcd09c8d5c0acd47a8dccb8061bb1105cad95Michael Graff problem observed by some Win95/98 users where they get CGI script
b5fff54fe9335b20c02d749831fc0eaeda97198fBrian Wellington output sent to the console. [Bill Stoddard]
15a0ed30600ea88fe1227233155586f0c3c6cc34Bob Halley *) Fix (re)naming in the uuencode/decode section. The ap/ap_
15a0ed30600ea88fe1227233155586f0c3c6cc34Bob Halley routines are now called ap_base64* and are 'plain' (i.e., no
15a0ed30600ea88fe1227233155586f0c3c6cc34Bob Halley pool access or anything clever). Inside util.c the routines acting
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence like pstrdup are called ap_pbase64encode() and ap_pbase64decode().
53c892082e4dd70a12bb5badd81a9e939d7e6efdBrian Wellington The oddly named ap_uuencode(), ap_uudecode() are kept around for
b5fff54fe9335b20c02d749831fc0eaeda97198fBrian Wellington now but deprecated. [dirkx]
b5fff54fe9335b20c02d749831fc0eaeda97198fBrian Wellington *) Clean up the base64 and SHA1 additions and make sure they are
b5fff54fe9335b20c02d749831fc0eaeda97198fBrian Wellington represented in the ApacheCore.def, ApacheCoreOS2.def, and httpd.exp
b5fff54fe9335b20c02d749831fc0eaeda97198fBrian Wellington files. [Roy Fielding]
3ae757933270e8298a6c1c5f9dfd30a4d852972cAndreas Gustafsson *) WIN32: Migrate to InstallShield 5.5 and provide a bit more error
3ae757933270e8298a6c1c5f9dfd30a4d852972cAndreas Gustafsson checking. Allow compiling on VS 6.0. [Randy Terbush]
3ae757933270e8298a6c1c5f9dfd30a4d852972cAndreas Gustafsson *) Fixed assumption of absolute paths in binbuild.sh. [Tony Finch]
b61bbad878d0ac563a093525aa826cdba0fd43bfMark Andrews *) Use TestCompile to search for the truerand library (rather than blindly
b61bbad878d0ac563a093525aa826cdba0fd43bfMark Andrews assuming its existence). If it is not found, complain (but do not
b61bbad878d0ac563a093525aa826cdba0fd43bfMark Andrews exit - yet). [Martin Kraemer]
4716e94840921878b26e493576f84afe4fe08752Mark Andrews *) We forgot to add the new exported function names to
4716e94840921878b26e493576f84afe4fe08752Mark Andrews src/support/httpd.exp. [Bill Stoddard, Randy Terbush]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Add description of -T command-line option to usage().
622af581bd08a61d12c70f80b1d40d0d9c8a1fa3David Lawrence [Ralf S. Engelschall]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) For "some" platforms (notably, EBCDIC based ones), libos needs to be
b4b032ab5a3d0e96e7c752e232e3050e8806b8cbBob Halley searched only AFTER libap has been searched, because libap needs
0e9c5d24d25cb77a6935abf9247734b576626c9fBob Halley some symbols from libos. [Martin Kraemer]
3886e748a4086b813e3453232a742903762fedadBob Halley *) Fix conflict with original mod_digest related to the symbol of the
3886e748a4086b813e3453232a742903762fedadBob Halley module dispatch list (which has to be unique for DSO and follow the
3886e748a4086b813e3453232a742903762fedadBob Halley usual conventions for the installation procedure).
3886e748a4086b813e3453232a742903762fedadBob Halley [Ralf S. Engelschall]
3886e748a4086b813e3453232a742903762fedadBob Halley *) Add a dbm-library check for the "usual places" (-ldbm, -lndbm, -ldb)
b4b032ab5a3d0e96e7c752e232e3050e8806b8cbBob Halley for other platforms as well. [Martin Kraemer]
b4b032ab5a3d0e96e7c752e232e3050e8806b8cbBob Halley *) Make ap_sha1.c compile for EBCDIC platforms: replace remaining LONG
b4b032ab5a3d0e96e7c752e232e3050e8806b8cbBob Halley types by AP_LONG and replace reference to renamed variable 'ubuf'
b4b032ab5a3d0e96e7c752e232e3050e8806b8cbBob Halley by 'buffer'. [Martin Kraemer]
ce0004744d2c232581af53cbc6201f4ec4cf1f1cBrian WellingtonChanges with Apache 1.3.8 [not released]
ce0004744d2c232581af53cbc6201f4ec4cf1f1cBrian Wellington *) Flush the output buffer immediately after sending an error or redirect
ce0004744d2c232581af53cbc6201f4ec4cf1f1cBrian Wellington response, since the result may be needed by the client to abort a
ce0004744d2c232581af53cbc6201f4ec4cf1f1cBrian Wellington long data transfer or restart a series of pipelined requests.
ce0004744d2c232581af53cbc6201f4ec4cf1f1cBrian Wellington [Tom Vaughan <tvaughan@aventail.com>, Roy Fielding]
b4b4adc097365bd3f980b30bc7cc30199f4b8456Andreas Gustafsson *) PORT: Improved compilation and DSO support on Sequent DYNIX/ptx.
b4b4adc097365bd3f980b30bc7cc30199f4b8456Andreas Gustafsson [Ian Turner <iant@sequent.com>] PR#4735
83a39d3f3c9b9966bc060d46e8e419adb004888aAndreas Gustafsson *) Local struct mmap in http_core.c conflicted with system structure
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley name on DYNIX -- changed to mmap_rec. [Roy Fielding] PR#4735
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley *) Added updated mod_digest as modules/experimental/mod_auth_digest.
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley [Ronald Tschal�r <ronald@innovation.ch>]
8426878e988859184706f36e2229e24e77b80aa4Andreas Gustafsson *) Fix a memory leak where the module counts were getting messed
8426878e988859184706f36e2229e24e77b80aa4Andreas Gustafsson up across restarts. [David Harris <dharris@drh.net>]
0f7045b0c437b158c61c195c319d2762882ece83Andreas Gustafsson *) CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
0f7045b0c437b158c61c195c319d2762882ece83Andreas Gustafsson properly in mod_access.
7c0e50b5623a6ffc9e3986e129f8ca6bae9aabfaBrian Wellington ["Paul J. Reder" <rederpj@raleigh.ibm.com>] PR#4770
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *) RewriteLock/RewriteMap didn't work properly with virtual hosts.
a25310fd1dce652cdebba2b3dbc5d38cc3706745Andreas Gustafsson [Dmitry Khrustalev <dima@bog.msu.su>] PR#3874
a25310fd1dce652cdebba2b3dbc5d38cc3706745Andreas Gustafsson *) PORT: Support for compaq/tandem/com.
42712a426dd62518ca7c36982867e5622f7265e7Michael Graff [Michael Ottati <michael.ottati@compaq.com>, dirkx]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Added SHA1 password encryption support to easy migration from
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Netscape servers. See support/SHA1 for more information.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence Caused the separation of ap_md5.c into md5, sha1 and a general
e6a6c0a5d6393d3a7f75b486f16e4ef15c4857bbDavid Lawrence ap_checkpass.c with just a validate_passwd routine. Added a
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence couple of flags to support/htpasswd. Some reuse of the to64()
11a898e05092e8477fbfe1a245c1c5871a846638Andreas Gustafsson function; hence renamed to ap_to64().
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Dirk-Willem van Gulik, Clinton Wong <clintdw@netcom.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Change for EBCDIC platforms (TPF and BS2000) to correctly deal
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence with ASCII/EBCDIC conversions in "ident" query.
b295930144c8782e84528dcd355153ae5a5d66e8David Lawrence [David McCreedy <McCreedy@us.ibm.com>]
0bcb1d4d630f8d7547ee62870e1b059827cc1c8aDavid Lawrence *) Get rid of redefinition warning on MAC_OS_X_SERVER platform.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence Change "Power Macintosh" to Power* so if uname prints "Power Book"
ce3be21d63d1e06b222ecb66b4eae909b4658d53James Brister we're still happy on Rhapsody platforms. [Wilfredo Sanchez]
ce3be21d63d1e06b222ecb66b4eae909b4658d53James Brister *) Fix SIGSEGV on some systems because the Vary fix below included
ce3be21d63d1e06b222ecb66b4eae909b4658d53James Brister a call to table_do with a variable argument list that was not
ce3be21d63d1e06b222ecb66b4eae909b4658d53James Brister NULL terminated. Replaced with better implementation. [Roy Fielding]
ce3be21d63d1e06b222ecb66b4eae909b4658d53James BristerChanges with Apache 1.3.7 [not released]
6253eaa03c49aac035bdd8b1d9ec4853b45e94a0Andreas Gustafsson *) The "Vary" response header field is now sanitised right before
ce3be21d63d1e06b222ecb66b4eae909b4658d53James Brister the header is sent back to the client. Multiple "Vary" fields
ce3be21d63d1e06b222ecb66b4eae909b4658d53James Brister are combined, and duplicate tokens (e.g., "Vary: host, host" or
ce3be21d63d1e06b222ecb66b4eae909b4658d53James Brister "Vary: host, negotiate, host, accept-language") are reduced to
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence single instances. This is a better solution than the force-no-vary
ce3be21d63d1e06b222ecb66b4eae909b4658d53James Brister one (which is still valid for clients that can't cope with Vary
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence at all). PR#3118 [Dean Gaudet, Roy Fielding, Ken Coar]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Portability changes for BeOS. [David Reid abb37@dial.pipex.com]
7b2db4b8d13e3d8bc81419ffcc8b39de8193ef63David Lawrence *) Link DSO's with "gcc -shared" instead of "ld -Bshareable" at
9e7c9ad159b581714c67148c3c698c12730d7ef7James Brister least on Linux and FreeBSD for now.
9e7c9ad159b581714c67148c3c698c12730d7ef7James Brister [Rasmus Lerdorf]
bf062442eeef2fe404d728891b1317b01fbb7908Andreas Gustafsson *) Win32: More apache -k restart work. Restarts are now honored
bf062442eeef2fe404d728891b1317b01fbb7908Andreas Gustafsson immediately and connections in the listen queue are -not- lost.
bf062442eeef2fe404d728891b1317b01fbb7908Andreas Gustafsson This is made possible by the use of the WSADuplicateSocket()
bf062442eeef2fe404d728891b1317b01fbb7908Andreas Gustafsson call. The listeners are opened in the parent, duplicated, then
bf062442eeef2fe404d728891b1317b01fbb7908Andreas Gustafsson the duplicates are passed to the child. The original listen sockets
bf062442eeef2fe404d728891b1317b01fbb7908Andreas Gustafsson are not closed by the parent across a restart, thus the listen queue
bf062442eeef2fe404d728891b1317b01fbb7908Andreas Gustafsson [Bill Stoddard <stoddard@raleigh.ibm.com>]
404e3e4738e97d5dff48fab1e76839e963cb16a6Brian Wellington *) Fix handling of case when a client has sent "Expect: 100-continue"
404e3e4738e97d5dff48fab1e76839e963cb16a6Brian Wellington and we are going to respond with an error, but get stuck waiting to
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence discard the body in the pointless hope of preserving the connection.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Roy Fielding, Joe Orton <jeo101@york.ac.uk>] PR#4499, PR#3806
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Fix 'configure' to work correctly with SysV-based versions of
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence 'tr' (consistent with Configure's use as well). [Jim Jagielski]
d9cc295339982d8d86075ab4285cc700d354e2eeBob Halley *) apxs: Add "-S var=val" option which allows for override of CFG_*
7d1d130f4fe1b7485142c4f55a4ef3760b5fa30aBrian Wellington built-in values. Add "-e" option which works like -i but doesn't
7d1d130f4fe1b7485142c4f55a4ef3760b5fa30aBrian Wellington install the DSO; useful for editing httpd.conf with apxs. Fix
7d1d130f4fe1b7485142c4f55a4ef3760b5fa30aBrian Wellington editing code so that multiple invocations of apxs -a will not
d9cc295339982d8d86075ab4285cc700d354e2eeBob Halley create duplicate LoadModule/AddModule entries; apxs can now be
d9cc295339982d8d86075ab4285cc700d354e2eeBob Halley used to re- enable/disable a module. [Wilfredo Sanchez]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Win32: Update the server to use Winsock 2. Specifically, link with
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence ws2_32.lib rather than wsock32.lib. This gives us access to
9ac79ef3f89b23d80f9649abf71fdc65bb7a8b62David Lawrence WSADuplcateSocket() in addition to some other enhanced comm APIs.
a6a0b5e9b7078887a73ecec8be2935daa287a389James Brister Win 95 users may need to update their TCP/IP stack to pick up
a6a0b5e9b7078887a73ecec8be2935daa287a389James Brister Winsock 2. (See http://www.microsoft.com/windows95/downloads/)
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence [Bill Stoddard stoddard@raleigh.ibm.com]
be768c2e952c34438025999125f984995a2c675fBob Halley *) Win32: Redirect CGI script stderr (script debug info) into the
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence error.log when CGI scripts fail. This makes Apache on Win32
da6affdf7dd677a636155e4a41f6de416a2d815bBob Halley behave more like Unix.
da6affdf7dd677a636155e4a41f6de416a2d815bBob Halley [Bill Stoddard stoddard@raleigh.ibm.com]
da6affdf7dd677a636155e4a41f6de416a2d815bBob Halley *) Fixed `httpd' usage display: -D was missing.
da6affdf7dd677a636155e4a41f6de416a2d815bBob Halley [Ralf S. Engelschall] PR#4614
be768c2e952c34438025999125f984995a2c675fBob Halley *) Fix `make r' test procedure in src/regex/: ap_isprint was not found.
be768c2e952c34438025999125f984995a2c675fBob Halley [Ralf S. Engelschall] PR#4561, PR#4562
01e320c4fb51c802e9fe86c192fbebf4229ca918Bob Halley *) OS/2: Fix problem with accept lock semaphores where server would die with
19e0c849f69ad8b655b4d199e16de0a4a94562d6Bob Halley "OS2SEM: Error 105 getting accept lock. Exiting!"
19e0c849f69ad8b655b4d199e16de0a4a94562d6Bob Halley [Brian Havard] PR#4505
19e0c849f69ad8b655b4d199e16de0a4a94562d6Bob Halley *) Add DSO support for DGUX 4.x using gcc. Tested on x86 platforms.
9ac79ef3f89b23d80f9649abf71fdc65bb7a8b62David Lawrence [Randy Terbush <randy@covalent.net>]
01e320c4fb51c802e9fe86c192fbebf4229ca918Bob Halley *) Add the new mass-vhost module (mod_vhost_alias.c) developed and
01e320c4fb51c802e9fe86c192fbebf4229ca918Bob Halley used by Demon Internet, Ltd. [Tony Finch <fanf@demon.net>]
dd6132005a5c48dea642c2ed0507bf472c8ee9bbJames Brister *) Better GCC detection for DSO flags under Solaris 2 where the `cc'
dd6132005a5c48dea642c2ed0507bf472c8ee9bbJames Brister command potentially _is_ GCC. [Ralf S. Engelschall]
d6d18435cd47a57f43af2eab835d0f6b7a76f2bdAndreas Gustafsson *) Fix apxs build issues on AIX
d6d18435cd47a57f43af2eab835d0f6b7a76f2bdAndreas Gustafsson [Rasmus Lerdorf <rasmus@raleigh.ibm.com>]
3f46e84f9ff264cac8c07c2136a507827afb2760James Brister *) DocumentRoot Checking: Under previous versions, when Apache
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence first started up, it used to do a stat of each DocumentRoot to
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence see if it existed and was a directory. If not, then an error
3f46e84f9ff264cac8c07c2136a507827afb2760James Brister message was printed. THIS HAS BEEN DISABLED. If DocumentRoot
3f46e84f9ff264cac8c07c2136a507827afb2760James Brister does not exist, you will get error messages in error_log. If
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence the '-t' command line option is used (to check the configuration)
3f46e84f9ff264cac8c07c2136a507827afb2760James Brister the check of DocumentRoot IS performed. An additional command
3f46e84f9ff264cac8c07c2136a507827afb2760James Brister line option, '-T', has been added if you want to avoid the
99b80297d416ebb722b2515023c51b3aacdc1fb9Bob Halley DocumentRoot check even when checking the configuration.
fdb12d38d325efba64581bdee7fac188466fff55Bob Halley [Jim Jagielski]
fdb12d38d325efba64581bdee7fac188466fff55Bob Halley *) Win32: The query switch "apache -S" didn't exit after showing the
fdb12d38d325efba64581bdee7fac188466fff55Bob Halley vhost settings. That was inconsistent with the other query functions.
fdb12d38d325efba64581bdee7fac188466fff55Bob Halley [Bill Stoddard - Fixed by Martin on Unix in 1.3.4]
43a5758df763a04d907a8b406e89a96f5c207a9cBrian Wellington *) Win32: Changed behaviour of apache -k restart.
43a5758df763a04d907a8b406e89a96f5c207a9cBrian Wellington Previously, the server would drain all connections in the stack's
43a5758df763a04d907a8b406e89a96f5c207a9cBrian Wellington listen queue before honoring the restart. On a busy server, this
c73aafe6016ed1a7a6972681148cedf6a48a21bcBrian Wellington could take hours. Now, a restart is honored almost immediately.
c73aafe6016ed1a7a6972681148cedf6a48a21bcBrian Wellington All connections in Apache's queues are handled but connections in
c73aafe6016ed1a7a6972681148cedf6a48a21bcBrian Wellington the stack's listen queue are discarded. Restart triggered by
99b80297d416ebb722b2515023c51b3aacdc1fb9Bob Halley MaxRequestPerChild is unchanged.
99b80297d416ebb722b2515023c51b3aacdc1fb9Bob Halley [Bill Stoddard <stoddard@raleigh.ibm.com>]
99b80297d416ebb722b2515023c51b3aacdc1fb9Bob Halley *) Win32: Eliminated unnecessary call to wait_for_multiple_objects in
99b80297d416ebb722b2515023c51b3aacdc1fb9Bob Halley the accept loop. Good for a 5% performance boost. Cleaned up
a5a5371b756f3bbbe33dac1dde196fbd6c063640Bob Halley parent/child process management code.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [Bill Stoddard <stoddard@raleigh.ibm.com>]
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence *) Added ceiling on file size for memory mapped files.
9151d6e15cb9c639a3dca083d7f6e9094f6b89caDavid Lawrence [John Giannandrea <jg@meer.net>] PR#4122
*) Fix ndbm.h include problems with brain-dead glibc >= 2.1 which
has ndbm.h in a non-standard db1/ subdir. PR#4431, PR#4528
*) Determine AP_BYTE_ORDER for ap_config_auto.h and already
content-types are "text/html;parameters". PR#4524 [Ken Coar]
*void. When the OS/platform/compiler supports quads, ap_snprintf()
*) Add RULE_EXPAT, the src/lib/ directory structure, and a modified copy
(e.g., HTTP/0.9 or HTTP/1.1) of the request. [Ken Coar]
*) Switch to /bin/sh5 in APACI on Ultrix and friends to avoid problems with
their brain-dead /bin/sh. [Ralf S. Engelschall] PR#4372
*) mod_include's fsize/flastmod should allow only relative paths, just
*) Add iconsdir, htdocsdir, and cgidir to config.layout.
*) Fix minor but annoying bug with the test for Configuration.tmpl
in unix/os.c, and don't install the dyld error handlers, which
*) Add functionality to the install-bindist.sh script created by
binbuild.sh to use tar when copying distribution files to the
install-bindist.sh now detects the local perl5 path to install
src/modules/proxy_util.c where a NULL filepointer and
have assurance about how string manipulators (e.g., tr) will
*) Add "opt" (SysV-style) layout to config.layout. [Raymond S Brand
*) Fix number of bytes copied by read_connection() in src/support/ab.c
*) Make sure RewriteLock can be used only in the global context, (i.e.
uncompress/gzip, but those tools sometimes do not produce
*) PORT: deal with UTS compiler error in http_protocol.c
binary (e.g., image file) in the first place.
*) support/htpasswd now permits the password to be specified on the
apache -n apache1 -i -f c:/httpd.conf
Installs apache as service 'apache1' and associates c:/httpd.conf
Installs apache as service 'apache2'. httpd.conf is located under
the default server root (/apache/conf/httpd.conf).
apache -n apache3 -i -d c:/program files/apache
c:/program files/apache.
*) Correct the signed/unsigned character handling for the MD5 routines;
*) OS/2: Rework CGI handling to use spawn*() instead of fork/exec, achieving
*) proxy ftp: instead of using the hardwired string "text/plain" as
<Directory proxy:ftp://some.host>
DefaultType gargle/blurb
*) Be more smart in APACI's configure script when determining the UID/GID
the number of fork()s from one/request to just the odd one an hour.
*) Added proxy, auth and header support to src/support/ab.c. Added a
README file to src/support/
*) Fix sed-substitutions in `make install': path elements like `httpd/conf'
(for instance from an APACI configure --sysconfdir=/etc/httpd/conf
*) PORT: Add support for FreeBSD 4.x [Ralf S. Engelschall]
the reboot prompt (which is only given if MSVCRT.DLL system
*) WIN32: Apache.exe now contains an icon. [Paul Sutton]
*) Using APACI, the main config file (usually httpd.conf) was
*) Move the directive `ExtendedStatus' in httpd.conf-dist-win _after_ the
DSO/DLL section because it's a directive from mod_status and isn't
against libap.a and use its ap_snprintf() instead of sprintf() to avoid
*) Add Apple's Mac OS X Server Layout "Rhapsody" to config.layout.
*) Add cgidir, htdocsdir, iconsdir variables to Makefile.tmpl in order
*) Use proper pid_t type for saving PIDs in alloc.c. [John Bley]
in http_core.c. [John Bley, Roy Fielding]
*) src/support/: The ApacheBench benchmark program was overhauled by
*) Added -S option to install.sh so that options can be passed to
is *not* given in the argument list; i.e., the logical negation
*) Win32: Add global symbols missing from ApacheCore.def. [Carl Olsen]
to util.c for parsing an HTTP header field value to extract the next
code different from 500. This allows the proxy to, e.g., return
as "com.name" to be served. [Paul Sutton] PR#3769.
make subtasking easier on the OSD/POSIX mainframe environment.
ap_compat.h. [David White <david@persimmon.com>] PR#3725
*) Make NDBM file suffix determination for mod_rewrite more accurate, i.e.
*) Let src/Configure be aware of CFLAGS options starting with plus
signs as it's the case for the HP/UX compiler.
and this makes its functions available to things in src/support.
*) WIN32: Created new makefiles Makefile_win32.txt (normal build)
and Makefile_win32_debug.txt (debug build) that work on Win95.
nmake /f Makefile_win32.txt # compiles normal build
nmake /f Makefile_win32.txt install # compiles and installs
nmake /f Makefile_win32.txt clean # removes compiled junk
nmake /f Makefile_win32_debug.txt # compiles debug build
nmake /f Makefile_win32_debug.txt install
nmake /f Makefile_win32_debug.txt clean
*) Small fix for mod_env.html: The module was documented as to be _not_
*) Instead of fixing a bug in the generation procedure for config.status (a
making sure the src/support/ tools are _forced_ to be build last (they
*) Fix installation procedure: Now that os-inline.c is actually used (a
recently fixed bug prevented this) we need to also install os-include.c
`escape' and `unescape' were added which can be used to escape/unescape
to/from hex-encodings in URLs parts (this is especially useful in
*) Major overhaul of mod_negotiation.c, part 2.
- added ap_array_pstrcat() to alloc.c for efficient concatenation
*) Major overhaul of mod_negotiation.c, part 1.
revision (draft-ietf-http-v11-spec-rev-06.txt).
e.g. no feature negotiation). Removed old experimental version.
negotiation results are consistent across backup/restores and mirrors
*) RFC2396 allows the syntax http://host:/path (with no port number)
*) When modules update/modify the file name in the configfile_t structure,
*) The hashbang emulation code in ap_execve.c would interpret
#!/hashbang/scripts correctly, but failed to fall back to a
o fixed auto-suffix handling now that config.layout exists.
config.layout and every path now can be marked this way (not only the
SINGLE_LISTEN_UNSERIALIZED_ACCEPT to NetBSD/OpenBSD section
of ap_config.h to allow serialized accept for multiport listens.
*) PORT: Fixed a misplaced #endif for NetBSD/OpenBSD section
of ap_config.h that would skip several defines if DEFAULT_GROUP
strcasecmp, so allow it in ap_config.h. [Amiel Lee Yee] PR#3247
*) Fix ordering of definitions in ap_config.h so that ap_inline is
*) Make generation of src/Configuration.apaci more robust: It failed to
another (e.g. cgi vs. fastcgi). We now check for mod_XXX, libXXX and even
*) In src/Configure remove the SERVER_SUBVERSION support (already deprecated
*) Allow special options -Wc,xxx and -Wl,xxx on APXS compile/link command.
IS to the compiler/linker command. [Ralf S. Engelschall]
config.layout. Custom layouts are possible by using FILE:ID as the
The config.layout file consists of <Layout ID>..</Layout> sections
extension (e.g., .fr, .de) can be labelled as being some other
*) mod_include.c:handle_perl() now properly tests for OPT_INCNOEXEC
*) Updated mime.types to reflect current Internet media types
Improved mod_actions.c so that it can use any of the methods
defined in httpd.h. Added ap_method_number_of(method) for
*) Fix problems with handling of UNC names (e.g., \\host\path)
*) Move a typedef to fix compile problems on Linux with 1.x kernels.
*) http_config.c would respond with 501 (Method Not Implemented) if a
should have been a 500 response. Likewise, mod_proxy.c would responsd
on-the-fly/batch permute the order of two modules (mod_foo and mod_bar)
mod_foo with the begin of the module list, i.e. it `moves' the module to
which permutes mod_foo with the end of the module list, i.e. it `moves'
on container start lines (e.g., it wouldn't spot
*) Fix Berkeley-DB/2.x support in mod_auth_db: The data structures were not
httpd.conf-dist* files. The srm and access files now contain
only comments, and httpd.conf has all the combined contents in
*) PORT: DSO/ELF support for FreeBSD 3.0.
*) Fix http://localhost/ hints in top-level INSTALL document.
ap_config.h. [Brian Havard]
*) PORT: Add Pyramid DC/OSx support to configuration mechanism.
*) PORT: Fix sys/resource.h handling for Amdahl's UTS 2.1
*) Correct comment in mod_log_config.c about its internals.
handle the creation of modules.c [Jim Jagielski]
and to avoid problems under platforms where only version 2.x is present.
*) Remove redundant substitutions in top-level Makefile.tmpl.
platforms where `nogroup' exists in /etc/group. [Ralf S. Engelschall]
the possibility to override it manually via APACI or src/Configuration.
existance of the file under /usr/include, too.
*) Fix possible buffer overflow situation in suexec.c.
*) Fix documentation of ProxyPass/ProxyPassReverse according to the
in /home/user, not in /, therefore clicking on "../" in the
dump core for replies with invalid headers (e.g., duplicate
plop gmon.out profile data for each child [Doug MacEachern]
config.status script to be immune against arguments with whitespaces.
script `buildinfo.sh' which is both more flexible and already proofed to
*) Make ab.c again pass ``gcc -Wall -Wshadow -Wpointer-arith -Wcast-align
*) Remove bad reference to non-existing SERVER_VERSION in mod_rewrite.html
*) Bump up MAX_ENV_FLAGS in mod_rewrite.h from the too conservatice limit of
variables in one RewriteRule and had to patch mod_rewrite.h for every
*) Make sure the config.status file is not overridden when just
See include/ap_mmn.h for more details. [Randy Terbush]
*) Cleanup of the PrintPath/PrintPathOS2 helper functions. Avoid
following the same idea as "MSVC vs WIN32". Additionally the src/os/emx/
directory was renamed to src/os/os2/ for consistency.
linking the DSOs, i.e. PIC libs and shared libs. Currently the rule is
*) Add correct `model' MIME types from RFC2077 to mime.types file.
*) Fixed examples in mod_rewrite.html document.
*) Update the mod_rewrite.html document to correctly reflect the situation
Makefile.tmpl: The umask+cp approach didn't work as expected (especially
*) Fix `distclean' and `clean' targets in src/Makefile.tmpl to have same
src/helper/mkdir.sh script. [Ralf S. Engelschall]
`search' entries in /etc/resolv.conf.
INSTALL file because a lot of users don't read htdocs/manual/dso.html
[Knut A.Syed <Knut.Syed@nhh.no>] PR#2674
(compilers complained) and the .so.V.R.P filename extension was adjusted
*) Disable the incorrect entry for application/msword in the
*) Fix broken RANLIB handling in src/Configure (the entry from
src/Configuration.tmpl was ignored) and additionally force RANLIB to
*) Autogenerate some HAVE_XXXXX_H defines in conf_auto.h (determined via
TestCompile) instead of defining them manually in conf.h based on less
OS-type and/or OS-version identifiers to discover whether a system header
required by HTML 3.2 and later) to mod_mime_magic's conf/magic.
*) Add Dynamic Shared Object (DSO) support for SCO5 (OpenServer 5.0.x).
*) Fix the Guess-DSO-flags-from-Perl stuff in src/Configure: "perl" was
*) PORT: remove broken test for MAP_FILE in http_main.c.
*) PORT: Change support/apachectl to use "kill -0 $pid" to test if the
but case-insensitive platforms). New #define for this added to conf.h
*) Enable DSO support for OpenBSD in general, not only for 2.x, because it
also works for OpenBSD 1.x. [Ralf S. Engelschall]
of a config.status script (as GNU Autoconf does) which remembers the used
*) Correct initialization of variable `allowed_globals' in http_main.c
multipart/x-mixed-replace;boundary=ThisRandomString.
modules/xxx/Makefile's to avoid problems with SVR4 Make under "full-DSO"
<Directory /> section of the default access.conf-dist
*) Fix symbol export list (src/support/httpd.exp) after recent
solved by another helper script findprg.sh which searches for Perl and
*) Remove the system() call from htpasswd.c, which eliminates a system
dependancy. ["M.D.Parker" <mdpc@netcom.com>] PR#2332
*) PORT: helpers/GuessOS updates for various versions for NCR SVR4.
*) Fix recently introduced Win32 child spawning code in mod_rewrite.c which
configure and src/Configure depend on this.
*) Changes usage of perror/fprintf to stderr to more proper ap_log_error
*) PORT: QNX needed a #include <sys/mman.h>; and now it uses flock
spawn_child was obsoleted and moved to compat.h
*) Fix src/support/httpd.exp (DSO export file which is currently only
``RewriteRule ^myscript$ - [T=application/x-httpd-cgi]'' This was often
*) Fix discrepancy in proxy_ftp.c which was causing failures when
*) Support for the NCR MP/RAS 3.0
*) The LDFLAGS_SHLIB_EXPORT variable of src/Configuration[.tmpl] was
not retrieved in src/Configure and thus was not useable.
- SUBDIRS is now generated in src/Makefile only and not in
Makefile.config because it is a local define for this location.
- update the "depend" targets in Makefile.tmpl files to use $(OSDIR), too.
- replaced SHLIB_OBJS/SHLIBS_OBJ consistently with OBJS_PIC because OBJS
- replaced ugly xx-so.o/xx.so-o hack with a clean and consistent usage
of xxx.lo as GNU libtool does with its PIC objects
- reduce local complexity in modules Makefile.tmpl by moving the last
*) WIN32: Make Win32 work again after the /dev/null DoS fix.
*) When opening "configuration" files (like httpd.conf, htaccess
and htpasswd), Apache will not allow them to be non-/dev/null
necessary. Long-term fix is to either serialize the chdir/spawn combo
htdocs/manual/suexec.html document before using the suexec-related
and htdocs/manual/suexec.html documents.
UID/GID and safe PATH, too.
- overhauled mkshadow.sh script: now its more IFS-safe and approx. twice
*) Add a note to httpd.conf-dist that apache will on some systems fail
and not the original statically list from modules.c
confusion with the next point and reduces the Makefile.tmpl complexity
6. The modules.c generation was extended to now contain two
of loading/linking (we use load=link+load & link=activate instead of
*) Fix the generated mod_xxx.c from "apxs -g -f xxx" after the
*) Add a comment to mod_example.c showing the format of a FLAG command
places in the code (e.g. DATE_GMT). PR#1551
*) get/set_module_config are trivial enough to be better off inline. Worth
*) Fix off-by-one error in ap_proxy_date_canon() in proxy_util.c
*) Fix debug log messages for BS2000/OSD: instead of logging the whole
*) Make sure the referer_log and agent_log entries in the default httpd.conf
*) WIN32: Make roots of filesystems (e.g. c:/) work. [Ben Laurie]
from mod_so.c to Configure because first it needs $PLAT etc. and second
AIX variants should work fine, too. Even AIX 3.x should work). This is
which we put into a os/unix/os-dso-aix.c file.
*) Fix two bugs in select() handling in http_main.c.
side-effect this reduces some subdir fiddling in configure+Makefile.tmpl.
"make root=/tmp/apache install" for rolling the package without bristling
*) Workaround braindead AWK's when generating ap_config.h: The split() and
*) Fix DEBUG_CGI situation in mod_cgi.c [David MacKenzie] PR#2114
*) Make sure that "make install" doesn't overwrite the `mime.types' and
*) PORT: Dynamic Shared Object (DSO) support for OpenBSD 2.x
variables) to avoid side-effects in "src/Configure" when the user
*) Provide backward compatibility from some old src/Configuration.tmpl
*) NeXT required strdup() in support/logresolve.c
ap_snprintf, and ap_psprintf). See include/ap.h for docs.
*) Because /usr/local/apache is the default prefix the ``configure
to `char *' under OSF1 and FreeBSD 2.x where it is defined this way
*) PORT: Make sure some AWK's don't fail in src/Configure with "string too
long" errors when generating the MODULES entry for src/Makefile
*) Make sure src/Configure doesn't complain about the old directory
/usr/local/etc/httpd/ when APACI is used. [Lars Eilebrecht]
*) Adding DSO support for the HP/UX platform by emulating the dlopen-style
interface via the similar but proprietary HP/UX shl_xxx-style system
APACI Makefile.tmpl "install" target more robust for sensible UnixWare
- Apache provided general functions (e.g., ap_cpystrn)
- Public API functions (e.g., palloc, bgets)
cross-object usage) but should be (e.g., new_connection)
For backward source compatibility a new header file named compat.h was
dummy.so file (containing dummy references to all global symbols) the
Placing the Apache core code itself into a DSO library named libhttpd.so.
where we perhaps exploit this libhttpd.so mechanism for providing nifty
inside the src subtree (i.e. for non-APACI users). Following GNU Makefile
to the mak/dsp files. [Alexei Kosut]
*) Add documentation file and src/Configuration.tmpl entry for the
*) Now src/Configure uses a fallback strategy for the shared object support
and installation of the support tools from the src/support/ area.
dynamic shared object (DSO) mechanism [mod_so.c]. The trick here is that
Apache C header files (PREFIX/include) and the new APXS tool
(SBINDIR/apxs). The intend is to provide a handy tool for third-party
modules, from trivial ones (single mod_foo.c) to complex ones (like PHP3
*) Modify the log directives in httpd.conf-dist files to use CustomLog
script and a corresponding top-level "Makefile.tmpl" file. The goal is
the old src/Configure stuff in batch and additionally installs the
routines. Use this to replace http_bprintf.c. Add new routines
is necessary on at least Solaris where the /etc/rc?.d scripts
http://.../cgi-bin/...?http%3A%2F%2F... references) [Martin Kraemer]
the mod_proxy.html and corrected the hyperlink to it in the
new_features_1.3.html document. [Ralf S. Engelschall] PR#1348
*) Fix a bug in the src/helpers/fp2rp script and make it a little bit
*) Add the new ApacheBench program "ab" to src/support/: This is derived
*) src/include/ap_config.h now wraps it's #define's with #ifndef/#endif's
*) [PORT] For A/UX change the OS-#define for -DAUX to -DAUX3.
the ugly export kludge, makes the one-liner file mod_mime.h obsolete, and
*) util.c cleanup and speedup. [Dean Gaudet]
modules as shared objects. Especially Solaris 2.x, SunOS 4.1, IRIX and
*) The Configure script now generates src/include/ap_config.h which
"http://host" url is treated as if a similar "Host:" header had been
supplied. This change was made to support future HTTP/1.x protocols
*) API: Cleanup of code in http_vhost.c, and remove vhost matching
*) API: A new source module main/util_uri.c; It contains a routine
user; /* user name, as in http://user:passwd@host:port/ */
password; /* password, as in http://user:passwd@host:port/ */
a username can contain when trying to expand it via /etc/passwd.
*) Hide Proxy-Authorization from CGI/SSI/etc just like Authorization is
reads fail. ["M.D.Parker" <mdpc@netcom.com>] PR#1827
*) Source file dependencies in Makefile.tmpl files throughout the
htdocs/manual/known_client_problems.html are in the default
(like mod_dld for Win32). This replaces mod_dld.c. Use SharedModule
header files are in the src/include directory. The -Imain -Iap
and mod_rewrite) have not been moved to src/include; nor have
calls that use too small an initial guess, see alloc.c.
because the key/value is a constant, or the value has been built
Note that it is easy to get code subtly wrong if you pass a key/value
safe thing to do is to pass key/values which are in the pool of
i.e. if the table is part of a subrequest, a value from the main
usage, enabled by defining POOL_DEBUG. See alloc.c for more details.
*) API: "typedef array_header table" removed from alloc.h, folks should
HAVE_MMAP/SHMGET #defines strictly are informational that the
Unixware 1.x appears to have the same SIGHUP bug as solaris does with
*) PORT: A/UX can handle single-listen accepts without mutex
*) suexec errors now include the errno/description. [Marc Slemko] PR#1543
*) Some const declarations in mod_imap.c that were added for debugging
*) The src/main/*.h header files have had #ifndef wrappers added to
multiple paths (e.g., in .c files as well as other .h files).
src/ap/ap.h, to ease their use in non-httpd applications. [Ken Coar]
set with SetEnv/BrowserMatch and similar directives.
(the Siemens BS2000/OSD family) in the POSIX subsystem
Located in libap.a. [Jim Jagielski]
alloc.c (affects win32 only). [Ben Hyde]
server itself (like the src/support tools). [Ken Coar]
It also wouldn't handle "AddIconByType (TXT,/icons/text.gif text/*"
htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
can be used by items in src/support among other things.
(e.g., <Directory>) where they're invalid. [Martin Kraemer]
for fgetc() and fgets() on SunOS 4.x. [Martin Kraemer, Ben Hyde]
subdirectory htdocs/manual/vhost/. [Lars Eilebrecht <sfx@unix-ag.org>]
[M.D.Parker] PR#1352
*) Inherit a bugfix to fnmatch.c from FreeBSD sources.
breaking on some systems. [Bhaba R.Misra <system@vt.edu>] PR#1368
*) A mild SIGTERM/SIGALRM race condition was eliminated.
*) Warn user that default path has changed if /usr/local/etc/httpd
*) PORT: On AIX 1.x files can't be named '@', fix the proxy cache
Document this a bit more in src/PORTING. [Dean Gaudet] PR#467
*) WIN32: Make index.html and friends work under Win95. [Ben Laurie]
*) Default pathname has been changed everywhere to /usr/local/apache
*) PORT: UnixWare 2.x requires -lgen for syslog.
[M.D.Parker <mdpc@netcom.com>] PR#1284
*) New support tool: src/support/split-logfile, a sample Perl script which
*) Makefile.tmpl was not using $CFLAGS in the link phase.
*) Add debugging code to alloc.c. Defining ALLOC_DEBUG provides a
Purify. See main/alloc.c for more details. [Dean Gaudet]
be used for whatever reason is appropriate (i.e. format() warnings
gcc >= 2.7.x (so that we have fewer support issues with older
Also removed the auto-generated link to www.apache.org that was the
*) suexec.c wouldn't build without -DLOG_EXEC. [Jason A. Dour]
*) Fixed error in proxy_util.c when looping through multiple host IP
buffered writes -- that is, it will buffer up to PIPE_BUF (i.e. 4k)
*) API: New register_other_child() API (see http_main.h) which allows
*) API: New piped_log API (see http_log.h) which implements piped logs,
Some things (like RewriteMaps) were checked/performed even if they
*) Removal of mod_auth_msql.c from the distribution. There are many
http://modules.apache.org/ It would be nice to offer a generic
Makefile on the fly based on Makefile.tmpl and Configuration.
*) support/httpd_monitor is no longer distributed because the
the headers/contents of the request. It does not run during subrequests
USE_xxx_SERIALIZED_ACCEPT in conf.h. xxx is FCNTL for fcntl(),
- Linux 2.x uses flock instead of fcntl
- Solaris 2.x uses pthreads
*) PORT: The semantics of accept/select make it very desirable to use
Modules can be dropped into modules/extra, or in their own
modules/standard. All other source code is in main. OS-specific
match "/home/a/andrew/public_html", now it only matches things
/dev/tty, etc.)
and cidr syntax (i.e. 10.1.0.0/16). PR#762
Apache would omit the chunk header/footer on the next block. Cleaned
e.g. when max_requests_per_child is reached, etc.
*) PORT: QNX mmap() support for faster/more reliable scoreboard handling.
setting. The define MAX_SPAWN_RATE can be used to raise/lower
in a language that by default does buffering (e.g. perl) this
*) PORT: Allow for use of n32bit libraries under IRIX 6.x
*) PORT: Linux: Attempt to detect glibc based systems and include crypt.h
*) PORT: QNX doesn't have initgroups() which support/suexec.c uses.
rect /url.hrm 10 20 30 40
braindead SunOS 4.1.x, allow env variables to be set even on rules with
i.e. now mod_rewrite no longer has a shared copyright. Instead is is
See http_config.h for more details. [Dean Gaudet]
LoadModule/LoadFile directives. Note that module DLLs must be
Module autoindex_module mod_autoindex.o
*) popendir/pclosedir created to properly protect directory scanning.
*) Makefile.nt added - to build all the bits from the command line:
nmake -f Makefile.nt
httpd.h. [Dean Gaudet]
the SFIO library calls sfread/sfwrite if B_SFIO is defined at
*) Turn off chunked encoding after sending terminating chunk/footer
*) SECURITY: When a client connects to a particular port/addr, and
actually be reached via that port/addr. [Ed Korthof <ed@organic.com>]
*) Support virtual hosts with wildcard port and/or multiple ports
and mod_include.c. [Dean Gaudet]
Also removed the auto-generated link to www.apache.org that was the
htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
*) #ifdef wrap a few #defines in httpd.h to make life easier on
*) Fix MPE compilation error in mod_usertrack.c. [Mark Bixby]
should consider comparing against src/modules/standard/mod_include.c
*) suexec.c wouldn't build without -DLOG_EXEC. [Jason A. Dour]
minus WIN32/NT stuff, but plus copyright removement.
under Solaris 2.x (up through 2.5.1). It has been fixed.
lockfile in any location. It previously defaulted to /usr/tmp/htlock.
*) Add a placeholder in modules/Makefile to avoid errors with certain
*) USE_FLOCK_SERIALIZED_ACCEPT is now default for FreeBSD, A/UX, and
redirect flag, e.g. R=permanent, the permanent status was lost.
*) PORT: Support for Maxion/OS SVR4.2 Real Time Unix. [no name given] PR#383
*) PORT: fix problem compiling http_bprintf.c with gcc under SCO
*) Fixed open timestamp fd in proxy_cache.c [Chuck Murcko]
directive and the DEFAULT_TYPE symbol in httpd.h. Changed the value
of DEFAULT_TYPE to match the documented default (text/plain).
*) In mod_proxy.c, check return values for proxy_host2addr() when reading
the connection (e.g., when user presses Stop). Apache will now stop
*) Rearrange Configuration.tmpl so that mod_rewrite has higher priority
htdocs/manual/stopping.html for details on stopping and
*) The default handler now logs invalid methods or URIs (i.e. PUT on an
buffer or write inside buff.c or fread'ing from a CGI's output,
*) Use /bin/sh5 on ULTRIX. [P. Alejandro Lopez-Valencia] PR#369
*) Add UnixWare compile/install instructions. [Chuck Murcko]
*) Add macro for memmove to conf.h for SUNOS4. [Marc Slemko]
*) More signed/unsigned port fixes. [Dean Gaudet]
*) suexec.c doesn't close the log file, allowing CGIs to continue writing
*) Improved generation of modules/Makefile to be more generic for
*) Fixed overlaying of request/sub-request notes and headers in
*) Port to UXP/DS(V20) [Toshiaki Nomura <nom@yk.fujitsu.co.jp>]
*) changed status check mask in proxy_http.c from "HTTP/#.# ### *" to
- Changed send_dir() to remove user/passwd from displayed URL.
select/accept and keep-alive requests, fixed several bugs regarding
*) Tweak byteserving code (e.g. serving PDF files) to work around
Emit Content-Length header when sending multipart/byteranges.
*) Port to HI-UX/WE2. [Nick Maclaren]
regex/regcomp.c since that file also used a NEXT define.
*) Portability Fix: NeXT lacks unistd.h so we wrap it's inclusion
*) Remove mod_fastcgi.c from the distribution. This module appears
continue to be easily available at http://www.fastcgi.com/
*) Fixed bug in modules/Makefile that wouldn't allow building in more
- execution restricted to UID/GID > 100
*) Replace references to make in Makefile.tmpl with $(MAKE).
*) Add ProxyBlock directive w/IP address caching. Add IP address
*) Remove requirement for ResourceConfig/AccessConfig if not using
2. initgroups() on Linux 2.0.x clobbers gr->grid.
*) Reset timeout while reading via get_client_block() in mod_cgi.c
*) Add the ability to pass different Makefile.tmpl files to Configure
*) proxy_http.c bugfixes: [Chuck Murcko]
1) fixes possible NULL pointer reference w/NoCache
*) mod_include.c bugfixes:
*) Added definitions for S_IWGRP and S_IWOTH to conf.h [Ben Laurie]
http_protocol.c [Roy Fielding]
*) Replaced use of index() in mod_expires.c with more appropriate
*) In helpers/CutRule, replaced "cut" invocation with "awk" invocation
*) Updated helpers/GuessOS for ...
SCO UnixWare 2.1.1 (requires a separate set of #defines in conf.h)
and fixed something in helpers/PrintPath [Ben Laurie]
*) Not listed. See <http://www.apache.org/docs/new_features_1_2.html>
*) mod_env now turned on by default in Configuration.tmpl.
b) truncated hostnames/ip address in the logs
*) Not listed. See <http://www.apache.org/docs/new_features_1_1.html>
*) Internal redirects which occur in mod_dir.c now preserve the
*) Fix for POSIX compliance in waiting for processes in alloc.c.
which works similar to PidFile (in httpd.conf) [Rob Hartill]
*) Include sys/resource.h in the correct place for SunOS4 [Sameer Parekh]
*) the pstrcat call in mod_cookies.c didn't have an ending NULL,
*) Add strerror function to util.c for SunOS4 [Randy Terbush]
*) patch to get Apache compiled on UnixWare 2.x, recommended as
a temporary measure, pending rewrite of rfc931.c. [Chuck Murcko]
*) past changes to http_config.c to only use the
*) Remove uses of MAX_STRING_LEN/HUGE_STRING_LEN from several routines.
and the server provider uses relative links; as file.html
*) Not listed. See <http://www.apache.org/docs/new_features_1_0.html>
*) Fixed potential FILE* leak in http_main.c [Ben Laurie]
*) Eliminated some bogus Linux-only #defines in conf.h [Aram Mirzadeh]
*) Nuked bogus #define in httpd.h [David Robinson]
*) gcc -Wall no longer complains about an unused variable when util.c
*) Rationalize handling of BSD in conf.h and elsewhere [Randy Terbush,
*) Suppress -Wall warning by casting const away in util.c [Aram Mirzadeh]
subprocesses, including the SIGTERM/pause/SIGKILL routine, until
causing certain extremely marginal cases (e.g., ScriptAlias of a
*particular* index.html file) to fail. [David Robinson]
*) Cleaned up compiler warning from mod_access.c [Robert Thau]
*) Cleaned up comments in mod_cgi.c [Robert Thau]
"/path/to/some/link/" follows the link. [Thau, Fielding]
*) Doesn't reset DirectoryIndex to 'index.html' when
*) Clarified init code and nuked bogus warning in mod_access.c
*) Corrected several directives in sample srm.conf
*) Fixed ScriptAlias/Alias interaction by moving ScriptAlias handling to
mod_alias.c, merging it almost completely with handling of Alias, and
using a special file created for the purpose in /usr/tmp, and
which try to print out the last-modified date). [Eric Hagberg/Robert
*) <!--exec cgi="/some/uri/here"--> always treats the item named by the
*) POST to CGI works on A/UX [Jim Jagielski]
it seems to work well enough without it (even in a 10 hits/sec
workout), and the overhead for the locking under A/UX is
*) Fixed portability problems with mod_cookies.c [Cliff Skolnick]
*) Further de-Berklize mod_cookies.c; change the bogus #include. [Brian
Behlendorf/Eric Hagberg]
*) More improvements to default Configuration for A/UX [Jim Jagielski]
*) SunOS lib-function prototypes in conf.h conditionalized on __GNUC__,
*) Scoreboard file (/tmp/htstatus.*) no longer publically writable.
properly. (One-line fix to http_protocol.c).
*) Corrected cgi-src/Makefile entry for new imagemap script. [Alexei Kosut]
*) Nuked Shambhala name from src/README; had already cleaned it out
*) Set config file locations properly if not set in httpd.conf
*) Fixed mod_imap.c --- relative paths with base_uri referer don't
be nice if mod_dir.c was robust enough to handle that, but for now,
/tmp/htstatus.*, on which each process has an independent file
*) Moved FCNTL_SERIALIZED_ACCEPT defines into conf.h (that's what
*) Incidental code cleanups in http_main.c --- stop dragging
*) Fixed auth_name-related typos in http_core.c [Brian Behlendorf]
Also, fixed auth typo in http_protocol.c unmasked by this fix.
*) Reordered modules in modules.c so that Redirect takes priority
the same SIGTERM/pause/SIGKILL routine used to ding an errant CGI
*) Fixed silly typo in http_main.c which was suddenly fatal in HP-UX.
*) mod_core.c --- default_type returns DEFAULT_TYPE (the compile-time
memory area every time). Fix is in mod_dir.c. [Paul Sutton]
*) Changes to http_main.c --- root server no longer plays silly
*) mod_dir.c bug fixes: ReadmeName and HeaderName
*) http_request.c now calls unescape_url() more places where it
*) Generalized cleanup interface in alloc.c --- any function can be
registered with alloc.c as a cleanup for a resource pool;
*) More changes in alloc.c --- new cleanup_for_exec() function,
registered with the alloc.c machinery before the server exec()s a
*) Fixed basic thinkos in mod_dbm_auth.c [rst, reported by Mark Cox]
in alloc.c [rst]