Error Buddy
Do you have an error message from your application? Then find the answer with Error Buddy. You can search over 40000 source code files and troubleshooting documents using our beta lucene/nutch search interface or if you prefer, search as normal using google. With LXR technology you can drill right down into the line of source code where it came from with full cross-referencing.
If after searching you didn't get your ideal answer, or you are still unclear what the error means, you can choose to post that question to the community forums following the link included in the search results.
[1.6]001 Changes with Apache 2.0.54 002 003 *) mod_cache: Add CacheIgnoreHeaders directive. PR 30399. 004 [Rüiger Plü <r.pluem t-online.de>] 005 006 *) mod_ldap: Added the directive LDAPConnectionTimeout to configure 007 the ldap socket connection timeout value. 008 [Brad Nicholes] 009 010 *) Correctly export all mod_dav public functions. 011 [Branko Èibej <brane xbc.nu>] 012 013 *) Add a build script to create a solaris package. [Graham Leggett] 014 015 *) worker MPM: Fix a problem which could cause httpd processes to 016 remain active after shutdown. [Jeff Trawick] 017 018 *) Unix MPMs: Shut down the server more quickly when child processes are 019 slow to exit. [Joe Orton, Jeff Trawick] 020 021 *) Remove formatting characters from ap_log_error() calls. These 022 were escaped as fallout from CAN-2003-0020. 023 [Eric Covener <ecovener gmail.com>] 024 025 *) mod_ssl: If SSLUsername is used, set r->user earlier. PR 31418. 026 [David Reid] 027 028 *) htdigest: Fix permissions of created files. PR 33765. [Joe Orton] 029 030 *) core_input_filter: Move buckets to a persistent brigade instead of 031 creating a new brigade. This stop a memory leak when proxying a 032 Streaming Media Server. PR 33382. [Paul Querna] 033 034 *) mod_win32: Ignore both PATH_INFO as well as PATH_TRANSLATED to avoid 035 hiccups from additional path information passed in non-utf-8 format. 036 [Richard Donkin <rd9 donkin.org] 037 038 Changes with Apache 2.0.53 039 040 *) Fix --with-apr=/usr and/or --with-apr-util=/usr. PR 29740. 041 [Max Bowsher <maxb ukf.net>] 042 043 *) mod_proxy: Fix ProxyRemoteMatch directive. PR 33170. 044 [Rici Lake <rici ricilake.net>] 045 046 *) mod_proxy: Respect errors reported by pre_connection hooks. 047 [Jeff Trawick] 048 049 *) --with-module can now take more than one module to be statically 050 linked: --with-module=<modtype>:<modfile>,<modtype>:<modfile>,... 051 If the <modtype>-subdirectory doesn't exist it will be created and 052 populated with a standard Makefile.in. [Erik Abele] 053 054 *) Fix the RPM spec file so that an RPM build now works. An RPM 055 build now requires system installations of APR and APR-util. 056 Remove some arbitrary moving around of binaries - the RPM now 057 maps to the ASF build of httpd. 058 [Graham Leggett] 059 060 *) mod_dumpio, an I/O logging/dumping module, added to the 061 modules/expermimental subdirectory. [Jim Jagielski] 062 063 *) mod_auth_ldap: Handle the inconsistent way in which the MS LDAP 064 library handles special characters. PR 24437. [Jess Holle] 065 066 *) Win32 MPM: Correct typo in debugging output. [William Rowe] 067 068 *) conf: Remove AddDefaultCharset from the default configuration because 069 setting a site-wide default does more harm than good. PR 23421. 070 [Roy Fielding] 071 072 *) Add charset to example CGI scripts. [Roy Fielding] 073 074 *) mod_ssl: fail quickly if SSL connection is aborted rather than 075 making many doomed ap_pass_brigade calls. PR 32699. [Joe Orton] 076 077 *) Remove compiled-in upper limit on LimitRequestFieldSize. 078 [Bill Stoddard] 079 080 *) Start keeping track of time-taken-to-process-request again for 081 mod_status if ExtendedStatus is enabled. [Jim Jagielski] 082 083 *) mod_proxy: Handle client-aborted connections correctly. PR 32443. 084 [Janne Hietamäki, Joe Orton] 085 086 *) Fix handling of files >2Gb on all platforms (or builds) where 087 apr_off_t is larger than apr_size_t. PR 28898. [Joe Orton] 088 089 *) mod_include: Fix bug which could truncate variable expansions 090 of N*64 characters by one byte. PR 32985. [Joe Orton] 091 092 *) Correct handling of certain bucket types in ap_save_brigade, fixing 093 possible segfaults in mod_cgi with #include virtual. PR 31247. 094 [Joe Orton] 095 096 *) Allow for the use of --with-module=foo:bar where the ./modules/foo 097 directory is local only. Assumes, of course, that the required 098 files are in ./modules/foo, but makes it easier to statically 099 build/log "external" modules. [Jim Jagielski] 100 101 *) Util_ldap: Implemented the util_ldap_cache_getuserdn() API so that 102 ldap authorization only modules have access to the util_ldap 103 user cache without having to require ldap authentication as well. 104 PR 31898. [Jari Ahonen jah progress.com, Brad Nicholes] 105 106 *) mod_auth_ldap: Added the directive "Requires ldap-attribute" that 107 allows the module to only authorize a user if the attribute value 108 specified matches the value of the user object. PR 31913 109 [Ryan Morgan <rmorgan pobox.com>] 110 111 *) SECURITY: CAN-2004-0942 (cve.mitre.org) 112 Fix for memory consumption DoS in handling of MIME folded request 113 headers. [Joe Orton] 114 115 *) SECURITY: CAN-2004-0885 (cve.mitre.org) 116 mod_ssl: Fix a bug which allowed an SSLCipherSuite setting to be 117 bypassed during an SSL renegotiation. PR 31505. 118 [Hartmut Keil <Hartmut.Keil adnovum.ch>, Joe Orton] 119 120 *) mod_ssl: Fail at startup rather than segfault at runtime if a 121 client cert is configured with an encrypted private key. 122 PR 24030. [Joe Orton] 123 124 *) apxs: fix handling of -Wc/-Wl and "-o mod_foo.so". PR 31448 125 [Joe Orton] 126 127 *) mod_ldap: Fix format strings to use %APR_PID_T_FMT instead of %d. 128 [Jeff Trawick] 129 130 *) mod_cache: CacheDisable will only disable the URLs it was meant to 131 disable, not all caching. PR 31128. 132 [Edward Rudd <eddie omegaware.com>, Paul Querna] 133 134 *) mod_cache: Try to correctly follow RFC 2616 13.3 on validating stale 135 cache responses. [Justin Erenkrantz] 136 137 *) mod_rewrite: Handle per-location rules when r->filename is unset. 138 Previously this would segfault or simply not match as expected, 139 depending on the platform. [Jeff Trawick] 140 141 *) mod_rewrite: Fix 0 bytes write into random memory position. 142 PR 31036. [André Malo] 143 144 *) mod_disk_cache: Do not store aborted content. PR 21492. 145 [Rüiger Plü <r.pluem t-online.de>] 146 147 *) mod_disk_cache: Correctly store cached content type. PR 30278. 148 [Rüiger Plü <r.pluem t-online.de>] 149 150 *) mod_ldap: prevent the possiblity of an infinite loop in the LDAP 151 statistics display. PR 29216. [Graham Leggett] 152 153 *) mod_ldap: fix a bogus error message to tell the user which file 154 is causing a potential problem with the LDAP shared memory cache. 155 PR 31431 [Graham Leggett] 156 157 *) mod_disk_cache: Do not store hop-by-hop headers. [Justin Erenkrantz] 158 159 *) Fix the re-linking issue when purging elements from the LDAP cache 160 PR 24801. [Jess Holle <jessh ptc.com>] 161 162 *) mod_disk_cache: Fix races in saving responses. [Justin Erenkrantz] 163 164 *) Fix Expires handling in mod_cache. [Justin Erenkrantz] 165 166 *) Alter mod_expires to run at a different filter priority to allow 167 proper Expires storage by mod_cache. [Justin Erenkrantz] 168 169 Changes with Apache 2.0.52 170 171 *) Use HTML 2.0 <hr> for error pages. PR 30732 [André Malo] 172 173 *) Fix the global mutex crash when the global mutex is never allocated 174 due to disabled/empty caches. [Jess Holle <jessh ptc.com>] 175 176 *) Fix a segfault in the LDAP cache when it is configured switched 177 off. [Jess Holle <jessh ptc.com>] 178 179 *) SECURITY: CAN-2004-0811 (cve.mitre.org) 180 Fix merging of the Satisfy directive, which was applied to 181 the surrounding context and could allow access despite configured 182 authentication. PR 31315. [Rici Lake <rici ricilake.net>] 183 184 *) Fix the handling of URIs containing %2F when AllowEncodedSlashes 185 is enabled. Previously, such urls would still be rejected. 186 [Jeff Trawick, Bill Stoddard] 187 188 *) mod_mem_cache: Fixed race condition causing segfault because of memory being 189 freed twice, or reused after being freed. 190 [J. Clar, W. Stoddard, G. Ames] 191 192 *) Add -l option to rotatelogs to let it use local time rather than 193 UTC. PR 24417. [Ken Coar, Uli Zappe <uli ritual.org>] 194 195 *) mod_log_config: Fix a bug which prevented request completion time 196 from being logged for I_INSIST_ON_EXTRA_CYCLES_FOR_CLF_COMPLIANCE 197 processing. PR 29696. [Alois Treindl <alois astro.ch>] 198 199 Changes with Apache 2.0.51 200 201 *) SECURITY: CAN-2004-0786 (cve.mitre.org) 202 Fix an input validation issue in apr-util which could be 203 triggered by malformed IPv6 literal addresses. [Joe Orton] 204 205 *) SECURITY: CAN-2004-0747 (cve.mitre.org) 206 Fix buffer overflow in expansion of environment variables in 207 configuration file parsing. [André Malo] 208 209 *) SECURITY: CAN-2004-0809 (cve.mitre.org) 210 mod_dav_fs: Fix a segfault in the handling of an indirect lock 211 refresh. PR 31183. [Joe Orton] 212 213 *) mod_include no longer checks for recursion, because that's done 214 in the core. This allows for careful usage of recursive SSI. 215 [André Malo] 216 217 *) Fix memory leak in the cache handling of mod_rewrite. PR 27862. 218 [chunyan sheng <shengperson yahoo.com>, André Malo] 219 220 *) Include directives no longer refuse to process symlinks on 221 directories. Instead there's now a maximum nesting level 222 of included directories (128 as distributed). This is configurable 223 at compile time using the -DAP_MAX_INCLUDE_DIR_DEPTH switch. 224 PR 28492. [André Malo] 225 226 *) Win32: apache -k start|restart|install|config can leave stranded 227 piped logger processes (eg, rotatelogs.exe) due to improper 228 server shutdown on these code paths. 229 [Bill Stoddard] 230 231 *) SECURITY: CAN-2004-0751 (cve.mitre.org) 232 mod_ssl: Fix a segfault in the SSL input filter which could be 233 triggered if using "speculative" mode, for instance by a 234 proxy request to an SSL server. PR 30134. [Joe Orton] 235 236 *) mod_rewrite: Add %{SSL:...} and %{HTTPS} variable lookups. 237 PR 30464. [Joe Orton, Madhusudan Mathihalli] 238 239 *) mod_ssl: Add new 'ssl_is_https' optional function. [Joe Orton] 240 241 *) Prevent CGI script output which includes a Content-Range header 242 from being passed through the byterange filter. [Joe Orton] 243 244 *) Satisfy directives now can be influenced by a surrounding <Limit> 245 container. PR 14726. [André Malo] 246 247 *) mod_rewrite now officially supports RewriteRules in <Proxy> sections. 248 PR 27985. [André Malo] 249 250 *) mod_disk_cache: Implement binary format for on-disk header files. 251 [Brian Akins <bakins web.turner.com>, Justin Erenkrantz] 252 253 *) mod_disk_cache: Optimize network performance of disk cache subsystem by 254 allowing zero-copy (sendfile) writes and other miscellaneous fixes. 255 [Justin Erenkrantz] 256 257 *) mod_cache, mod_disk_cache, mod_mem_cache: Refactor cache modules, and 258 switch to the provider API instead of hooks. [Justin Erenkrantz] 259 260 *) mod_autoindex: Don't truncate the directory listing if a stat() 261 call fails (for instance on a >2Gb file). PR 17357. 262 [Joe Orton] 263 264 *) Makefile fix: httpd is linked against LIBS given to the 265 'make' invocation. PR 7882. [Joe Orton] 266 267 *) WinNT MPM: Fix a broken log message at termination. PR 28063. 268 [Eider Oliveira <eider bol.com.br>] 269 270 *) Prevent Win32 pool corruption at startup [Allan Edwards] 271 272 *) mod_ssl: Add "SSLUserName" directive to set r->user based on a 273 chosen SSL environment variable. PR 20957. 274 [Martin v. Loewis <martin v.loewis.de>] 275 276 *) suexec: Pass the SERVER_SIGNATURE envvar through to CGIs. 277 [Zvi Har'El <rl math.technion.ac.il>] 278 279 *) apachectl: Fix a problem finding envvars if sbindir != bindir. 280 PR 30723. [Friedrich Haubensak <hsk imb-jena.de>] 281 282 *) mod_ssl: Build on RHEL 3. PR 18989. [Justin Erenkrantz] 283 284 *) SECURITY: CAN-2004-0748 (cve.mitre.org) 285 mod_ssl: Fix a potential infinite loop. PR 29964. [Joe Orton] 286 287 *) mod_ssl: Avoid startup failure after unclean shutdown if using shmcb. 288 PR 18989. [Joe Orton] 289 290 *) mod_userdir: Ensure that the userdir identity is used for 291 suexec userdir access in a virtual host which has suexec configured. 292 PR 18156. [Joshua Slive] 293 294 *) mod_rewrite no longer confuses the RewriteMap caches if 295 different maps defined in different virtual hosts use the 296 same map name. PR 26462. [André Malo] 297 298 *) mod_setenvif: Remove "support" for Remote_User variable which 299 never worked at all. PR 25725. [André Malo] 300 301 *) Backport from 2.1 / Regression from 1.3: mod_headers now knows 302 again the functionality of the ErrorHeader directive. But instead 303 using this misnomer additional flags to the Header directive were 304 introduced ("always" and "onsuccess", defaulting to the latter). 305 PR 28657. [André Malo] 306 307 *) Use the higher performing 'httpready' Accept Filter on all platforms 308 except FreeBSD < 4.1.1. [Paul Querna] 309 310 *) mod_usertrack: Escape the cookie name before pasting into the 311 regexp. [André Malo] 312 313 *) Extend the SetEnvIf directive to capture subexpressions of the 314 matched value. [André Malo] 315 316 *) Recursive Include directives no longer crash. The server stops 317 including configuration files after a certain nesting level (128 318 as distributed). This is configurable at compile time using the 319 -DAP_MAX_INCLUDE_DEPTH switch. PR 28370. [André Malo] 320 321 *) mod_dir: the trailing-slash behaviour is now configurable using the 322 DirectorySlash directive. [André Malo] 323 324 *) Allow proxying of resources that are invoked via DirectoryIndex. 325 PR 14648, 15112, 29961. [André Malo] 326 327 *) util_ldap: Switched the lock types on the shared memory cache 328 from thread reader/writer locks to global mutexes in order to 329 provide cross process cache protection. [Brad Nicholes] 330 331 *) util_ldap: Reworked the cache locking scheme to eliminate duplicate 332 cache entries in the credentials cache due to race conditions. 333 [Brad Nicholes] 334 335 *) util_ldap: Enhanced the util_ldap cache-info display to show more 336 detail about the contents and current state of the cache. 337 [Brad Nicholes] 338 339 *) Enable the option to support anonymous shared memory in mod_ldap. 340 This makes the cache work on Linux again. [Graham Leggett] 341 342 *) Enable special ErrorDocument value 'default' which restores the 343 canned server response for the scope of the directive. 344 [Geoffrey Young, André Malo] 345 346 *) work around MSIE Digest auth bug - if AuthDigestEnableQueryStringHack 347 is set in r->subprocess_env allow mismatched query strings to pass. 348 PR 27758. [Paul Querna, Geoffrey Young] 349 350 *) Accept URLs for the ServerAdmin directive. If the supplied 351 argument is not recognized as an URL, assume it's a mail address. 352 PR 28174. [André Malo, Paul Querna] 353 354 *) initialize server arrays prior to calling ap_setup_prelinked_modules 355 so that static modules can push Defines values when registering 356 hooks just like DSO modules can ["Philippe M. Chiasson" <gozer cpan.org>] 357 358 *) Small fix to allow reverse proxying to an ftp server. Previously 359 an attempt to do this would try and connect to 0.0.0.0, regardless 360 of the server specified. PR 24922 361 [Pascal Terjan <pterjan@linuxfr.org>] 362 363 *) Add the NOTICE file to the rpm spec file in compliance with the 364 Apache v2.0 license. [Graham Leggett] 365 366 *) RPM spec file changes: changed default dependancy to link to db4 367 instead of db3. Fixed complaints about unpackaged files. 368 [Graham Leggett] 369 370 Changes with Apache 2.0.50 371 372 *) SECURITY: CAN-2004-0493 (cve.mitre.org) 373 Close a denial of service vulnerability identified by Georgi 374 Guninski which could lead to memory exhaustion with certain 375 input data. [Jeff Trawick] 376 377 *) mod_cgi: Handle output on stderr during script execution on Unix 378 platforms; preventing deadlock when stderr output fills pipe buffer. 379 Also fixes case where stderr from nph- scripts could be lost. 380 PR 22030, 18348. [Joe Orton, Jeff Trawick] 381 382 *) mod_alias now emits a warning if it detects overlapping *Alias* 383 directives. [André Malo] 384 385 *) mod_rewrite no longer turns forward proxy requests into reverse proxy 386 requests. PR 28125 [ast domdv.de, André Malo] 387 388 *) ap_set_sub_req_protocol and ap_finalize_sub_req_protocol are now 389 exported on Win32 and Netware as well (minor MMN bump). PR 28523. 390 [Edward Rudd <eddie omegaware.com>, André Malo] 391 392 *) Restore the ability to disable the use of AcceptEx on Win9x systems 393 automatically (broken in 2.0.49). PR 28529. [André Malo] 394 395 *) <VirtualHost myhost> now applies to all IP addresses for myhost 396 instead of just the first one reported by the resolver. This 397 corrects a regression since 1.3. [Jeff Trawick] 398 399 *) util_ldap: allow relative paths for LDAPTrustedCA to be resolved 400 against ServerRoot PR#26602 [Brad Nicholes] 401 402 *) SECURITY: CAN-2004-0488 (cve.mitre.org) 403 mod_ssl: Fix a buffer overflow in the FakeBasicAuth code for a 404 (trusted) client certificate subject DN which exceeds 6K in length. 405 [Joe Orton] 406 407 *) mod_dav_fs: Fix MKCOL response for missing parent collections, which 408 caused issues for the Eclipse WebDAV extension. 409 PR 29034. [Joe Orton] 410 411 *) mod_deflate: Fix memory consumption (which was proportional to the 412 response size). PR 29318. [Joe Orton] 413 414 *) mod_ssl: Log the errors returned on failure to load or initialize 415 a crypto accelerator engine. [Joe Orton] 416 417 *) Allow RequestHeader directives to be conditional. PR 27951. 418 [Vincent Deffontaines <vincent gryzor.com>, André Malo] 419 420 *) Allow LimitRequestBody to be reset to unlimited. PR 29106 421 [André Malo] 422 423 *) Fix a bunch of cases where the return code of the regex compiler 424 was not checked properly. This affects: mod_setenvif, mod_usertrack, 425 mod_proxy, mod_proxy_ftp and core. PR 28218. [André Malo] 426 427 *) mod_ssl: Fix a potential segfault in the 'shmcb' session cache for 428 small cache sizes. PR 27751. [Geoff Thorpe <geoff geoffthorpe.net>] 429 430 *) Remove 2Gb log file size restriction on some 32-bit platforms. 431 PR 13511. [Joe Orton] 432 433 *) mod_logio no longer removes the EOS bucket. PR 27928. 434 [Bojan Smojver <bojan rexursive.com>] 435 436 *) htpasswd no longer refuses to process files that contain empty 437 lines. [André Malo] 438 439 *) Regression from 1.3: At startup, suexec now will be checked for 440 availability, the setuid bit and user root. The works only if 441 httpd is compiled with the shipped APR version (0.9.5). 442 PR 28287. [André Malo] 443 444 *) Unix MPMs: Stop dropping connections when the file descriptor 445 is at least FD_SETSIZE. [Jeff Trawick] 446 447 *) Fix handling of IPv6 numeric strings in mod_proxy. [Jeff Trawick] 448 449 *) mod_isapi: send_response_header() failed to copy status string's 450 last character. PR 20619. [Jesse Pelton <jsp pkc.com>] 451 452 *) Fix a segfault when requests for shared memory fails and returns 453 NULL. Fix a segfault caused by a lack of bounds checking on the 454 cache. PR 24801. [Graham Leggett] 455 456 *) Throw an error message if an attempt is made to use the LDAPTrustedCA 457 or LDAPTrustedCAType directives in a VirtualHost. PR 26390 458 [Brad Nicholes] 459 460 *) Fix a potential segfault if the bind password in the LDAP cache 461 is NULL. PR 28250. [Jari Ahonen <jah progress.com>] 462 463 *) Quotes cannot be used around require group and require dn 464 directives, update the documentation to reflect this. Also add 465 quotes around the dn and group within debug messages, to make it 466 more obvious why authentication is failing if quotes are used in 467 error. PR 19304. [Graham Leggett] 468 469 *) The Microsoft LDAP SDK escapes filters for us, stop util_ldap 470 from escaping filters twice when the backslash character is used. 471 PR 24437. [Jess Holle <jessh ptc.com>] 472 473 *) Overhaul handling of LDAP error conditions, so that the util_ldap_* 474 functions leave the connections in a sane state after errors have 475 occurred. PR 27748, 17274, 17599, 18661, 21787, 24595, 24683, 27134, 476 27271 [Graham Leggett] 477 478 *) mod_ldap calls ldap_simple_bind_s() to validate the user 479 credentials. If the bind fails, the connection is left 480 in an unbound state. Make sure that the ldap connection 481 record is updated to show that the connection is no longer 482 bound. [Brad Nicholes] 483 484 *) Ensure that lines in the request which are too long are 485 properly terminated before logging. 486 [Tsurutani Naoki <turutani scphys.kyoto-u.ac.jp>] 487 488 *) Update the bind credentials for the cached LDAP connection to 489 reflect the last bind. This prevents util_ldap from creating 490 unnecessary connections rather than reusing cached connections. 491 [Brad Nicholes] 492 493 *) mod_isapi: GetServerVariable returned improperly terminated header 494 fields given "ALL_HTTP" or "ALL_RAW". PR 20656. 495 [Jesse Pelton <jsp pkc.com>] 496 497 *) mod_isapi: GetServerVariable("ALL_RAW") returned the wrong buffer 498 size. PR 20617. [Jesse Pelton <jsp pkc.com>] 499 500 *) mod_dav: Fix a problem that could cause crashes when manipulating 501 locks on some platforms. [Jeff Trawick] 502 503 *) mod_headers no longer crashes if an empty header value should 504 be added. [André Malo] 505 506 *) Fix segfault in mod_expires, which occured under certain 507 circumstances. PR 28047. [André Malo] 508 509 *) htpasswd: use apr_temp_dir_get() and general cleanup 510 [Guenter Knauf <eflash gmx.net>, Thom May] 511 512 *) mod_ssl: Fix memory leak in session cache handling. PR 26562 513 [Madhusudan Mathihalli] 514 515 *) mod_ssl: Fix potential segfaults when performing SSL shutdown from 516 a pool cleanup. PR 27945. [Joe Orton] 517 518 *) Add forensic logging module (mod_log_forensic). 519 [Ben Laurie] 520 521 *) logresolve: Allow size of log line buffer to be overridden at 522 build time (MAXLINE). PR 27793. [Jeff Trawick] 523 524 *) Fix the comment delimiter in htdbm so that it correctly parses the 525 username comment. Also add a terminate function to allow NetWare 526 to pause the output before the screen is destroyed. 527 [Guenter Knauf <eflash gmx.net>, Brad Nicholes] 528 529 *) Fix crash when Apache was started with no Listen directives. 530 [Michael Corcoran <mcorcoran warpsolutions.com>] 531 532 *) core_output_filter: Fix bug that could result in sending 533 garbage over the network when module handlers construct 534 bucket brigades containing multiple file buckets all referencing 535 the same open file descriptor. [Bojan Smojver] 536 537 *) Fix memory corruption problem with ap_custom_response() function. 538 The core per-dir config would later point to request pool data 539 that would be reused for different purposes on different requests. 540 [Jeff Trawick, based on an old 1.3 patch submitted by Will Lowe] 541 542 *) Win32: Tweak worker thread accounting routines to eliminate 543 server hang when number of Listen directives in httpd.conf 544 is greater than or equal to the setting of ThreadsPerChild. 545 [Bill Stoddard] 546 547 Changes with Apache 2.0.49 548 549 *) SECURITY: CAN-2004-0174 (cve.mitre.org) 550 Fix starvation issue on listening sockets where a short-lived 551 connection on a rarely-accessed listening socket will cause a 552 child to hold the accept mutex and block out new connections until 553 another connection arrives on that rarely-accessed listening socket. 554 With Apache 2.x there is no performance concern about enabling the 555 logic for platforms which don't need it, so it is enabled everywhere 556 except for Win32. [Jeff Trawick] 557 558 *) mod_cgid: Fix storage corruption caused by use of incorrect pool. 559 [Jeff Trawick] 560 561 *) Win32: find_read_listeners was not correctly handling multiple 562 listeners on the Win32DisableAcceptEx path. [Bill Stoddard] 563 564 *) Fix bug in mod_usertrack when no CookieName is set. PR 24483. 565 [Manni Wood <manniwood planet-save.com>] 566 567 *) Fix some piped log problems: bogus "piped log program '(null)' 568 failed" messages during restart and problem with the logger 569 respawning again after Apache is stopped. PR 21648, PR 24805. 570 [Jeff Trawick] 571 572 *) Fixed file extensions for real media files and removed rpm extension 573 from mime.types. PR 26079. [Allan Sandfeld <kde carewolf.com>] 574 575 *) Remove compile-time length limit on request strings. Length is 576 now enforced solely with the LimitRequestLine config directive. 577 [Paul J. Reder] 578 579 *) mod_ssl: Send the Close Alert message to the peer before closing 580 the SSL session. PR 27428. [Madhusudan Mathihalli, Joe Orton] 581 582 *) SECURITY: CVE-2004-0113 (cve.mitre.org) 583 mod_ssl: Fix a memory leak in plain-HTTP-on-SSL-port handling. 584 PR 27106. [Joe Orton] 585 586 *) mod_ssl: Fix bug in passphrase handling which could cause spurious 587 failures in SSL functions later. PR 21160. [Joe Orton] 588 589 *) mod_log_config: Fix corruption of buffered logs with threaded 590 MPMs. PR 25520. [Jeff Trawick] 591 592 *) Fix mod_include's expression parser to recognize strings correctly 593 even if they start with an escaped token. [André Malo] 594 595 *) Add fatal exception hook for use by diagnostic modules. The hook 596 is only available if the --enable-exception-hook configure parm 597 is used and the EnableExceptionHook directive has been set to 598 "on". [Jeff Trawick] 599 600 *) Allow mod_auth_digest to work with sub-requests with different 601 methods than the original request. PR 25040. 602 [Josh Dady <jpd indecisive.com>] 603 604 *) fix "Expected </Foo>> but saw </Foo>" errors in nested, 605 argumentless containers. 606 ["Philippe M. Chiasson" <gozer cpan.org>] 607 608 *) mod_auth_ldap: Fix some segfaults in the cache logic. PR 18756. 609 [Matthieu Estrade <apache moresecurity.org>, Brad Nicholes] 610 611 *) mod_cgid: Restart the cgid daemon if it crashes. PR 19849 612 [Glenn Nielsen <glenn apache.org>] 613 614 *) The whole codebase was relicensed and is now available under 615 the Apache License, Version 2.0 (http://www.apache.org/licenses). 616 [Apache Software Foundation] 617 618 *) Fixed cache-removal order in mod_mem_cache. 619 [Jean-Jacques Clar, Cliff Woolley] 620 621 *) mod_setenvif: Fix the regex optimizer, which under circumstances 622 treated the supplied regex as literal string. PR 24219. 623 [André Malo] 624 625 *) ap_mpm.h: Fix include guard of ap_mpm.h to reference mpm 626 instead of mmn. [André Malo] 627 628 *) mod_rewrite: Catch an edge case, where strange subsequent RewriteRules 629 could lead to a 400 (Bad Request) response. [André Malo] 630 631 *) Keep focus of ITERATE and ITERATE2 on the current module when 632 the module chooses to return DECLINE_CMD for the directive. 633 PR 22299. [Geoffrey Young <geoff apache.org>] 634 635 *) Add support for IMT minor-type wildcards (e.g., text/*) to 636 ExpiresByType. PR#7991 [Ken Coar] 637 638 *) Fix segfault in mod_mem_cache cache_insert() due to cache size 639 becoming negative. PR: 21285, 21287 640 [Bill Stoddard, Massimo Torquati, Jean-Jacques Clar] 641 642 *) core.c: If large file support is enabled, allow any file that is 643 greater than AP_MAX_SENDFILE to be split into multiple buckets. 644 This allows Apache to send files that are greater than 2gig. 645 Otherwise we run into 32/64 bit type mismatches in the file size. 646 [Brad Nicholes] 647 648 *) proxy_http fix: mod_proxy hangs when both KeepAlive and 649 ProxyErrorOverride are enabled, and a non-200 response without a 650 body is generated by the backend server. (e.g.: a client makes a 651 request containing the "If-Modified-Since" and "If-None-Match" 652 headers, to which the backend server respond with status 304.) 653 [Graham Wiseman <gwiseman fscinternet.com>, Richard Reiner] 654 655 *) mod_dav: Reject requests which include an unescaped fragment in the 656 Request-URI. PR 21779. [Amit Athavale <amit_athavale lycos.com>] 657 658 *) Build array of allowed methods with proper dimensions, fixing 659 possible memory corruption. [Jeff Trawick] 660 661 *) mod_ssl: Fix potential segfault on lookup of SSL_SESSION_ID. 662 PR 15057. [Otmar Lendl <lendl nic.at>] 663 664 *) mod_ssl: Fix streaming output from an nph- CGI script. PR 21944 665 [Joe Orton] 666 667 *) mod_usertrack no longer inspects the Cookie2 header for 668 the cookie name. PR 11475. [Chris Darrochi <chrisd pearsoncmg.com>] 669 670 *) mod_usertrack no longer overwrites other cookies. 671 PR 26002. [Scott Moore <apache nopdesign.com>] 672 673 *) worker MPM: fix stack overlay bug that could cause the parent 674 process to crash. [Jeff Trawick] 675 676 *) Win32: Add Win32DisableAcceptEx directive. This Windows 677 NT/2000/CP directive is useful to work around bugs in some 678 third party layered service providers like virus scanners, 679 VPN and firewall products, that do not properly handle 680 WinSock 2 APIs. Use this directive if your server is issuing 681 AcceptEx failed messages. 682 [Allan Edwards, Bill Rowe, Bill Stoddard, Jeff Trawick] 683 684 *) Make REMOTE_PORT variable available in mod_rewrite. 685 PR 25772. [André Malo] 686 687 *) Fix a long delay with CGI requests and keepalive connections on 688 AIX. [Jeff Trawick] 689 690 *) mod_autoindex: Add 'XHTML' option in order to allow switching between 691 HTML 3.2 and XHTML 1.0 output. PR 23747. [André Malo] 692 693 *) Add XHTML Document Type Definitions to httpd.h (minor MMN bump). 694 [André Malo] 695 696 *) mod_ssl: Advertise SSL library version as determined at run-time rather 697 than at compile-time. PR 23956. [Eric Seidel <seidel apple.com>] 698 699 *) mod_ssl: Fix segfault on a non-SSL request if the 'c' log 700 format code is used. PR 22741. [Gary E. Miller <gem rellim.com>] 701 702 *) Fix build with parallel make. PR 24643. [Joe Orton] 703 704 *) mod_rewrite: In external rewrite maps lookup keys containing 705 a newline now cause a lookup failure. PR 14453. 706 [Cedric Gavage <cedric.gavage unixtech.be>, André Malo] 707 708 *) Backport major overhaul of mod_include's filter parser from 2.1. 709 The new parser code is expected to be more robust and should 710 catch all of the edge cases that were not handled by the previous one. 711 The 2.1 external API changes were hidden by a wrapper which is 712 expected to keep the API backwards compatible. [André Malo] 713 714 *) Add a hook (insert_error_filter) to allow filters to re-insert 715 themselves during processing of error responses. Enable mod_expires 716 to use the new hook to include Expires headers in valid error 717 responses. This addresses an RFC violation. It fixes PRs 19794, 718 24884, and 25123. [Paul J. Reder] 719 720 *) Add Polish translation of error messages. PR 25101. 721 [Tomasz Kepczynski <tomek jot23.org>] 722 723 *) Add AP_MPMQ_MPM_STATE function code for ap_mpm_query. (Not yet 724 supported for BeOS or OS/2 MPMs.) [Jeff Trawick, Brad Nicholes, 725 Bill Stoddard] 726 727 *) Add mod_status hook to allow modules to add to the mod_status 728 report. [Joe Orton] 729 730 *) Fix htdbm to generate comment fields in DBM files correctly. 731 [Justin Erenkrantz] 732 733 *) mod_dav: Use bucket brigades when reading PUT data. This avoids 734 problems if the data stream is modified by an input filter. PR 22104. 735 [Tim Robbins <tim robbins.dropbear.id.au>, André Malo] 736 737 *) Fix RewriteBase directive to not add double slashes. [André Malo] 738 739 *) Improve 'configure --help' output for some modules. [Astrid Keßler] 740 741 *) Correct UseCanonicalName Off to properly check incoming port number. 742 [Jim Jagielski] 743 744 *) Fix slow graceful restarts with prefork MPM. [Joe Orton] 745 746 *) Fix a problem with namespace mappings being dropped in mod_dav_fs; 747 if any property values were set which defined namespaces these 748 came out mangled in the PROPFIND response. PR 11637. 749 [Amit Athavale <amit_athavale persistent.co.in>] 750 751 *) mod_dav: Return a WWW-auth header for MOVE/COPY requests where 752 the destination resource gives a 401. PR 15571. [Joe Orton] 753 754 *) SECURITY: CVE-2003-0020 (cve.mitre.org) 755 Escape arbitrary data before writing into the errorlog. Unescaped 756 errorlogs are still possible using the compile time switch 757 "-DAP_UNSAFE_ERROR_LOG_UNESCAPED". [Geoffrey Young, André Malo] 758 759 *) mod_autoindex / core: Don't fail to show filenames containing 760 special characters like '%'. PR 13598. [André Malo] 761 762 *) mod_status: Report total CPU time accurately when using a threaded 763 MPM. PR 23795. [Jeff Trawick] 764 765 *) Fix memory leak in handling of request bodies during reverse 766 proxy operations. PR 24991. [Larry Toppi <larry.toppi citrix.com>] 767 768 *) Win32 MPM: Implement MaxMemFree to enable setting an upper 769 limit on the amount of storage used by the bucket brigades 770 in each server thread. [Bill Stoddard] 771 772 *) Modified the cache code to be header-location agnostic. Also 773 fixed a number of other cache code bugs related to PR 15852. 774 Includes a patch submitted by Sushma Rai <rsushma novell.com>. 775 This fixes mod_mem_cache but not mod_disk_cache yet so I'm not 776 closing the PR since that is what they are using. [Paul J. Reder] 777 778 *) complain via error_log when mod_include's INCLUDES filter is 779 enabled, but the relevant Options flag allowing the filter to run 780 for the specific resource wasn't set, so that the filter won't 781 silently get skipped. next remove itself, so the warning will be 782 logged only once [Stas Bekman, Jeff Trawick, Bill Rowe] 783 784 *) mod_info: HTML escape configuration information so it displays 785 correctly. PR 24232. [Thom May] 786 787 *) Restore the ability to add a description for directories that 788 don't contain an index file. (Broken in 2.0.48) [André Malo] 789 790 *) Fix a problem with the display of empty variables ("SetEnv foo") in 791 mod_include. PR 24734 [Markus Julen <mj zermatt.net>] 792 793 *) mod_log_config: Log the minutes component of the timezone correctly. 794 PR 23642. [Hong-Gunn Chew <hgbug gunnet.org>] 795 796 *) mod_proxy: Fix cases where an invalid status-line could be sent 797 to the client. PR 23998. [Joe Orton] 798 799 *) mod_ssl: Fix segfaults at startup if other modules which use OpenSSL 800 are also loaded. [Joe Orton] 801 802 *) mod_ssl: Use human-readable OpenSSL error strings in logs; use 803 thread-safe interface for retrieving error strings. [Joe Orton] 804 805 *) mod_expires: Initialize ExpiresDefault to NULL instead of "" to 806 avoid reporting an Internal Server error if it is used without 807 having been set in the httpd.conf file. PR: 23748, 24459 808 [Andre Malo, Liam Quinn <liam htmlhelp.com>] 809 810 *) mod_autoindex: Don't omit the <tr> start tag if the SuppressIcon 811 option is set. PR 21668. [Jesse Tie-Ten-Quee <highos highos.com>] 812 813 *) mod_include no longer allows an ETag header on 304 responses. 814 PR 19355. [Geoffrey Young <geoff apache.org>, André Malo] 815 816 *) EBCDIC: Convert header fields to ASCII before sending (broken 817 since 2.0.44). [Martin Kraemer] 818 819 *) Fix the inability to log errors like exec failure in 820 mod_ext_filter/mod_cgi script children. This was broken after 821 such children stopped inheriting the error log handle. 822 [Jeff Trawick] 823 824 *) Fix mod_info to use the real config file name, not the default 825 config file name. [Aryeh Katz <aryeh secured-services.com>] 826 827 *) Set the scoreboard state to indicate logging prior to running 828 logging hooks so that server-status will show 'L' for hung loggers 829 instead of 'W'. [Jeff Trawick] 830 831 Changes with Apache 2.0.48 832 833 *) SECURITY: CAN-2003-0789 (cve.mitre.org) 834 mod_cgid: Resolve some mishandling of the AF_UNIX socket used to 835 communicate with the cgid daemon and the CGI script. 836 [Jeff Trawick] 837 838 *) SECURITY: CAN-2003-0542 (cve.mitre.org) 839 Fix buffer overflows in mod_alias and mod_rewrite which occurred 840 if one configured a regular expression with more than 9 captures. 841 [André Malo] 842 843 *) mod_include: fix segfault which occured if the filename was not 844 set, for example, when processing some error conditions. 845 PR 23836. [Brian Akins <bakins web.turner.com>, André Malo] 846 847 *) fix the config parser to support <Foo>..</Foo> containers (no 848 arguments in the opening tag) supported by httpd 1.3. Without 849 this change mod_perl 2.0's <Perl> sections are broken. 850 ["Philippe M. Chiasson" <gozer cpan.org>] 851 852 *) mod_cgid: fix a hash table corruption problem which could 853 result in the wrong script being cleaned up at the end of a 854 request. [Jeff Trawick] 855 856 *) Update httpd-*.conf to be clearer in describing the connection 857 between AddType and AddEncoding for defining the meaning of 858 compressed file extensions. [Roy Fielding] 859 860 *) mod_rewrite: Don't die silently when failing to open RewriteLogs. 861 PR 23416. [André Malo] 862 863 *) mod_rewrite: Fix mod_rewrite's support of the [P] option to send 864 rewritten request using "proxy:". The code was adding multiple "proxy:" 865 fields in the rewritten URI. PR: 13946. 866 [Eider Oliveira <eider bol.com.br>] 867 868 *) cache_util: Fix ap_check_cache_freshness to check max_age, smax_age, and 869 expires as directed in RFC 2616. [Thomas Castelle <tcastelle generali.fr>] 870 871 *) Ensure that ssl-std.conf is generated at configure time, and switch 872 to using the expanded config variables to work the same as 873 httpd-std.conf PR: 19611 874 [Thom May] 875 876 *) mod_ssl: Fix segfaults after renegotiation failure. PR 21370 877 [Hartmut Keil <Hartmut.Keil adnovum.ch>] 878 879 *) mod_autoindex: If a directory contains a file listed in the 880 DirectoryIndex directive, the folder icon is no longer replaced 881 by the icon of that file. PR 9587. 882 [David Shane Holden <dpejesh yahoo.com>] 883 884 *) Fixed mod_usertrack to not get false positive matches on the 885 user-tracking cookie's name. PR 16661. 886 [Manni Wood <manniwood planet-save.com>] 887 888 *) mod_cache: Fix the cache code so that responses can be cached 889 if they have an Expires header but no Etag or Last-Modified 890 headers. PR 23130. 891 [<bjorn exoweb.net>] 892 893 *) mod_log_config: Fix %b log format to write really "-" when 0 bytes 894 were sent (e.g. with 304 or 204 response codes). [Astrid Keßler] 895 896 *) Modify ap_get_client_block() to note if it has seen EOS. 897 [Justin Erenkrantz] 898 899 *) Fix a bug, where mod_deflate sometimes unconditionally compressed the 900 content if the Accept-Encoding header contained only other tokens than 901 "gzip" (such as "deflate"). PR 21523. [Joe Orton, André Malo] 902 903 *) Avoid an infinite recursion, which occured if the name of an included 904 config file or directory contained a wildcard character. PR 22194. 905 [André Malo] 906 907 *) mod_ssl: Fix a problem setting variables that represent the 908 client certificate chain. PR 21371 [Jeff Trawick] 909 910 *) Unix: Handle permissions settings for flock-based mutexes in 911 unixd_set_global|proc_mutex_perms(). Allow the functions to be 912 called for any type of mutex. PR 20312 [Jeff Trawick] 913 914 *) ab: Work over non-loopback on Unix again. PR 21495. [Jeff Trawick] 915 916 *) Fix a misleading message from the some of the threaded MPMs when 917 MaxClients has to be lowered due to the setting of ServerLimit. 918 [Jeff Trawick] 919 920 *) Lower the severity of the "listener thread didn't exit" message 921 to debug, as it is of interest only to developers. PR 9011 922 [Jeff Trawick] 923 924 *) MPMs: The bucket brigades subsystem now honors the MaxMemFree setting. 925 [Cliff Woolley, Jean-Jacques Clar] 926 927 *) Install config.nice into the build/ directory to make 928 minor version upgrades easier. [Joshua Slive] 929 930 *) Fix mod_deflate so that it does not call deflate() without checking 931 first whether it has something to deflate. (Currently this causes 932 deflate to generate a fatal error according to the zlib spec.) 933 PR 22259. [Stas Bekman] 934 935 *) mod_ssl: Fix FakeBasicAuth for subrequest. Log an error when an 936 identity spoof is encountered. 937 [Sander Striker] 938 939 *) mod_rewrite: Ignore RewriteRules in .htaccess files if the directory 940 containing the .htaccess file is requested without a trailing slash. 941 PR 20195. [André Malo] 942 943 *) ab: Overlong credentials given via command line no longer clobber 944 the buffer. [André Malo] 945 946 *) mod_deflate: Don't attempt to hold all of the response until we're 947 done. [Justin Erenkrantz] 948 949 *) Assure that we block properly when reading input bodies with SSL. 950 PR 19242. [David Deaves <David.Deaves dd.id.au>, William Rowe] 951 952 *) Update mime.types to include latest IANA and W3C types. [Roy Fielding] 953 954 *) mod_ext_filter: Set additional environment variables for use by 955 the external filter. PR 20944. [Andrew Ho, Jeff Trawick] 956 957 *) Fix buildconf errors when libtool version changes. [Jeff Trawick] 958 959 *) Remember an authenticated user during internal redirects if the 960 redirection target is not access protected and pass it 961 to scripts using the REDIRECT_REMOTE_USER environment variable. 962 PR 10678, 11602. [André Malo] 963 964 *) mod_include: Fix a trio of bugs that would cause various unusual 965 sequences of parsed bytes to omit portions of the output stream. 966 PR 21095. [Ron Park <ronald.park cnet.com>, André Malo, Cliff Woolley] 967 968 *) Update the header token parsing code to allow LWS between the 969 token word and the ':' seperator. [PR 16520] 970 [Kris Verbeeck <kris.verbeeck advalvas.be>, Nicel KM <mnicel yahoo.com>] 971 972 *) Eliminate creation of a temporary table in ap_get_mime_headers_core() 973 [Joe Schaefer <joe+gmane sunstarsys.com>] 974 975 *) Added FreeBSD directory layout. PR 21100. 976 [Sander Holthaus <info orangexl.com>, André Malo] 977 978 *) Fix NULL-pointer issue in ab when parsing an incomplete or non-HTTP 979 response. PR 21085. [Glenn Nielsen <glenn apache.org>, André Malo] 980 981 *) mod_rewrite: Perform child initialization on the rewrite log lock. 982 This fixes a log corruption issue when flock-based serialization 983 is used (e.g., FreeBSD). [Jeff Trawick] 984 985 *) Don't respect the Server header field as set by modules and CGIs. 986 As with 1.3, for proxy requests any such field is from the origin 987 server; otherwise it will have our server info as controlled by 988 the ServerTokens directive. [Jeff Trawick] 989 990 Changes with Apache 2.0.47 991 992 *) SECURITY: CAN-2003-0192 (cve.mitre.org) 993 Fixed a bug whereby certain sequences of per-directory 994 renegotiations and the SSLCipherSuite directive being used to 995 upgrade from a weak ciphersuite to a strong one could result in 996 the weak ciphersuite being used in place of the strong one. 997 [Ben Laurie] 998 999 *) SECURITY: CAN-2003-0253 (cve.mitre.org) 1000 Fixed a bug in prefork MPM causing temporary denial of service 1001 when accept() on a rarely accessed port returns certain errors. 1002 Reported by Saheed Akhtar <S.Akhtar talis.com>. [Jeff Trawick] 1003 1004 *) SECURITY: CAN-2003-0254 (cve.mitre.org) 1005 Fixed a bug in ftp proxy causing denial of service when target 1006 host is IPv6 but proxy server can't create IPv6 socket. Fixed by 1007 the reporter. [Yoshioka Tsuneo <tsuneo.yoshioka f-secure.com>] 1008 1009 *) SECURITY [VU#379828] Prevent the server from crashing when entering 1010 infinite loops. The new LimitInternalRecursion directive configures 1011 limits of subsequent internal redirects and nested subrequests, after 1012 which the request will be aborted. PR 19753 (and probably others). 1013 [William Rowe, Jeff Trawick, André Malo] 1014 1015 *) core_output_filter: don't split the brigade after a FLUSH bucket if 1016 it's the last bucket. This prevents creating unneccessary empty 1017 brigades which may not be destroyed until the end of a keepalive 1018 connection. 1019 [Juan Rivera <Juan.Rivera citrix.com>] 1020 1021 *) Add support for "streamy" PROPFIND responses. 1022 [Ben Collins-Sussman <sussman collab.net>] 1023 1024 *) mod_cgid: Eliminate a double-close of a socket. This resolves 1025 various operational problems in a threaded MPM, since on the 1026 second attempt to close the socket, the same descriptor was 1027 often already in use by another thread for another purpose. 1028 [Jeff Trawick] 1029 1030 *) mod_negotiation: Introduce "prefer-language" environment variable, 1031 which allows to influence the negotiation process on request basis 1032 to prefer a certain language. [André Malo] 1033 1034 *) Make mod_expires' ExpiresByType work properly, including for 1035 dynamically-generated documents. [Ken Coar, Bill Stoddard] 1036 1037 Changes with Apache 2.0.46 1038 1039 *) SECURITY: CAN-2003-0245 (cve.mitre.org) 1040 Fixed a bug causing apr_pvsprintf() to crash by sending an overly 1041 long string. This can be triggered remotely through mod_dav, 1042 mod_ssl, and other mechanisms. 1043 Reported by David Endler <DEndler iDefense.com>. [Joe Orton] 1044 1045 *) SECURITY: CAN-2003-0189 (cve.mitre.org) 1046 Fixed a denial-of-service vulnerability affecting basic 1047 authentication on Unix platforms related to thread-safety in 1048 apr_password_validate(). 1049 Reported by John Hughes <john.hughes entegrity.com>. 1050 1051 *) Fix for mod_dav. Call the 'can_be_activity' callback, if provided, 1052 when a MKACTIVITY request comes in. 1053 [Ben Collins-Sussman <sussman collab.net>] 1054 1055 *) Perform run-time query in apxs for apr and apr-util's includes. 1056 [Justin Erenkrantz] 1057 1058 *) run libtool from the apr install directory (in case that is different 1059 from the apache install directory) [Jeff Trawick] 1060 1061 *) configure.in: Play nice with libtool-1.5. [Wilfredo Sanchez] 1062 1063 *) If mod_mime_magic does not know the content-type, do not attempt to 1064 guess. PR 16908. [Andrew Gapon <agapon telcordia.com>] 1065 1066 *) ssl session caching(shmht) : Fix a SEGV problem with SHMHT session 1067 caching. PR 17864. 1068 [Andreas Leimbacher <andreasl67 yahoo.de>, Madhusudan Mathihalli] 1069 1070 *) Add a delete flag to htpasswd. 1071 [Thom May] 1072 1073 *) Fix mod_rewrite's handling of absolute URIs. The escaping routines 1074 now work scheme dependent and the query string will only be 1075 appended if supported by the particular scheme. [André Malo] 1076 1077 *) Add another check for already compressed content in mod_deflate. 1078 PR 19913. [Tsuyoshi SASAMOTO <nazonazo super.win.ne.jp>] 1079 1080 *) Fixes for VPATH builds; copying special.mk and any future .mk files 1081 from the source tree as well as the build tree (now creates a usable 1082 configuration for apxs), and eliminated redundant -I'nclude paths. 1083 [William Rowe] 1084 1085 *) Code fixes, constness corrections and ssl_toolkit_compat.h updates 1086 for SSLC and OpenSSL toolkit compatibility. Still work remains to 1087 be done to cripple features based on the limitations of RSA's binary 1088 distribution of their SSL-C toolkit. 1089 [William Rowe, Madhusudan Mathihalli, Jeff Trawick] 1090 1091 *) Linux 2.4+: If Apache is started as root and you code 1092 CoreDumpDirectory, coredumps are enabled via the prctl() syscall. 1093 [Greg Ames] 1094 1095 *) ap_get_mime_headers_core: allocate space for the trailing null 1096 when folding is in effect. 1097 PR 18170 [Peter Mayne <PeterMayne SPAM_SUX.ap.spherion.com>] 1098 1099 *) Fix --enable-mods-shared=most and other variants. [Aaron Bannert] 1100 1101 *) mod_log_config: Add the ability to log the id of the thread 1102 processing the request via new %P formats. [Jeff Trawick] 1103 1104 *) Use appropriate language codes for Czech (cs) and Traditional Chinese 1105 (zh-tw) in default config files. PR 9427. [André Malo] 1106 1107 *) mod_auth_ldap: Use generic whitespace character class when parsing 1108 "require" directives, instead of literal spaces only. PR 17135. 1109 [André Malo] 1110 1111 *) Hook mod_rewrite's type checker before mod_mime's one. That way the 1112 RewriteRule [T=...] Flag should work as expected now. PR 19626. 1113 [André Malo] 1114 1115 *) htpasswd: Check the processed file on validity. If a line is not empty 1116 and not a comment, it must contain at least one colon. Otherwise exit 1117 with error code 7. [Kris Verbeeck <Kris.Verbeeck ubizen.com>, Thom May] 1118 1119 *) Fix a problem that caused httpd to be linked with incorrect flags 1120 on some platforms when mod_so was enabled by default, breaking 1121 DSOs on AIX. PR 19012 [Jeff Trawick] 1122 1123 *) By default, use the same CC and CPP with which APR was built. 1124 The user can override with CC and CPP environment variables. 1125 [Jeff Trawick] 1126 1127 *) Fix ap_construct_url() so that it surrounds IPv6 literal address 1128 strings with []. This fixes certain types of redirection. 1129 PR 19207. [Jeff Trawick] 1130 1131 *) forward port of buffer overflow fixes for htdigest. [Thom May] 1132 1133 *) Added AllowEncodedSlashes directive to permit control of whether 1134 the server will accept encoded slashes ('%2f') in the URI path. 1135 Default condition is off (the historical behaviour). This permits 1136 environments in which the path-info needs to contain encoded 1137 slashes. PR 543, 2389, 3581, 3589, 5687, 7066, 7865, 14639. [Ken Coar] 1138 1139 *) When using Redirect in directory context, append requested query 1140 string if there's no one supplied by configuration. PR 10961. 1141 [André Malo] 1142 1143 *) Unescape the supplied wildcard pattern in mod_autoindex. Otherwise 1144 the pattern will not always match as desired. PR 12596. 1145 [André Malo] 1146 1147 *) mod_autoindex now emits and accepts modern query string parameter 1148 delimiters (;). Thus column headers no longer contain unescaped 1149 ampersands. PR 10880 [André Malo] 1150 1151 *) Enable ap_sock_disable_nagle for Windows. This along with the 1152 addition of APR_TCP_NODELAY_INHERITED to apr.hw will cause Nagle 1153 to be disabled for Windows. [Allan Edwards] 1154 1155 *) Correct a mis-correlation between mpm_common.c and mpm_common.h; 1156 This patch reverts us to pre-2.0.46 behavior, using the 1157 ap_sock_disable_nagle noop macro, because ap_sock_disable_nagle 1158 was never compiled on Win32. [Allan Edwards, William Rowe] 1159 1160 *) Fix a build problem with passing unsupported --enable-layout 1161 args to apr and apr-util. This broke binbuild.sh as well as 1162 user-specified layout parameters. PR 18649 [Justin Erenkrantz, 1163 Jeff Trawick] 1164 1165 *) If a Date response header was already set in the headers array, 1166 this value was ignored in favour of the current time. This meant 1167 that Date headers on proxied requests where rewritten when they 1168 should not have been. PR: 14376 [Graham Leggett] 1169 1170 *) Add code to buildconf that produces an httpd.spec file from 1171 httpd.spec.in, using build/get-version.sh from APR. 1172 [Graham Leggett] 1173 1174 *) Fixed a segfault when multiple ProxyBlock directives were used. 1175 PR: 19023 [Sami Tikka <sami.tikka f-secure.com>] 1176 1177 *) SECURITY: CAN-2003-0134 (cve.mitre.org) 1178 OS2: Fix a Denial of Service vulnerability identified and 1179 reported by Robert Howard <rihoward rawbw.com> that where device 1180 names faulted the running OS2 worker process. The fix is 1181 actually in APR 0.9.4. [Brian Havard] 1182 1183 *) Forward port: Escape special characters (especially control 1184 characters) in mod_log_config to make a clear distinction between 1185 client-supplied strings (with special characters) and server-side 1186 strings. This was already introduced in version 1.3.25. 1187 [André Malo] 1188 1189 *) mod_deflate: Check also err_headers_out for an already set 1190 Content-Encoding: gzip header. This prevents gzip compressed content 1191 from a CGI script from being compressed once more. PR 17797. 1192 [André Malo] 1193 1194 Changes with Apache 2.0.45 1195 1196 *) Fix possible segfaults under obscure error conditions within the 1197 cgid daemon. [Jeff Trawick, William Rowe] 1198 1199 *) SECURITY: CAN-2003-0132 (cve.mitre.org) 1200 Close a Denial of Service vulnerability identified by David 1201 Endler <DEndler iDefense.com> on all platforms. An unlimited 1202 stream of newlines were acceptable between requests where each 1203 <lf> would allocate an 80 byte buffer, leading very quickly to 1204 memory exahustion. [Brian Pane] 1205 1206 *) Added an rpm build script. 1207 [Graham Leggett, Joe Orton <jorton redhat.com>] 1208 1209 *) Simpler, faster code path for request header scanning [Brian Pane] 1210 1211 *) SECURITY: Eliminated leaks of several file descriptors to child 1212 processes, such as CGI scripts. This fix depends on the APR library 1213 release 0.9.2 or later (0.9.3 was distributed with the httpd 1214 source tarball for Apache 2.0.45.) PR 17206 1215 [Christian Kratzer <ck cksoft.de>, Bjoern A. Zeeb <bz zabbadoz.net>] 1216 1217 *) Fix path handling of mod_rewrite, especially on non-unix systems. 1218 There was some confusion between local paths and URL paths. 1219 PR 12902. [André Malo] 1220 1221 *) Prevent endless loops of internal redirects in mod_rewrite by 1222 aborting after exceeding a limit of internal redirects. The 1223 limit defaults to 10 and can be changed using the RewriteOptions 1224 directive. PR 17462. [André Malo] 1225 1226 *) Win32: Avoid busy wait (consuming all the CPU idle cycles) when 1227 all worker threads are busy. 1228 [Igor Nazarenko <igor_nazarenko hotmail.com>] 1229 1230 *) Keep the subrequest filter in place when a subrequest is 1231 redirected. PR 15423. [Jeff Trawick] 1232 1233 *) you can now specify the compression level for mod_deflate. 1234 [Ian Holsman, Stephen Pierzchala <stephen pierzchala.com>, 1235 Michael Schroepl <Michael.Schroepl telekurs.de>] 1236 1237 *) mod_deflate: Extend the DeflateFilterNote directive to 1238 allow accurate logging of the filter's in- and outstream. 1239 [André Malo] 1240 1241 *) Allow SSLMutex to select/use the full range of APR locking 1242 mechanisms available to it. Also, fix the bug that SSLMutex uses 1243 APR_LOCK_DEFAULT no matter what. PR 8122 [Jim Jagielski, 1244 Martin Kutschker <martin.t.kutschker blackbox.net>] 1245 1246 *) Restore the ability of htdigest.exe to create files that contain 1247 more than one user. PR 12910. [André Malo] 1248 1249 *) Improve binary compatibility of the core between debug (aka 1250 maintainer-mode) and a non-debug compile. 1251 [Sander Striker] 1252 1253 *) mod_usertrack: don't set the cookie in subrequests. This works 1254 around the problem that cookies were set twice during fast internal 1255 redirects. PR 13211. [André Malo] 1256 1257 *) mod_autoindex no longer forgets output format and enabled version 1258 sort in linked column headers. [André Malo] 1259 1260 *) Use .sv instead of .se as extension for Swedish documents in the 1261 default configuration. PR 12877. [André Malo] 1262 1263 *) Updated mod_ldap and mod_auth_ldap to support the Novell LDAP SDK SSL 1264 and standardized the LDAP SSL support across the various LDAP SDKs. 1265 Isolated the SSL functionality to mod_ldap rather than speading it 1266 across mod_auth_ldap and mod_ldap. Also added LDAPTrustedCA 1267 and LDAPTrustedCAType directives to mod_ldap to allow for a more 1268 common method of specifying the SSL certificate. 1269 [Dave Ward, Brad Nicholes] 1270 1271 *) Fixed mod_ssl's SSLCertificateChain initialization to no longer 1272 skip the first cert of the chain by default. This misbehavior 1273 was introduced in 2.0.34. PR 14560 [Madhusudan Mathihalli] 1274 1275 *) mod_cgi, mod_cgid, mod_ext_filter: Log errors when scripts cannot 1276 be started on Unix because of such problems as bad permissions, 1277 bad shebang line, etc. [Jeff Trawick] 1278 1279 *) Fix 64-bit problem in mod_ssl input logic. 1280 [Madhusudan Mathihalli <madhusudan_mathihalli hp.com>] 1281 1282 *) Fix potential memory leaks in mod_deflate on malformed data. PR 16046. 1283 [Justin Erenkrantz] 1284 1285 *) Rewrite ap_xml_parse_input to use bucket brigades. PR 16134. 1286 [Justin Erenkrantz] 1287 1288 *) Fix segfault which occurred when a section in an included 1289 configuration file was not closed. PR 17093. [André Malo] 1290 1291 *) Enhance the behavior of mod_isapi's WriteClient() callback to 1292 provide better emulation for isapi modules that presume that the 1293 first WriteClient() call may send status and headers. An example 1294 of WriteClient() abuse is the foxisapi module, which relies on 1295 that assumpion and now works. [William Rowe, Milan Kosina] 1296 1297 *) Check the return value of ap_run_pre_connection(). So if the 1298 pre_connection phase fails (without setting c->aborted) 1299 ap_run_process_connection is not executed. [Stas Bekman] 1300 1301 *) Fixed a problem with mod_ldap which caused it to fault when caching 1302 was disabled. Needed to make sure that the code did not 1303 attempt to use the cache if it didn't exist. Also fixed some memory 1304 leaks which were due to not releasing LDAP resources on error 1305 conditions. [Brad Nicholes] 1306 1307 *) Hook mod_proxy's fixup before mod_rewrite's fixup, so that by 1308 mod_rewrite proxied URLs will not be escaped accidentally by 1309 mod_proxy's fixup. PR 16368 [André Malo] 1310 1311 *) While processing filters on internal redirects, remember seen EOS 1312 buckets also in the request structure of the redirect issuer(s). This 1313 prevents filters (such as mod_deflate) from adding garbage to the 1314 response. PR 14451. [André Malo] 1315 1316 *) suexec: Be more pedantic when cleaning environment. Clean it 1317 immediately after startup. PR 2790, 10449. 1318 [Jeff Stewart <jws purdue.edu>, André Malo] 1319 1320 *) Fix apxs to insert LoadModule directives only outside of sections. 1321 PR 8712, 9012. [André Malo] 1322 1323 *) Fix suexec compile error under SUNOS4, where strerror() doesn't 1324 exist. PR 5913, 9977. 1325 [Jonathan W Miner <Jonathan.W.Miner lmco.com>] 1326 1327 *) Fix If header parsing when a non-mod_dav lock token is passed to it. 1328 PR 16452. [Justin Erenkrantz] 1329 1330 *) mod_auth_digest no longer tries to guess AuthDigestDomain, if it's 1331 not specified. Now it assumes "/" as already documented. PR 16937. 1332 [André Malo] 1333 1334 *) Try to log an error if a piped log program fails. Try to 1335 restart a piped log program in more failure situations. Fix an 1336 existing problem with error handling in piped_log_spawn(). Use 1337 new APR apr_proc_create() features to prevent Apache from starting 1338 on Unix* in most cases where a piped log program can be started, 1339 and add log messages for the other situations. *Other platforms 1340 already failed Apache initialization if a piped log program 1341 couldn't be started. PR 15761 [Jeff Trawick] 1342 1343 *) Fix mod_cern_meta to not create empty metafiles when the 1344 metafile searched for does not exist. PR 12353 1345 [Owen Rees <owen_rees hp.com>] 1346 1347 *) Introduce debugging symbols for Win32 release builds, both .pdb 1348 and .dbg files (older debuggers and Dr. Watson-type utilities 1349 on WinNT or Win9x don't support the newer .pdb flavor.) 1350 [Allen Edwards, William Rowe] 1351 1352 *) Fix bug where 'Satisfy Any' without an AuthType lost all MIME 1353 information (and more). Related to PR 9076. [André Malo] 1354 1355 *) mod_file_cache: fix segfault serving mmaped cached files. 1356 [Bill Stoddard] 1357 1358 *) mod_file_cache: fixed a segfault when multiple MMapFile directives 1359 were used. PR 16313. [Cliff Woolley] 1360 1361 *) Fix a nasty segfault in mmap_bucket_setaside() caused by passing 1362 an incompatible pointer type to mmap_bucket_destroy(void*). 1363 [Gerard Eviston <geviston bigpond.net.au>] 1364 1365 *) Enable the -n name parameter on NetWare to allow the 1366 administrator to rename the Apache console screen 1367 [Brad Nicholes] 1368 1369 *) Fixed piped access logs on Win32 by disabling OTHER_CHILD 1370 support by default in APR. More development is required 1371 to deploy OTHER_CHILD on Win32. [William Rowe] 1372 1373 *) Use saner default config values for suexec. PR 15713. 1374 [Thom May <thom planetarytramp.net>] 1375 1376 *) mod_rewrite: Allow "RewriteEngine Off" even if no "Options FollowSymlinks" 1377 (or SymlinksIfOwnermatch) is set. PR 12395. [André Malo] 1378 1379 *) apxs: Include any special APR ld flags when linking the DSO. 1380 This resolves problems on AIX when building a DSO with apxs+gcc. 1381 [Jeff Trawick] 1382 1383 *) Added character set support to mod_auth_LDAP to allow it to 1384 convert extended characters used in the user ID to UTF-8 1385 before authenticating against the LDAP directory. The new 1386 directive AuthLDAPCharsetConfig is used to specify the config 1387 file that contains the character set conversion table. 1388 [Brad Nicholes] 1389 1390 *) Don't remove the Content-Length from responses in mod_proxy 1391 PR: 8677 [Brian Pane] 1392 1393 *) Ensure LDAP version is set to v3 on every bind. PR 14235. 1394 [Sergey A. Lipnevich <sergeyli pisem.net>] 1395 1396 *) Fix mod_ldap to open an existing shared memory file should one 1397 already exist. PR 12757. [Scooter Morris <scooter gene.com>, 1398 Graham Leggett] 1399 1400 *) Fix the ulimit command used by apachectl on Tru64. PR 13609. 1401 [Joseph Senulis <Joseph.Senulis dnr.state.wi.us>, Jeff Trawick] 1402 1403 *) Change the ulimit command used by apachectl on AIX so that it 1404 works in all locales. [Jeff Trawick] 1405 1406 *) mod_ext_filter: Fix a problem building argument lists which 1407 occasionally caused exec to fail. PR 15491. [Jeff Trawick] 1408 1409 Changes with Apache 2.0.44 1410 1411 *) mod_autoindex: Bring forward the IndexOptions IgnoreCase option 1412 from Apache 1.3. PR 14276 1413 [David Shane Holden <dpejesh yahoo.com>, William Rowe] 1414 1415 *) mod_mime: Workaround to prevent a segfault if r->filename=NULL 1416 [Brian Pane] 1417 1418 *) Reorder the definitions for mod_ldap and mod_auth_ldap within 1419 config.m4 to make sure the parent mod_ldap is defined first. 1420 This ensures that mod_ldap comes before mod_auth_ldap in the 1421 httpd.conf file, which is necessary for mod_auth_ldap to load. 1422 PR 14256 [Graham Leggett] 1423 1424 *) Fix the building of cgi command lines when the query string 1425 contains '='. PR 13914 [Ville Skyttä <ville.skytta iki.fi>, 1426 Jeff Trawick] 1427 1428 *) Rename CacheMaxStreamingBuffer to MCacheMaxStreamingBuffer. Move 1429 implementation of MCacheMaxStreamingBuffer from mod_cache to 1430 mod_mem_cache. MCacheMaxStreamingBuffer now defaults to the 1431 lesser of 100,000 bytes or MCacheMaxCacheObjectSize. This should 1432 eliminate the need for explicitly coding MCacheMaxStreamingBuffer 1433 in most configurations. [Bill Stoddard] 1434 1435 *) mod_cache: Fix PR 15113, a core dump in cache_in_filter when 1436 a redirect occurs. The code was passing a format string and 1437 integer to apr_pstrcat. Changed to apr_psprintf. 1438 [Paul J. Reder] 1439 1440 *) Replace APU_HAS_LDAPSSL_CLIENT_INIT with APU_HAS_LDAP_NETSCAPE_SSL 1441 as set by apr-util in util_ldap.c. This should allow mod_ldap 1442 to work with the Netscape/Mozilla LDAP library. [Øyvin Sømme 1443 <somme oslo.westerngeco.slb.com>, Graham Leggett] 1444 1445 *) Fix critical bug in new --enable-v4-mapped configure option 1446 implementation which broke IPv4 listening sockets on some 1447 systems. [hiroyuki hanai <hanai imgsrc.co.jp>] 1448 1449 *) mod_setenvif: Fix BrowserMatchNoCase support for non-regex 1450 patterns [André Malo <nd perlig.de>] 1451 1452 *) Add version string to provider API. [Justin Erenkrantz] 1453 1454 *) build: './configure && make' now works without an in-tree 1455 apr and apr-util. [Wilfredo Sanchez] 1456 1457 *) mod_negotiation: Set the appropriate mime response headers 1458 (Content-Type, charset, Content-Language and Content-Encoding) 1459 for negotated type-map "Body:" responses (such as the error 1460 pages.) [André Malo <nd perlig.de>] 1461 1462 *) mod_log_config: Allow '%%' escaping in CustomLog format 1463 strings to insert a literal, single '%'. 1464 [André Malo <nd perlig.de>] 1465 1466 *) mod_autoindex: AddDescription directives for directories 1467 now work as in Apache 1.3, where no trailing '/' is 1468 specified on the directory name. Previously, the trailing 1469 '/' *had* to be specified, which was incompatible with 1470 Apache 1.3. PR 7990 [Jeff Trawick] 1471 1472 *) Fix for PR 14556. The expiry calculations in mod_cache were 1473 trying to perform "now + ((date - lastmod) * factor)" where 1474 date == lastmod resulting in "now + 0". The code now follows 1475 the else path (using the default expiration) if date is 1476 equal to lastmod. [Sergey <rx armstrike.com>, Paul J. Reder] 1477 1478 *) Use AP_DECLARE in the debug versions of ap_strXXX in case the 1479 default calling convention is not the same as the one used by 1480 AP_DECLARE. [Juan Rivera <Juan.Rivera citrix.com>] 1481 1482 *) mod_cache: Don't cache response header fields designated 1483 as hop-by-hop headers in HTTP/1.1 (RFC 2616 Section 13.5.1). 1484 [Estrade Matthieu <estrade-m ifrance.com>, Brian Pane] 1485 1486 *) mod_cgid: Handle environment variables containing newlines. 1487 PR 14550 [Piotr Czejkowski <apache czarny.eu.org>, Jeff 1488 Trawick] 1489 1490 *) Move mod_ext_filter out of experimental and into filters. 1491 [Jeff Trawick] 1492 1493 *) Fixed a memory leak in mod_deflate with dynamic content. 1494 PR 14321 [Ken Franken <kfranken decisionmark.com>] 1495 1496 *) Add --[enable|disable]-v4-mapped configure option to control 1497 whether or not Apache expects to handle IPv4 connections 1498 on IPv6 listening sockets. Either setting will work on 1499 systems with the IPV6_V6ONLY socket option. --enable-v4-mapped 1500 must be used on systems that always allow IPv4 connections on 1501 IPv6 listening sockets. PR 14037 (Bugzilla), PR 7492 (Gnats) 1502 [Jeff Trawick] 1503 1504 *) This fixes a problem where the underlying cache code 1505 indicated that there was one more element on the cache 1506 than there actually was. This happened since element 0 1507 exists but is not used. This code allocates the correct 1508 number of useable elements and reports the number of 1509 actually used elements. The previous code only allowed 1510 MCacheMaxObjectCount-1 objects to be stored in the 1511 cache. [Paul J. Reder] 1512 1513 *) mod_setenvif: Add SERVER_ADDR special keyword to allow 1514 envariable setting according to the server IP address 1515 which received the request. [Ken Coar] 1516 1517 *) mod_cgid: Terminate CGI scripts when the client connection 1518 drops. PR 8388 [Jeff Trawick] 1519 1520 *) Rearrange OpenSSL engine initialization to support RAND 1521 redirection on crypto accelerator. 1522 [Frederic DONNAT <frederic.donnat zencod.com>] 1523 1524 *) Always emit Vary header if mod_deflate is involved in the 1525 request. [Andre Malo <nd perlig.de>] 1526 1527 *) mod_isapi: Stop unsetting the 'empty' query string result with 1528 a NULL argument in ecb->lpszQueryString, eliminating segfaults 1529 for some ISAPI modules. PR 14399 1530 [Detlev Vendt <detlev.vendt brillit.de>] 1531 1532 *) mod_isapi: Fix an issue where the HSE_REQ_DONE_WITH_SESSION 1533 notification is received before the HttpExtensionProc() returns 1534 HSE_STATUS_PENDING. This only affected isapi .dll's configured 1535 with the ISAPIFakeAsync on directive. PR 11918 1536 [John DeSetto <jdesetto radiantsystems.com>, William Rowe] 1537 1538 *) mod_isapi: Fix the issue where all results from mod_isapi would 1539 run through the core die handler resulting in invalid responses 1540 or access log entries. PR 10216 [William Rowe] 1541 1542 *) Improves the user friendliness of the CacheRoot processing 1543 over my last pass. This version avoids the pool allocations 1544 but doesn't avoid all of the runtime checks. It no longer 1545 terminates during post-config processing. An error is logged 1546 once per worker, indicating that the CacheRoot needs to be set. 1547 [Paul J. Reder] 1548 1549 *) Fix a bug where we keep files open until the end of a 1550 keepalive connection, which can result in: 1551 (24)Too many open files: file permissions deny server access 1552 especially on threaded servers. [Greg Ames, Jeff Trawick] 1553 1554 *) Fix a bug in which mod_proxy sent an invalid Content-Length 1555 when a proxied URL was invoked as a server-side include within 1556 a page generated in response to a form POST. [Brian Pane] 1557 1558 *) Added code to process min and max file size directives and to 1559 init the expirychk flag in mod_disk_cache. Added a clarifying 1560 comment to cache_util. [Paul J. Reder] 1561 1562 *) The value emitted by ServerSignature now mimics the Server HTTP 1563 header as controlled by ServerTokens. [Francis Daly <deva daoine.org>] 1564 1565 *) Gracefully handly retry situations in the SSL input filter, 1566 by following the SSL libraries' retry semantics. 1567 [William Rowe] 1568 1569 *) Terminate CGI scripts when the client connection drops. This 1570 fix only applies to some normal paths in mod_cgi. mod_cgid 1571 is still busted. PR 8388 [Jeff Trawick] 1572 1573 *) Fix a bug where 416 "Range not satisfiable" was being 1574 returned for content that should have been redirected. 1575 [Greg Ames] 1576 1577 *) Fix memory leak in mod_ssl from internal SSL library allocations 1578 within SSL_get_peer_certificate and X509_get_pubkey. 1579 [Zvi Har'El <rl math.technion.ac.il> 1580 Madhusudan Mathihalli <madhusudan_mathihalli hp.com>]. 1581 1582 *) mod_ssl uses free() inappropriately in several places, to free 1583 memory which has been previously allocated inside OpenSSL. 1584 Such memory should be freed with OPENSSL_free(), not with free(). 1585 [Nadav Har'El <nyh math.technion.ac.il>, 1586 Madhusudan Mathihalli <madhusudan_mathihalli hp.com>]. 1587 1588 *) Emit a message to the error log when we return 404 because 1589 the URI contained '%2f'. (This was previously nastily silent 1590 and difficult to debug.) [Ken Coar] 1591 1592 *) Fix streaming output from an nph- CGI script. CGI:IRC now 1593 works. PR 8482 [Jeff Trawick] 1594 1595 *) More accurate logging of bytes sent in mod_logio when 1596 the client terminates the connection before the response 1597 is completely sent [Bojan Smojver <bojan rexursive.com>] 1598 1599 *) Fix some problems in the perchild MPM. 1600 [Jonas Eriksson <jonas webkonsulterna.com>] 1601 1602 *) Change the CacheRoot processing to check for a required 1603 value at config time. This saves a lot of wasted processing 1604 if the mod_disk_cache module is loaded but no CacheRoot 1605 was provided. This fix also adds code to log an error 1606 and avoid useless pallocs and procesing when the computed 1607 cache file name cannot be opened. This also updates the 1608 docs accordingly. [Paul J. Reder] 1609 1610 *) Introduce the EnableSendfile directive, allowing users of NFS 1611 shares to disable sendfile mechanics when they either fail 1612 outright or provide intermitantly corrupted data. PR 1613 [William Rowe] 1614 1615 *) Resolve the error "An operation was attempted on something 1616 that is not a socket. : winnt_accept: AcceptEx failed. 1617 Attempting to recover." for users of various firewall and 1618 anti-virus software on Windows. PR 8325 [William Rowe] 1619 1620 *) Add the ProxyBadHeader directive, which gives the admin some 1621 control on how mod_proxy should handle bogus HTTP headers from 1622 proxied servers. This allows 2.0 to "emulate" 1.3's behavior if 1623 desired. [Jim Jagielski] 1624 1625 *) Change the LDAP modules to export their symbols correctly 1626 during a Windows build. Add dsp files for Windows. Update 1627 README.ldap file for Windows build instructions. 1628 [Andre Schild <A.Schild aarboard.ch>] 1629 1630 *) Performance improvements for the code that generates HTTP 1631 response headers [Brian Pane] 1632 1633 *) Add -S as a synonym for -t -DDUMP_VHOSTS. 1634 [Thom May <thom planetarytramp.net>] 1635 1636 *) Fix a bug with dbm rewrite maps which caused the wrong value to 1637 be used when the key was not found in the dbm. PR 13204 1638 [Jeff Trawick] 1639 1640 *) Fix a problem with streaming script output and mod_cgid. 1641 [Jeff Trawick] 1642 1643 *) Add ap_register_provider/ap_lookup_provider API. 1644 [John K. Sterling <john sterls.com>, Justin Erenkrantz] 1645 1646 Changes with Apache 2.0.43 1647 1648 *) SECURITY: CVE-2002-0840 (cve.mitre.org) 1649 HTML-escape the address produced by ap_server_signature() against 1650 this cross-site scripting vulnerability exposed by the directive 1651 'UseCanonicalName Off'. Also HTML-escape the SERVER_NAME 1652 environment variable for CGI and SSI requests. It's safe to 1653 escape as only the '<', '>', and '&' characters are affected, 1654 which won't appear in a valid hostname. Reported by Matthew 1655 Murphy <mattmurphy kc.rr.com>. [Brian Pane] 1656 1657 *) Fix a core dump in mod_cache when it attemtped to store uncopyable 1658 buckets. This happened, for instance, when a file to be cached 1659 contained SSI tags to execute a CGI script (passed as a pipe 1660 bucket). [Paul J. Reder] 1661 1662 *) Ensure that output already available is flushed to the network 1663 when the content-length filter realizes that no new output will 1664 be available for a while. This helps some streaming CGIs as 1665 well as some other dynamically-generated content. [Jeff Trawick] 1666 1667 *) Fix a mutex problem in mod_ssl session cache support which 1668 could lead to an infinite loop. PR 12705 1669 [Amund Elstad <amund.elstad ergo.no>, Jeff Trawick] 1670 1671 *) SECURITY: CVE-2002-1156 (cve.mitre.org) 1672 Fix the exposure of CGI source when a POST request is sent to 1673 a location where both DAV and CGI are enabled. [Ryan Bloom] 1674 1675 *) Allow the UserDir directive to accept a list of directories. 1676 This matches what Apache 1.3 does. Also add documentation for 1677 this feature. [Jay Ball <jay veggiespam.com>] 1678 1679 *) New Module: mod_logio. adds the ability to log bytes sent and 1680 received. [Bojan Smojver <bojan rexursive.com>] 1681 1682 *) SuExec needs to use the same default directory as the rest of 1683 server, namely /usr/local/apache2. 1684 [SangBeom han <sbhan os.korea.ac.kr>] 1685 1686 *) Get mod_auth_ldap to retry connections on LDAP_SERVER_DOWN. 1687 [Thomas Bennett <thomas.bennett eds.com>, Graham Leggett] 1688 1689 *) Make sure the contents of the WWW-Authenticate header is 1690 passed on a 4xx error by proxy. Previously all headers 1691 were dropped, resulting in the browser being unable to 1692 authenticate. [Dr Richard Reiner <rreiner fscinternet.com>, 1693 Richard Danielli <rdanielli fscinternet.com>, Graham Wiseman 1694 <gwiseman fscinternet.com>, David Henderson 1695 <dhenderson fscinternet.com>] 1696 1697 *) Make mod_cache's CacheMaxStreamingBuffer directive work 1698 properly for virtual hosts that override server-wide mod_cache 1699 setttings. [Matthieu Estrade <estrade-m ifrance.com>] 1700 1701 *) Add -p option to apxs to allow programs to be compiled with apxs. 1702 [Justin Erenkrantz] 1703 1704 Changes with Apache 2.0.42 1705 1706 *) SECURITY: CAN-2002-1593 (cve.mitre.org) [CERT VU#406121] 1707 mod_dav: Check for versioning hooks before using them. 1708 [Greg Stein] 1709 1710 Changes with Apache 2.0.41 1711 1712 *) The protocol version (eg: HTTP/1.1) in the request line parsing 1713 is now case insensitive. [Jim Jagielski] 1714 1715 *) Allow AddOutputFilterByType to add multiple filters per directive. 1716 [Justin Erenkrantz] 1717 1718 *) Remove warnings with Sun's Forte compiler. [Justin Erenkrantz] 1719 1720 *) Fixed mod_disk_cache's generation of 304s 1721 [Kris Verbeeck <Kris.Verbeeck ubizen.com>] 1722 1723 *) Add support for using fnmatch patterns in the final path 1724 segment of an Include statement (eg.. include /foo/bar/*.conf). 1725 and remove the noise on stderr during config dir processing. 1726 [Joe Orton <jorton redhat.com>] 1727 1728 *) mod_cache: cache_storage.c. Add the hostname and any request 1729 args to the key generated for caching. This provides a unique 1730 key for each virtual host and for each request with unique 1731 args. [Paul J. Reder, args code provided by Kris Verbeeck] 1732 1733 *) mod_cache: Do not cache responses to GET requests with query 1734 URLs if the origin server does not explicitly provide an 1735 Expires header on the response (RFC 2616 Section 13.9) 1736 [Kris Verbeeck <krisv be.ubizen.com>] 1737 1738 *) Fix memory leak in core_output_filter. [Justin Erenkrantz] 1739 1740 *) Update OpenSSL detection to work on Darwin. 1741 [Sander Temme <sctemme covalent.net>] 1742 1743 *) Update the xslt and css to give the documentation a more 1744 modern style. 1745 [André Malo <nd perlig.de>, Gernot Winkler <greh o3media.de>] 1746 1747 *) Fix some bucket memory leaks in the chunking code 1748 [Joe Schaefer <joe+apache sunstarsys.com>] 1749 1750 *) Add ModMimeUsePathInfo directive. [Justin Erenkrantz] 1751 1752 *) mod_cache: added support for caching streamed responses (proxy, 1753 CGI, etc) with optional CacheMaxStreamingBuffer setting [Brian Pane] 1754 1755 *) Add image/x-icon to httpd.conf PR 10993. 1756 [Ian Holsman, Peter Bieringer <pb bieringer.de>] 1757 1758 *) Fix FileETags none operation. PR 12207. 1759 [Justin Erenkrantz, Andrew Ho <andrew tellme.com>] 1760 1761 *) Restored the experimental leader/followers MPM to working 1762 condition and converted its thread synchronization from 1763 mutexes to atomic CAS. [Brian Pane] 1764 1765 *) Fix Logic on non-html file removal in mod_deflate 1766 [Kris Verbeeck <Kris.Verbeeck ubizen.com>] 1767 1768 *) Fix "ab -g"'s truncated year: the last digit was cut off. 1769 [Leon Brocard <acme astray.com>] 1770 1771 *) mod_rewrite can now sets cookies in err_headers, uses the correct 1772 expiry date, and can now set the path as well 1773 PR 12132,12181,12172. 1774 [Ian Holsman / Rob Cromwell <apachechangelog robcromwell.com>] 1775 1776 *) The content-length filter no longer tries to buffer up 1777 the entire output of a long-running request before sending 1778 anything to the client. [Brian Pane] 1779 1780 *) Win32: Lower the default stack size from 1MB to 256K. This will 1781 allow around 8000 threads to be started per child process. 1782 'EDITBIN /STACK:size apache.exe' can be used to change this 1783 value directly in the apache.exe executable. 1784 [Bill Stoddard] 1785 1786 *) Win32: Implement ThreadLimit directive in the Windows MPM. 1787 [Bill Stoddard] 1788 1789 *) Remove CacheOn config directive since it is set but never checked. 1790 No sense wasting cycles on unused code. Besides, the only truly 1791 bug free code is deleted code. :) [Paul J. Reder] 1792 1793 *) BufferLogs are now run-time enabled, and the log_config now has 2 new 1794 callbacks to allow a 3rd party module to actually do the writing of the 1795 log file [Ian Holsman] 1796 1797 *) Correct ISAPIReadAheadBuffer to default to 49152, per mod_isapi docs. 1798 [André Malo, Astrid Keßler <kess kess-net.de>] 1799 1800 *) Fix Segfault in mod_cache. [Kris Verbeeck <Kris.Verbeeck ubizen.com>] 1801 1802 *) Fix a null pointer dereference in the merge_env_dir_configs 1803 function of the mod_env module. PR 11791 1804 [Paul J. Reder] 1805 1806 *) New option to ServerTokens 'maj[or]'. Only show the major version 1807 Also Surfaced this directive in the standard config (default FULL) 1808 [Ian Holsman] 1809 1810 *) Change mod_rewrite to use apr-util's dbm support for dbm rewrite 1811 maps. The dbm type (e.g., ndbm, gdbm) can be specified on the 1812 RewriteMap directive. PR 10644 [Jeff Trawick] 1813 1814 *) Fixed mod_rewrite's RewriteMap prg: support so that request/response 1815 pairs will no longer get out of sync with each other. PR 9534 1816 [Cliff Woolley] 1817 1818 *) Fixes required to get quoted and escaped command args working in 1819 mod_ext_filter. PR 11793 [Paul J. Reder] 1820 1821 *) mod-proxy: handle proxied responses with no status lines 1822 [JD Silvester <jsilves uwo.ca>, Brett Huttley <brett huttley.net>] 1823 1824 *) Fix bug where environment or command line arguments containing 1825 non-ASCII-7 characters would cause the Win32 child process creation 1826 to fail. PR 11854 [William Rowe] 1827 1828 *) Bug #11213.. make module loading error messages more informative 1829 [Ian Darwin <Ian779 darwinsys.com>] 1830 1831 *) thread safety & proxy-ftp [Alexey Panchenko <alexey liwest.ru>, Ian Holsman] 1832 1833 *) mod_disk_cache works much better. This module should still 1834 be considered experimental. [Eric Prud'hommeaux] 1835 1836 *) Performance improvement for keepalive requests: when setting 1837 aside a small file for potential concatenation with the next 1838 response on the connection, set aside the file descriptor rather 1839 than copying the file into the heap. [Brian Pane] 1840 1841 *) Modified version check on openssl so that it finds the executable 1842 first and then performs a check of the version, only warning the 1843 user if they chose, or we selected, an old version of OpenSSL. 1844 This change also allows the code to work for non-openssl libraries 1845 selected via the --with-ssl=dir option, which can override the 1846 automated library check in any case. [Roy Fielding] 1847 1848 Changes with Apache 2.0.40 1849 1850 *) SECURITY: CAN-2002-0661 (cve.mitre.org) 1851 Close a very significant security hole that 1852 applies only to the Win32, OS2 and Netware platforms. Unix was not 1853 affected, Cygwin may be affected. Certain URIs will bypass security 1854 and allow users to invoke or access any file depending on the system 1855 configuration. Without upgrading, a single .conf change will close 1856 the vulnerability. Add the following directive in the global server 1857 httpd.conf context before any other Alias or Redirect directives; 1858 RedirectMatch 400 "\\\.\." 1859 Reported by Auriemma Luigi <bugtest sitoverde.com>. 1860 [Brad Nicholes] 1861 1862 *) SECURITY: CAN-2002-0654 (cve.mitre.org) 1863 Close a path-revealing exposure in multiview type 1864 map negotiation (such as the default error documents) where the 1865 module would report the full path of the typemapped .var file when 1866 multiple documents or no documents could be served based on the mime 1867 negotiation. Reported by Auriemma Luigi <bugtest sitoverde.com>. 1868 [William Rowe] 1869 1870 *) SECURITY: CAN-2002-0654 (cve.mitre.org) 1871 Close a path-revealing exposure in cgi/cgid when we 1872 fail to invoke a script. The modules would report "couldn't create 1873 child process /path-to-script/script.pl" revealing the full path 1874 of the script. Reported by Jim Race <jrace qualys.com>. 1875 [Bill Stoddard] 1876 1877 *) Set aside the apr-iconv and apr_xlate() features for the Win32 1878 build of 2.0.40 so development can be completed. A patch, from 1879 <http://www.apache.org/dist/httpd/patches/apply_to_2.0.40/> 1880 will be available for those that wish to work with apr-iconv. 1881 [William Rowe] 1882 1883 *) Fix proxy so that it is possible to access ftp: URLs via a proxy 1884 chain. [Peter Van Biesen <peter.vanbiesen vlafo.be>] 1885 1886 *) mod-deflate now checks to make sure that 'gzip-only-text/html' is 1887 set to 1, so we can exclude things from the general case with 1888 browsermatch. [Ian Holsman, Andre Schild <A.Schild aarboard.ch>] 1889 1890 *) Accept multiple leading /'s for requests within the DocumentRoot. 1891 PR 10946 [William Rowe, David Shane Holden <dpejesh yahoo.com>] 1892 1893 *) Solved the reports of .pdf byterange failures on Win32 alone. 1894 APR's sendfile for the win32 platform collapses header and trailer 1895 buffers into a single buffer. However, we destroyed the pointers 1896 to the header buffer if a trailer buffer was present. PR 10781 1897 [William Rowe] 1898 1899 *) mod_ext_filter: Add the ability to enable or disable a filter via 1900 an environment variable. Add the ability to register a filter of 1901 type other than AP_FTYPE_RESOURCE. [Jeff Trawick] 1902 1903 *) Restore the ability to specify host names on Listen directives. 1904 PR 11030. [Jeff Trawick, David Shane Holden <dpejesh yahoo.com>] 1905 1906 *) When deciding on the default address family for listening sockets, 1907 make sure we can actually bind to an AF_INET6 socket before 1908 deciding that we should default to AF_INET6. This fixes a startup 1909 problem on certain levels of OpenUNIX. PR 10235. [Jeff Trawick] 1910 1911 *) Replace usage of atol() to parse strings when we might want a 1912 larger-than-long value with apr_atoll(), which returns long long. 1913 This allows HTTPD to deal with larger files correctly. 1914 [Shantonu Sen <ssen apple.com>] 1915 1916 *) mod_ext_filter: Ignore any content-type parameters when checking if 1917 the response should be filtered. Previously, "intype=text/html" 1918 wouldn't match something like "text/html;charset=8859_1". 1919 [Jeff Trawick] 1920 1921 *) mod_ext_filter: Set up environment variables for external programs. 1922 [Craig Sebenik <craig netapp.com>] 1923 1924 *) Modified the HTTP_IN filter to immediately append the EOS (end of 1925 stream) bucket for C-L POST bodies, saving a roundtrip and allowing 1926 the caller to determine that no content remains without prefetching 1927 additional POST body. [William Rowe] 1928 1929 *) Get proxy ftp to work over IPv6. [Shoichi Sakane <sakane kame.net>] 1930 1931 *) Look for OpenSSL libraries in /usr/lib64. [Peter Poeml <poeml suse.de>] 1932 1933 *) Update SuSE layout. [Peter Poeml <poeml suse.de>] 1934 1935 *) Changes to the internationalized error documents: 1936 Comment them out in the default config file to make the default 1937 install as simple as possible; Correct the english 500 error to 1938 be more understandable; Add a Swedish translation. 1939 [Thomas Sjogren <thomas northernsecurity.net>, 1940 Erik Abele <erik codefaktor.de>, Rich Bowen, Joshua Slive] 1941 1942 *) Increase the limit on file descriptors per process in apachectl. 1943 [Brian Pane] 1944 1945 *) Fix a dependency error when building ApacheMonitor, so that Win32 1946 and MSVC now trust that the project is current (when it is). 1947 [James Cox <imajes php.net>] 1948 1949 *) mod_ext_filter: don't segfault if content-type is not set. PR 10617. 1950 [Arthur P. Smith <apsmith aps.org>, Jeff Trawick] 1951 1952 *) APR-Util Renames pending have been completed [Thom May] 1953 1954 *) Performance improvements for the code that reads request 1955 headers (ap_rgetline_core() and related functions) [Brian Pane] 1956 1957 *) Add a new directive: MaxMemFree. MaxMemFree makes it possible 1958 to configure the maximum amount of memory the allocators will 1959 hold on to for reuse. Anything over the MaxMemFree threshold 1960 will be free()d. This directive is useful when uncommon large 1961 peaks occur in memory usage. It should _not_ be used to mask 1962 defective modules' memory use. [Sander Striker] 1963 1964 *) Fixed the Content-Length filter so that HTTP/1.0 requests to CGI 1965 scripts would not result in a truncated response. 1966 [Ryan Bloom, Justin Erenkrantz, Cliff Woolley] 1967 1968 *) Add a filter_init parameter to the filter registration functions 1969 so that a filter can execute arbitrary code before the handlers 1970 are invoked. This resolves a problem where mod_include requests 1971 would incorrectly return a 304. [Justin Erenkrantz] 1972 1973 *) Fix a long-standing bug in 2.0, CGI scripts were being called 1974 with relative paths instead of absolute paths. Apache 1.3 used 1975 absolute paths for everything except for SuExec, this brings back 1976 that standard. [Ryan Bloom] 1977 1978 *) Fix infinite loop due to two HTTP_IN filters being present for 1979 internally redirected requests. PR 10146. [Justin Erenkrantz] 1980 1981 *) Switch conn_rec->keepalive to an enumeration rather than a bitfield. 1982 [Justin Erenkrantz] 1983 1984 *) Fix mod_ext_filter to look in the main server for filter definitions 1985 when running in a vhost if the filter definition is not found in 1986 the vhost. PR 10147 [Jeff Trawick] 1987 1988 *) Support WinNT CGI invocation through ScriptInterpreterSource 1989 'registry' for script interpreter paths and names with non-ascii 1990 characters in the executable filepath. [William Rowe] 1991 1992 *) Support the -w flag on to keep the Win32 console open on error. 1993 [William Rowe] 1994 1995 *) Normalize the hostname value in the request_rec to all-lowercase 1996 [Perry Harrington <pedward webcom.com>] 1997 1998 *) Fix WinNT cgi 500 errors when QUERY_ARGS or other strings include 1999 extended characters (non US-ASCII) in non-utf8 format. This brings 2000 Win32 back into CGI/1.1 compliance, and leaves charset decoding up 2001 to the cgi application itself. [William Rowe] 2002 2003 *) Major overhaul of mod_dav, mod_dav_fs and the experimental/cache 2004 modules to bring them up to the current apr/apr-util APIs. 2005 [William Rowe] 2006 2007 *) Fix segfault in mod_mem_cache most frequently observed when 2008 serving the same file to multiple clients on an MP machine. 2009 [Bill Stoddard] 2010 2011 *) mod_rewrite can now set cookies (RewriteRule (.*) - [CO=name:$1:.domain]) 2012 [Brian Degenhardt <bmd mp3.com>, Ian Holsman] 2013 2014 *) Fix perchild to work with apachectl by adding -k support to perchild. 2015 PR 10074 [Jeff Trawick] 2016 2017 *) Fix a silly htpasswd.c logic error that incorrectly reported that 2018 both -c and -n had been used. PR 9989 [Cliff Woolley] 2019 2020 *) Fixed a mod_include error case in which no HTTP response was sent 2021 to the client if an shtml document contained an unterminated SSI 2022 directive [Brian Pane] 2023 2024 *) Improve ap_get_client_block implementation by using APR-util brigade 2025 helper functions and relying on current filter assumptions. 2026 [Justin Erenkrantz] 2027 2028 Changes with Apache 2.0.39 2029 2030 *) Fixed a build problem in htpasswd.c on Win32. 2031 [Guenter Knauf <eflash gmx.net>, Cliff Woolley] 2032 2033 Changes with Apache 2.0.38 2034 2035 *) Rewrite htpasswd to use APR. The removes the annoying warning about 2036 tmpnam being unsafe. [Ryan Bloom] 2037 2038 *) We must set the MIME-type for .shtml files to text/html if we want them 2039 to be parsed for SSI tags. Add the config for that to the default 2040 config file so that it is easier to enable .shtml parsing. 2041 [Dave Dyer <ddyer real-me.net>] 2042 2043 *) Fixed a problem with 'make install' on ReliantUnix. 2044 [Jean-frederic Clere <jfrederic.clere fujitsu-siemens.com>] 2045 2046 *) Make the default_handler catch all requests that aren't served by 2047 another handler. This also gets us to return a 404 if a directory 2048 is requested, there is no DirectoryIndex, and mod_autoindex isn't 2049 loaded. [Justin Erenkrantz] 2050 2051 *) Fixed the handling of nested if-statements in shtml files. 2052 PR 9866 [Brian Pane] 2053 2054 *) Allow 'make install DESTDIR=/path'. This allows packagers to install 2055 into a directory different from the one that was configured. This 2056 also mirrors the root= feature from 1.3. We cannot use prefix=, 2057 because both APR and APR-util resolve their installation paths at 2058 configuration time. This means that there is no variable prefix 2059 to replace. [Andreas Hasenack <andreas netbank.com.br>] 2060 2061 *) AIX 4.3.2 and above: Define SINGLE_LISTEN_UNSERIALIZED_ACCEPT. 2062 These levels of AIX don't have a thundering herd problem with 2063 accept(). [Jeff Trawick] 2064 2065 *) prefork MPM: Ignore mutex errors during graceful restart. For 2066 certain types of mutexes (particularly SysV semaphores), we 2067 should expect to occasionally fail to obtain or release the 2068 mutex during restart processing. [Jeff Trawick] 2069 2070 *) Fix install-bindist.sh so that it finds any perl instead of just 2071 early perl 5.x versions. This is consistent with a build/install 2072 from source, and it allows the perl scripts installed by a bindist 2073 to work on systems with perl 5.6. [Jeff Trawick] 2074 2075 *) Fix apxs so that the makefile created by "apxs -g" works on AIX and 2076 Tru64 (and probably some other platforms). [Jeff Trawick] 2077 2078 *) Allow CGI scripts to return their Content-Length. This also fixes a 2079 hang on HEAD requests seen on certain platforms (such as FreeBSD). 2080 [Justin Erenkrantz] 2081 2082 *) Added log rotation based on file size to the RotateLog support 2083 utility. [Brad Nicholes] 2084 2085 *) Fix some casting in mod_rewrite which broke random maps. 2086 PR 9770 [Allan Edwards, Greg Ames, Jeff Trawick] 2087 2088 Changes with Apache 2.0.37 2089 2090 *) allow POST method over SSL when per-directory client cert 2091 authentication is used with 'SSLOptions +OptRenegotiate' enabled 2092 and a client cert was found in the ssl session cache. 2093 2094 *) 'SSLOptions +OptRengotiate' will use client cert in from the ssl 2095 session cache when there is no cert chain in the cache. prior to 2096 the fix this situation would result in a FORBIDDEN response and 2097 error message "Cannot find peer certificate chain" 2098 [Doug MacEachern] 2099 2100 *) ap_finalize_sub_req_protocol() shouldn't send an EOS bucket if 2101 one was already sent. PR 9644 [Jeff Trawick] 2102 2103 *) Fix the display of the default name for the mime types config 2104 file. PR 9729 [Matthew Brecknell <mbrecknell orchestream.com>] 2105 2106 *) Fix the working directory *for WinNT/2K/XP services only* to 2107 change to the Apache directory (one level above the location 2108 of Apache.exe, in the case that Apache.exe resides in bin/.) 2109 Solves the case of ServerRoot /foo paths where /foo was not 2110 on the same drive as /winnt/system32. [William Rowe] 2111 2112 *) Make 2.0's "AcceptMutex" startup message now "completely" 2113 match how 1.3 does it. [Jim Jagielski] 2114 2115 *) Implement a fixed size memory cache using a priority queue 2116 [Ian Holsman] 2117 2118 *) Fix apxs to allow "apxs -q installbuilddir" and to allow 2119 querying certain other variables from config_vars.mk. PR 9316 2120 [Jeff Trawick] 2121 2122 *) Added the "detached" attribute to the cgi_exec_info_t internals 2123 so that Win32 and Netware won't create a new window or console 2124 for each CGI invoked. PR 8387 2125 [Brad Nicholes, William Rowe] 2126 2127 *) Consolidated the command line parameters and attributes that are 2128 manipulated by the optional function ap_cgi_build_command() in 2129 mod_cgi into a single structure. 2130 [Brad Nicholes] 2131 2132 *) Get rid of uninitialized value errors with "apxs -q" on certain 2133 variables. [Stas Bekman <stas stason.org>] 2134 2135 *) Fix apxs to allow it to work when the build directory is somewhere 2136 besides server-root/build. PR 8453 2137 [Jeff Trawick and a host of others] 2138 2139 *) Allow ap_discard_request_body to be called multiple times in the 2140 same request. Essentially, ap_http_filter keeps track of whether 2141 it has sent an EOS bucket up the stack, if so, it will only ever 2142 send an EOS bucket for this request. 2143 [Ryan Bloom, Justin Erenkrantz, Greg Stein] 2144 2145 *) Remove all special mod_ssl URIs. This also fixes the bug where 2146 redirecting (.*) will allow an SSL protected page to be viewed 2147 without SSL. [Ryan Bloom] 2148 2149 *) Fix the binary build install script so that the build logic 2150 created by "apxs -g" will work when the user has a binary 2151 build. [Jeff Trawick] 2152 2153 *) Allow instdso.sh to work with full paths to the shared module. 2154 [Justin Erenkrantz] 2155 2156 *) NetWare: Enabled CGI functionality and added mod_cgi as a built 2157 in module for NetWare [Brad Nicholes] 2158 2159 *) Changed cgi and piped log behavior to accept 65536 characters 2160 on Win32 (matching Linux) before deadlocking between outputing 2161 client stdin, slurping the output from stdout and then the stderr 2162 stream. PR 8179 [William Rowe] 2163 2164 *) Fixed Win32 wintty.exe support to assure the window title is valid. 2165 Elimiates possible gpfault or garbage title without the -t option. 2166 [William Rowe] 2167 2168 *) Rewrite mod_cgi, mod_cgid, and mod_proxy input handling to use 2169 brigades and input filters. [Justin Erenkrantz] 2170 2171 *) Allow ap_http_filter (HTTP_IN) to return EOS when there is no request 2172 body. [Justin Erenkrantz] 2173 2174 *) NetWare: Piping log entries through RotateLogs using the 2175 CustomLogs directive is finally supported now that we have 2176 the pipes and spawning functionality working. 2177 [Brad Nicholes] 2178 2179 *) SECURITY: CVE-2002-0392 (cve.mitre.org) [CERT VU#944335] 2180 Detect overflow when reading the hex bytes forming a chunk line. 2181 [Aaron Bannert] 2182 2183 *) Allow RewriteMap prg:'s to take command-line arguments. PR 8464. 2184 [James Tait <JTait wyrddreams.demon.co.uk>] 2185 2186 *) Correctly return 413 when an invalid chunk size is given on 2187 input. Also modify ap_discard_request_body to not do anything 2188 on sub-requests or when the connection will be dropped. 2189 [Justin Erenkrantz] 2190 2191 *) Fix the TIME_* SSL var lookups to be threadsafe. PR 9469. 2192 [Cliff Woolley] 2193 2194 *) Ensure that apr_brigade_write() flushes in all of the cases that 2195 it should to avoid conditions in some modules that could cause 2196 large amounts of data to be buffered. [Cliff Woolley] 2197 2198 *) Fix problem where mod_cache/mod_disk_cache was incorrectly 2199 stripping the content_type from cached responses. 2200 [Bill Stoddard] 2201 2202 *) apachectl passes through any httpd options. Note: apachectl 2203 should be used in preference to httpd since it ensures that any 2204 appropriate environment variables have been set up. 2205 [Jeff Trawick] 2206 2207 *) Fix the combination of mod_cgid, mod_setuexec, and mod_userdir. 2208 PR 7810 [Colm MacCarthaigh <colmmacc redbrick.dcu.ie>] 2209 2210 *) Fix suexec execution of CGI scripts from mod_include. 2211 PR 7791, 8291 [Colm MacCarthaigh <colmmacc redbrick.dcu.ie>] 2212 2213 *) Fix segfaults at startup on some platforms when mod_auth_digest, 2214 mod_suexec, or mod_ssl were used as DSO's due to the way they 2215 were tracking the current init phase since DSO's get completely 2216 unloaded and reloaded between phases. PR 9413. 2217 [Tsuyoshi Sasamoto <nazonazo super.win.ne.jp>, Brad Nicholes] 2218 2219 *) Fix mod_include's handling of regular expressions in 2220 "<!--#if" directives [Julius Gawlas <julius_gawlas hp.com>] 2221 2222 *) Fix the worker MPM deadlock problem [Brian Pane] 2223 2224 *) Modify the module documentation to allow for translations. 2225 [Yoshiki Hayashi, Joshua Slive] 2226 2227 *) Fix a file permissions problem which prevented mod_disk_cache 2228 from working on Unix. [Jeff Trawick] 2229 2230 *) Add "-k start|restart|graceful|stop" support to httpd for the Unix 2231 MPMs. These have semantics very similar to the old apachectl 2232 commands of the same name. [Justin Erenkrantz, Jeff Trawick] 2233 2234 *) Make sure that the runtime dir is created by make install. 2235 PR 9233. [Jeff Trawick] 2236 2237 *) Fix an unusual set of ./configure arguments that could cause 2238 mod_http to be built as a DSO, which it currently doesn't 2239 support. PR 9244. 2240 [Cliff Woolley, Robin Johnson <robbat2 orbis-terrarum.net>] 2241 2242 *) Win32: Fix bug in apr_sendfile() that caused incorrect operation 2243 of the %X, %b and %B logformat options. PR 8253, 8996. 2244 [Bill Stoddard] 2245 2246 *) If content-encoding is already present, do not run deflate (PR 9222) 2247 [Kazuhisa ASADA <kaz asada.sytes.net>] 2248 2249 *) The APLOG_NOERRNO flag to ap_log_[r]error() is now deprecated. 2250 It is currently ignored and it will be removed in a future release 2251 of Apache. [Jeff Trawick] 2252 2253 *) Removed documentation references to the no-longer-supported 2254 "make certificate" feature of mod_ssl for Apache 1.3.x. Test 2255 certificates, if truly desired, can be generated using openssl 2256 commands. PR 8724. [Cliff Woolley] 2257 2258 *) Remove SSLLog and SSLLogLevel directives in favor of having 2259 mod_ssl use the standard ErrorLog directives. [Justin Erenkrantz] 2260 2261 *) OS/390: LIBPATH no longer has to be manually uncommented in 2262 envvars to get apachectl to set up httpd properly. [Jeff Trawick] 2263 2264 *) mod_isapi: All mod_isapi directives, excluding ISAPICacheFile, 2265 may now be specified to the <File/Directory > container, rather 2266 than by vhost. [William Rowe] 2267 2268 *) mod_isapi: Experimental support for faux async support for ISAPI 2269 modules. [William Rowe] 2270 2271 *) mod_isapi: Major refactoring of the code to rely on apr internals 2272 rather than MS APIs (using our own mod_isapi.h headers for ISAPI 2273 symbol definitions.) [William Rowe] 2274 2275 *) mod_isapi: Fixed the return string length from GetServerVariable 2276 callback, it was not including the trailing null in the consumed 2277 buffer size. This was particularly bad for Delphi 6.0 users. 2278 PR 8934 [Sebastian Hantsch <sebastian.hantsch gmx.de>] 2279 2280 *) Fixed Win32 builds for Microsoft VisualStudio 7.0 (.net). 2281 [William Rowe] 2282 2283 *) Make apxs look in the correct directory for envvars. It was 2284 broken when sbindir != bindir. PR 8869 2285 [Andreas Sundström <sunkan zappa.cx>] 2286 2287 *) Fix mod_deflate corruption when using multiple buckets. PR 9014. 2288 [Asada Kazuhisa <kaz asada.sytes.net>] 2289 2290 *) Performance enhancements for access logger when using 2291 default timestamp formatting [Brian Pane] 2292 2293 *) Added EnableMMAP config directive to enable the server 2294 administrator to disable memory-mapping of delivered files 2295 on a per-directory basis. [Brian Pane] 2296 2297 *) Performance enhancements for mod_setenvif [Brian Pane] 2298 2299 *) Fix a mod_ssl build problem on OS/390. [Jeff Trawick] 2300 2301 *) Fixed If-Modified-Since on Win32, which would give false positives 2302 because of the sub-second resolution of file timestamps on that 2303 platform. [Cliff Woolley] 2304 2305 *) Reverse the hook ordering for mod_userdir and mod_alias so 2306 that Alias/ScriptAlias will override Userdir. PR 8841 2307 [Joshua Slive] 2308 2309 *) Move mod_deflate out of experimental and into filters. 2310 [Justin Erenkrantz] 2311 2312 *) Get proxy CONNECT basically working. [Jeff Trawick] 2313 2314 *) Fix mod_rewrite hang when APR uses SysV Semaphores and 2315 RewriteLogLevel is set to anything other than 0. PR: 8143 2316 [Aaron Bannert, Cliff Woolley] 2317 2318 *) Fix byterange requests from returning 416 when using dynamic data 2319 (such as filters like mod_include). [Justin Erenkrantz] 2320 2321 *) Allow mod_rewrite's set of "int:" internal RewriteMap functions 2322 to be extended by third-party modules via an optional function. 2323 [Tahiry Ramanamampanoharana <nomentsoa hotmail.com>, Cliff Woolley] 2324 2325 *) Fix mod_include expression parser's handling of unquoted strings 2326 followed immediately by a closing paren. PR 8462. [Brian Pane] 2327 2328 *) Remove autom4te.cache in 'make distclean'. 2329 [Thom May <thom planetarytramp.net>] 2330 2331 *) Fix generated httpd.conf to respect layout for LoadModule lines. 2332 PR 8170. [Thom May <thom planetarytramp.net>] 2333 2334 *) Win32: During a graceful restart, threads in the new process 2335 were accessing scoreboard slots still in use by active threads in 2336 the old process. [Bill Stoddard] 2337 2338 Changes with Apache 2.0.36 2339 2340 *) Fix some minor formatting issues with ab. Part of this is 2341 in reference to PR 8544, the rest I noticed while testing 2342 the PR fix. [Paul J. Reder] 2343 2344 *) Fix a case where an invalid pass phrase is entered and an 2345 error message is given, but the prompt is not shown again. 2346 This left the user in an ambiguous state. PR 8320 [Paul J. Reder] 2347 2348 *) Close sockets on worker MPM when doing a graceless restart. 2349 [Aaron Bannert] 2350 2351 *) Reverted a minor optimization in mod_ssl.c that used the vhost ID 2352 as the session id context rather that a MD5 hash of that vhost ID, 2353 because it caused very long vhost id's to be unusable with mod_ssl. 2354 PR 8572. [Cliff Woolley] 2355 2356 *) Fix the link to the description of the CoredumpDirectory 2357 directive in the server-wide document. PR 8643. [Jeff Trawick] 2358 2359 *) Fixed SHMCB session caching. [Aaron Bannert, Cliff Woolley] 2360 2361 *) Synced with remaining changes from mod_ssl 2.8.8-1.3.24: 2362 - Avoid SIGBUS on sparc machines with SHMCB session caches 2363 - Allow whitespace between the pipe and the name of the 2364 program in SSLLog "| /path/to/program". [Cliff Woolley] 2365 2366 *) Introduce mod_ext_filter and mod_deflate experimental modules 2367 to the Win32 build (zlib sources must be in srclib\zlib.) 2368 [William Rowe] 2369 2370 *) Changes to the worker MPM's queue management and thread 2371 synchronization code to reduce mutex contention [Brian Pane] 2372 2373 *) Don't install *.in configuration files since we already install 2374 *-std.conf files. [Aaron Bannert] 2375 2376 *) Many improvements to the threadpool MPM. [Aaron Bannert] 2377 2378 *) Fix subreqs that are promoted via fast_redirect from having invalid 2379 frec->r structures. This would cause subtle errors later on in 2380 request processing such as seen in PR 7966. [Justin Erenkrantz] 2381 2382 *) More efficient pool recycling logic for the worker MPM [Brian Pane] 2383 2384 *) Modify the worker MPM to not accept() new connections until 2385 there is an available worker thread. This prevents queued 2386 connections from starving for processing time while long-running 2387 connections were hogging all the available threads. [Aaron Bannert] 2388 2389 *) Convert the worker MPM's fdqueue from a LIFO back into a FIFO. 2390 [Aaron Bannert] 2391 2392 *) Get basic HTTP proxy working on EBCDIC machines. [Jeff Trawick] 2393 2394 *) Allow mod_unique_id to work on systems with no IPv4 address 2395 corresponding to their host name. [Jeff Trawick] 2396 2397 *) Fix suexec behavior with user directories. PR 7810. 2398 [Colm <colmmacc redbrick.dcu.ie>] 2399 2400 *) Reject a blank UserDir directive since it is ambiguous. PR 8472. 2401 [Justin Erenkrantz] 2402 2403 *) Make mod_mime use case-insensitive matching when examining 2404 extensions on all platforms. PR 8223. [Justin Erenkrantz] 2405 2406 *) Add an intelligent error message should no proxy submodules be 2407 valid to handle a request. PR 8407 [Graham Leggett] 2408 2409 *) Major improvements in concurrent processing for AB by enabling 2410 non-blocking connect()s and preventing APR from doing blocking 2411 read()s. Also implement fatal error checking for apr_recv(). 2412 [Aaron Bannert] 2413 2414 *) Fix Win32 NTFS Junctions (symlinks). PR 8014 [William Rowe] 2415 2416 *) Fix Win32 'short name' aliases in httpd.conf directives. 2417 PR 8009 [William Rowe] 2418 2419 *) Fix generation of default httpd.conf when the layout paths are 2420 disjoint. PR 7979, 8227. [Justin Erenkrantz] 2421 2422 *) Swap downgrade-1.0 and force-response-1.0 conditional checks so 2423 that downgraded responses can have force-response. PR 8357. 2424 [Justin Erenkrantz] 2425 2426 *) Fix perchild MPM so that it can be configured with the move to the 2427 experimental directory. [Scott Lamb <slamb slamb.org>] 2428 2429 *) Fix perchild MPM so that it uses ap_gname2id for groups instead of 2430 ap_uname2id. [Scott Lamb <slamb slamb.org>] 2431 2432 *) Fix AcceptPathInfo. PR 8234 [Cliff Woolley] 2433 2434 *) SECURITY: CAN-2002-1592 (cve.mitre.org) [CERT VU#165803] 2435 Added the APLOG_TOCLIENT flag to ap_log_rerror() to 2436 explicitly tell the server that warning messages should be sent 2437 to the client in addition to being recorded in the error log. 2438 Prior to this change, ap_log_rerror() always sent warning 2439 messages to the client. In one case, a faulty CGI script caused 2440 the server to send a warning message to the client that contained 2441 the full path to the CGI script. This could be considered a 2442 minor security exposure. [Bill Stoddard] 2443 2444 *) mod_autoindex output when SuppressRules was specified would 2445 omit the first carriage return so the first item in the list 2446 would appear to the right of the column headings instead of 2447 underneath them. PR 8016 [David Shane Holden <dpejesh yahoo.com>] 2448 2449 *) Moved the call to apr_mmap_dup outside the error branch so 2450 that it would actually get called. This fixes a core dump 2451 at init everytime you use the MMapFile directive. PR 8314 2452 [Paul J. Reder] 2453 2454 *) Trigger an error when a LoadModule directive attempts to 2455 load a module which is built-in. This is a common error when 2456 switching from a DSO build to a static build. [Jeff Trawick] 2457 2458 *) Change instdso.sh to use libtool --install everywhere and then 2459 clean up some stray files and symlinks that libtool leaves around 2460 on some platforms. This gets subversion building properly since 2461 it needed a re-link to be performed by libtool at install time, 2462 and the old instdso.sh logic to simply cp the DSO didn't handle 2463 that requirement. [Sander Striker] 2464 2465 *) Allow VPATH builds to succeed when configured from an empty 2466 directory. [Thom May <thom planetarytramp.net>] 2467 2468 *) Fix 'control reaches end of non-void function' warning in 2469 server/log.c. [Ben Collins-Sussman <sussman collab.net>] 2470 2471 *) Perchild MPM is now correctly deemed as experimental and is now 2472 located in server/mpm/experimental. [Justin Erenkrantz] 2473 2474 *) Fix segfault in mod_mem_cache when garabge collecting an expired 2475 cache entry. [Bill Stoddard] 2476 2477 *) Introduced -E startup_logfile_name option to httpd to allow admins 2478 to begin logging errors immediately. This provides Win32 users 2479 an alternative to sending startup errors to the event viewer, and 2480 allows other daemon tool authors an alternative to logging to stderr. 2481 [William Rowe] 2482 2483 *) Fix subreqs with non-defined Content-Types being served improperly. 2484 [Justin Erenkrantz] 2485 2486 *) Merge in latest GNU config.guess and config.sub files. PR 7818. 2487 [Justin Erenkrantz] 2488 2489 *) Move 100 - Continue support to the HTTP_IN filter so that filters 2490 are guaranteed to support 100 - Continue logic without any 2491 intervention. [Justin Erenkrantz] 2492 2493 *) Add HTTP chunked input trailer support. [Justin Erenkrantz] 2494 2495 *) Rename and export get_mime_headers as ap_get_mime_headers. 2496 [Justin Erenkrantz] 2497 2498 *) Allow empty Host: header arguments. PR 7441. [Justin Erenkrantz] 2499 2500 *) Properly substitute sbindir as httpd's location in apachectl. PR 7840. 2501 [Andreas Hasenack <andreas netbank.com.br>] 2502 2503 *) Allow Win32 shebang scripts to follow the path (or omit the .exe 2504 suffix from the shebang command), and allow ScriptInterpreterSource 2505 Registry or RegistryStrict to override shebang lines, as 1.3 did. 2506 PR 8004 [William Rowe] 2507 2508 *) worker MPM: Fix a situation where a child exited without releasing 2509 the accept mutex. Depending on the OS and mutex mechanism this 2510 could result in a hang. [Jeff Trawick] 2511 2512 *) Update the instructions for how to get started with mod_example. 2513 [Stas Bekman] 2514 2515 *) Fix PidFile to default to rel_runtimedir instead of 2516 rel_logfiledir. PR 7841. [Andreas Hasenack <andreas netbank.com.br>] 2517 2518 *) Win32: Fix problem that caused rapid performance degradation 2519 when number of connecting clients exceeded ThreadsPerChild. 2520 [Bill Stoddard] 2521 2522 *) Fixed a segfault parsing large SSIs on non-mmap systems. 2523 [Brian Havard] 2524 2525 *) Proxy was bombing out every second keepalive request, caused by a 2526 stray CRLF before the second response's status line. Proxy now 2527 tries to read one more line if it encounters a CRLF where it 2528 expected a status. PR 10010 [Graham Leggett] 2529 2530 *) Deprecated the apr_lock.h API. Please see the following files 2531 for the improved thread and process locking and signaling: 2532 apr_proc_mutex.h, apr_thread_mutex.h, apr_thread_rwlock.h, 2533 apr_thread_cond.h, and apr_global_mutex.h. [Aaron Bannert] 2534 2535 *) Change mod_status to use scoreboard accessor functions so it can 2536 be used in any MPM without having to be recompiled. 2537 [Ryan Morgan <rmorgan covalent.net>] 2538 2539 *) Fix parsing of some AP_DECLARE_DATA declarations so that the filter 2540 handle declarations are recognized. This fixes problems loading 2541 mod_autoindex on some platforms. [Brian Havard] 2542 2543 *) add optional fixup hook to proxy [Daniel Lopez <daniel covalent.net>] 2544 2545 *) Remind the admin about the User and Group directives when we are 2546 unable to set permissions on a semaphore. PR 7812 [Jeff Trawick] 2547 2548 *) fix possible compilation problem in ssl_engine_kernel.c. PR 7802 2549 [Doug MacEachern] 2550 2551 *) fix possible infinite loop in mod_ssl triggered by certain 2552 netscape clients [Doug MacEachern] 2553 2554 *) fix ProxyPass when frontend is https and backend is http 2555 [Doug MacEachern] 2556 2557 *) Add DASL support to mod_dav 2558 [Sung Kim <hunkim cse.ucsc.edu>] 2559 2560 Changes with Apache 2.0.35 2561 2562 *) mod_rewrite: updated to use the new APR global mutex type. 2563 [Aaron Bannert] 2564 2565 *) Fixes for mod_include errors on boundary conditions in which 2566 "<!--#" occurs at the very end of a bucket 2567 [Paul Reder, Brian Pane] 2568 2569 *) worker, prefork, perchild, beos MPMs: Add -DFOREGROUND switch to 2570 cause the Apache parent process to run in the foreground (similar to 2571 -DNO_DETACH except that it doesn't switch session ids). 2572 [Jeff Trawick] 2573 2574 *) Added support for Posix semaphore mutex locking (AcceptMutex posixsem) 2575 for those platforms that support it. If using the default 2576 implementation, this is between pthread and sysvsem in priority. 2577 This implies it's the new default for Darwin. [Jim Jagielski] 2578 2579 *) AIX: Fix the syntax for setting the LDR_CNTRL and AIXTHREAD_SCOPE 2580 environment variables in the envvars file. [Jeff Trawick] 2581 2582 *) worker MPM: Don't create a listener thread until we have a worker 2583 thread. Otherwise, in situations where we'll have to wait a while 2584 to take over scoreboard slots from a previous generation, we'll be 2585 accepting connections we can't process yet. [Jeff Trawick] 2586 2587 *) Allow worker MPM to build on systems without pthread_kill(). 2588 [Pier Fumagalli, Jeff Trawick] 2589 2590 *) Prevent ap_add_output_filters_by_type from being called in 2591 ap_set_content_type if the content-type hasn't changed. 2592 [Justin Erenkrantz] 2593 2594 *) Performance: implemented the bucket allocator made possible by the 2595 API change in 2.0.34. [Cliff Woolley] 2596 2597 *) Don't allow initialization to succeed if we can't get a socket 2598 corresponding to one of the Listen statements. [Jeff Trawick] 2599 2600 Changes with Apache 2.0.34 2601 2602 *) Allow all Perchild directives to accept either numerical UID/GID 2603 or logical user/group names. [Scott Lamb <slamb slamb.org>] 2604 2605 *) Make Perchild compile cleanly and serve pages again. [Ryan Bloom] 2606 2607 *) implement ssl proxy to support ProxyPass / https:// and the 2608 SSLProxy* directives [Doug MacEachern] 2609 2610 *) Update mod_cgid to not do single-byte socket reads for CGI headers 2611 [Brian Pane] 2612 2613 *) Made AB's use of the Host: header rfc2616 compliant 2614 by Taisuke Yamada <tai iij.ad.jp> [Dirk-Willem van Gulik]. 2615 2616 *) The old, legacy (and unused) code in which the scoreboard was totally 2617 and completely contained in a file (SCOREBOARD_FILE) has been 2618 removed. This does not affect scoreboards which are *mapped* to 2619 files using named-shared-memory. [Jim Jagielski] 2620 2621 *) Change bucket brigades API to allow a "bucket allocator" to be 2622 passed in at certain points. This allows us to implement freelists 2623 so that we can stop using malloc/free so frequently. 2624 [Cliff Woolley, Brian Pane] 2625 2626 *) Add support for macro expansion within the variable names in 2627 <!--#echo--> and <!--#set--> directives [Brian Pane] 2628 2629 *) Fix some mod_include segfaults [Cliff Woolley, Brian Pane, Brad Nicholes] 2630 2631 *) Update the "RedHat" Layout to match Red Hat Linux version 7. PR BZ-7422 2632 [Joe Orton] 2633 2634 *) add compat layer to support RSA SSLC 1.x and 2.x in mod_ssl 2635 [Jon Travis, John Barbee, William Rowe, Ryan Bloom, Doug MacEachern] 2636 2637 *) Add a new parameter to the quick_handler hook to instruct 2638 quick handlers to optionally do a lookup rather than actually 2639 serve content. This is the first of several changes required fix 2640 several problems with how quick handlers work with subrequests. 2641 [Bill Stoddard] 2642 2643 *) worker MPM: Get MaxRequestsPerChild to work again. [Jeff Trawick] 2644 2645 *) [APR-related] The ordering of the default accept mutex method has 2646 been changed to better match what's done in Apache 1.3. The ordering 2647 is now (highest to lowest): pthread -> sysvsem -> fcntl -> flock. 2648 [Jim Jagielski] 2649 2650 *) Ensure that the build/ directory is created when using VPATH. 2651 [Justin Erenkrantz] 2652 2653 *) Add some popular types to the mime magic file. PR 7730. 2654 [Linus Walleij <triad df.lth.se>, Justin Erenkrantz] 2655 2656 *) Remove the single-byte socket reads for CGI headers [Brian Pane] 2657 2658 *) When a proxied site was being served, Apache was replacing 2659 the original site Server header with it's own, which is not 2660 allowed by RFC2616. Fixed. [Graham Leggett] 2661 2662 *) Fix a mod_cgid problem that left daemon processes stranded 2663 in some server restart scenarios. [Jeff Trawick] 2664 2665 *) Added exp_foo and rel_foo variables to config_vars.mk for 2666 all Apache and Autoconf path variables (like --sysconfdir, 2667 --sbindir, etc). exp_foo is the "expanded" version, which means 2668 that all internal variable references have been interpolated. 2669 rel_foo is the same as $exp_foo, only relative to $prefix if they 2670 share a common path. [Aaron Bannert] 2671 2672 *) Fix some restart/terminate problems in the worker MPM. Don't 2673 drop connections during graceful restart. [Jeff Trawick] 2674 2675 *) Change the header merging behaviour in proxy, as some headers 2676 (like Set-Cookie) cannot be unmerged due to stray commas in 2677 dates. [Graham Leggett] 2678 2679 *) Be more vocal about what AcceptMutex values we allow, to make 2680 us closer to how 1.3 does it. [Jim Jagielski] 2681 2682 *) Get nph- CGI scripts working again. PRs 8902, 8907, 9983 2683 [Jeff Trawick] 2684 2685 *) Upgraded PCRE library to latest version 3.9 [Brian Pane] 2686 2687 *) Add accessor function to set r->content_type. From now on, 2688 ap_rset_content_type() should be used to set r->content_type. 2689 This change is required to properly implement the 2690 AddOutputFilterByType configuration directive. 2691 [Bill Stoddard, Sander Striker, Ryan Bloom] 2692 2693 *) Add new M_FOO symbols for the WebDAV/DeltaV methods specified by 2694 RFC 3253. Improved the method name/number mapping functions. 2695 [Greg Stein] 2696 2697 *) remove sock_enable_linger from connection.c [Ian Holsman] 2698 2699 *) Fix for virtual host processing where the requested hostname 2700 has a '.' at the end (PR 9187) [Ryan Cruse <ryan estara.com>] 2701 2702 *) mod_dav's APIs for REPORT response handling was changed so that 2703 providers can generate the content directly into the output filter 2704 stack, rather than buffering the response into memory. [Greg Stein] 2705 2706 *) Fix a hang condition with graceful restart and prefork MPM 2707 in the situation where MaxClients is very high but 2708 much fewer servers are actually started at the time of the 2709 restart. [Jeff Trawick] 2710 2711 *) Small performance fixes for mod_include [Brian Pane] 2712 2713 *) Performance improvement for the error logger [Brian Pane] 2714 2715 *) Change configure so that Solaris 8 and above have 2716 SINGLE_LISTEN_UNSERIALIZED_ACCEPT defined by default. 2717 according to sun people solaris 8+ doesn't have a thundering 2718 herd problem [Ian Holsman] 2719 2720 *) Allow URIs specifying CGI scripts to include '/' at the end 2721 (e.g., /cgi-bin/printenv/) on AIX and Solaris (and other OSs 2722 which ignore '/' at the end of the names of non-directories). 2723 PR 10138 [Jeff Trawick] 2724 2725 *) implement SSLSessionCache shmht and shmcb based on apr_rmm and 2726 apr_shm. [Madhusudan Mathihalli <madhusudan_mathihalli hp.com>] 2727 2728 *) Fix apxs -g handling. Move config_vars.mk from the top build 2729 directory to the build directory. PR 10163 [Jeff Trawick] 2730 2731 *) Fix some mod_include problems which broke evaluation of some 2732 expressions. PR 10108 [Jeff Trawick] 2733 2734 *) Fix the calculation of request time in mod_status. [Stas Bekman] 2735 2736 *) Fix the calculation of thread_num in the worker score structure. 2737 [Stas Bekman] 2738 2739 *) Use apr_atomic operations in managing the mod_mem_cache 2740 cache_objects for SMP scalability. (see USE_ATOMICS 2741 preprocessor directive in mod_file_cache) 2742 [Bill Stoddard] 2743 2744 *) Add filehandle caching to mod_mem_cache. (see CACHE_FD 2745 preprocessor directive in mod_file_cache) 2746 [Bill Stoddard] 2747 2748 *) Implement prototype mod_disk_cache for use with mod_cache. 2749 [Bill Stoddard] 2750 2751 *) Add a missing manualdir entry in the Debian config.layout. 2752 [Thom May <thom planetarytramp.net>] 2753 2754 *) Stop installing libtool for APR and tell APR where it should place 2755 its copy of libtool (via our installbuildpath layout variable). 2756 [Justin Erenkrantz] 2757 2758 *) New directive ProxyIOBufferSize. Sets the size of the buffer used 2759 when reading from a remote HTTP server in proxy. [Graham Leggett] 2760 2761 *) Modify receive/send loop in proxy_http and proxy_ftp so that 2762 should it be necessary, the remote server socket is closed before 2763 transmitting the last buffer (set by ProxyIOBufferSize) to the 2764 client. This prevents the backend server from being forced to hang 2765 around while the last few bytes are transmitted to a slow client. 2766 Fix the case where no error checking was performed on the final 2767 brigade in the loop. [Graham Leggett] 2768 2769 *) Scrap CacheMaxExpireMin and CacheDefaultExpireMin. Change 2770 CacheMaxExpire and CacheDefaultExpire to use seconds rather than 2771 hours. [Graham Leggett, Bill Stoddard] 2772 2773 *) New Directive SSIUndefinedEcho. to change the '(none)' echoed 2774 for a undefined variable. [Ian Holsman] 2775 2776 *) Proxy HTTP and CONNECT: Keep trying other addresses from the DNS 2777 when we can't get a socket in the specified address family. We may 2778 have gotten back an IPv6 address first and yet our system is not 2779 configured to allow IPv6 sockets. [Jeff Trawick] 2780 2781 *) Be more careful about recursively removing CVS directories. Make 2782 sure that we aren't cd'ing to their home directory first. PR: 9993 2783 [Aaron Bannert, James LewisMoss <dres lewismoss.net>] 2784 2785 *) Add a missing errordir entry in the Debian config.layout. PR: 10067 2786 [Dirk-Jan Faber <dirk-jan selwerd.nl>, Aaron Bannert, 2787 Thom May <thom planetarytramp.net>] 2788 2789 *) Rename the filter ordering priorities. The recent filtering fixes 2790 have showcased problems with their usage. Therefore, we need to 2791 rename them to increase the clarity. (CONTENT->RESOURCE, 2792 HTTP_HEADER->CONTENT_SET/PROTOCOL) [Justin Erenkrantz] 2793 2794 Changes with Apache 2.0.33 2795 2796 *) Fix a problem in the new --enable-layout functionality where 2797 it wouldn't allow overrides from variables like --prefix, 2798 --bindir, etc. [Thom May <thom planetarytramp.net>] 2799 2800 *) Fix a bug in the core input filter for AP_MODE_EXHAUSTIVE. It 2801 no longer hangs around waiting for the socket to close before 2802 returning exhaustive data. [Aaron Bannert] 2803 2804 *) rename apr_exploded_time_t to apr_time_exp_t (as per renames pending) 2805 [Thom May <thom planetarytramp.net>] 2806 2807 *) Change mod_ssl to always do a full startup/teardown on restarts. 2808 this allows mod_ssl to be added to a server that is already 2809 running and makes it possible to add/change certs/keys after the 2810 server has been started. [Doug MacEachern] 2811 2812 *) Introduce PassPhraseDialog "|/path/to/pipe" mechanism to mod_ssl. 2813 This pipe must be a bidirectional 'console' style relay, which 2814 mod_ssl prints all prompts to the pipe's stdin, and reads the 2815 passphrases from the pipe's stdout. [William Rowe] 2816 2817 *) Fix bug where --sysconfdir and --localstatedir were being 2818 ignored. [Thom May <thom planetarytramp.net>, Aaron Bannert] 2819 PR 9888 2820 2821 *) Fix --enable-layout to work again. Caution: When specifying 2822 --enable-layout, common arguments like --prefix, --exec-prefix, 2823 etc. will be ignored and the settings from the layout will be 2824 used instead. [Thom May <thom planetarytramp.net>, Aaron Bannert] 2825 PR 9124, 9873, 9885 2826 2827 *) New Directive for mod_proxy: ProxyRemoteMatch. This provides 2828 regex pattern matching for the determination of which requests 2829 to use the remote proxy for. [Jim Jagielski] 2830 2831 *) Fix CustomLog bytes-sent with HTTP 0.9. [Justin Erenkrantz] 2832 2833 *) Prevent Apache from ignoring SIGHUP due to some lingering 1.3 2834 cruft in piped logs and rewritemap child processes. 2835 [William Rowe] 2836 2837 *) All instances of apr_lock_t have been removed and converted 2838 to one of the following new lock APIs: apr_thread_mutex.h, 2839 apr_proc_mutex.h, or apr_global_mutex.h. No new code should 2840 use the apr_lock.h API, as the old API will soon be deprecated. 2841 [Aaron Bannert] 2842 2843 *) Merged in changes to mod_ssl up through 2.8.7-1.3.23. 2844 [Ralf S. Engelschall, Cliff Woolley] 2845 2846 *) mod-include: make it handle flush'es and fix the 'false-alarm' 2847 [Justin Erenkrantz, Brian Pane, Ian Holsman] 2848 2849 *) ap_get_*_filter_handle() functions to allow 3rd party modules 2850 to lookup filter handles so they can bypass the filter name 2851 lookup when adding filters to a request (via ap_add_*_filter_handle()) 2852 [Ryan Morgan <rmorgan covalent.net>] 2853 2854 *) Fix for multiple file buckets on Win32, where the first file 2855 bucket would cause the immediate closure of the socket on any 2856 non-keepalive requests. [Ryan Morgan <rmorgan covalent.net>] 2857 2858 *) Correct Win32 failure of mmap of a segment beyond start of the 2859 file; fixes large SSL and similar transfers. [William Rowe] 2860 PR 9898 2861 2862 *) Implement apr_proc_detach changes and allow -DNO_DETACH in the 2863 multi-process mode to not "daemonize" while detaching from the 2864 controlling terminal. This is necessary for Apache to work with 2865 process-management tools like AIX's "System Resource Controller" 2866 as well as Dan Bernstein's "daemontools". 2867 [Jos Backus <josb cncdsl.com>, Aaron Bannert] 2868 2869 *) Convert mod_auth_digest to use the new apr_global_mutex_t 2870 type. [Aaron Bannert] 2871 2872 *) fix bug in mod-include where it wouldn't send a unmatched 2873 part if it was at the end of a bucket [Ian Holsman] 2874 2875 *) worker MPM: Improve logging of errors with the interface between 2876 the listener thread and worker threads. [Jeff Trawick] 2877 2878 *) Some browsers ignore cookies that have been merged into a 2879 single Set-Cookie header. Set-Cookie and Set-Cookie2 headers 2880 are now unmerged in the http proxy before being sent to the 2881 client. [Graham Leggett] 2882 2883 *) Fix a problem with proxy where each entry of a duplicated 2884 header such as Set-Cookie would overwrite and obliterate the 2885 previous value of the header, resulting in multiple header 2886 values (like cookies) going missing. 2887 [Graham Leggett, Joshua Slive] 2888 2889 *) Add the server-limit and thread-limit values to the scoreboard 2890 for the sake of third-party applications. 2891 [Adam Sussman <myddryn vishnu.vidya.com>] 2892 2893 *) Fix segfault when proxy recieves an invalid HTTP response [Ian Holsman] 2894 2895 *) OS/390: Get make install to properly copy DSO modules. 2896 [Jeff Trawick] 2897 2898 *) Win32: Fix bug in mod_status with displaying "Restart Time" 2899 and "Server uptime". 2900 [Bill Stoddard] 2901 2902 *) Fix IPv6 name-based virtual hosts. [Jeff Trawick] 2903 2904 *) Introduce AddOutputFilterByType directive. [Justin Erenkrantz] 2905 2906 *) Fix DEBUG_CGI support in mod_cgi. PR 9670, 9671. 2907 [David MacKenzie <djm pix.net>] 2908 2909 *) Fix incorrect check for script_in in mod_cgi. PR 9669. 2910 [David MacKenzie <djm pix.net>] 2911 2912 *) Fix segfault and display error when SSLMutex file can not be 2913 created. [Adam Sussman <myddryn vishnu.vidya.com>] 2914 2915 *) Add reference counting to mod_mem_cache cache objects to 2916 better manage removing objects from the cache. 2917 [Bill Stoddard] 2918 2919 *) Change the verbage on the ScoreBoardFile in our default configs. 2920 Also change the default to be commented out (unspecified) so we 2921 get anonymous shared memory by default. [Aaron Bannert] 2922 2923 *) Implement new ScoreBoardFile directive logic. This affects how 2924 we create the scoreboard's shared memory segment. If the directive 2925 is present, a name-based segment is created. If the directive is 2926 not present, first an anonymous segment is created, and if that 2927 fails, a name-based segment is created from a file of the name 2928 DEFAULT_SCOREBOARD. This gives third-party applications the 2929 ability to access our scoreboard. [Aaron Bannert] 2930 2931 *) Allow mod_deflate to work with non-GET requests and properly send 2932 Content-Lengths. [Sander Striker <striker apache.org>] 2933 2934 *) Fix ap_directory_merge() to correctly merge configs when there is 2935 no <Directory /> block. [Justin Erenkrantz, William Rowe] 2936 2937 *) Remove spurious debug messsages that are normal under HTTP 2938 keep-alive logic. [Jeff Trawick, Justin Erenkrantz] 2939 2940 *) Fix a bug in mod_cgid that would prevent proper shutdown death 2941 of the cgid process. [Aaron Bannert] 2942 2943 *) Add signal handling back in to the worker MPM for the one_process 2944 (-X, -DDEBUG, -DONE_PROCESS) case. [Aaron Bannert] 2945 2946 *) Performance: Reuse per-connection transaction pools in the 2947 worker MPM, rather than destroying and recreating them. [Brian Pane] 2948 2949 *) Remove all signals from the worker MPM's child process. Instead, 2950 the parent uses the Pipe of Death for all communication with the 2951 child processes. [Ryan Bloom] 2952 2953 Changes with Apache 2.0.32 2954 2955 *) mod_negotiation: ForceLanguagePriority now uses 'Prefer' as the 2956 default if the directive is not specified. This mirrors older 2957 behavior without changes to the httpd.conf. [William Rowe] 2958 2959 *) Win32: solve the win32 service problems in 2.0.31-alpha, by fixing 2960 the service, mpm and logging code, and bugs in apr_file_open_stderr 2961 and apr_file_dup2 functions. Win2K/XP services have no handles 2962 associated for stdin/out/err, which caused unpredictable behavior 2963 in the prior release. [William Rowe, Bill Stoddard] 2964 2965 *) Win32: simplify the Application Event Log messages, since there isn't 2966 likely to be 'more information in the error log' before an error log 2967 has been opened. [William Rowe] 2968 2969 *) Win32: substantial cleanup to the mpm_winnt code for legibility and 2970 to follow the program flow of other MPMs. [Ryan Bloom, William Rowe] 2971 2972 *) Win32: apache -k shutdown now behaves like apache -k stop. 2973 [Bill Stoddard] 2974 2975 *) Fix prefork to not kill the parent if a child hits a resource shortage 2976 on accept(). [Greg Ames] 2977 2978 *) Fix seg faults that occur when what should be the httpd request line 2979 starts with \r\n followed by garbage. [Greg Ames] 2980 2981 *) Allow statically linked support binaries with the new 2982 --enable-static-support flag, and enable this behavior in 2983 the binbuild script. Also add a new --enable-static-htdbm 2984 flag. [Aaron Bannert] 2985 2986 *) Allow mod_autoindex to serve symlinks if permitted and attempt to 2987 do only one stat() call when generating the directory listings. 2988 [Justin Erenkrantz] 2989 2990 *) Fix resolve_symlink to save the original symlink name if known. 2991 [Justin Erenkrantz] 2992 2993 *) Be a bit more sane with regard to CanonicalNames. If the user has 2994 specified they want to use the CanonicalName, but they have not 2995 configured a port with the ServerName, then use the same port that 2996 the original request used. [Ryan Bloom and Ken Coar] 2997 2998 *) In core_input_filter, check for an empty brigade after 2999 APR_BRIGADE_NORMALIZE(). Otherwise, we can get segfaults if a 3000 client says it will post some data but we get FIN before any 3001 data arrives. [Jeff Trawick] 3002 3003 *) Not being able to bind to the socket is a fatal error. We should 3004 print an error to the console, and return a non-zero status code. 3005 With these changes, all of the Unix MPMs do that correctly. 3006 [Ryan Bloom] 3007 3008 *) suexec: Allow HTTPS and SSL_* environment variables to be passed 3009 through to CGI scripts. PR 9163 3010 [Brian Reid <breid customlogic.com>, 3011 Zvi Har'El <rl math.technion.ac.il>] 3012 3013 *) binbuild.sh: Make sure that we use the expat from our source 3014 tree so that there aren't any surprises on the target machine. 3015 [Jeff Trawick] 3016 3017 *) mod_cgid: Add retry logic for when the daemon can't fork fast 3018 enough to keep up with new requests. Start using 3019 HTTP_SERVER_UNAVAILABLE instead of HTTP_INTERNAL_SERVER_ERROR 3020 when we can't talk to the daemon. [Jeff Trawick] 3021 3022 *) apxs: LTFLAGS envvar can override default libtool options. Try 3023 "LTFLAGS=' ' apxs -c mod_foo.c" to see what libtool does under 3024 the covers. [Jeff Trawick] 3025 3026 *) The Location: response header field, used for external 3027 redirect, *must* be an absoluteURI. The Redirect directive 3028 tested for that, but RedirectMatch didn't -- it would allow 3029 almost anything through. Now it will try to turn an abs_path 3030 into an absoluteURI, but it will correctly varf like Redirect 3031 if the final redirection target isn't an absoluteURI. [Ken Coar] 3032 3033 Changes with Apache 2.0.31 3034 3035 *) Create the scoreboard (in the parent) in a global pool context, 3036 so it survives graceful restarts. This fixes a SEGV during 3037 graceful restarts. [Aaron Bannert] 3038 3039 *) Add a timeout option to the proxy code 'ProxyTimeout' 3040 [Ian Holsman] 3041 3042 *) FTP directory listings are now always retrieved in ASCII mode. 3043 The FTP proxy properly escapes URI's and HTML in the generated 3044 listing, and escapes the path components when talking to the FTP 3045 server. It is now possible to browse the root directory by using 3046 a url like: ftp://user@host/%2f/ (ported from apache_1.3.24) 3047 Also, the last path component may contain wildcard characters 3048 '*' and '?', and if they do, a directory listing is created instead 3049 of a file retrieval. Example: ftp://user@host/httpd/server/*.c 3050 [Martin Kraemer] 3051 3052 *) Added single-listener unserialized accept support to the 3053 worker MPM [Brian Pane] 3054 3055 *) New Directive for mod_proxy: 'ProxyPreserveHost'. This passes 3056 the incoming host header through to the proxied server 3057 [Geoff <g.russell ieee.org>] 3058 3059 *) New Directive Option for ProxyPass. It now can block a location 3060 from being proxied [Jukka Pihl <jukka.pihl entirem.com>] 3061 3062 *) Don't let the default handler try to serve a raw directory. At 3063 best you get gibberish. Much worse things can happen depending 3064 on the OS. [Jeff Trawick] 3065 3066 *) Change the pre_config hook to return a value. Modules can now emit 3067 an error message and then cause the server to quit gracefully during 3068 startup. This required a bump to the MMN. [Aaron Bannert] 3069 3070 *) Fix some unix socket descriptor leaks in the handler side of 3071 mod_cgid (the part that runs in the server process). Whack a 3072 silly "close(-1)" in the handler too. [Jeff Trawick] 3073 3074 *) Change the pre_mpm hook to return a value, so that scoreboard 3075 init errors percolate up to code that knows how to exit 3076 cleanly. This required a bump to the MMN. [Jeff Trawick] 3077 3078 *) Add the socket back to the conn_rec and remove the create_connection 3079 hook. The create_connection hook had a design flaw that did not 3080 allow creating connections based on vhost info. [Bill Stoddard] 3081 3082 *) Fixed PATH_INFO and QUERY_STRING from mod_negotiation results. 3083 Resolves the common case of using negotation to resolve the request 3084 /script/foo for /script.cgi/foo. [William Rowe] 3085 3086 *) Added new functions ap_add_(input|output)_filter_handle to 3087 allow modules to bypass the usual filter name lookup when 3088 adding hard-coded filters to a request [Brian Pane] 3089 3090 *) caching should now work on subrequests (still very experimental) 3091 [Ian Holsman] 3092 3093 *) The Win32 mpm_winnt now has a shared scoreboard. [William Rowe] 3094 3095 *) Change ap_get_brigade prototype to use apr_off_t instead of apr_off_t*. 3096 [Justin Erenkrantz] 3097 3098 *) Refactor ap_rgetline so that it does not use an internal brigade. 3099 Change ap_rgetline's prototype to return errors. [Justin Erenkrantz] 3100 3101 *) Remove mod_auth_db. [Justin Erenkrantz] 3102 3103 *) Do not install unnecessary pcre headers like config.h and internal.h. 3104 [Joe Orton <joe manyfish.co.uk>] 3105 3106 *) Change in quick_hanlder behavior for subrequests. it now passes DONE 3107 (as it does for a normal request). quick_handled sub-requests now work 3108 in mod-include [Ian Holsman] 3109 3110 *) Change SUBREQ_CORE so that it is a 'HTTP_HEADER' filter instead of 3111 'CONTENT' one, as it needs to run AFTER all content headers 3112 3113 *) Rename BeOS MPM directive RequestsPerThread to MaxRequestsPerThread. 3114 [Lars Eilebrecht] 3115 3116 *) Split out blocking from the mode in the input filters. 3117 [Justin Erenkrantz] 3118 3119 *) Fix a segfault in mod_include. [Justin Erenkrantz, Jeff Trawick] 3120 3121 *) Cause Win32 to capture all child-worker process errors in 3122 Apache to the main server error log, until the child can 3123 open its own error logs. [William Rowe] 3124 3125 *) HPUX 11.*: Do not kill the child process when accept() 3126 returns ENOBUFS on HPUX 11.*. (ported from th 1.3 patch) 3127 [Madhusudan Mathihalli <madhusudan_mathihalli hp.com>, Bill Stoddard] 3128 3129 *) Fix a problem in the parsing of the <Proxy foo> directive. 3130 [Jeff Trawick] 3131 3132 *) rewrite of mod_ssl input filter for better performance and less 3133 memory usage [Doug MacEachern] 3134 3135 *) allow quick_handler to be run on subrequests. [Ian Holsman] 3136 3137 *) mod_dav now asks its provider to place content directly into the 3138 filter stack when handling a GET request. The mod_dav/provider 3139 API has changed, so providers need to be updated. [Greg Stein] 3140 3141 *) Clear the output socket descriptor in unixd_accept() to make sure 3142 we don't supply a bogus socket to the caller if the accept fails. 3143 This caused problems with the worker MPM, which tried to process 3144 the returned socket if it was non-NULL. [Brian Pane] 3145 3146 *) Move a check for an empty brigade to the start of core input filter 3147 to avoid segfaults. [Justin Erenkrantz, Jeff Trawick] 3148 3149 *) Add FileETag directive to allow configurable control of what 3150 data are used to form ETag values for file-based URIs. MMN 3151 bumped to 20020111 because of fields added to the end of 3152 the core_dir_config structure. [Ken Coar] 3153 3154 *) Fix a segfault in mod_rewrite's logging code caused by passing the 3155 wrong config to ap_get_remote_host(). [Jeff Trawick] 3156 3157 *) Allow mod_cgid to work from a binary distribution install by 3158 using 755 for the permissions on the log directory instead of 3159 750. [Jeff Trawick] 3160 3161 *) Fixed a segfault that happened during graceful shutdown (or when 3162 the httpd ran out of file descriptors) with the worker MPM [Brian Pane] 3163 3164 *) Split all Win32 modules [excluding the core components mod_core, 3165 mod_so, mod_win32 and the winnt mpm] into individual loadable 3166 modules, so the administrator may individually disable the former 3167 compiled-in modules by simply commenting out their LoadModule 3168 directives. [William Rowe] 3169 3170 *) Saved Win32 module authors and porters many future headaches, by 3171 duplicating the appropriate .h files such as os.h into the include 3172 directory, including in the build tree. [William Rowe] 3173 3174 *) mod_ssl adjustments to help with using toolkits other than OpenSSL: 3175 Use SSL functions/macros instead of directly dereferencing SSL 3176 structures wherever possible. 3177 Add type-casts for the cases where functions return a generic pointer. 3178 Add $SSL/include to configure search path. 3179 [Madhusudan Mathihalli <madhusudan_mathihalli hp.com>] 3180 3181 *) Moved several pointers out of the shared Scoreboard so it is 3182 more portable, and will present the vhost name across server 3183 generation restarts. [William Rowe] 3184 3185 *) Fix SSLPassPhraseDialog exec: and SSLRandomSeed exec: 3186 [Doug MacEachern] 3187 3188 Changes with Apache 2.0.30 3189 3190 *) Fix the main bug for FreeBSD and threaded MPM's. There are 3191 still issues (see STATUS) but at least the server will now 3192 run without crashing the machine. 3193 [David Reid, Aaron Bannert, Justin Erenkrantz] 3194 3195 *) Fix a typo in mod_deflate's m4 config section. 3196 [albert chin <china thewrittenword.com>] 3197 3198 *) Fix a couple of mod_proxy problems forwarding HTTP connections 3199 and handling CONNECT: 3200 (1) PR #9190 Proxy failed to connect to IPv6 hosts. 3201 (2) Proxy failed to connect when the first IP address returned by 3202 the resolver was unreachable but a secondary IP address was. 3203 [Jeff Trawick] 3204 3205 *) Fix the module identifer as shown in the docs for various core 3206 modules (e.g., the identifer for mod_log_config was previously 3207 listed as config_log_module). PR #9338 3208 [James Watson <ap2bug sowega.org>] 3209 3210 *) Fix LimitRequestBody directive by placing it in the HTTP 3211 filter. [Justin Erenkrantz] 3212 3213 *) Fix mod_proxy seg fault when the proxied server returns 3214 an HTTP/0.9 response or a bogus status line. 3215 [Adam Sussman] 3216 3217 *) Prevent mod_proxy from truncating one character off the 3218 end of the status line returned from the proxied server. 3219 [Adam Sussman, Bill Stoddard] 3220 3221 *) Eliminate loop in ap_proxy_string_read(). 3222 [Adam Sussman, Bill Stoddard] 3223 3224 *) Provide $0..$9 results from mod_include regex parsing. 3225 [William Rowe] 3226 3227 *) Allow mod-include to look for alternate start & end tags [Ian Holsman] 3228 3229 *) Introduced the ForceLanguagePriority directive, to prevent 3230 returning MULTIPLE_CHOICES or NONE_ACCEPTABLE in some cases, 3231 when using Multiviews. [William Rowe] 3232 3233 *) Fix a problem which prevented mod_cgid and suexec from working 3234 together reliably [Greg Ames] 3235 3236 *) Remove the call to exit() from within mod_auth_digest's post_config 3237 phase. [Aaron Bannert] 3238 3239 *) Fix a problem in mod_auth_digest that could potentially cause 3240 problems with initialized static data on a system that uses DSOs. 3241 [Aaron Bannert] 3242 3243 *) Fix a segfault in the worker MPM that could happen during 3244 child process exits. [Brian Pane, Aaron Bannert] 3245 3246 *) Allow mod_auth_dbm to handle multiple DBM types [Ian Holsman] 3247 3248 *) Fix matching of vhosts by ip address so we find IPv4 3249 vhost address when target address is v4-mapped form of 3250 that address. [Jeff Trawick] 3251 3252 *) More performance tweaks to the BNDM string-search algorithm 3253 used to find "<!--#" tokens in mod_include [Brian Pane] 3254 3255 *) Miscellaneous small performance fixes: optimized away various 3256 string copy operations and removed large temp buffers from 3257 the stack [Brian Pane] 3258 3259 *) Fixed startup segfault that occurred when a VirtualHost 3260 directive had a port but no address [Brian Pane] 3261 3262 *) Allow htdbm to work with multiple DBM types [Ian Holsman] 3263 3264 *) Win32: Made change to apr_sendfile() to return APR_ENOTIMPL 3265 if oslevel < WINNT. This should fix several problems reported 3266 Against 2.0.28 on Windows 98 [Bill Stoddard] 3267 3268 *) Win32: Fix bug that could cause CGI scripts with QUERY_STRINGS 3269 to fail. [Bill Stoddard] 3270 3271 *) Change core code to allow an MPM to set hard thread/server 3272 limits at startup. prefork, worker, and perchild MPMs now have 3273 directives to set these limits. [Jeff Trawick] 3274 3275 *) Win32: The async AcceptEx() event should be autoreset upon 3276 successful completion of a wait (WaitForSingleObject). This 3277 eliminates a number of spurious 3278 setsockopt(SO_UPDATE_ACCEPT_CONTEXT) failed." messages. 3279 [Bill Stoddard] 3280 3281 *) Move any load library path environment variables out of 3282 apachectl and into a separate environment variable file which 3283 can be more easily tailored by the admin. The environment 3284 variable file as built by Apache may have additional system- 3285 specific settings. For example, on OS/390 we tailor the heap 3286 settings to allow lots of threads. [Jeff Trawick] 3287 3288 *) Use the new APR pool code to reduce pool-related lock 3289 contention in the worker MPM. [Sander Striker] 3290 3291 *) The POD no longer assumes the child is listening on 127.0.0.1 3292 and now pulls the first hostname in the list of listeners to 3293 perform the dummy connect on. This fixes a bug when the user 3294 had configured the Listen directive for an IP other than 3295 127.0.0.1. This would result in undead children and error 3296 messages such as "Connection refused: connect to listener". 3297 [Aaron Bannert] 3298 3299 *) The worker MPM now respects the LockFile setting, needed to 3300 avoid locking problems with NFS. [Jeff Trawick] 3301 3302 *) Fix segfault when worker MPM receives SIGHUP. 3303 [Ian Holsman, Aaron Bannert, Justin Erenkrantz] 3304 3305 *) Fix bug that could potentially prevent the perchild MPM from 3306 working with more than one vhost/uid. [Aaron Bannert] 3307 3308 *) Change make install and apxs -i processing of DSO modules to 3309 perform special handling on platforms where libtool doesn't install 3310 mod_foo.so. This fixes some wonkiness on HP-UX, Tru64, and AIX 3311 which prevented standard LoadModule statements from working. 3312 [Jeff Trawick] 3313 3314 *) Whenever mod_so is enabled (not just when there are DSOs for 3315 our modules), do whatever special magic is required for compiling/ 3316 loading third-party modules. This allows third-party DSOs to 3317 be used on an AIX build when there were no built-in modules 3318 built as DSOs. (This should help on OS/390 and BeOS as well.) 3319 [Jeff Trawick] 3320 3321 *) Allow apxs to be used to build DSOs on AIX without requiring the 3322 user to hard-code the list of import files. (This should help 3323 on OS/390 and BeOS as well.) [Jeff Trawick] 3324 3325 *) Resolved segfault in mod_isapi when configuring with ISAPICacheFile. 3326 PR 8563, 8919 [William Rowe] 3327 3328 *) Get binary builds working when libapr and libaprutil are built 3329 shared [Greg Ames] 3330 3331 *) Get shared builds of libapr and libaprutil, as well as Apache DSOs, 3332 working on AIX. [Aaron Bannert, Dick Dunbar <RLDunbar pacbell.net>, 3333 Gary Hook <ghook us.ibm.com>, Victor Orlikowski, Jeff Trawick] 3334 3335 *) Fix the handling of SSI directives in which the ">" of the 3336 terminating "-->" is the last byte in a file [Brian Pane] 3337 3338 *) Add back in the "suEXEC mechanism enabled (wrapper: /path/to/suexec)" 3339 message that we had back in apache-1.3 and still have scattered 3340 throughout our docs. [Aaron Bannert] 3341 3342 *) Prevent the Win32 port from continuing after encountering an 3343 error in the command line args to apache. [William Rowe] 3344 3345 *) On a error in the proxy, make it write a line to the error log 3346 [Ian Holsman] 3347 3348 *) Various mod_ssl performance improvements [Doug MacEachern] 3349 3350 Changes with Apache 2.0.29 3351 3352 *) Add buffering in core_output_filter to ensure that long 3353 lists of small buckets don't cause small packet writes. 3354 [Brian Pane, Ryan Bloom] 3355 3356 *) Fix the installation target to make sure that the manual is 3357 installed in the correct location. 3358 [Yoshifumi Hiramatsu <hiramatu boreas.dti.ne.jp> and 3359 Gomez Henri <hgomez slib.fr>] 3360 3361 *) Fix the cmd command for mod_include. When we are processing 3362 a cmd command, we do not want to use the r->filename to set 3363 the command name. The command comes from the SSI tag. To do this, 3364 I added a variable to the function that builds the command line 3365 in mod_cgi. This allows the include_cmd function to specify 3366 the command line itself. [Ryan Bloom] 3367 3368 *) Change open_logs hook to return a value, allowing you 3369 to flag a error while opening logs 3370 [Ian Holsman, Doug MacEachern] 3371 3372 *) Change post_config hook to return a value, allowing you 3373 to flag a error post config 3374 [Ian Holsman, Jeff Trawick] 3375 3376 *) Allow SUEXEC_BIN (the path to the suexec binary that is 3377 hard-coded into the server) to be specified to the configure 3378 script by the --with-suexec-bin parameter. [Aaron Bannert] 3379 3380 *) Fix segv in worker MPM following accept on pipe-of-death 3381 [Brian Pane] 3382 3383 *) Add mod_deflate to experimental. 3384 [Ian Holsman, Justin Erenkrantz] 3385 3386 *) Bail out at configure time if an invalid MPM was specified. 3387 [jean-frederic clere <jfrederic.clere fujitsu-siemens.com>] 3388 3389 *) Prevent segv in ap_note_basic_auth_failure() when no AuthName is 3390 configured [John Sterling <sterling covalent.net>] 3391 3392 *) Fix apxs to use sbindir. [Henri Gomez <hgomez slib.fr>] 3393 3394 *) Fix a problem with IPv6 vhosts. PR #8118 [Jeff Trawick] 3395 3396 *) Optimization for the BNDM string-search function in 3397 mod_include. [Brian Pane] 3398 3399 *) Fixed the behavior of the XBitHack directive. 3400 [Taketo Kabe <kabe sra-tohoku.co.jp>, Cliff Woolley] PR#8804 3401 3402 *) The threaded MPM for Unix has been removed. Use the worker 3403 MPM instead. [various] 3404 3405 *) APR-ize the resolver logic in mod_unique_id. This fixes a bug 3406 in logging the error from a failed DNS lookup. [Jeff Trawick] 3407 3408 *) Added the missing macros AP_INIT_TAKE13 and AP_INIT_TAKE123. 3409 [Cliff Woolley] 3410 3411 *) Get mod_cgid killed when a MPM exits due to a fatal error. 3412 [Jeff Trawick] 3413 3414 *) Fix a file descriptor leak in mod_include. When we include a 3415 file, we use a sub-request, but we didn't destroy the sub-request 3416 immediately, instead we waited until the original request was 3417 done. This patch closes the sub-request as soon as the data is 3418 done being generated. [Brian Pane <bpane pacbell.net>] 3419 3420 *) Allow modules that add sockets to the ap_listeners list to 3421 define the function that should be used to accept on that 3422 socket. Each MPM can define their own function to use for 3423 the accept function with the MPM_ACCEPT_FUNC macro. This 3424 also abstracts out all of the Unix accept error handling 3425 logic, which has become out of synch across Unix MPMs. 3426 [Ryan Bloom] 3427 3428 *) Fix a bug which would cause the response headers to be omitted 3429 when sending a negotiated ErrorDocument because the required 3430 filters were attached to the wrong request_rec. 3431 [John Sterling <sterling covalent.net>] 3432 3433 *) Remove commas from the end of the macros that define 3434 directives that are used by MPMs. Prior to this patch, 3435 you would use these macros without commas, which was unlike 3436 the macros for any other directives. Now, the caller provides 3437 the comma rather than the macro providing it. This makes 3438 the macros look more like the rest of the directives. 3439 [Ryan Bloom and Cliff Woolley] 3440 3441 *) Add 'redirect-carefully' environment option to disable sending 3442 redirects under special circumstances. This is helpful for 3443 Microsoft's WebFolders when accessing a directory resource via 3444 DAV methods. [Justin Erenkrantz] 3445 3446 *) Begin to abstract out the underlying transport layer. 3447 The first step is to remove the socket from the conn_rec, 3448 the server now lives in a context that is passed to the 3449 core's input and output filters. This forces us to be very 3450 careful when adding calls that use the socket directly, 3451 because the socket isn't available in most locations. 3452 [Ryan Bloom] 3453 3454 *) Really reset the MaxClients value in worker and threaded 3455 when the configured value is not a multiple of the number 3456 of threads per child. We said we did previously but we 3457 forgot to. [Jeff Trawick] 3458 3459 *) Add Debian layout. [Daniel Stone <daniel sfarc.net>] 3460 3461 *) If shared modules are requested and mod_so is not available, 3462 produce a fatal config-time error. [Justin Erenkrantz] 3463 3464 *) Improve http2env's performance by cutting the work it has to 3465 do. [Brian Pane <bpane pacbell.net>] 3466 3467 *) use new 'apr_hash_merge' function in mod_mime (performance fix) 3468 [Brian Pane <bpane pacbell.net>] 3469 3470 Changes with Apache 2.0.28 3471 3472 *) Fix infinite loop in mod_cgid.c. 3473 [Dale Ghent <daleg elemental.org>, Brian Pane <bpane pacbell.net>] 3474 3475 *) When no port is given in a "ServerName host" directive, the 3476 server_rec->port is now set to zero, not 80. That allows for 3477 run-time deduction of the correct server port (depending on 3478 SSL/plain, and depending also on the current setting of 3479 UseCanonicalName). This change makes redirections 3480 work, even with https:// connections. As in Apache-1.3, the 3481 connection's actual port number is never used, only the ServerName 3482 setting or the client's Host: setting. Documentation updated 3483 to reflect the change. [Martin Kraemer] 3484 3485 *) Add a '%{note-name}e' argument to mod-headers, which works in 3486 the same way as mod_log_confg. [Ian Holsman] 3487 3488 *) Fix the spelling of the AP_MPMQ_MIN_SPARE_DAEMONS and 3489 AP_MPMQ_MAX_REQUESTS_DAEMON macros in ap_mpm.h and all standard 3490 MPMs. [Cliff Woolley] 3491 3492 *) Introduce htdbm, a user management utility for db/dbm authorization 3493 databases. [Mladen Turk <mturk mappingsoft.com>] 3494 3495 *) Optimize usage of strlen and strcat in ap_directory_walk. 3496 [Brian Pane <bpane pacbell.net>] 3497 3498 Changes with Apache 2.0.27 3499 3500 *) Introduce an Apache mod_ssl initial configuration template 3501 (ssl.conf, generated from ssl-std.conf). [Ralf S. Engelschall] 3502 3503 *) Fixed a memory leak in the getline parsing code that could 3504 be triggered by arbitrarily large header lines. Requests 3505 from the core input filter for single lines are now limited 3506 to HUGE_STRING_LEN (8192 bytes). [Aaron Bannert] 3507 3508 *) Fix a truncation bug in how we print the port on the Via: header. 3509 The routine that prints the Via: header now takes a length for 3510 the port string. [Zvi Har'El <rl math.technion.ac.il>] 3511 3512 *) Some syntax errors in mod_mime_magic's magic file can result 3513 in a 500 error, which previously was unlogged. Now we log the 3514 error. [Jeff Trawick] 3515 3516 *) Add the support/checkgid helper app, which checks the run-time 3517 validity of group identifiers usable in the Group directive. 3518 [Ken Coar] 3519 3520 *) Various --enable-so options have been fixed: --enable-so is 3521 treated as "static"; explicit --enable-so=shared issues an error; 3522 and explicit --enable-so fails with error on systems without 3523 APR_HAS_DSO. [Aaron Bannert] 3524 3525 *) Fix a segfault in the core input filter when the client socket 3526 gets disconnected unexpectedly. [Cliff Woolley] 3527 3528 *) Fix the reporting for child processes that die. This removes 3529 all of the non-portable W* macros from Apache. 3530 [Jeff Trawick and Ryan Bloom] 3531 3532 *) Win32: Track and display "Parent Server Generation:" in 3533 mod_status output. The generation will be bumped at 3534 server graceful restart, when the child process exits 3535 by hitting MaxRequestsPerChild or if the child 3536 process exits abnormally. [Bill Stoddard] 3537 3538 *) Win32: Fix problem where MaxRequestsPerChild directive was 3539 not being picked up in favor of the default. Enable 3540 the parent to start up a new child process immediately upon 3541 the old child starting shutdown. 3542 [Bill Stoddard] 3543 3544 *) Fix some bungling of the remote port in rfc1413.c so that 3545 IdentityCheck retrieves the proper user id instead of failing 3546 and thus always returning "nobody." 3547 [Dick Streefland <Dick.Streefland xs4all.nl>] 3548 3549 *) Introduced thread saftey for mod_rewrite's internal cache. 3550 [Brian Pane <bpane pacbell.net>] 3551 3552 *) Simplified mod_env's directives to behave as most directives are 3553 expected, in that UnsetEnv will not unset a SetEnv and PassEnv 3554 directive following that UnsetEnv within the same container. 3555 Also provides a runtime startup warning if a PassEnv configured 3556 environment value is undefined. [William Rowe] 3557 3558 *) The worker MPM is now completely ported to APR's new lock API. It 3559 uses native APR types for thread mutexes, cross-process mutexes, 3560 and condition variables. [Aaron Bannert] 3561 3562 *) Sync up documentation to remove all references to the now deprecated 3563 Port directive. [Justin Erenkrantz] 3564 3565 *) Moved all ldap modules from the core to httpd-ldap sub-project 3566 [Ryan Bloom] 3567 3568 *) Exit when we can't listen on any of the configured ports. This 3569 is the same behavior as 1.3, and it avoids having the MPMs to 3570 deal with bogus ap_listen_rec structures. [Jeff Trawick] 3571 3572 *) Cleanup the proxy code that creates a request to the origin 3573 server. This change adds an optional hook, which allows modules 3574 to gain control while the request is created if the proxy module 3575 is loaded. The purpose of this hook is to allow modules to add 3576 input and/or output filters to the request to the origin. While 3577 I was at it, I made the core use this hook, so that proxy request 3578 creation uses some of the code from the core. This can still be 3579 greatly improved, but this is a good start. [Ryan Bloom] 3580 3581 Changes with Apache 2.0.26 3582 3583 *) Port the MaxClients changes from the worker MPM to the threaded 3584 MPM. [Ryan Bloom] 3585 3586 *) Fix mod_proxy so that it handles chunked transfer-encoding and works 3587 with the new input filtering system. [Justin Erenkrantz] 3588 3589 *) Introduce the MultiviewsMatch directive, to allow the operator 3590 to be flexible in recognizing Handlers and Filters filename 3591 extensions as part of the Multiviews matching logic, strict with 3592 MultiviewsMatch NegotiatedOnly to accept only filename extentions 3593 that designate negotiated parameters, (content type, charset, etc.) 3594 or MultiviewsAll for the 1.3 behavior of matching any files, even 3595 if they have unregistered extensions. [William Rowe] 3596 3597 *) Fixed the configure script to add a LoadModule directive to 3598 the default httpd.conf for any module that was compiled 3599 as a DSO. [Aaron Bannert <aaron clove.org>] 3600 3601 *) rewrite mod_ssl input filtering to work with the new input filtering 3602 system. [Justin Erenkrantz] 3603 3604 *) prefork: Don't segfault when we are able to listen on some but 3605 not all of the configured ports. [Jeff Trawick] 3606 3607 *) Build mod_so even if no core modules are built shared. 3608 [Aaron Bannert <aaron clove.org>] 3609 3610 *) Introduce ap_directory_walk rewrite (with further optimizations 3611 required) to adapt to the ap_process_request_internal() changes. 3612 Optimized so subrequests and redirects now reuse previous section 3613 merges, until we mismatch with the original directory_walk, and 3614 precomputed r->finfo results will cause directory_walk to skip 3615 the most expensive phases of the function. [William Rowe] 3616 3617 *) Allow ApacheMonitor to connect to and control Apache on other 3618 WinNT/2K machines. [Mladen Turk <mturk mappingsoft.com>] 3619 3620 *) Remove the Port directive. In it's place, the Listen directive 3621 is now a required directive, which tells Apache what port to 3622 listen on. The ServerName directive has also been extended 3623 to accept an optional port. If the port is specified to the 3624 ServerName, the server will report that port whenever it 3625 reports the port that it is listening on. This change was 3626 made to ease configuration errors that stem from having a Port 3627 directive, and a Listen directive. In that situation, the server 3628 would only listen to the port specified by the Listen command, 3629 which caused a lot of confusion to users. [Ryan Bloom] 3630 3631 *) Added mod_mime_magic, mod_unique_id and mod_vhost_alias to the Win32 3632 build, as loadable modules. [William Rowe] 3633 3634 *) Fix --enable-mods-shared processing. If most is specified, 3635 then all modules that can be compiled as shared modules are. 3636 [Aaron Bannert <aaron clove.org>] 3637 3638 *) Update the mime.types file to map video/vnd.mpegurl to mxu 3639 and add commonly used audio/x-mpegurl for m3u extensions. 3640 [Heiko Recktenwald <uzs106 uni-bonn.de>, Lars Eilebrecht] 3641 3642 *) Eliminate the depreciated r->content_language, in favor of the array 3643 r->content_languages introduced many years ago. Module authors must 3644 substantially overhaul their modules, so this needs to be upgraded 3645 if the module still relied on backwards-brokeness. [William Rowe] 3646 3647 *) Allow configure help strings to work with autoconf 2.50+ and 2.13. 3648 [Justin Erenkrantz] 3649 3650 *) Rewrite the input filtering mechanisms to consolidate and reorganize 3651 code. In short, core_input_filter does something now and 3652 ap_http_filter is now only concerned with HTTP. [Justin Erenkrantz] 3653 3654 *) Update the Win32 build to re-absorb mod_proxy and family. 3655 [William Rowe] 3656 3657 *) Resolved the build failure on Win32 using MSVC 5.0 (without the 3658 current SDK.) [William Rowe] 3659 3660 *) Some style changes to the code that does ProxyErrorOverride. Fixed 3661 config merge behaviour. [Graham Leggett] 3662 3663 *) Allow support programs to be compiled against a static version 3664 of libapr. This allows the smaller support programs to be 3665 relocated. [Aaron Bannert <aaron clove.org>] 3666 3667 *) Update the mime.types file to the registered media types as 3668 of 2001-09-25, and add mapping for xsl extension [Mark Cox] 3669 3670 *) Fix MaxClients in the Worker MPM, so that it specifies the maximum 3671 number of clients that can connect at the same time, instead of 3672 specifying the maximum number of child processes. 3673 [Aaron Bannert <aaron clove.org>] 3674 3675 *) Switch proc_pthread AcceptMutex configuration directive to pthread to 3676 be consistent with 1.3. [Justin Erenkrantz] 3677 3678 *) Cache apr_explode_localtime() value for 15 seconds. 3679 [Brian Pane <bpane pacbell.net>] 3680 3681 *) Fix mod_include to not return ETag or Last-Modified headers. 3682 [Ian Holsman <ianh cnet.com>] 3683 3684 *) Fix worker MPM's scoreboard logic. [Aaron Bannert <aaron clove.org>] 3685 3686 *) Eliminate the wasteful run-time conversion of method names from strings 3687 to numbers in places where the methods are known at compile time. 3688 [Brian Pane <bpane pacbell.net>] 3689 3690 *) Turn the worker MPM's queue into a LIFO. This may 3691 improve cache-hit performance under some conditions. 3692 [Aaron Bannert <aaron clove.org>] 3693 3694 *) Switch back to SIGUSR1 for graceful restarts on all platforms that 3695 support it. [Justin Erenkrantz] 3696 3697 *) Cleanup the worker MPM. We no longer re-use transaction 3698 pools. This incurs less overhead than shuffling the pools 3699 around so that they can be re-used. Remove one of the 3700 queue's condition variables. We just redefined the API to 3701 state that you can't try to add more stuff than you allocated 3702 segments for. [Aaron Bannert <aaron clove.org>] 3703 3704 *) Fix SSL VPATH builds [Cody Sherr <csherr covalent.net>] 3705 3706 *) Fixed persistent connections when a request contains a body. 3707 [Greg Stein] 3708 3709 *) mod_dav uses a new API to speak to the backend provider for dead 3710 property management. [Greg Stein] 3711 3712 *) Remove the Win32 script-processing exception from mod_cgi, and 3713 roll build_command_line/build_argv_list into a unified, overrideable 3714 ap_cgi_build_command optional function. [William Rowe] 3715 3716 *) Rewrite find_start_sequence to use a better search algorithm 3717 to find the start tag. [Justin Erenkrantz] 3718 3719 *) Fix a seg fault in mod_include. When we are generating an 3720 internal redirect, we must set r->uri to "", not a bogus 3721 string, and not NULL. [Ryan Bloom] 3722 3723 *) Optimized location_walk, so subrequests, redirects and second passes 3724 now reuse previous section merges on a <Location > by <Location > 3725 basis, until we mismatch with the original location_walk. 3726 [William Rowe] 3727 3728 *) Back out the 1.45 change to util_script.c. This change made 3729 us set the environment variable REQUEST_URI to the redirected 3730 URI, instead of the originally requested URI. 3731 [Taketo Kabe <kabe sra-tohoku.co.jp>] 3732 3733 *) Make mod_include do lazy evaluation of potentially expensive to 3734 compute variables. [Brian Pane <bpane pacbell.net>] 3735 3736 *) Fix logging of bytes sent for HEAD requests. %b and %B should 3737 log either - or 0, before this patch, they were both logging 3738 the file size. [Taketo Kabe <kabe sra-tohoku.co.jp>] 3739 3740 *) Make mod_include check for BYTE_CHECK_THRESHOLD per bucket rather 3741 than per character. [Brian Pane <bpane pacbell.net>] 3742 3743 *) Normalize the primary request, redirects and sub-requests to 3744 run the same ap_process_request_internal for consistency in 3745 robustness, behavior and security. [William Rowe] 3746 3747 *) Fix a segfault with mod_include when r->path_info is not set 3748 (which is the case with mod_proxy). [Ian Holsman <ianh cnet.com>] 3749 3750 *) Add -X functionality back. This indicates to all MPMs and any other 3751 part of Apache that it should run in "debug" mode. [Justin Erenkrantz] 3752 3753 *) Some initial support for the cygwin platform [prefork only]. 3754 This is not to be confused with support for the WinNT/Win32 3755 platform, which is the recommended configuration for native 3756 Win32 users. The cygwin platform support is recommended for 3757 cygwin platform users. [Stipe Tolj <tolj wapme-systems.de>] 3758 3759 *) Changed syntax of Set{Input|Output}Filter. The list of filters 3760 must be semicolon delimited (if more than one filter is given.) 3761 The Set{Input|Output}Filter directive now overrides a parent 3762 container's directive (e.g. SetInputFilter in <Directory /web/foo> 3763 will override any SetInputFilter directive in <Directory /web>.) 3764 This new syntax is more consistent with Add{Input|Output}Filter 3765 directives defined in mod_mime. Also cures a bug in prior releases 3766 where the Set{Input|Output}Filter directive would corrupt the 3767 global configuration if the multiple directives were nested. 3768 [William Rowe] 3769 3770 *) Cured what's ailed mime for quite some time. If an AddSomething 3771 was given in the configuration (Language, Charset, Handler or 3772 Encoding) Apache would set the content type as given by AddType, 3773 but refused to check the mime.types file if AddType wasn't given 3774 for that specific extension. Setting the AddHandler for .html 3775 without setting the AddType text/html html would cause Apache to 3776 use the default content type. [William Rowe] 3777 3778 *) Added some bulletproofing to memory allocation in the LDAP cache 3779 code. [Graham Leggett] 3780 3781 Changes with Apache 2.0.25 3782 3783 *) Move the installed /manual directory out of the /htdocs/ tree, so 3784 that it can be kept more independently from the remaining document 3785 root. The "Alias /manual ..." already allowed for easy projection 3786 into existing private document trees. [Martin Kraemer] 3787 3788 *) Add specified user attributes to the environment when using 3789 mod_auth_ldap. This allows you to use mod_include to embed specified 3790 user attributes in a page like so: 3791 Hello <!--#echo var="AUTHENTICATE_CN"-->, how are you? 3792 [Graham Leggett] 3793 3794 *) Fix a performance problem with the worker MPM. We now create 3795 transaction pools once, and re-use them for each connection. 3796 [Aaron Bannert <aaron clove.org>] 3797 3798 *) Modfied mod_mime to prevent mod_negotation from serving a multiview 3799 of a 'handler' or 'filter', so that any filename extension that does 3800 not contribute to the negotiated metadata can't be served without 3801 an explicit request. E.g., if the .Z extension is associated with 3802 an unzip filter, the user request somefile.Z.html, mod_negotiation 3803 won't serve it. It can serve somefile.Z.html when somefile.Z is 3804 requested, since the .Z extension is explictly requested, if the 3805 .html extension is associated with ContentType text/html. 3806 [William Rowe] 3807 3808 *) Introduce the AddInputFilter filter[;filter...] ext [ext...] 3809 and corresponding AddOutputFilter syntax, to insert one or more 3810 filters by mod_mime filename extension processing. 3811 [William Rowe] 3812 3813 *) Fix a growing connection pool in core_output_filter() for 3814 keepalive requests. [Jeff Trawick] 3815 3816 *) Moved split_and_pass_pretag_buckets back to being a 3817 macro at Ryans's request. Removed the return from it 3818 by setting and returning a return code instead. Updated 3819 the code to check the return code from the macro and 3820 do the right thing. [Paul J. Reder] 3821 3822 *) Fix a segfault when a numeric value was received for Host:. 3823 [Jeff Trawick] 3824 3825 *) Add a function ap_remove_input_filter. This is to match 3826 up with ap_remove_output_filter. [Ryan Bloom] 3827 3828 *) Clean up location_walk, so that this step performs a minimum 3829 amount of redundant effort (it must be run twice, but it will no 3830 longer reparse all <Location > blocks when the request uri 3831 hadn't changed.) [William Rowe] 3832 3833 *) Eliminate proxy: (and all other 'special') processing from the 3834 ap_directory_walk() phase. Modules that want to use special 3835 walk logic should refer to the mod_proxy map_to_location example, 3836 with it's proxy_walk and proxysection implementation. This makes 3837 either directory_walk flavor much more legible, since that phase 3838 only runs against real <Directory > blocks. 3839 [William Rowe] 3840 3841 *) SECURITY: Fix a security problem in mod_include which would allow 3842 an SSI document to be passed to the client unparsed. 3843 [Cliff Woolley, Brian Pane] 3844 3845 *) Introduce the map_to_storage hook, which allows modules to bypass 3846 the directory_walk and file_walk for non-file requests. TRACE 3847 shortcut moved to http_protocol.c as APR_HOOK_MIDDLE, and the 3848 directory_walk/file_walk happen as APR_HOOK_VERY_LAST in core.c. 3849 [William Rowe] 3850 3851 *) Add the ability for mod_include to add the INCLUDES filter 3852 if the file is configured for the server-parsed handler. 3853 This makes the configuration for .shtml files much easier 3854 to understand, and allows mod_include to honor Apache 1.3 3855 config files. Based on Doug MacEachern's patch to PHP 3856 to do the same thing. [Ryan Bloom] 3857 3858 *) force OpenSSL to ignore process local-caching and to always 3859 get/set/delete sessions using mod_ssl's callbacks 3860 [Madhusudan Mathihalli <madhusudan_mathihalli hp.com>, 3861 Geoff Thorpe <geoff geoffthorpe.net>] 3862 3863 *) Make the worker MPM shutdown and restart cleanly. This also 3864 cleans up some race conditions, and gets the worker using 3865 pools more cleanly. [Aaron Bannert <aaron clove.org>] 3866 3867 *) Implement CRYPTO_set_locking_callback() in terms of apr_lock 3868 for mod_ssl 3869 [Madhusudan Mathihalli <madhusudan_mathihalli hp.com>] 3870 3871 *) Fix for mod_include. Ryan's patch to check error 3872 codes put a return in the wrong place. Also, the 3873 include handler return code wasn't being checked. 3874 I don't like macros with returns, so I converted 3875 SPLIT_AND_PASS_PRETAG_BUCKETS into a function. 3876 [Paul J. Reder <rederpj raleigh.ibm.com>] 3877 3878 *) fix segv in mod_mime if no AddTypes are configured 3879 [John Sterling <sterling covalent.net>] 3880 3881 *) Enable ssl client authentication at SSL_accept time 3882 [Madhusudan Mathihalli <madhusudan_mathihalli hp.com>] 3883 3884 *) Fix a segfault in mod_include when the original request has no 3885 associated filename (e.g., we're filtering the error document for 3886 a bad URI). [Jeff Trawick] 3887 3888 *) Fix a storage leak (a strdup() call) in mod_mime_magic. [Jeff Trawick] 3889 3890 *) The prefork and OS/2 MPMs are overwriting the pid file when a second copy 3891 of httpd is started and shuts down due to socket conflict. Moving the 3892 call to ap_log_pid solves the problem. 3893 3894 *) Changed the late-1.3 log_config substitution %c to %X, to log the 3895 status of the closed connection, as it conflicts with the far more 3896 common, historical ssl logging directive %...{var}c. [William Rowe] 3897 3898 *) Added the common error/ tree to the build/install targets 3899 (similar to the common icons/ tree) for the multi-language error 3900 messages that Lars committed earlier. [William Rowe] 3901 3902 *) Added a multi process, multi threaded OS/2 MPM mpmt_os2. [Brian Havard] 3903 3904 *) Added a default commented-out mod_ldap and mod_auth_ldap 3905 configuration to httpd-std.conf and httpd-win.conf 3906 [Graham Leggett] 3907 3908 *) Added documentation for mod_ldap and mod_auth_ldap. 3909 [Graham Leggett] 3910 3911 *) Enabled negative caching on attribute comparisons in the LDAP cache. 3912 Fixed a problem where the default cache TTL was set in milliseconds 3913 not microseconds causing the cache to time out almost immediately. 3914 [Graham Leggett] 3915 3916 *) Fixed all the #if APR_HAS_SHARED_MEMORY checks within the LDAP 3917 module code to follow APR. [Graham Leggett] 3918 3919 *) Fixed LDAP cleanup on graceful restarts. LDAP connections are now 3920 cleaned up when the connection pool pool is cleaned up. 3921 [Graham Leggett] 3922 3923 *) Fix a minor issue with Jeff Trawick's mod_include 3924 patch. Without this patch, the code will just allocate 3925 more bytes in get_combined_directive than are needed. 3926 [Paul Reder] 3927 3928 *) Added the LDAP authentication module mod_auth_ldap. 3929 [Dave Carrigan <dave rudedog.org>, Graham Leggett] 3930 3931 *) Added the LDAP cache and connection pooling module mod_ldap. 3932 [Dave Carrigan <dave rudedog.org>, Graham Leggett] 3933 3934 *) Fix --enable-modules=all breakage with mod_auth_db and mod_auth_digest 3935 by allowing a module to disable itself if its prerequisites are not 3936 met. [Justin Erenkrantz] 3937 3938 Changes with Apache 2.0.24 3939 3940 *) Fix a couple of issues in mod_include when the tag appeared at 3941 offsets near 8192 in the file being parsed. [Jeff Trawick] 3942 3943 *) Fix an assertion failure in mod_ssl when the keepalive timeout is 3944 reached. [Jeff Trawick] 3945 3946 *) Numerous improvements to the Win32 build system. Introduced command line 3947 builds without requiring .mak files for MSVC 6.0 and later versions. 3948 Improved .dsp file compatibility for both Visual Studio 5.0 and 6.0 users. 3949 [William Rowe] 3950 3951 *) Assorted corrections and improvements to the winnt_mpm startup code. Better 3952 reporting of uninstalled services and other error conditions, and changed the 3953 default service name to Apache2. [William Rowe] 3954 3955 *) Numerous improvements to the Win32 ApacheMonitor utility, including winnt_mpm 3956 compatibility with existing Apache 1.3 Win32 Apache management utilites.