Skip to content
CHANGES 565 KiB
Newer Older
7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561
     variant.
     [Paul Ausbeck <paula@alumni.cse.ucsc.edu>, Paul Sutton] PR#3447
 
  *) Fix APXS tool: query variables LIBS_SHLIB and TARGET were not recognized
     and the usage page was inconsistent with the functionality and manpage.
     [Ralf S. Engelschall]

  *) Allow special options -Wc,xxx and -Wl,xxx on APXS compile/link command.
     They can occur multiple times and their arguments (`xxx') are passed AS
     IS to the compiler/linker command.  [Ralf S. Engelschall]

  *) Fixed possible (but harmless in practice) bug in the DBM lookup
     procedure of mod_rewrite: very long keys were truncated.
     [Ralf S. Engelschall]

  *) Added a generic --with-layout=[FILE:]ID option. ID here is a layout
     identifier, currently "Apache" and "GNU" are pre-defined in the file
     config.layout.  Custom layouts are possible by using FILE:ID as the
     argument where the layout ID is taken from FILE.

     The config.layout file consists of <Layout ID>..</Layout> sections
     where inside those sections "path_variable: path_value" pairs can be
     specified. These lines are converted to path_variable='path_value'.

  *) Add a DefaultLanguage directive so that files missing a language
     extension (e.g., .fr, .de) can be labelled as being some other
     default language. DefaultLanguage can appear in <Directory> and 
     <Files> containers as well as .htaccess files.  [Paul Sutton]
     PR#1180

  *) Fix TARGET configuration when configuring and installing using
     APACI configure. TARGET now defines the basename of the configuration
     file, startup script, manual page, etc. log_error_core() now reports
     the server binary name given by argv[0]. TARGET can now also be defined
     with --target=TARGET parameter passed to APACI configure.
     [Ralf Engelschall, Randy Terbush]

  *) mod_include.c:handle_perl() now properly tests for OPT_INCNOEXEC
     rather than OPT_INCLUDES [Rainer Schoepf <schoepf@uni-mainz.de>]

  *) ap_md5_binary() was using sprintf() rather than a table lookup
     to convert binary bytes to hex digits.
     [Ronald Tschalär <ronald@innovation.ch>] PR#3409

  *) Fix SEGV in TCN negotiation if no variants are acceptable.
     [Martin Plechsmid <plechsmi@karlin.mff.cuni.cz>] PR#1987

  *) API: ap_exists_config_define() function is now "public" [Doug MacEachern]

  *) Fix documentation of `Action' directive: It can activate a CGI script
     when either a handler or a MIME content type is triggered by the request.
     [Andrew Pimlott <pimlott@math.harvard.edu>] PR#3340

  *) Document the `add' command of `dbmmanage' in `dbmmanage.1' manpage.
     [David MacKenzie <djm@uu.net>] PR#3394

  *) Ignore a "ErrorDocument 401" directive with a full URL and write a
     notice to the error log. It is not possible to send a 401 response
     and a redirect at the same time.  [Lars Eilebrecht]

  *) Fallback to native compilers for IRIX-32 platform. It seems that
     a gcc 2.8.1 compiled apache is logging client addresses with all
     bits set (255.255.255.255). This is the second such problem caused
     by gcc 2.8.1 compiler. The first being broken semaphore locking.
     [Randy Terbush]

  *) Updated mime.types to reflect current Internet media types
     and include a URL to the registry.
     [Manoj Kasichainula, Roy Fielding] PR#2380, 2286, 2246

  *) SECURITY: Do a more complete check in mod_include to avoid 
     an infinite loop of recursive SSI includes.  [Marc Slemko] PR#3323

  *) Add APACI --suexec-docroot and --suexec-logfile options which can be
     used to set the document root directory (DOC_ROOT) and the suexec
     logfile (LOG_EXEC), respectively. Additionally the --layout option
     was changed to show more information about the suEXEC setup.
     [Lars Eilebrecht] PR#3316, 3357, 3361

  *) Added the last two WebDAV status codes of 424 (Failed Dependency)
     and 507 (Insufficient Storage) for use by third-party modules.
     [Roy Fielding]

  *) Enabled all of the WebDAV method names for use by third-party
     modules, Limit, and Script directives.  That includes PATCH,
     PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, and UNLOCK.
     Improved mod_actions.c so that it can use any of the methods
     defined in httpd.h.  Added ap_method_number_of(method) for
     getting the internal method number.  [Roy Fielding]

  *) PORT: Add a port to the TPF OS. [Joe Moenich <moenich@us.ibm.com> and
     others at IBM]

  *) Fix problems with handling of UNC names (e.g., \\host\path)
     on Win32.  [Ken Parzygnat <kparz@us.ibm.com>]

  *) Rework os_canonical_*() on Win32 so it's simpler, more
     robust, and works.  [Ken Parzygnat <kparz@us.ibm.com>]
     PR#2555, 2915, 3064, 3232

  *) Work around incomplete implementation of strftime on Win32.
     [Manoj Kasichainula, Ken Parzygnat <kparz@us.ibm.com>]

  *) Move a typedef to fix compile problems on Linux with 1.x kernels.
     [Manoj Kasichainula] PR#3177

  *) PORT: Add a port to the Concurrent PowerMAX OS. [Tom Horsley
     <Tom.Horsley@mail.ccur.com>]

  *) WIN32: Log more explicit error messages if spawning an interpreted 
     script failed, including the command line used to attempt to execute 
     the interpreter and the Win32 error code returned.  [Marc Slemko]

  *) Disable sending of error-notes on a 500 (Internal Server Error) response
     since it often includes file path info.  Enable sending of error-notes
     on a 501 (Method Not Implemented).  [Roy Fielding] PR#3173

  *) http_config.c would respond with 501 (Method Not Implemented) if a
     content type handler was specified but could not be found, which
     should have been a 500 response.  Likewise, mod_proxy.c would responsd
     with a 501 if the URI scheme is unrecognized instead of the correct
     response of 403 (Forbidden).  [Roy Fielding]

  *) SECURITY: Eliminate DoS attack when a bad URI path contains what
     looks like a printf format escape.  [Marc Slemko, Studenten Net Twente]

  *) Fix in mod_autoindex: for files where the last modified time stamp was
     unavailable, an empty string was printed which was 2 bytes short.
     The size and description columns were therefore not aligned correctly.
     [Martin Kraemer] (no PR#)

  *) Update BS2000 OS code to work with recent versions. Starting with
     release A17, the child fork() must be replaced by a _rfork().
     (BS2000 only) [Martin Kraemer]

  *) Add the actual server_rec structure of the specific Vhost to the
     scoreboard file and avoid a string copy (as well as allow some
     further future enhancements). [Harrie Hazewinkel
     <harrie.hazewinkel@jrc.it>]

  *) Add APACI --permute-module=foo:bar option which can be used to
     on-the-fly/batch permute the order of two modules (mod_foo and mod_bar)
     in the Configuration[.apaci] file. Two special and important variants are
     supported for the option argument: first BEGIN:foo which permutes module
     mod_foo with the begin of the module list, i.e. it `moves' the module to
     the begin of the list (gives it lowest priority).  And second foo:END
     which permutes mod_foo with the end of the module list, i.e. it `moves'
     the module to the end of the list (gives it highest priority). 
     [Ralf S. Engelschall]

  *) Fix problem with 'apache -k shutdown' and startup event
     synchronisation (Win32).  [Ken Parzygnat <kparz@raleigh.ibm.com>]
     PR#3255

  *) The config parser wasn't correctly noticing a missing '>'
     on container start lines (e.g., it wouldn't spot
     "<Directory /" as a syntax error).  [Ryan Bloom <rbbloom@us.ibm.com>]
     PR#3279

  *) Add a 'RemoveHandler' directive which will selectively remove
     all handler associations for the specified file extensions.
     [Ryan Bloom <rbbloom@us.ibm.com>] PR#1799.

  *) Properly handle & allow "nul" and ".*/null" in AccessConfig and
     ResourceConfig directives on Win32.  Also add a note to the effect
     of 'useless User directive ignored on Win32' to the errorlog if
     a User directive is encountered on Win32.
     [Ken Parzygnat <kparz@raleigh.ibm.com>] PR#2078, 2303.

  *) Fix multiple whitespace handling in imagemaps for mod_imap which was
     broken since Apache 1.3.1 where we took out compressing of multiple
     spaces in ap_cfg_getline().
     [Ivan Richwalski <ivan@seppuku.net>] PR#3249

  *) Fix Berkeley-DB/2.x support in mod_auth_db: The data structures were not
     initialized correctly and the db_open() call used an invalid mode
     parameter. [Ron Klatchko <ron@ckm.ucsf.edu>] PR#3171

  *) PORT: DSO support for UnixWare 7
     [Ralf S. Engelschall, Ron Record <rr@sco.com>]

  *) Merge the contents of the {srm,access}.conf-dist* files into the
     httpd.conf-dist* files.  The srm and access files now contain
     only comments, and httpd.conf has all the combined contents in
     a rational order.  [Ken Coar]

  *) PORT: DSO/ELF support for FreeBSD 3.0.
     [Ralf S. Engelschall, Dirk Froemberg <ibex@physik.TU-Berlin.DE>]
  
  *) Add a "default-handler" handler that calls the default_hander()
     function which is normally called for static content.  This allows
     you to override a specific handler.  [Marc Slemko]

  *) Further simplify checking for absolute paths by replacing an
     hard-coded syntax check with a call to a routine we already created to
     do this.  [Ken Parzygnat <kparz@raleigh.ibm.com>] PR#2976, 3074

  *) Log an error if we encounter a malformed "require" directive 
     in mod_auth if we know that we know that no other module can
     deal with it.  [Marc Slemko]

  *) Remove ap_private_extern method of hiding conflicting symbols
     on the NEXT platform because it is not correct for all versions,
     and the versions for which it is correct are unknown.
     [Wilfredo Sanchez <wsanchez@apple.com>]

  *) Fix inheritance of IndexOptions NameWidth and remove unintended
     restriction on +NameWidth, +IconHeight, and +IconWidth.  [Ken Coar]

  *) Fix per-directory config merging for cases in which a 500 error
     is encountered in an .htaccess file somewhere down the tree.
     [Ken Coar]  PR#2409

  *) Minor performance improvement to ap_escape_html(). [Roy Fielding]

  *) Fixed a segmentation violation in mod_proxy when a response is
     non-cachable.  [Roy Fielding, traced by Doug Bloebaum]. PR#2950, 3056

Changes with Apache 1.3.3

  *) Added a complete implementation of the Expect header field as
     specified in rev-05 of HTTP/1.1.  Disabled the 100 Continue
     response when we already know the final status, which is mighty
     useful for PUT responses that result in 302 or 401. [Roy Fielding]

  *) Remove extra trailing whitespace from the getline results as part
     of the protocol processing, which is extra nice because it works
     between continuation lines, is almost no cost in the normal case
     of no extra whitespace, and saves memory. [Roy Fielding]

  *) Added new HTTP status codes and default response bodies from the
     revised HTTP/1.1 (307, 416, 417), WebDAV (102, 207, 422, 423), and 
     HTTP Extension Framework (510) specifications.  Did not add the
     WebDAV 424 and 425 codes because they are bogus.  We don't use any
     of these codes yet, but they are now available to 3rd-party modules.
     [Roy Fielding]

  *) Fix a possible race condition between timed-out requests and the
     ap_bhalfduplex select that might result in an infinite loop on
     platforms that do not validate the descriptor. [Roy Fielding]

  *) WIN32: Add "-k shutdown" and "-k restart" options to signal a
     running Apache server [Paul Sutton]

  *) Fix mod_autoindex bug where directories got a size of "0k" instead
     of "-".  [Martin Plechsmid <plechsmi@karlin.mff.cuni.cz>, Marc Slemko]
     PR#3130

  *) PORT: DRS 6000 machine. [Paul Debleecker <pdebleecker@jetair.be>]

  *) Add the server signature text (from the core ServerSignature directive)
     to the list of envariables available to scripts, SSI, and the like.
     [Ken Coar]

  *) PORT: Fix sys/resource.h handling for SCO 3.x platform.
     [M. Laak <maert@proinv.ee>] PR#3108
 
  *) Fallback from sysconf-based to plain HZ-based `ticks per second'
     calculation in mod_status for all systems which don't have POSIX
     sysconf() (like UTS 2.1) and not only for the NEXT platform.
     [Dave Dykstra <dwd@bell-labs.com>] PR#3055

  *) Fix `require ...' directive parsing in mod_auth, mod_auth_dbm and
     mod_auth_db by using ap_getword_white() (which uses ap_isspace()) 
     instead of ap_getword(..., ' ') (which parses only according to spaces 
     but not tabs).  [James Morris <jmorris@intercode.com.au>, 
     Ralf S. Engelschall] PR#3105

  *) Fix the SERVER_NAME variable under sub-request situations (where
     `UseCanonicalName off' is used) like CGI's called from SSI pages or
     RewriteCond variables by adopting r->hostname to sub-requests.
     [James Grinter <jrg@blodwen.demon.co.uk>] PR#3111

  *) Fix stderr redirection under syslog-based error logging situation.
     [Youichirou Koga <y-koga@jp.FreeBSD.org>] PR#3095

  *) Document `ErrorLog syslog:facility' variant of error logging.
     [Youichirou Koga <y-koga@jp.FreeBSD.org>] PR#3096

  *) Fix http://localhost/ hints in top-level INSTALL document.
     [Rob Jenson <robjen@spotch.com>, Ralf S. Engelschall] PR#3088

  *) Quote paths in default configuration files.  [Wilfredo Sanchez]

  *) PORT: Remove extra HAVE_SYS_RESOURCE_H define for RHAPSODY since
     it is now taken care of properly by the header file tests.
     [Wilfredo Sanchez <wsanchez@apple.com>]

  *) Fix problem with scripts and filehandle inheritance on Win32.
     [Ken Parzygnat <kparz@raleigh.ibm.com>]  PR#2884, 2910

  *) Win32 name canonicalisation could end up using the server's
     working directory to fill in some blanks.  [Ken Parzygnat
     <kparz@raleigh.ibm.com>] PR#3001

  *) Correct invalid assumption by ap_sub_req_lookup_file() that all
     absolute paths begin with "/" -- because they don't on Win32.
     [Ken Parzygnat <kparz@raleigh.ibm.com>] PR#2976, 3074

  *) Add [REDIRECT_]VARIANTS environment variable to mod_speling
     so that ErrorDocument 300 processors can reformat the list
     if desired.  [Ken Coar] PR#2859

  *) Add +/- incremental prefixes to IndexOptions keywords, and
     enable merging of multiple IndexOptions directives.  [Ken Coar]

  *) PORT: Allow GuessOS to recognize Unixware 7.0.1 [Steve Cameron
     <steve.cameron@compaq.com>]

  *) Reconstructed the loop through multiple htaccess file names so
     that missing files are not confused with unreadable files.
     [Roy Fielding]

  *) The ap_pfopen and ap_pfdopen routines were failing to protect the
     errno on an error, which leads to one error being mistaken for
     another when reading non-existent .htaccess files.
     [Jim Jagielski]

  *) OS/2: The new header tests get things right, need to update
     ap_config.h.  [Brian Havard]

  *) The Perl %ENV hash will now be setup by default when using the
     mod_include `perl' command [Doug MacEachern]

  *) PORT: Add Pyramid DC/OSx support to configuration mechanism.
     [Earle Ake <akee@wpdiss1.wpafb.af.mil>]

  *) PORT: Fix sys/resource.h handling for Amdahl's UTS 2.1
     [Dave Dykstra <dwd@bell-labs.com>] PR#3054

  *) Correct comment in mod_log_config.c about its internals.
     [Elf Sternberg <elf@halcyon.com>]

  *) Avoid possible line overflow in Configure: Use an awkfile to
     handle the creation of modules.c [Jim Jagielski]

Changes with Apache 1.3.2

  *) Fix bug in ap_remove_module(), which caused problems for dso's 
     who were the top_module.  [Doug MacEachern]

  *) Add support for Berkeley-DB/2.x (in addition to Berkeley-DB/1.x) to
     mod_auth_db to both be friendly to users who wants to use this version
     and to avoid problems under platforms where only version 2.x is present.
     [Dan Jacobowitz <drow@false.org>, Ralf S. Engelschall]

  *) When using ap_log_rerror(), make the error message available to the
     *ERROR_NOTES envariables by default.  [Ken Coar]

  *) BS2000 platform only: get rid of the nasty BS2000AuthFile.
     You now must define a BS2000Account name for the server User.
     This has fewer security implications than the old approach.
     [Martin Kraemer]

  *) Fix SHARED_CORE feature for HPUX platform: We now use extension `.sl'
     instead of `.so' and `SHLIB_PATH' instead of `LD_LIBRARY_PATH' on this
     platform to make the braindead HPUX linker happy. Notice, for the module
     DSOs we don't have to use this, because these are loaded manually (and
     not via HPUX' dld). [Ralf S. Engelschall] PR#2905, PR#2968

  *) Remove 64 thread limit on Win32.
     [Bill Stoddard <stoddard@raleigh.ibm.com>]

  *) Remove redundant substitutions in top-level Makefile.tmpl.
     [Ralf S. Engelschall]

  *) Fix APACI's `Group' configuration adjustment - especially for Linux
     platforms where `nogroup' exists in /etc/group. [Ralf S. Engelschall]
 
  *) Make PrintPath work generically instead of having one version
     strictly for OS/2. [Jim Jagielski, Brian Havard]

  *) Fix the recently introduced C header file checking: We now use the C
     pre-processor pass only (and no longer the complete compiler pass) to
     determine whether a C header file exists or not. Because only this way
     we're safe against inter-header dependencies (which caused horrible
     portability problems). The only drawback is that we now have a CPP
     configuration variable which has to be determined first (we do a similar
     approach as GNU Autoconf does here). When all fails the user still has
     the possibility to override it manually via APACI or src/Configuration.
     As a fallback for the header check itself we can directly check the
     existance of the file under /usr/include, too.
     [Ralf S. Engelschall] PR#2777

  *) PORT: Added RHAPSODY (Mac OS X Server) support. MAP_TMPFILE defined
     as an alternate mechanism for mmap'd shared memory for RHAPSODY.
     ap_private_extern defined to hide symbols that conflict with loaded
     dynamic libraries on the NEXT and RHAPSODY platforms.
     [Wilfredo Sanchez <wsanchez@apple.com>]

  *) Delete PID file on clean shutdowns.
     [Charles Randall <crandall@matchlogic.com>] PR#2947

  *) Fix mod_auth_*.html documents: NSCA -> NCSA
     [Youichirou Koga <y-koga@jp.FreeBSD.org>] PR#2991

  *) Fix INSTALL document: www.gnu.ai.mit.edu -> www.gnu.org
     [Karl Berry <karl@gnu.org>] PR#2994

  *) Fix dbmmanage.1 manual page.
     [Youichirou Koga <y-koga@jp.FreeBSD.org>] PR#2992
     
  *) Fix possible buffer overflow situation in suexec.c.
     [Jeff Stewart <jws@purdue.edu>] PR#2790

  *) Add some more LIBS for the SCO5 platform which are needed for the already
     used -lprot. It's actually a bug in SCO5, of course.
     [Ronald Record <rr@sco.com>] PR#2533

  *) Fix documentation of ProxyPass/ProxyPassReverse according to the
     trailing slash problem. [Jon Drukman <jsd@gamespot.com>] PR#2933
  
  *) Remove `-msym' option from LDFLAGS_SHLIB for the Digital UNIX (OSF/1)
     platform, because it's only supported under version 4.0 and higher. But
     because our GuessOS is still unaware of Digital UNIX versions and the
     -msym is just to optimize the DSO statup time a little bit it's safe and
     best when we leave it out now.  [Ralf S. Engelschall] PR#2969

  *) Fix the ap_log_error_old(), ap_log_unixerr() and ap_log_printf()
     functions: First all three functions no longer fail on strings containing
     "%" chars and second ap_log_printf() no longer does a double-formatting
     (instead it directly passes through the message to be formatted to the
     real internal formatting function). [Ralf S. Engelschall] PR#2941

  *) Allow "Include" directives anywhere in the server config
     files (but not .htaccess files).  [Ken Coar] PR#2727

  *) The proxy was refusing to serve CONNECT requests except to
     port 443 (https://) and 563 (snews://). The new AllowCONNECT
     directive allows the configuration of the ports to which a
     CONNECT is allowed.  [Sameer Parekh, Martin Kraemer]

  *) mod_expires will now act on content that is not sent from a file
     on disk.  Previously it would never add an Expires: header to
     any response that did not come from a file on disk; the only
     case where it still doesn't (and can't) add one for that type of 
     content is if you are using a modification date based setting.  
     [Marc Slemko, Paul Phillips <paulp@go2net.com>]

  *) Problems encountered during .htaccess parsing or CGI execution
     that lead to a "500 Server Error" condition now provide explanatory
     text (in the *ERROR_NOTES envariable) to ErrorDocument 500 scripts.
     [Ken Coar] PR#1291

  *) Add NameWidth keyword to IndexOptions directive so that the
     width of the filename column is customisable.  [Ken Coar, Dean Gaudet]
     PR#1949, 2324.

  *) Recognize lowercase _and_ uppercase `uname' results under
     SCO OpenServer. [David Coelho <drc@ppt.com>]

  *) As duplicate "HTTP/1.0 200 OK" lines within the header seem to be
     a common problem of (mis-administrated?) IIS servers, make the apache
     proxy immune to these errors (and ignore the duplicates, but log
     the fact to error_log). [Martin Kraemer], after the proposal in PR#2914 
     
  *) The <IfModule and <IfDefine block starting directives now only
     allow exactly one argument. Previously, the optional negation
     character '!' could be separated by whitespace without a syntax
     error being reported, albeit defeating the IfModule functionality
     (enclosed directives would ALWAYS be executed). By using the
     stricter syntax, these hard-to-track errors can be avoided.
     [Martin Kraemer]

  *) Simplify handling of IndexOptions in mod_autoindex -- and BTW
     cause the standalone FancyIndexing directive to logically OR
     into any existing IndexOptions settings rather than wiping
     them out.  [Ken Coar]

  *) Changes in ftp proxy: make URL parsing simpler by using the
     parsed_uri stuff.
     + Add display of the "current directory" in cases where it's
     different from the supplied path (e.g., ftp://user@host/ lives
     in /home/user, not in /, therefore clicking on "../" in the
     starting directory might send us to /home/).
     + When ftp login fails, (esp. when a user name was part of the
     URL already), we now return [401 Unauthorized ] to allow the
     browser to pop up an authorization dialog. This makes passwords
     slightly less visible (they don't appear in the regular log files)
     and implements a functionality that other www proxy servers
     already offered.
     [Martin Kraemer]

  *) Triggered by the recent "Via:" header changes, the proxy module would
     dump core for replies with invalid headers (e.g., duplicate
     "HTTP/1.0 200 OK" lines). These errors are now logged and the
     core dump is avoided. Also, broken replies are not cached.
     [Martin Kraemer] PR#2914

  *) new `GprofDir' directive when compiled with -DGPROF, where gprof can
     plop gmon.out profile data for each child [Doug MacEachern]
   
  *) Use the construct ``"$@"'' instead of ``$*'' in the generated
     config.status script to be immune against arguments with whitespaces.
     [Yves Arrouye <yves@apple.com>] PR#2866

  *) Replace the inlined information grabbing stuff for the configuration
     adjustment feature (no --without-confadjust) with calls to a new helper
     script `buildinfo.sh' which is both more flexible and already proofed to
     be more robust against platform differences. This mainly fixes the
     recently occured ``sed: command garbled: ...'' problems.
     [Ralf S. Engelschall] PR#2776, PR#2848

  *) Make ab.c again pass ``gcc -Wall -Wshadow -Wpointer-arith -Wcast-align
     -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline''
     without complains after we recently added the POST feature.
     [Ralf S. Engelschall]

  *) Renamed is_HTTP_xxx() macros to ap_is_HTTP_xxx() name. They are used inside
     modules as API functions and we forgot them at the big symbol renaming.
     [Ralf S. Engelschall]

  *) Remove bad reference to non-existing SERVER_VERSION in mod_rewrite.html
     [Youichirou Koga <y-koga@jp.FreeBSD.ORG>] PR#2895

  *) Dynamically size the filename column of mod_autoindex output.
     [Dean Gaudet]

  *) Add the ability to do POST requests to the ab benchmarking tool.
     [Kurt Sussman <kls@best.com>] PR#2871

  *) Bump up MAX_ENV_FLAGS in mod_rewrite.h from the too conservatice limit of
     5 to 10 because there are some users out there who always have 5 to 8
     variables in one RewriteRule and had to patch mod_rewrite.h for every
     release. So 15 should be now more than enough, even for them. (I never
     needed more than 4 in my RewriteRules ;-)
     [Ralf S. Engelschall]

  *) Make the proxy generate and understand Via: headers
     [Martin Kraemer]

  *) Change the proxy to use tables instead of array_headers for
     the header lines. [Martin Kraemer]

  *) Make sure the config.status file is not overridden when just
     ``configure --help'' is used. [Ralf S. Engelschall] PR#2844

  *) Split MODULE_MAGIC_NUMBER into _MAJOR/_MINOR numbers. This should
     provide a way to trace API changes that add functionality but do
     not create a compatibility issue for precompiled modules, etc.
     See include/ap_mmn.h for more details.  [Randy Terbush]

  *) Fix suexec installation under `make install root=xxx' situation.
     [Ralf S. Engelschall]

  *) Extend the output of the -V switch to include the paths of all
     compiled-in configuration files, if they were overridden at
     compile time, for least astonishment of the user.
     [Martin Kraemer]

  *) When READing a request in ExtendedStatus mode, the "old"
     vhost, request and client information is not displayed.
     [Jim Jagielski]

  *) STATUS is no longer available. Full status information now
     run-time configurable using the ExtendedStatus directive.
     [Jim Jagielski]

  *) SECURITY: Eliminate O(n^2) space DoS attacks (and other O(n^2)
     cpu time attacks) in header parsing.  Add ap_overlap_tables(),
     a function which can be used to perform bulk update operations
     on tables in a more efficient manner.  CAN-1999-1199 (cve.mitre.org)
     [Dean Gaudet]
7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000

  *) SECURITY: Added compile-time and configurable limits for
     various aspects of reading a client request to avoid some simple
     denial of service attacks, including limits on maximum request-line
     size (LimitRequestLine), number of header fields (LimitRequestFields),
     and size of any one header field (LimitRequestFieldsize).  Also added
     a configurable directive LimitRequestBody for limiting the size of the
     request message body.  [Roy Fielding]

  *) Make status module aware of DNS and logging states, even if
     STATUS not defined.  [Jim Jagielski]

  *) Fix a problem with the new OS/2 mutexes.  [Brian Havard]

  *) Enhance mod_speling so that CheckSpelling can be used in
     <Directory> containers and .htaccess files.  [Ken Coar]

  *) API: new ap_custom_response() function for hooking into the
     ErrorDocument mechanism at runtime [Doug MacEachern]

  *) API: new ap_uuencode() function [Doug MacEachern]

  *) API: scan_script_header_err_core() now "public" and renamed
     ap_scan_script_header_err_core() [Doug MacEachern]

  *) The 'status' module will now show the process pid's and their
     state even without full STATUS accounting. [Jim Jagielski]

  *) Restore the client IP address to the error log messages, this
     was lost during the transition from 1.2 to 1.3.  Add a new
     function ap_log_rerror() which takes a request_rec * and
     formats it appropriately.  [Dean Gaudet] PR#2661

  *) Cure ap_cfg_getline() of its nasty habit of compressing internal
     whitespace in input lines -- including within quoted strings.
     [Ken Coar]
     but leading and trailing whitespace should continue to be
     stripped [Martin Kraemer]

  *) Cleanup of the PrintPath/PrintPathOS2 helper functions. Avoid
     the ugly use of an env. variable and use command-line args for
     alternate $PATH. Make more like advanced 'type's as well.
     [Jim Jagielski]

  *) The IRIXN32 Rule was being ignored. Configure now correctly adds
     -n32 only if IRIXN32 says to. [Jim Jagielski, Alain St-Denis
     <alain.st-denis@ec.gc.ca>] PR#2736

  *) Clean up a warning in mod_proxy. [Ralf S. Engelschall]

  *) Renamed __EMX__ (internal define of the gcc port under OS/2) to OS2
     following the same idea as "MSVC vs WIN32". Additionally the src/os/emx/
     directory was renamed to src/os/os2/ for consistency.
     [Brian Havard, Ralf S. Engelschall]

  *) Add new Rule SHARED_CHAIN which can be used to enable linking of DSO
     files (here modules) against other DSO files (here shared libraries).
     This is done by determining a subset of LIBS which can be safely used for
     linking the DSOs, i.e. PIC libs and shared libs.  Currently the rule is
     disabled for all platforms to avoid problems with this (experimental)
     rule. But we provide it now for those people how ran into problems and
     want to came out by forcing linking against DSOs.
     [Ralf S. Engelschall] PR#2587

  *) Fix suEXEC start message: Has to be of `notice' level to really get
     printed together with the standard startup message because the `notice'
     level is handled special inside ap_log_error() for startup messages.
     [Ralf S. Engelschall] PR#2761 PR#2761 PR#2765

  *) Add correct `model' MIME types from RFC2077 to mime.types file.
     [Ralf S. Engelschall] PR#2732

  *) Fixed examples in mod_rewrite.html document. 
     [Youichirou Koga <y-koga@jp.FreeBSD.org>, Ralf S. Engelschall] PR#2756

  *) Allow ap_read_request errors to propagate through the normal request
     handling loop so that the connection can be properly closed with
     lingering_close, thus avoiding a potential TCP reset that would
     cause the client to miss the HTTP error response.  [Roy Fielding]

  *) One more portability fix for APACI shadow tree support: Swap order of awk
     and sed in top-level configure script to avoid sed fails on some
     platforms (for instance SunOS 4.1.3 and NCR SysV) because of the
     non-newline-termined output of Awk. [Ralf S. Engelschall] PR#2729

  *) PORT: NEC EWS4800 support.
     [MATSUURA Takanori <t-matsuu@protein.osaka-u.ac.jp>]

  *) Fix a segfault in the proxy on OS/2.  [Brian Havard]

  *) Fix Win32 part of ap_spawn_child() by providing a reasonable child_info
     structure instead of just NULL. This fixes at least the RewriteMap
     programs under Win32. [Marco De Michele <mdemichele@tin.it>] PR#2483

  *) Add workaround to top-level `configure' script for brain dead 
     `echo' commands which interpet escape sequences per default.
     [Ralf S. Engelschall] PR#2654

  *) Make sure that the path to the Perl interpreter is correctly
     adjusted under `make install' also for the printenv CGI script.
     [Ralf S. Engelschall] PR#2595
 
  *) Update the mod_rewrite.html document to correctly reflect the situation
     of the `proxy' (`[P]') feature. [Ralf S. Engelschall] PR#2679

  *) Fix `install-includes' sub-target of `install' target in top-level
     Makefile.tmpl: The umask+cp approach didn't work as expected (especially
     for users which extracted the distribution under 'umask 077'), so replace
     it by an explicit cp+chmod approach.
     [Richard Lloyd, Curt Sampson, Ralf S. Engelschall] PR#2656 PR#2626
 
  *) Fix `distclean' and `clean' targets in src/Makefile.tmpl to have same
     behavior and to cleanup correctly even under enabled SHARED_CORE rule.
     [Ralf S. Engelschall]

  *) Use a more straight forward and thus less problematic Sed command in
     src/helper/mkdir.sh script.  [Ralf S. Engelschall]

  *) Make sure the `configure' scripts doesn't fail when trying to guess the
     domainname of the machine and there are multiple `domainname' and
     `search' entries in /etc/resolv.conf.
     [Ralf S. Engelschall] PR#2710

  *) Add note about the SHARED_CORE requirement on some platforms also to the
     INSTALL file because a lot of users don't read htdocs/manual/dso.html
     first. [Ralf S. Engelschall] PR#2701

  *) Fix document "hyperlink" for dso.html in src/Configuration.tmpl
     [Knut A.Syed <Knut.Syed@nhh.no>] PR#2674

  *) Modify mod_rewrite to update the Vary response field if the URL rewriting
     engine does any manipulations or decisions based upon request fields. 
     [Ken Coar] PR#1644

  *) Document the special APACI behavior for installation paths where
     ``/apache'' is appended to paths under some (well defined, of course)
     situations to prevent pollution of system locations with Apache files.
     [Ralf S. Engelschall] PR#2660

  *) Fixed problem with buffered response message not being sent for
     the read_request error conditions of URI-too-long (414) and
     malformed header fields (400).  [Roy Fielding] PR#2646

  *) Add support for the Max-Forwards: header line required by RFC2068 for
     the TRACE method. This allows apache to TRACE along a chain of proxies
     up to a predetermined depth. [Martin Kraemer]

  *) Fix SHARED_CORE rule: The CFLAGS_SHLIB variable is no longer doubled
     (compilers complained) and the .so.V.R.P filename extension was adjusted
     to correctly reflect the 1.3.2 version.
     [Ralf S. Engelschall] PR#2644

  *) SECURITY: Plug "..." and other canonicalization holes under OS/2.
     [Brian Havard]
  
  *) PORT: implement serialized accepts for OS/2.  [Brian Havard]

  *) mod_include had problems with the fsize and flastmod directives
     under WIN32.  Fix also avoids the minor security hole of using
     ".." paths for fsize and flastmod.
     [Manoj Kasichainula <manojk@raleigh.ibm.com>] PR#2355

  *) Fixed some Makefile dependency problems.  [Dean Gaudet]

Changes with Apache 1.3.1

  *) Disable the incorrect entry for application/msword in the 
     mod_mime_magic "magic" file because it also matches other Office
     documents.  [Ralf S. Engelschall] PR#2608

  *) Fix broken RANLIB handling in src/Configure (the entry from
     src/Configuration.tmpl was ignored) and additionally force RANLIB to
     /bin/true under HP/UX where ranlib exists but is deprecated.
     [Ralf S. Engelschall] PR#2627
     
  *) 'apachectl status' failed on some systems.
     [Steve VanDevender <stevev@darkwing.uoregon.edu>, Lars Eilebrecht] PR#2613

  *) Add new flags for ap_unparse_uri_components() to make it generate
     the scheme://sitepart string only, or to omit the query string.
     [Martin Kraemer]

  *) WIN32: Canonicalize ServerRoot before checking to see if it
     is a valid directory.  The failure to do this caused certain
     ServerRoot settings (eg. "ServerRoot /apache") to be improperly
     rejected.  [Marc Slemko]

  *) Global renaming of C header files to both get rid of conflicts with third
     party packages and to again reach consistency:
       1. conf.h      -> ap_config.h
       2. conf_auto.h -> ap_config_auto.h \ these are now merged
       3. ap_config.h -> ap_config_auto.h / in the config process
       4. compat.h    -> ap_compat.h
       5. apctype.h   -> ap_ctype.h
     Backward compatibility files for conf.h and compat.h were created.

  *) mod_mmap_static will no longer take action on requests unless at 
     least one "mmapfile" directive is present in the configuration. 
     This experimental module has to do some black magic to operate 
     inside the current API and thus creates side-effects for other 
     modules under some circumstances.
     [Ralf S. Engelschall]
 
  *) Add conservative ticks around more egrep arguments in top-level configure
     to avoid problems under brain-dead platforms like Digital UNIX (OSF1).
     [Ralf S. Engelschall] PR#2596

  *) mod_rewrite created RewriteLock files under the UID of the parent
     process, thus the child processes had no write access to the files.
     Now a chown() is done on the file to the uid of the children,
     if applicable.  [Lars Eilebrecht, Ralf S. Engelschall] PR#2341

  *) Autogenerate some HAVE_XXXXX_H defines in conf_auto.h (determined via
     TestCompile) instead of defining them manually in conf.h based on less
     accurate platform definitions.  This way we no longer have to fiddle with
     OS-type and/or OS-version identifiers to discover whether a system header
     file exists or not.  Instead we now directly check for the existence of
     those esoteric ones. 
     [Ralf S. Engelschall] PR#2093, PR#2361, PR#2377, PR#2434,
                           PR#2524, PR#2525, PR#2533, PR#2569

  *) mod_setenvif (BrowserMatch* and friends) will now match a missing
     field with "^$".  [Ken Coar]

  *) Set the RTLD_GLOBAL dlopen mode parameter to allow dynamically loaded
     modules to load their own modules dynamically.  This improves mod_perl
     and mod_php3 when these modules are loaded dynamically into Apache.
     [Rasmus Lerdorf]

  *) Cache a proxied request in the event that the client cancels the
     transfer, provided that the configured percentage of the file has
     already been transfered. It works for HTTP transfers only.  The 
     new configuration directive is called CacheForceCompletion. 
     [Glen Parker <glenebob@nwlink.com>] PR#2277

  *) Add the "<!DOCTYPE HTML" magic cookie used by modern documents (and
     required by HTML 3.2 and later) to mod_mime_magic's conf/magic.
     [Anna Shergold <anna@inext.co.uk>]

  *) Fix yet another signal-based race condition involving nested timers.
     Signals suck.  [Dean Gaudet]

  *) suexec's error messages have been clarified a little bit.  [Ken Coar]

  *) Clean up some, but perhaps not all, 8-bit character set problems
     with config file parsing, and URL parsing.  We now define
     ap_isdigit(), ap_isupper(), ... which cast to an (unsigned char).
     This should work on most modern unixes.
     [Dean Gaudet] PR#800, 2282, 2553  (and others)

  *) The "handler not found" error was issued in cases where the handler
     really did exist, but was just declining to serve the request.
     [John Van Essen <jve@gamers.org>] PR#2529

  *) Add Dynamic Shared Object (DSO) support for SCO5 (OpenServer 5.0.x).
     [Ronald Record <rr@sco.com>] PR#2533

  *) The APACI libexecdir was not extended with an "apache/" subdir
     if the installation prefix didn't already contain "apache", but
     it should be because the DSO files are Apache-specific.  Now
     libexecdir is treated the same way sysconfdir, datadir, localstatedir
     and includedir are already treated.
     [Charles Levert <charles@comm.polymtl.ca>] PR#2551

  *) The <Limit> parsing routine was incorrectly treating methods as
     case-insensitive.  [Ken Coar]

  *) The ap_bprintf() code neglected to test if there was an error on
     the connection.  ap_bflush() misdiagnosed a failure as a success.
     [Dean Gaudet]

  *) add support for #perl arg interpolation in mod_include
     [Doug MacEachern]

  *) API: Name changes of table_elts to ap_table_elts, is_table_empty
     to ap_is_table_empty and bgetflag to ap_bgetflag. [Ben Laurie]

  *) PORT: Add UnixWare 7 support
     [Vadim Kostoglodoff <vadim@olly.ru>] PR#2463

  *) Fix the Guess-DSO-flags-from-Perl stuff in src/Configure: "perl" was
     used instead of "$PERL" which contains the correctly determined Perl
     interpreter (important for instance on systems where "perl" and "perl5"
     exists, like BSDI or FreeBSD, etc).
     [Ralf S. Engelschall] PR#2505

  *) Move the initial suEXEC-related startup message from plain
     fprintf()/stderr to a delayed ap_log_error()-based one to avoid problems
     when Apache is started from inetd (instead of standalone). Under this
     situation startup messages on stderr lead to problems (the line is sent
     to the client in front of the requested document).
     [Ralf S. Engelschall] PR#871, PR#1318

  *) Add a flag so ap_fnmatch() can be used for case-blind pattern matching.
     [Ken Coar, Dean Gaudet]

  *) WIN32: Don't collapse multiple slashes in PATH_INFO.
     [Ben Laurie, Bill Stoddard <wgstodda@us.ibm.com>] PR#2274

  *) WIN32 SECURITY: Eliminate trailing "."s in path components. These are
     ignored by the Windows filesystem, and so can be used to bypass security.
     [Ben Laurie, Alexei Kosut].

  *) We now attempt to dump core when we get SIGILL. [Jim Jagielski]

  *) PORT: remove broken test for MAP_FILE in http_main.c.
     [Wilfredo Sanchez <wsanchez@apple.com>]

  *) PORT: Change support/apachectl to use "kill -0 $pid" to test if the
     httpd is running.  This should be more portable than figuring out
     which of three dozen different versions of "ps" are installed.
     [a cast of dozens]

  *) WIN32: If we can't figure out how to execute a file in a script
     directory, bail out of the request with an error message.  [W G Stoddard]

  *) WIN32 SECURITY: Eliminate directories consisting of three or more dots;
     these are treated by Win32 as if they are ".." but are not detected by
     other machinery within Apache. This is something of a kludge but
     eliminates a security hole. [Manoj Kasichainula, Ben Laurie]

  *) Move ap_escape_quotes() from src/ap to src/main/util.c; it uses
     pools and thus pollutes libap (until the pool stuff is moved there).
     [Ken Coar]

  *) IndexIgnore should be case-blind on Win32 (and any other case-aware
     but case-insensitive platforms).  New #define for this added to conf.h
     (CASE_BLIND_FILESYSTEM).  [Ken Coar] PR#2455

  *) Enable DSO support for OpenBSD in general, not only for 2.x, because it
     also works for OpenBSD 1.x. [Ralf S. Engelschall]

  *) PORT: Fix compilation problem on ARM Linux.
     [Sam Kington <sam@illuminated.co.uk>] PR#2443

  *) Let APACI's configure script determine some configuration parameters
     (Group, Port, ServerAdmin, ServerName) via some intelligent tests to
     remove some of the classical hurdles for new users when setting up
     Apache. This is done per default because it is useful for the average
     user. Package authors can use the --without-confadjust option to disable
     these configuration adjustments.
     [Ralf S. Engelschall]

  *) Added an EXTRA_DEPS configuration parameter which can be used
     to add an extra Makefile dependency for the httpd target, for instance
     to external third-party libraries, etc.
     [Ralf S. Engelschall]

  *) Add <IfDefine>..</IfDefine> sections to the core module (with same spirit
     as <IfModule>..</IfModule> sections) which can be used to skip or process
     contained commands dependend of ``-D PARAMETER'' options on the command
     line. This can be used to achieve logical conditions like <IfDefine
     ReverseProxy> instead of physically ones (e.g. <IfModule mod_proxy.c>)
     and thus especially can be used for conditionally loading DSO-based
     modules via LoadModule, etc. [Ralf S. Engelschall]

  *) PORT: clean up a warning in mod_status for OS/2.  [Brian Havard]

  *) Make table elements const. This may prevent obscure errors. [Ben Laurie]

  *) Fix parsing of FTP `SIZE' responses in proxy module: The newline was not
     truncated which forced following HTTP headers to be data in the HTTP
     reponse. [Ralf S. Engelschall, Charles Fu <ccwf@bacchus.com>] 
     PR#2412, 2367

  *) Portability fix for APACI shadow tree support: Swap order of awk and sed
     in top-level configure script to avoid sed fails on some platforms (for
     instance SunOS 4.1.3 and NCR SysV) because of the non-newline-termined
     output of Awk. [Bill Houle <bhoule@sandiegoca.ncr.com>] PR#2435

  *) Improve performance of directory listings (mod_autoindex) by comparing
     integer keys (last-modified and size) as integers rather than converting
     them to strings first.  Also use a set of explicit byte tests rather
     than strcmp() to check for parent directory-ness of an entry.  Oh, and
     make sure the parent directory (if displayed) is *always* listed first
     regardless of the sort key.  Overall performance winnage should be good
     in CPU time, instruction cache, and memory usage, particularly for large
     directories.  [Ken Coar]

  *) Add a tiny but useful goody to APACI's configure script: The generation
     of a config.status script (as GNU Autoconf does) which remembers the used
     configure command and hence can be used to restore the configuration by
     just re-running this script or for remembering the configuration between
     releases.
     [Ralf S. Engelschall]

  *) Add httpd -t (test) option for running configuration syntax tests only.
     If something is broken it complains and exits with a return code
     non-equal to 0. This can be used manually by the user to check the Apache
     configuration after editing and is also automatically used by apachectl
     on (graceful) restart command to make sure Apache doesn't die on restarts
     because of a configuration which is now broken since the last (re)start.
     This way `apachectl restart' can be used inside cronjobs without having
     to expect Apache to be falling down. Additionally the httpd -t can be run
     via `apachectl configtest'.
     [Ralf S. Engelschall] PR#2393
  
  *) Minor display fix for "install" target of top-level Makefile:
     the displayed installation command was incorrect although the
     executed command was correct. Now they are in sync.
     [Ralf S. Engelschall] PR#2402

  *) Correct initialization of variable `allowed_globals' in http_main.c
     [Justin Bradford <justin@ukans.edu>] PR#2400

  *) Apache would incorrectly downcase the entire Content-Type passed from
     CGIs.  This affected server-push scripts and such which use
     multipart/x-mixed-replace;boundary=ThisRandomString.
     [Dean Gaudet] PR#2394

  *) PORT: QNX update to properly guess 32-bit systems.
     [Sean Boudreau <seanb@qnx.com>] PR#2390

  *) Make sure the DSO emulation code for HPUX finds the proprietary shl_xxx()
     functions which are in libdld under HPUX 9/10.
     [Ralf S. Engelschall] PR#2378

  *) Make sure the "install" target of the top-level Makefile doesn't break
     because of a return code of 1 from an "if" (for instance under braindead
     Ultrix the result code of an "if" construct is 1 if the "then" clause
     didn't match). [Ralf S. Engelschall]

  *) Add an additional "dummy" target to the "$(LIB)" target in generated
     modules/xxx/Makefile's to avoid problems with SVR4 Make under "full-DSO"
     situation (no libxxx.a built, only mod_xxx.so's) where LIB and OBJS are
     empty. [Ralf S. Engelschall, Dean Gaudet, Martin Kraemer]

  *) Replace two bad sprintf() calls with ap_snprintf() variants in
     mod_rewrite. [Ralf S. Engelschall]

  *) Fix missing usage description for MetaFiles directive.
     [David MacKenzie <djm@va.pubnix.com>] PR#2384

  *) mod_log_config wouldn't let vhosts use log formats defined in the
     main server.  [Christof Damian <damian@mediaconsult.com>] PR#2090

  *) mod_usertrack was corrupting the client hostname.  As part of the