/[Apache-SVN]/httpd/httpd/branches/1.3.x/src/CHANGES
ViewVC logotype

Contents of /httpd/httpd/branches/1.3.x/src/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 681927 - (show annotations)
Sat Aug 2 02:24:41 2008 UTC (15 months, 2 weeks ago) by fielding
File size: 436332 byte(s)
note PR fixed ages ago
1 Changes with Apache 1.3.42
2
3
4 Changes with Apache 1.3.41
5
6 *) SECURITY: CVE-2007-6388 (cve.mitre.org)
7 mod_status: Ensure refresh parameter is numeric to prevent
8 a possible XSS attack caused by redirecting to other URLs.
9 Reported by SecurityReason. [Mark Cox]
10
11 Changes with Apache 1.3.40 (not released)
12
13 *) SECURITY: CVE-2007-5000 (cve.mitre.org)
14 mod_imap: Fix cross-site scripting issue. Reported by JPCERT.
15 [Joe Orton]
16
17 *) SECURITY: CVE-2007-3847 (cve.mitre.org)
18 mod_proxy: Prevent reading past the end of a buffer when parsing
19 date-related headers. PR 41144.
20 With Apache 1.3, the denial of service vulnerability applies only
21 to the Windows and NetWare platforms.
22 [Jeff Trawick]
23
24 *) More efficient implementation of the CVE-2007-3304 PID table
25 patch. This fixes issues with excessive memory usage by the
26 parent process if long-running and with a high number of child
27 process forks during that timeframe. Also fixes bogus "Bad pid"
28 errors. [Jim Jagielski, Jeff Trawick]
29
30 Changes with Apache 1.3.39
31
32 *) SECURITY: CVE-2006-5752 (cve.mitre.org)
33 mod_status: Fix a possible XSS attack against a site with a public
34 server-status page and ExtendedStatus enabled, for browsers which
35 perform charset "detection". Reported by Stefan Esser. [Joe Orton]
36
37 *) SECURITY: CVE-2007-3304 (cve.mitre.org)
38 Ensure that the parent process cannot be forced to kill non-child
39 processes by checking scoreboard PID data with parent process
40 privately stored PID data. [Jim Jagielski]
41
42 *) mime.types: Many updates to sync with IANA registry and common
43 unregistered types that the owners refuse to register. Admins
44 are encouraged to update their installed mime.types file.
45 PR: 35550, 37798, 39317, 31483 [Roy T. Fielding]
46
47 There was no Apache 1.3.38
48
49 Changes with Apache 1.3.37
50
51 *) SECURITY: CVE-2006-3747 (cve.mitre.org)
52 mod_rewrite: Fix an off-by-one security problem in the ldap scheme
53 handling. For some RewriteRules this could lead to a pointer being
54 written out of bounds. Reported by Mark Dowd of McAfee.
55 [Mark Cox]
56
57 Changes with Apache 1.3.36
58
59 *) Reverted SVN rev #396294 due to unwanted regression.
60 The new feature introduced in 1.3.35 (Allow usage of the
61 "Include" configuration directive within previously "Include"d
62 files) has been removed in the meantime.
63 (http://svn.apache.org/viewcvs?rev=396294&view=rev)
64
65 Changes with Apache 1.3.35
66
67 *) SECURITY: CVE-2005-3352 (cve.mitre.org)
68 mod_imap: Escape untrusted referer header before outputting in HTML
69 to avoid potential cross-site scripting. Change also made to
70 ap_escape_html so we escape quotes. Reported by JPCERT.
71 [Mark Cox]
72
73 *) core: Allow usage of the "Include" configuration directive within
74 previously "Include"d files. [Colm MacCarthaigh]
75
76 *) SECURITY: CVE-2006-3918 (cve.mitre.org)
77 HTML-escape the Expect error message. Only a security issue if
78 an attacker can influence the Expect header a victim will send to a
79 target site (it's known that some versions of Flash can do this)
80 Reported by Thiago Zaninotti <thiango nstalker.com>. [Mark Cox]
81
82 *) mod_cgi: Remove block on OPTIONS method so that scripts can
83 respond to OPTIONS directly rather than via server default.
84 [Roy Fielding] PR 15242
85
86 Changes with Apache 1.3.34
87
88 *) hsregex: fix potential core dumping on 64 bit machines, such as
89 AMD64. PR 31858. [Glenn Strauss < gs-apache-dev gluelogic.com>]
90
91 *) SECURITY: core: If a request contains both Transfer-Encoding and
92 Content-Length headers, remove the Content-Length, mitigating some
93 HTTP Request Splitting/Spoofing attacks. This has no impact on
94 mod_proxy_http, yet affects any module which supports chunked
95 encoding yet fails to prefer T-E: chunked over the Content-Length
96 purported value. [Paul Querna, Joe Orton]
97
98 *) Added TraceEnable [on|off|extended] per-server directive to alter
99 the behavior of the TRACE method. This addresses a flaw in proxy
100 conformance to RFC 2616 - previously the proxy server would accept
101 a TRACE request body although the RFC prohibited it. The default
102 remains 'TraceEnable on'.
103 [William Rowe]
104
105 *) mod_digest: Fix another nonce string calculation issue.
106 [Eric Covener]
107
108 Changes with Apache 1.3.33
109
110 *) SECURITY: CVE-2004-0940 (cve.mitre.org)
111 mod_include: Fix potential buffer overflow with escaped characters
112 in SSI tag string. [Martin Kraemer, Jim Jagielski]
113
114 Changes with Apache 1.3.32
115
116 *) mod_rewrite: Fix query string handling for proxied URLs. PR 14518.
117 [michael teitler <michael.teitler cetelem.fr>,
118 Jan Kratochvil <rcpt-dev.AT.httpd.apache.org jankratochvil.net>]
119
120 *) mod_rewrite: Fix 0 bytes write into random memory position.
121 PR 31036. [André Malo]
122
123 *) mod_digest: Fix nonce string calculation since 1.3.31 which
124 would force re-authentication for every connection if
125 AuthDigestRealmSeed was not configured. PR 30920. [Joe Orton]
126
127 *) Trigger an error when a LoadModule directive attempts to
128 load a module which is built-in. This is a common error when
129 switching from a DSO build to a static build.
130 [Jeff Trawick, Geoffrey Young]
131
132 *) Fix trivial bug in mod_log_forensic that caused the child
133 to seg fault when certain invalid requests were fired at it with
134 forensic logging is enabled. PR 29313.
135 [Will Slater <Will Slater orbisuk.com>]
136
137 *) Fix memory leak in the cache handling of mod_rewrite. PR 27862.
138 [chunyan sheng <shengperson yahoo.com>, André Malo]
139
140 *) mod_rewrite no longer confuses the RewriteMap caches if
141 different maps defined in different virtual hosts use the
142 same map name. PR 26462. [André Malo]
143
144 *) mod_setenvif: Remove "support" for Remote_User variable which
145 never worked at all. PR 25725. [André Malo]
146
147 *) mod_usertrack: Escape the cookie name before pasting into the
148 regexp. [André Malo]
149
150 *) Win32: Improve error reporting after a failed attempt to spawn a
151 piped log process or rewrite map process. [Jeff Trawick]
152
153 *) SECURITY: CVE-2004-0492 (cve.mitre.org)
154 Reject responses from a remote server if sent an invalid (negative)
155 Content-Length. [Mark Cox]
156
157 *) Fix a bunch of cases where the return code of the regex compiler
158 was not checked properly. This affects mod_usertrack and
159 core. PR 28218. [André Malo]
160
161 *) No longer breaks mod_dav, frontpage and others. Repair a patch
162 in 1.3.31 which prevented discarding the request body for requests
163 that will be keptalive but are not currently keptalive. PR 29237.
164 [Jim Jagielski, Rasmus Lerdorf]
165
166 *) COMPATIBILITY: Added new compile-time flag: UCN_OFF_HONOR_PHYSICAL_PORT.
167 It controls how UseCanonicalName Off determines the port value if
168 the client doesn't provide one in the Host header. If defined during
169 compilation, UseCanonicalName Off will use the physical port number to
170 generate the canonical name. If not defined, it tries the current Port
171 value followed by the default port for the current scheme.
172 [Jim Jagielski]
173
174 Changes with Apache 1.3.31
175
176 *) SECURITY: CVE-2003-0987 (cve.mitre.org)
177 Verification as to whether the nonce returned in the client response
178 is one we issued ourselves by means of a AuthDigestRealmSeed secret
179 exposed as an md5(). See mod_digest documentation for more details.
180 The experimental mod_auth_digest.c does not have this issue.
181 [Dirk-Willem van Gulik, Jeff Trawick, Jim Jagielski]
182
183 Changes with Apache 1.3.30
184
185 *) Fix memory corruption problem with ap_custom_response() function.
186 The core per-dir config would later point to request pool data
187 that would be reused for different purposes on different requests.
188 [Will Lowe, Jeff Trawick]
189
190 *) Reinit socket to allow mod_proxy to continue to try
191 connections when invalid IPs are accessed. PR 27542.
192 [Alexander Prohorenko <white extrasy.net>]
193
194 *) SECURITY: CVE-2004-0174 (cve.mitre.org)
195 Fix starvation issue on listening sockets where a short-lived
196 connection on a rarely-accessed listening socket will cause a
197 child to hold the accept mutex and block out new connections until
198 another connection arrives on that rarely-accessed listening socket.
199 Enabled for some platforms known to have the issue (accept()
200 blocking after select() returns readable). Define
201 NONBLOCK_WHEN_MULTI_LISTEN if needed for your platform and not
202 already defined. [Jeff Trawick, Brad Nicholes, Joe Orton]
203
204 *) SECURITY: CVE-2003-0993 (cve.mitre.org)
205 Fix parsing of Allow/Deny rules using IP addresses without a
206 netmask; issue is only known to affect big-endian 64-bit
207 platforms; on affected platforms such rules would never produce
208 matches. PR 23850. [Henning Brauer <henning openbsd.org>]
209
210 *) Fix mod_include's expression parser to recognize strings correctly
211 even if they start with an escaped token. [André Malo]
212
213 *) The whole codebase was relicensed and is now available under
214 the Apache License, Version 2.0 (http://www.apache.org/licenses).
215 [Apache Software Foundation]
216
217 *) Add mod_whatkilledus and mod_backtrace (experimental) for
218 reporting diagnostic information after a child process crash.
219 See source code for documentation.
220 [Jeff Trawick, with help from mod_log_forensic]
221
222 *) mod_usertrack no longer inspects the Cookie2 header for
223 the cookie name. PR 11475. [Chris Darrochi <chrisd pearsoncmg.com>]
224
225 *) mod_usertrack no longer overwrites other cookies.
226 PR 26002. [Scott Moore <apache nopdesign.com>]
227
228 *) Add fatal exception hook for running diagnostic code after a
229 crash. [Jeff Trawick]
230
231 *) Make REMOTE_PORT variable available in mod_rewrite.
232 PR 25772. [André Malo]
233
234 *) Forensic logging shouldn't log internal redirects.
235 [Ivan Ristic <ivanr webkreator.com>]
236
237 *) Some syntax errors in mod_mime_magic's magic file can result
238 in a 500 error, which previously was unlogged. Now we log the
239 error. PR 8329. [Jeff Trawick]
240
241 *) Linux 2.4+: If Apache is started as root and you code
242 CoreDumpDirectory, coredumps are enabled via the prctl() syscall.
243 Backport of a 2.x feature by Greg Ames. [Jeff Trawick]
244
245 *) Fix bug causing core dump when using CookieTracking without
246 specifying a CookieName directly. Bugz# 24483.
247 [Manni Wood <manniwood planet-save.com>, Jim Jagielski (backport)]
248
249 *) Fix RewriteBase directive to not add double slashes. [André Malo]
250
251 *) mod_rewrite: In external rewrite maps lookup keys containing
252 a newline now cause a lookup failure. PR 14453.
253 [Cedric Gavage <cedric.gavage unixtech.be>, André Malo]
254
255 *) Forensic logging module added (mod_log_forensic).
256 [Ben Laurie]
257
258 *) SECURITY: CVE-2003-0020 (cve.mitre.org)
259 Escape arbitrary data before writing into the errorlog. Unescaped
260 errorlogs are still possible using the compile time switch
261 "-DAP_UNSAFE_ERROR_LOG_UNESCAPED". [Geoffrey Young, André Malo]
262
263 *) '%X' is now accepted as an alias for '%c' in the
264 LogFormat directive. This allows you to configure logging
265 to still log the connection status even with mod_ssl
266 (which changes what '%c' means). [Jim Jagielski]
267
268 *) UseCanonicalName off was ignoring the client provided
269 port information. [Jim Jagielski]
270
271 Changes with Apache 1.3.29
272
273 *) SECURITY: CVE-2003-0542 (cve.mitre.org)
274 Fix buffer overflows in mod_alias and mod_rewrite which occurred if
275 one configured a regular expression with more than 9 captures.
276 [André Malo]
277
278 *) Within ap_bclose(), ap_pclosesocket() is now called consistently
279 for sockets and ap_pclosef() for files. Also, closesocket()
280 is used consistenly to close socket fd's. The previous
281 confusion between socket and file fd's would cause problems
282 with some applications now that we proactively close fd's to
283 prevent leakage. PR 22805
284 [Radu Greab <rgreab fx.ro>, Jim Jagielski]
285
286 *) If a request fails and the client will be redirected to another URL
287 due to ErrorDocument, see if we need to drop the connection after
288 sending the 302 response. This fixes a problem where Apache treated
289 the body of the failed request as the next request on a keepalive
290 connection. The subsequent 501 error sent to the browser prevented
291 some browsers from fetching the error document. [Jeff Trawick]
292
293 *) Fixed mod_usertrack to not get false positive matches on the
294 user-tracking cookie's name. PR 16661.
295 [Manni Wood <manniwood planet-save.com>]
296
297 *) Enabled RFC1413 ident functionality for both Win32 and
298 NetWare platforms. This also included an alternate thread safe
299 implementation of the socket timout functionality when querying
300 the identd daemon.
301 [Brad Nicholes, William Rowe]
302
303 *) Prevent creation of subprocess Zombies when using CGI wrappers
304 such as suExec and cgiwrap. PR 21737. [Numerous]
305
306 *) ab: Overlong credentials given via command line no longer clobber
307 the buffer. [André Malo]
308
309 *) Fix ProxyPass for ftp requests - the original code was segfaulting since
310 many of the values were not being filled out in the request_rec.
311 [Tollef Fog Heen <tfheen debian.org>, Thom May]
312
313 Changes with Apache 1.3.28
314
315 *) SECURITY: CVE-2003-0460 (cve.mitre.org)
316 Fix the rotatelogs support program on Win32 and OS/2 to ignore
317 special control characters received over the pipe. Previously
318 such characters could cause rotatelogs to quit logging and exit.
319 [André Malo]
320
321 *) Prevent the server from crashing when entering infinite loops. The
322 new LimitInternalRecursion directive configures limits of subsequent
323 internal redirects and nested subrequests, after which the request
324 will be aborted. PR 19753 (and probably others).
325 [William Rowe, Jeff Trawick, Jim Jagielski, André Malo]
326
327 *) Fix NULL-pointer issue in ab when parsing an incomplete or non-HTTP
328 response. PR 21085. [Glenn Nielsen <glenn apache.org>, André Malo]
329
330 *) Removed BIND_NOSTART from HP/UX shl_load() logic for loadable
331 Apache modules, so that statics are initialized when the module
332 is loaded (especially critical for c++ modules on HPUX.)
333 [William Rowe, Noah Arliss <narliss netegrity.com>]
334
335 *) Win32 build system changes; always recompile buildmark.c (used for
336 Apache -v 'server built' messages) even when Apache is built from
337 within the IDE; build test_char.h and uri_delims.h from within the
338 ApacheCore.dsp project. PR 12706. [William Rowe]
339
340 *) Introduce Win32 .pdb diagnostic symbols into the Apache 1.3 build
341 (as created in Apache 2.0.45 and later.) Makes debugging and
342 analysis of crash dumps and Dr. Watson logs trivial. Requires the
343 Win32 binary builder to set aside the exact .pdb files that match
344 the released binaries (.exe/.so files) for reference by users and
345 developers. [William Rowe]
346
347 *) Make sure the accept mutex is released before calling child exit
348 hooks and cleanups. Otherwise, modules can segfault in such code
349 and, with pthread mutexes, leave the server deadlocked. Even if
350 the module doesn't segfault, if it performs extensive processing
351 it can temporarily prevent the server from accepting new
352 connections. [Jeff Trawick]
353
354 *) Fix mod_rewrite's handling of absolute URIs. The escaping routines
355 now work scheme dependent and the query string will only be
356 appended if supported by the particular scheme. [André Malo]
357
358 *) Use appropriate language codes for Czech (cs) and Traditional Chinese
359 (zh-tw) in default config files. PR 9427. [André Malo]
360
361 *) Don't block synchronous signals (e.g., SIGSEGV) while waiting for
362 and holding a pthread accept mutex. [Jeff Trawick]
363
364 *) AIX: Change the default accept mechanism from pthread back to
365 fcntl. Idle child cleanup doesn't work when the child selected
366 for termination by the parent is waiting on a pthread mutex, and
367 because the AIX kernel's notion of hot process is apparently the
368 same as Apache's, it is common for the Apache parent to continually
369 select a child for termination that the kernel will leave waiting
370 on the mutex for extended periods of time. There are other
371 concerns with pthread mutexes as well, such as the ability to
372 deadlock the server if a child process segfaults while holding the
373 mutex. [Jeff Trawick]
374
375 *) Fix a pair of potential buffer overflows in htdigest
376 [Martin Schulze <joey infodrom.org>, Thom May]
377
378 *) A newly created child now has a start_time of 0, to prevent
379 mod_status from displaying a bogus value for the "time to
380 process most recent request" column for freshly-started children
381 in a previously-used scoreboard slot. [Martin Kraemer]
382
383 *) When using Redirect in directory context, append requested query
384 string if there's no one supplied by configuration. PR 10961.
385 [André Malo]
386
387 *) Fix path handling of mod_rewrite, especially on non-unix systems.
388 There was some confusion between local paths and URL paths.
389 PR 12902. [André Malo]
390
391 *) backport from 2.x series: Prevent endless loops of internal redirects
392 in mod_rewrite by aborting after exceeding a limit of internal redirects.
393 The limit defaults to 10 and can be changed using the RewriteOptions
394 directive. PR 17462. [André Malo]
395
396 *) Use the correct locations of srm.conf and access.conf when tailoring
397 the httpd.conf during the install process. PR 9446.
398 [Stanislav Brabec <utx penguin.cz>]
399
400 *) suexec: Be more pedantic when cleaning environment. Clean it
401 immediately after startup. PR 2790, 10449.
402 [Jeff Stewart <jws purdue.edu>, André Malo]
403
404 *) Fix apxs to insert LoadModule/AddModule directives only outside of
405 sections. PR 8712, 9012. [André Malo]
406
407 *) Fix suexec compile error under SUNOS4, where strerror() doesn't
408 exist. PR 5913, 9977.
409 [Jonathan W Miner <Jonathan.W.Miner lmco.com>]
410
411 *) Unix build: Add support for environment variable
412 EXTRA_LDFLAGS_SHLIB, which allows the user to add to the hard-coded
413 ld flags specified for DSOs. Compare with the existing LDFLAGS_SHLIB
414 environment variable, which allows the user to completely replace the
415 hard-coded ld flags specified for DSOs. [Jeff Trawick]
416
417 *) mod_auth_digest no longer tries to guess AuthDigestDomain, if it's
418 not specified. Now it assumes "/" as already documented. PR 16937.
419 [André Malo]
420
421 *) In configure always assume suexec-umask to be an octal value by
422 prepending a "0". PR 16984. [André Malo]
423
424 *) Fix typo in suexec -V output. PR 9034.
425 [Youichirou Koga <y-koga apache.or.jp>]
426
427 *) Fix bug where 'Satisfy Any' without an AuthType resulted in an
428 "Internal Server Error" response. PR 9076. [André Malo]
429
430 *) mod_rewrite: Allow "RewriteEngine Off" even if no
431 "Options FollowSymlinks" (or SymlinksIfOwnermatch) is set.
432 PR 12395. [André Malo]
433
434 *) Change the log messages for setsockopt(TCP_NODELAY) and
435 getsockname() failures to log the client IP address and to
436 change the log level to debug. [Jeff Trawick]
437
438 *) Correction to mod_negotation for Win32, OS2, Netware etc, where
439 case insensitive requests such as the HEADER or README search
440 from autoindex would fail to match HEADER.html (because the
441 system internally looked for the case-sensitive header.* pattern.)
442 PR 7300 [William Rowe]
443
444 *) Correction to mod_autoindex so that only text/* files (prefering
445 /html, then /plain, then some other flavor) can be recovered
446 from a multiview-based HEADER or README subrequest.
447 [William Rowe]
448
449 *) Improvements to mod_usertrack that allows for a regular (verbose)
450 as well as "compact" version of the tracking cookie (the new
451 'CookieFormat' directive), and the ability to prepend a string
452 to the cookie via the 'CookiePrefix' directive.
453 [Pål Løberg <pallo initio.no>, with cleanup by Jim Jagielski]
454
455 *) Certain 3rd party modules would bypass the Apache API and not
456 invoke ap_cleanup_for_exec() before creating sub-processes.
457 To such a child process, Apache's file descriptors (lock
458 fd's, log files, sockets) were accessible, allowing them
459 direct access to Apache log file etc. Where the OS allows,
460 we now add proactive close functions to prevent these file
461 descriptors from leaking to the child processes.
462 [Jim Jagielski, Martin Kraemer]
463
464 *) Prevent obscenely large values of precision in ap_vformatter
465 from clobbering a buffer. [Sander Striker, Jim Jagielski]
466
467 *) NetWare: implemented ap_os_default_port() to resolve the
468 correct default port based on the request method. This fixes
469 a URL reconstruction problem on a redirect.
470 [Pavel Novy <novy feld.cvut.cz>]
471
472 *) Added new ap_register_cleanup_ex() API function which allows
473 for a "magic" cleanup function to be run at register time
474 rather than at cleanup time. Also added the
475 ap_note_cleanups_for_(socket|fd|file)_ex() API functions
476 which allows for control over whether that magic cleanup
477 should be called or not. This does not change the default
478 behavior of the non-"ex" function (eg: ap_register_cleanup).
479 [Jim Jagielski, concept by Ben Laurie]
480
481 *) PORT: Take advantage of OpenBSD's arc4random() function for the
482 initial secret [Henning Brauer <hb-apache-dev at bsws.de>]
483
484 *) If Listen directive is not a port, but just an IP, emit an
485 error condition as this case is ambiguous.
486 [Rich Bowen, Justin Erenkrantz, Cliff Woolley]
487
488 *) Update timeout algorithm in free_proc_chain. If a subprocess
489 did not exit immediately, the thread would sleep for 3 seconds
490 before checking the subprocess exit status again. In a very
491 common case when the subprocess was an HTTP server CGI script,
492 the CGI script actually exited a fraction of a second into the 3
493 second sleep, which effectively limited the server to serving one
494 CGI request every 3 seconds across a persistent connection.
495 PRs 6961, 8664 [Bill Stoddard]
496
497 *) mod_setenvif: Add SERVER_ADDR special keyword to allow
498 envariable setting according to the server IP address
499 which received the request. [Ken Coar]
500
501 *) PORT: Enable SINGLE_LISTEN_UNSERIALIZED_ACCEPT for AIX 4.3.2
502 and above. Update AIX configure logic to allow higher AIX
503 release numbers without having to change Apache.
504 [Jeff Trawick]
505
506 Changes with Apache 1.3.27
507
508 *) SECURITY: CVE-2002-0840 (cve.mitre.org)
509 Prevent a cross-site scripting vulnerability in the default
510 error page. The issue could only be exploited if the directive
511 UseCanonicalName is set to Off and a server is being run at
512 a domain that allows wildcard DNS. [Matthew Murphy]
513
514 *) SECURITY: CVE-2002-0843 (cve.mitre.org)
515 Fix some possible overflows in ab.c that could be exploited by
516 a malicious server. Reported by David Wagner. [Jim Jagielski]
517
518 *) Included a patch submitted by Sander van Zoest (#9181) and
519 written by Michael Radwin whichs is essentially a work around
520 for the adding headers to error responses. As apache does not
521 go through the proper chain for non 2xx responses. This patch
522 adds an ErrorHeader directive; which is for non 2xx replies the
523 direct analog of the existing Header directive. This is usefull
524 during 3xx redirects or more complex 4xx auth schemes. [Dirk-
525 Willem van Gulik]
526
527 *) Included the patch submitted by Sander van Zoest (#12712) which
528 prevents just 'anything' being sucked in when doing gobbeling in
529 complete directories - such as editor backup files and other
530 cruft. This patch allows us to tailor/control this properly by
531 allowing simple wildcards such as *.conf. [Dirk-Willem van Gulik]
532
533 *) SECURITY: CVE-2002-0839 (cve.mitre.org)
534 Add the new directive 'ShmemUIDisUser'. By default, Apache
535 will no longer set the uid/gid of SysV shared memory scoreboard
536 to User/Group, and it will therefore stay the uid/gid of
537 the parent Apache process. This is actually the way it should
538 be, however, some implementations may still require this, which
539 can be enabled by 'ShmemUIDisUser On'. Reported by iDefense.
540 [Jim Jagielski]
541
542 *) Fix a problem with the definition of union semun which broke
543 System V semaphores on systems where sizeof(int) != sizeof(long).
544 PR 12072 [<winterling de.ibm.com>]
545
546 *) The protocol version (eg: HTTP/1.1) in the request line parsing
547 is now case insensitive. This closes a few PRs and implies that
548 ProtocolReqCheck will trigger on *true* invalid protocols.
549 [Jim Jagielski]
550
551 *) Relaxed mod_digest its parsing in order to make it work
552 with iCal's "WebDAVFS/1.2 (01208000) Darwin/6.0 (Power Macintosh)"
553 User-Agent. Apache (incorrectly) insisted on a quoted URI's
554 in the uri field of the Authorization client header. Not
555 yet done for EBCDIC plaforms.
556 [Dirk-Willem van Gulik]
557
558 *) Back out an older patch for PR 9932, which had some incorrect
559 behavior. Instead, use a backport of the APR fix. This has
560 the nice effect that ap_snprintf() can now distinguish between
561 an output which was truncated, and an output which exactly
562 filled the buffer. [Jim Jagielski]
563
564 *) The cache in mod_proxy was incorrectly updating the Content-Length
565 value (to 0) from 304 responses when doing validation. Bugz#10128
566 [Paul Terry <paul.terry gmx.net>, <ast domdv.de>, Jim Jagielski]
567
568 *) Added support for Berkeley-DB/4.x to mod_auth_db.
569 [Martin Kraemer]
570
571 *) PR 10993: add image/x-icon to default httpd.conf files
572 [Ian Holsman, Peter Bieringer <pb bieringer.de>
573
574 *) Fix a problem in proxy where headers from other modules were
575 added to the response headers when this was already done in the
576 core already. This resulted in header (and therefore cookie)
577 duplication. [Martijn Schoemaker <martijn osp.nl>]
578
579 *) Fix FileETags none operation. PR 12202.
580 [Justin Erenkrantz, Andrew Ho <andrew tellme.com>]
581
582 *) Win32: Fix one byte buffer overflow in ap_get_win32_interpreter
583 when a CGI script's #! line does not contain a \r or \n (i.e.
584 a line feed character) in the first 1023 bytes. The overflow
585 is always a '\0' (string termination) character.
586
587 *) Add new "suppress-error-charset" environment variable to
588 allow a BrowserMatch workaround for clients that incorrectly
589 use the charset of a redirect as the charset of the target.
590 [Ken Coar]
591
592 *) Support Caldera OpenUNIX 8. [Larry Rosenman <ler lerctr.org>]
593
594 *) Use SysV semaphores by default on OpenBSD. [Henning Brauer
595 <hb-apache-dev bsws.de>]
596
597 *) httpd -V will now also print out the compile time defined
598 HARD_SERVER_LIMIT value. [Dirk-Willem van Gulik].
599
600 *) In 1.3.26, a null or all blank Content-Length field would be
601 triggered as an error; previous versions would silently ignore
602 this and assume 0. As a special case, we now allow this and
603 behave as we previously did. HOWEVER, previous versions would
604 also silently accept bogus C-L values; We do NOT do that. That
605 *is* an invalid value and we treat it as such.
606 [Jim Jagielski]
607
608 *) Add ProtocolReqCheck directive, which determines if Apache will
609 check for a valid protocol string in the request (eg: HTTP/1.1)
610 and return HTTP_BAD_REQUEST if not valid. Versions of Apache
611 prior to 1.3.26 would silently ignore bad protocol strings, but
612 1.3.26 included a more strict check. This makes it runtime
613 configurable. The default is On. This also removes the requirement
614 on an ANSI sscanf() implementation. [Jim Jagielski]
615
616 *) NetWare: implemented file locking in mod_rewrite for the NetWare
617 CLib platform. This fixes a bug that prevented rewrite logging
618 from working. [Brad Nicholes]
619
620 Changes with Apache 1.3.26
621
622 *) Potential NULL referencing fixed in the CGI module. It had
623 been there for 5 years. [Justin Erenkrantz]
624
625 *) Ensure that we set the result value in ap_strtol before
626 we return it. [Justin Erenkrantz, Jim Jagielski]
627
628 Changes with Apache 1.3.25
629
630 *) SECURITY: CVE-2002-0392 (cve.mitre.org) [CERT VU#944335]
631 Code changes required to address and close chunked
632 encoding security issues. To support this, we utilize the ANSI
633 functionality of strtol, and provide ap_strtol for completeness.
634 [Aaron Bannert, Justin Erenkrantz, Jim Jagielski, Brian Pane,
635 William Rowe, Cliff Woolley]
636
637 *) PORT: With OpenBSD 3.1 and up, allow modules to work on their
638 ELF-based architectures. [Brad <brad openbsd.org>]
639
640 *) Add X-Forwarded-Host and X-Forwarded-Server to X-Forwarded-For
641 to the proxy. [Thomas Eibner <thomas stderr.net>]
642
643 *) Fix a problem in mod_proxy: it would not set the number of bytes
644 transferred, so other modules could not access the value from
645 the request_rec->bytes_sent field.
646 [Anthony Howe <achowe at snert.com>] PR#6841
647
648 *) Fix a problem in mod_rewrite which would lead to 400 Bad Request
649 responses for rewriting rules which resulted in a local path.
650 Note: This will also reject invalid requests like
651 "HEAD /roaming/martin/IMAP localhost HTTP/1.0" as issued by
652 Netscape-4.x Roaming Profiles (on a DAV-enabled server)
653 [Martin Kraemer]
654
655 *) SECURITY: CVE-2003-0083 (cve.mitre.org)
656 Disallow anything but whitespace on the request line after the
657 HTTP/x.y protocol string. That prevents arbitrary user input
658 from ending up in the access_log and error_log. Also, special
659 characters (especially control characters) are escaped in the
660 log file now, to make a clear distinction between client-supplied
661 strings (with special characters) and server-side strings.
662 [Martin Kraemer]
663
664 *) Get rid of DEFAULT_XFERLOG as it is not used anywhere. It was
665 preserved by the build system, printed with "httpd -V", but
666 apart from that completely ignored: the default transfer log
667 is to not produce any transfer log.
668 [Martin Kraemer]
669
670 *) Fixed sending of binary files under Cygwin. PR 9185.
671 [Cliff Woolley]
672
673 *) Added Cygwin directory layout to config.layout file.
674 [Stipe Tolj, <tolj wapme-systems.de>]
675
676 *) Added a '-F' flag; which causes the mother/supervisor process to
677 no longer fork down and detach. But instead stays attached to
678 the tty - thus making live for automatic restart and exit checking
679 code easier. [ Contributed by Michael Handler <handler grendel.net>,
680 Jos Backus <jos catnook.com> [ Dirk-Willem van Gulik ]].
681
682 *) Make apxs.pl more flexible (file extensions like .so or .dll are
683 no longer hardcoded). [Stipe Tolj <tolj wapme-systems.de>]
684
685 *) Add an intelligent error message should no proxy submodules be
686 valid to handle a request. PR 8407 [Graham Leggett]
687
688 *) Allow child processes sufficient time for cleanups but making
689 ap_select in reclaim_child_processes more "resistant" to
690 signal interupts. Bugz# 8176
691 [David Winterbourne <davidw financenter.com>, Jim Jagielski]
692
693 *) Recognize platform specific root directories (other than
694 leading slash) in mod_rewrite for filename rewrite rules.
695 Bugz# 7492 [William Rowe]
696
697 *) For supported versions of Darwin, place dynamically loaded
698 Apache extensions' public symbols into the global symbol
699 table. This allows dynamically loaded PHP extensions.
700 [Marko Karppinen <markonen php.net>]
701
702 *) Correct proxy to be able to handle the unexpected 100-continue
703 reponses sent during PUT or POST requests. [Graham Leggett]
704
705 *) Correct a timeout problem within proxy which would force long
706 or slow POST requests to close after 300 seconds.
707 [Martin Lichtin <martin lichtin.net>, Brian Bothwell
708 <brian.bothwell wisdomtools.com>]
709
710 *) Add support for dechunking chunked responses in proxy.
711 [Graham Leggett]
712
713 *) Made AB's use of the Host: header rfc2616 compliant
714 by Taisuke Yamada <tai iij.ad.jp> [Dirl-Willem van Gulik].
715
716 *) Update the Red Hat Layout to match Red Hat Linux version 7.
717 PR BZ-7422 [Joe Orton]
718
719 *) Add some popular types to the mime magic file. PR 7730.
720 [Linus Walleij <triad df.lth.se>, Justin Erenkrantz]
721
722 *) Tighten up the overridden-Server-header bugfix in the proxy, by
723 only overriding if the request is a proxy request. It has been
724 pointed out that the previous fix allows CGIs and modules to
725 override the Server header, which is change to previous behavior.
726 [Graham Leggett, Joshua Slive]
727
728 *) Another fix for the multiple-cookie header bug in proxy. With some
729 luck this bug is actually now dead. [Graham Leggett]
730
731 Changes with Apache 1.3.24
732
733 *) Fixed a segfault in mod_include when #if, #elif, #else, or #endif
734 directives were improperly terminated. [Cliff Woolley]
735
736 *) Win32 SECURITY: CVE-2002-0061 (cve.mitre.org)
737 Introduce proper escaping of command.com and cmd.exe for Win32.
738 These patches close vulnerability CVE-2002-0061, identified and
739 reported by Ory Segal <ory.segal sanctuminc>, by which any CGI
740 invocation of .bat or .cmd files could compromise the system
741 when the .bat or .cmd was parsed the query args as an argument
742 to either cmd.exe /c or command.com /c. [William Rowe]
743
744 *) Add % and \r [C/R] to the dangerous Win32 shell character list.
745 Retain the Unix sh escapes list for compatibility.
746 [William Rowe]
747
748 *) Pass the command line to the cmd.exe /c interpreter double quoted.
749 This fixes a bug that CGI args ending in a double-quote would
750 cause invocation to fail. Also, treat command.com as a 16-bit
751 executable. [William Rowe]
752
753 *) Win32; Never invoke cmd or bat scripts based on the registry, even
754 for 'ScriptInterpreterSource Registry' enabled. [William Rowe]
755
756 *) Provide Win32 users a log of the cgi command invoked, to assist
757 in debugging scripts at LogLevel info. Also provide env vars
758 at LogLevel debug for additional help to admins troubleshooting
759 the ever mysterious "Premature end of script headers" error.
760 [Aaron Bannert]
761
762 *) Added the 'CGICommandArgs off' directive, to allow admins
763 to disable the query argument passing mechanism in Apache,
764 if future CGI argument vulnerabilities should be discovered.
765 This defaults to 'on', meaning isindex-style query arguments
766 are enabled. [Aaron Bannert]
767
768 *) When a proxied site was being served, Apache was replacing
769 the original site Server header with it's own, which is not
770 allowed by RFC2616. Fixed. [Graham Leggett]
771
772 *) Fixed the previous multiple-cookie fix in the proxy. Cookies
773 are broken in that they contain dates which in turn contain
774 commas - so merging and then unmerging them breaks Set-Cookie
775 headers. Sigh. [Graham Leggett]
776
777 *) Add ap_uuencode to the httpd.exp exports file used by
778 the AIX linker. [Bill Stoddard]
779
780 *) Win32: Ignore AcceptMutex directive if it is present
781 [Bill Stoddard]
782
783 *) mod_rewrite: restored rnd behavior that was broken in 1.3.23.
784 PR 10090, 10185 [Jeroen Boomgaardt <jeroen swissclue.com>]
785
786 *) NetWare: Added the command line directive -e that forces all
787 fatal configuration error messages to the logger screen rather
788 than the Apache screen before Apache is unloaded.
789 [Brad Nicholes <bnicholes novell.com>]
790
791 *) Add the ProxyIOBufferSize option. Previously the size of the
792 buffer used while reading from the remote server in proxy was
793 taken from ProxyReceiveBufferSize. [Graham Leggett]
794
795 *) Fix a NULL variable check in proxy where we were checking the
796 wrong variable. [Geff Hanoian <geff pier64.com>]
797
798 *) Fix typo in default config files related to Swedish language
799 documents. PR: 9906, 10040 [Tomas Ögren <stric ing.umu.se>,
800 Dennis Lundberg <dennis.lundberg mdh.se>]
801
802 *) apxs didn't get rebuilt when options were changed. This must have
803 caused much puzzlement in the past. Fixed.
804 [Ben Laurie]
805
806 *) No idea why an HTTP/1.1 proxy would send an HTTP/1.0 request
807 to a remote server by default. Fixed.
808 [Graham Leggett, Gabriel Russell <g.russell ieee.org>]
809
810 *) NetWare: Added the module mod_log_nw to handle log rotation.
811 This module adds LogRotateDaily and LogRotateInterval to allow
812 all of the custom logs to be either rotated on a daily basis or
813 on a specific interval. Based on a patch by Bertrand Demiddelaer.
814 [Brad Nicholes <bnicholes novell.com>]
815
816 *) Fix typo in rotatelogs.8. [Will Lowe <harpo thebackrow.net>]
817
818 *) Clean up warnings in mod_proxy [Chuck Murcko <chuck topsail.org>]
819
820 *) TPF: Use the correct subpool when opening the error log.
821 This prevents a possible SIGPIPE in standalone_main.
822 [David McCreedy <McCreedy us.ibm.com>]
823
824 *) When proxy enabled a slow frontend client to read from an
825 expensive backend server, it would wait until it had delivered
826 the response to the slow frontend client completely before
827 closing the backend connection. The backend connection is now
828 closed as soon as the last byte is read from it, freeing up
829 resources that would have been tied up unnecessarily.
830 [Graham Leggett, Igor Sysoev <is rambler-co.ru>]
831
832 *) The proxy code read chunks from the backend server in a
833 hardcoded amount of 8k. The existing ProxyReceiveBufferSize
834 parameter has been overloaded to specify the size of this buffer.
835 [Graham Leggett, Igor Sysoev <is rambler-co.ru>]
836
837 *) [Security] Prevent invalid client hostnames from appearing in
838 the log file. If a double-reverse lookup was performed (e.g.,
839 for an "Allow from .my.domain" directive) but failed, then
840 a spoofed dns-reverse-address could appear in the logs. Now
841 the numeric address is logged instead. Note that
842 reverse-address-spoofing did NOT actually allow access
843 to any protected resource! [Martin Kraemer]
844
845 *) Some browsers ignore cookies that have been merged into a
846 single Set-Cookie header. Set-Cookie and Set-Cookie2 headers
847 are now unmerged in the http proxy before being sent to the
848 client. [Graham Leggett]
849
850 *) Fix a problem with proxy where each entry of a duplicated
851 header such as Set-Cookie would overwrite and obliterate the
852 previous value of the header, resulting in multiple header
853 values (like cookies) going missing.
854 [Graham Leggett, Joshua Slive]
855
856 *) Fix a problem with proxy where X-Cache headers were
857 overwriting and then obliterating upstream X-Cache headers
858 from other proxies.
859 [Graham Leggett, Jacob Rief <jacob.rief tiscover.com>]
860
861 *) Win32: Work around a bug in Windows XP that caused data
862 corruption on writes to the network. The WinXP bug
863 is tickled by the combined use of WSADuplicateSocket
864 and blocking send() calls.
865 [Bill Stoddard, Bill Rowe, Allan Edwards, Szabolcs Szakacsits]
866
867 *) Add 'IgnoreCase' keyword to the IndexOptions directive;
868 if active, upper- and lower-case letters are insignificant
869 in ordering. In other words, all A* and a* files will be
870 listed together, rather than the a* ones after all the [A-Z]*
871 ones. [Tullio Andreatta <tullio logicom.it>]
872
873 *) NetWare: Implemented the real ap_os_case_canonical_filename()
874 function that retrieves the accurately cased path and file
875 name from the file system. [Brad Nicholes <bnicholes novell.com>]
876
877 *) Fix the longstanding bug that errors (returned by src/Configure)
878 would not be noticed by the top level configure script.
879 That was bad for automated configurations. [Martin Kraemer]
880
881 *) Link with -lpthread on Solaris since we reference pthread
882 functions for the accept mutex. Previously, the link step
883 would succeed but we would link to bogus versions of the
884 pthread functions in libc, apparently breaking accept mutex
885 serialization when "AcceptMutex pthread" was used and
886 apparently breaking some third-party modules whether
887 or not "AcceptMutex pthread" was used. [Jeff Trawick]
888
889 *) The Location: response header field, used for external
890 redirect, *must* be an absoluteURI. The Redirect directive
891 tested for that, but RedirectMatch didn't -- it would allow
892 almost anything through. Now it will try to turn an abs_path
893 into an absoluteURI, but it will correctly varf like Redirect
894 if the final redirection target isn't an absoluteURI. [Ken Coar]
895
896 *) apxs: fix bug that prevented -S option from containing quotes.
897 [Ben Laurie]
898
899 *) ftp proxy: various cosmetic and functional improvements
900 - Allow for /%2f hack (to access the root directory / )
901 - properly escape generated links in dir listing
902 - do directory listings in ASCII, to avoid problems with EBCDIC
903 servers
904 - close data & control channels to server properly
905 [Martin Kraemer]
906
907 *) NetWare: Added mod_auth_dbm to the project file.
908 [Brad Nicholes <bnicholes novell.com>]
909
910
911 Changes with Apache 1.3.23
912
913 *) Changed the symbol mapping of the following from API_EXPORT
914 to API_EXPORT_NONSTD:
915 ap_snprintf(), ap_table_do(), ap_bvputs(), ap_log_error(),
916 ap_log_rerror(), ap_log_printf(), ap_rprintf()
917 [William Rowe]
918
919 *) Fixed a number of mismatched int sizes and signedness problems.
920 Still remains, MSVC's 'interesting' declaration of FD_SET still emits
921 (impotent) warnings. [William Rowe]
922
923 *) mod_proxy changes:
924
925 *) Bug fix for ap_proxy_cache_conditional(), unititialized wetag
926 [Zvi Har'El <rl math.technion.ac.il>]
927
928 *) Add persistent connection handling
929 The patch changes mod_proxy to write the reply-headers using
930 ap_send_http_header() instead of directly using ap_bvputs(). This not
931 only simplifies mod_proxy, in my opinion at least, but enables it to
932 make use of the features of Apache's normal header and persistent
933 connection machinery.
934 [Christian von Roques <roques mti.ag>]
935
936 *) Graham Leggett's original 1.3.12 patch, updated for 1.3.19+
937 Original comments:
938
939 HTTP/1.1 support for mod_proxy:
940 - support for Cache-Control
941 - conditional support If-Match, If-None-Match,
942 If-Unmodified-Since, Etag
943 - support for content negotiation using Vary
944 - storing of request headers (for Vary support) in cache file
945 - storing of updated response headers (with 304 Not Modified) in
946 cache file
947 - support for 64 bit dates and content-lengths in cache file
948 Fixes:
949 - ProxyPassReverse applied to Content-Location
950 - entity headers no longer stripped from response after cache
951 revalidation
952 - annotation of mod_proxy cache code
953 [Graham Leggett <minfrin sharp.fm>]
954
955 changes to preserve binary compatibility with httpd core, clean up
956 [Chuck Murcko <chuck topsail.org>]
957
958 *) HPUX 11.*: Do not kill the child process when accept()
959 returns ENOBUFS on HPUX 11.*.
960 [<madhusudan_mathihalli hp.com>]
961
962 *) PORT: Numerous additions to Cygwin, including: defaulting
963 to Posix thread accept mutex, excluding the call to
964 pthread_mutexattr_setpshared(), better proxy and DBM support, and
965 allowing the use of native Win32 socket ops instead of
966 Cygwin's Posix wrapper (for better performance). The last
967 item required the addition of a new Configure Rule: CYGWIN_WINSOCK.
968 [Stipe Tolj <tolj wapme-systems.de>]
969
970 *) Use "httpready" accept filter rather than "dataready" on
971 FreeBSD after 4.1.1-RELEASE where it works correctly.
972 [Tony Finch]
973
974 *) Fix incorrect "Content-Length" header in the 416 "range not
975 satisfiable" response. [Joe Orton <joe manyfish.co.uk>]
976
977 *) Add FileETag directive to control fields used when constructing
978 an ETag for a file-based resource. Historically the inode,
979 size, and mtimehave been used, but the inode factor broke
980 caching for systems with content fan-out across multiple
981 back-end servers. Now the fields used in the construction
982 can be controlled by configuration directives. Minor MMN
983 bumped; MMN went from 19990320.10 to 19990320.11.
984 [Ken Coar, from a patch by Phil Dietz]
985
986 *) NetWare: Fixed the access forbidden problem when requesting an
987 empty directory rather than showing the empty listing.
988 [Charles Goldman, Guenter Knauf <gk gknw.de>]
989
990 *) Cause Win32 to capture all child-worker process errors in
991 Apache to the main server error log, until the child can
992 open it's own error logs. [William Rowe]
993
994 *) Revert mod_negotation's handling of path_info and query_args
995 to the 1.3.20 behavior. PR: 8628, 8582, 8538 [William Rowe]
996
997 *) Modify buff.h and buff.c to enable modules to intercept the
998 output byte stream for dynamic page caching. A pointer to a
999 'filter callback' function is added to the end of buff.h.
1000 This function, if registered by a module, is called
1001 at the top of buff_write() and writev_it_all().
1002 [Kevin Mallory <kmallory spidercache.com>]
1003
1004 *) When the default of 'Group #-1' was changed to 'Group "#-1"',
1005 the Makefile wasn't updated to recognise the quotation marks.
1006 [Owen Boyle <obo bourse.ch>]
1007
1008 *) Win32: Do not allow threads to continue handling keepalive
1009 requests after a shutdown or restart has ben signaled.
1010 [Bill Stoddard]
1011
1012 *) Win32: Accept OPTIONS * requests. [Keith Wannamaker]
1013
1014 *) Unixware 7.0 and later did not have a default locking
1015 mechanism defined. This bug was introduced in apache 1.3.4.
1016 [Dean Gaudet]
1017
1018 *) Prevent an Apache module from being loaded or added twice due
1019 to duplicate LoadModule or AddModule directives (or a missing
1020 ClearModuleList directive).
1021 [William Rowe, Brian Pane <bpane pacbell.net>]
1022
1023 *) Add checkgid app to do run-time validation of Group directive
1024 values which might cause the server to fall over, but which
1025 are syntactically correct. [Ken Coar]
1026
1027 *) NetWare: Added mod_unique_id to the project file.
1028 [Brad Nicholes <bnicholes novell.com>]
1029
1030 *) NetWare: Fixed a link problem with mod_vhost_alias so that it
1031 exports the correct MODULE structure. PR 8598
1032 [Brad Nicholes <bnicholes novell.com>]
1033
1034 *) Unix: The generated install script for binary distributions,
1035 install-bindist.sh, now makes DSO files executable, like
1036 make install. This allows a binary distribution to work on
1037 HP-UX without any manual intervention. PR 7428
1038 [Jeff Trawick]
1039
1040 *) Win32: The Apache Win32 developers generally recommend that
1041 MaxRequestsPerChild be set to 0 to prevent the child process
1042 from ever recycling. However, for those that do require a
1043 non-zero setting, this patch fixes a serious bug that can cause
1044 an apparent 'server-hang' condition where the server stops
1045 responding to requests for a period of time. Prior to this
1046 fix, when the child process handled MaxRequestsPerChild
1047 connnections, the child process would stop accepting new
1048 connections and begin allowing inactive threads to exit. The
1049 problem was that a new process would not be created to begin
1050 handling requests until the old process fully exited. The old
1051 process can take an indeterminate amount of time to exit because
1052 it may be sending large responses to clients connected over slow
1053 links, or it may have threads blocked in read awaiting requests
1054 (eg, one attack mode of the Nimda worm is to establish a
1055 connection to the server but not send an HTTP request. This
1056 connection will be timed out according to the setting of the
1057 Timeout directive, 300 seconds). This fix allows the new process
1058 to be immediately started and begin accepting requests when the
1059 old child process reaches MaxRequestsPerChild.
1060 [Bill Stoddard]
1061
1062 *) Win32: Emit error message when the server bumps up against the
1063 ThreadsPerChild configuration limit. This will be useful for
1064 admins to detect when their server is running out of threads
1065 to handle requests. [Bill Stoddard]
1066
1067 *) Test all directories listed with the UserDir directive for validity.
1068 Also resolves the Win32/Netware bug of unparsable quoted paths.
1069 PR 8238 [William Rowe]
1070
1071 Changes with Apache 1.3.22
1072
1073 *) Recognize AIX 5.1. [Jeff Trawick]
1074
1075 *) PORT: Support AtheOS (see www.atheos.cx)
1076 [Rodrigo Parra Novo <rodarvus terra.com.br>]
1077
1078 *) The manual directory is still configurable (as enabled by
1079 the 1.3.21 change), but its default setting was reverted to
1080 the pre-1.3.21 default as a subdirectory of the DocumentRoot.
1081 You can adapt your path in config.layout or with the
1082 "configure --manualdir=" switch. [Martin Kraemer]
1083
1084 *) Additional correction for the mutex changes on the TPF platform.
1085 [David McCreedy <McCreedy us.ibm.com>]
1086
1087 *) mod_proxy - remove Explain*; replace with ap_log_*
1088 [Chuck Murcko <chuck topsail.org>]
1089
1090 Changes with Apache 1.3.21
1091
1092 *) Enable mod_mime_magic (experimental) for Win32. [William Rowe]
1093
1094 *) Use an installed Expat library rather than the bundled Expat. This
1095 fixes a problem where multiple copies of Expat could be loaded
1096 into the process space, thus conflicting and causing strange
1097 segfaults. Most notably with mod_perl and XML::Parsers::Expat.
1098 [Greg Stein]
1099
1100 *) Handle user modification of WinNT/2K service display names. Prior
1101 versions of Apache only accepted identical internal and display names
1102 (where internal service names were space-stripped.) [William Rowe]
1103
1104 *) Introduce Win32 -W option for -k install/config to set up service
1105 dependencies on the workstation, snmp and other services that given
1106 modules or configurations might depend upon. [William Rowe]
1107
1108 *) Update the mime.types file to map video/vnd.mpegurl to mxu
1109 and add commonly used audio/x-mpegurl for m3u extensions.
1110 [Heiko Recktenwald <uzs106 uni-bonn.de>, Lars Eilebrecht]
1111
1112 *) Modified mod_mime and mod_negotiation to prevent mod_negotiation
1113 from serving any multiview variant containing one or more
1114 'unknown' filename extensions. In PR #8130, mod_negotiation was
1115 incorrectly serving index.html.zh.Big5 when better variants were
1116 available. The httpd.conf file on the failing server did not have
1117 an AddLanguage directive for .zh, which caused mod_mime to loose
1118 the file_type information it gleened from parsing the .html
1119 extension. The absence of any language preferences, either in
1120 the browser or configured on the server, caused mod_negotiation
1121 to consider all the variants equivalent. When that occurs,
1122 mod_negotiation picks the 'smallest' variant available, which
1123 just happened to be index.html.zh.Big5.
1124 [Bill Stoddard, Bill Rowe] PR #8130
1125
1126 *) SECURITY: CVE-2001-0731 (cve.mitre.org)
1127 Close autoindex /?M=D directory listing hole reported
1128 in bugtraq id 3009. In some configurations where multiviews and
1129 indexes are enabled for a directory, requesting URI /?M=D could
1130 result in a directory listing being returned to the client rather
1131 than the negotiated index.html variant that was configured and
1132 expected. The work around for this problem (for pre 1.3.21
1133 releases) is to disable Indexes or Multiviews in the affected
1134 directories. [Bill Stoddard, Bill Rowe]
1135
1136 *) Enabled Win32/OS2/Netware file paths (not / rooted, but c:/ rooted)
1137 as arguments for mod_vhost_alias'es directives. [William Rowe]
1138
1139 *) Changes for Win32 to assure mod_unique_id's UNIQUE_ID strings really
1140 are unique between threads. [William Rowe]
1141
1142 *) mod_proxy - fix for Pragma: nocache (HTTP/1.0 only)
1143 [Kim Bisgaard <kib dmi.dk>] PR #5668
1144
1145 *) PORT: Some Cygwin changes, esp. improvements for dynamic loading,
1146 and cleanups. [Stipe Tolj <tolj wapme-systems.de>]
1147
1148 *) Win32 SECURITY: CVE-2001-0729 (cve.mitre.org)
1149 The default installation could lead to mod_negotiation
1150 and mod_dir/mod_autoindex displaying a directory listing instead of
1151 the index.html.* files, if a very long path was created artificially
1152 by using many slashes. Now a 403 FORBIDDEN is returned. This
1153 problem was similar to and in the same area as the problem
1154 reported and fixed by Martin Kraemer in 1.3.18, only the scope
1155 is much narrower and is specific to Windows. [Bill Stoddard]
1156
1157 *) Update the mime.types file to the registered media types as
1158 of 2001-09-25, and add xsl, so, dll extensions [Mark Cox]
1159
1160 *) Resolved the build failure on Win32 using MSVC 5.0 (without the
1161 current SDK.) PRs 7790, 7948. [William Rowe]
1162
1163 *) mod_proxy - fix reverse proxy cookie passthrough
1164 [Brian Eidelman <beidelman netegrity.com>] PR#6055
1165
1166 *) mod_proxy - fix CacheForceCompletion directive
1167 [Alexey Panchenko <panchenko liwest.ru>] PR#8090
1168
1169 *) mod_proxy - close origin server connection when client aborts
1170 [Alexey Panchenko <panchenko liwest.ru>] PR#8067,7383,6585
1171
1172 *) ErrorDocument 404 pointing to a parsed html file with a
1173 <!--#include virtual="file" --> with a request URI containing
1174 %2f would result in a segfault (NULL pointer deref, not a
1175 security problem). [Jeff Moe <tux themoes.org>, Dean Gaudet] PR#8362
1176
1177 *) UnsetEnv from main body of httpd.conf file didn't work; backport
1178 of bugfix from 2.0 codebase. [Gary Benson <gbenson redhat.com>] PR#8254
1179
1180 *) Win32 - add mod_unique_id.so and mod_vhost_alias.so to the build.
1181 [William Rowe]
1182
1183 *) Enhancement of mod_auth to handle 'Require file-owner' and
1184 'Require file-group'. This allows access IFF the authenticated
1185 username (from the appropriate AuthUserFile database) matches
1186 the username of the UID that owns the document (and equivalent
1187 checking for file GID and user's membership in AuthGroupFile).
1188 See the mod_auth documentation for examples. (Not supported
1189 on Windows.) [Ken Coar]
1190
1191 *) Addition of the AcceptMutex runtime directive. The accept mutex
1192 method is now runtime controllable. The suite of available methods
1193 per platform is defined at compile time (with HAVE_FOO_SERIALIZED_ACCEPT
1194 noting that the method is available and works, and
1195 USE_FOO_SERIALIZED_ACCEPT noting that it should be the default
1196 method in absense of any AcceptMutex line, or via AcceptMutex default)
1197 and selectable at runtime. The full (current) suite is uslock,
1198 pthread, sysvsem, fcntl, flock, os2sem, tpfcore and none, but
1199 not all platforms accept all methods. [Jim Jagielski]
1200
1201 *) Parallel to a change in Apache-2.0, the manual directory was
1202 moved out of the DocumentRoot tree to simplify the separation
1203 of private content&configuration from server's on-line
1204 documentation. An "Alias /manual/ ..." projects the manual/
1205 directory (which resides now side-by-side with the icons/
1206 directory) into the logical DocumentRoot. Note that a request
1207 to http://server/manual (without the trailing slash) will now
1208 behave different than before (it used to redirect to
1209 http://server/manual/ but no longer does).
1210 [Martin Kraemer]
1211
1212 *) Fixed ap_os_canonical_filename() so that it wouldn't try to
1213 canonicalize an invalid file name. Also fixed
1214 ap_os_is_path_absolute() so that it wouldn't recognize names
1215 such as proxy:http://blah as a NetWare volume:pathname. Both of
1216 these fixes were necessary to fix mod_proxy problems on NetWare.
1217 [Brad Nicholes <BNICHOLES novell.com>]
1218
1219 *) Fix a storage leak (a strdup() call) in mod_mime_magic.
1220 [Jeff Trawick]
1221
1222 *) We have always used the obsolete/deprecated Netscape syntax
1223 for our tracking cookies; now the CookieStyle directive
1224 allows the Webmaster to choose the Netscape, RFC2109, or
1225 RFC2965 format. The new CookieDomain directive allows the
1226 setting of the cookie's Domain= attribute, too. PR #s 5006,
1227 5023, 5920, 6140 [Ken Coar]
1228
1229 *) The Win32 Makefile.win build script failed if
1230 INSTDIR="c:\path\with spaces" was given, this is now fixed. PR 8184
1231 [Jack Tan <jack_s_tan yahoo.com>]
1232
1233 *) EBCDIC: The proxy, when used in a proxy chain, "forgot" to
1234 convert the "CONNECT host:port HTTP/1.0" request line to ASCII
1235 before contacting the next proxy, and was thus unusable for
1236 SSL proxying. [Martin Kraemer]
1237
1238 *) SECURITY: CVE-2001-0730 (cve.mitre.org)
1239 Make support/split-logfile use the default log file if
1240 "/" or "\" are present in the virtual host name. This prevents
1241 the possible use of specially crafted virtual host names in
1242 some configurations to allow writing to any .log file on the
1243 system. [Daniel Matuschek <daniel.matuschek swisscom.com>,
1244 Marc Slemko] PR#7848
1245
1246 *) Added a directive: "AcceptFilter <on|off>". To control BSD
1247 acccept filters when at compile time SO_ACCEPT_FILTER is
1248 detected. The default is still 'on' except when, at compile
1249 time, AP_ACCEPT_FILTER_OFF is defined.
1250
1251 Also downgraded the fatal exit to a warning when the
1252 associated setsocketopt(2) fails for any reason but
1253 for ENOPROTOOPT. The latter - which implies that the
1254 kernel does not support the filters - now rates only an
1255 info level message. All in all this should make it easier
1256 to move httpd binaries and config files across BSD machines
1257 with varying acceptfilter support.
1258 [Dirk-Willem van Gulik <dirkx covalent.net>]
1259
1260 *) Fix the <Files ~ "^\.ht"> container to *really* deny all access.
1261 Without the Satisfy All, .ht* files could still be fetched if
1262 they were within the scope of a Satisfy Any directive.
1263 [Ken Coar]
1264
1265 *) Print a warning when an attempt is made to use line-end comments.
1266 Apparently they are not detected/handled gracefully by all directives.
1267 [Martin Kraemer]
1268
1269 *) (TPF only) Take advantage of improvements to select(), fork(), and
1270 exec() in the TPF operating system.
1271 [David McCreedy <McCreedy us.ibm.com>]
1272
1273 *) (Cygwin only) Fix problems with signals sent to child processes;
1274 Improve auto-configuration for Cygwin.
1275 [Stipe Tolj <tolj wapme-systems.de>]
1276
1277 *) Added Mod_Vhost_Alias to the project file so that it builds as an
1278 external module (VHOST.NLM).
1279 [Brad Nicholes <BNICHOLES novell.com>]
1280
1281 *) Fix problem with lingering_close() on Windows. Issuing read() on the
1282 socket descriptor on Windows always fails. Should be calling
1283 recv() instead of read() on Windows.
1284 [Bill Stoddard, Bill Rowe]
1285
1286 *) Added an abnormal exit clean up routine to make sure that ApacheC NLM
1287 is always unloaded cleanly. This fixes the "Ouch! out of memory"
1288 problem when restarting Apache for NetWare after an abnormal exit
1289 due to configuration errors.
1290 [Brad Nicholes <BNICHOLES novell.com>]
1291
1292 *) Change the compile switches for ReliantUNIX SVR4 not to use
1293 SYSV semaphores, because upon reaching the system limit of
1294 semaphores, the whole server exits (not just one child).
1295 Apache could be improved to use NO_SEM_UNDO flag (see test/time-sem.c)
1296 which is currently implemented only in the time-sem program, but not in
1297 apache. Until then, revert to using fcntl() locks.
1298 [Martin Kraemer]
1299
1300 *) Changes to 'ab': fixed int overruns, added statistics, output in
1301 csv/gnuplot format, rudimentary SSL support and various other tweaks
1302 to make results more true to what is measured. The upshot of this it
1303 turns out that 'ab' has often underreported the true performance of
1304 apache. Often by a order of magnitude :-) See talk/paper of Sander
1305 Temme at April ApacheCon 2001 for details.
1306 [Dirk-Willem van Gulik]
1307
1308 Changes with Apache 1.3.20
1309
1310 *) Autodetect if platforms have isnan() and/or isinf() for use in
1311 ap_snprintf.c. [Jim Jagielski]
1312
1313 *) SECURITY DoS: CVE-2001-1342 (cve.mitre.org)
1314 Correct a vulnerability in the Win32 and OS2 ports, by which a
1315 client submitting a carefully constructed URI could cause a GP
1316 (segment) fault in the child process, which would have to be
1317 cleared by the operator to resume operation. This vulnerability
1318 introduced no identified means of compromising the server's data.
1319 Reported by Auriemma Luigi <kaino3 genie.it>.
1320 [William Rowe, Brian Havard]
1321
1322 *) Resolve the Win32 SSI exec cmd bug, where cmd was not executed
1323 appropriately against the shell. [William Rowe]
1324
1325 *) Added NOESCAPE (NS) flag to RewriteRule and enabled use of
1326 '\' to allow escaping of special characters. Previously
1327 there was no way to embed either '$' or '%' in the output
1328 of a RewriteRule; now 'foo\$1' will result in a literal
1329 'foo$1' appearing in the result rather than 'foo\<value of $1>'.
1330 Note that [NS] disables *all* normal URI escaping, so incautious
1331 use can give unexpected results. [Ken Coar]
1332
1333 *) Add support for Win32 apxs. Note that cygwin builders must use a
1334 cygwin perl to avoid the MSWin32 handling. [William Rowe]
1335
1336 *) Changed the initial screen handling for NetWare so that the -s
1337 parameter will properly destroy the Apache console screen and switch
1338 to the system console screen. Also removed the call to clrscr() for
1339 NetWare so that any warning messages produced during startup are visible.
1340 [Brad Nicholes <BNICHOLES novell.com>]
1341
1342 *) Integrate support for the Cygwin 1.x platform (a POSIX emulation layer
1343 for Win32 systems, see http://www.cygwin.com)
1344 [Stipe Tolj <tolj wapme-systems.de>]
1345
1346 *) Hooked calls to opendir() and readdir() so that we could add '.' and
1347 '..' to the entry list. By default NetWare does not return these
1348 entries which caused mod_autoindex not to display the parent directory
1349 entry. [Brad Nicholes <BNICHOLES novell.com>]
1350
1351 *) Solved a very serious threading problem with WinNT/2K Services. The
1352 moment master_main told that the shutdown was complete, the parent
1353 control thread exited Apache, leaving mod_jserv's Java process running
1354 and alternately invoking mod_perl's cleanups from the correct thread
1355 or the service control thread. [William Rowe]
1356
1357 *) Populate the Win32 HKLM\System\CurrentControlSet\Services\[apachesvc]
1358 key with the Description value of the running server across all Win32
1359 platforms, including NT, ME and 9x. This value is the server_version
1360 string including loaded modules. [William Rowe]
1361
1362 *) Fix ndbm.h include problems with various Linux distributions and
1363 brain-dead glibc >= 2.1, which sometimes have ndbm.h in a
1364 non-standard db1/ subdir. PR#6929
1365 [Victor J. Orlikowski]
1366
1367 *) Empty headers are allowed by RFC2068 section 4.2. The presence or
1368 absence of an empty header can be significant. The current mod_proxy
1369 of httpd 1.3.x removes empty headers. Change mod_proxy to preserve
1370 empty headers. [Christian von Roques <roques mti.ag>]
1371
1372 *) Enhance rotatelogs so that a UTC offset can be specified, and
1373 the logfile name can be formatted using strftime(3). [Ken Coar]
1374
1375 *) Fix a possible NULL pointer dereference in the detection of the
1376 default ServerName or IP string (introduced in 1.3.18).
1377 [Ignasi Roca, <Ignasi.Roca fujitsu-siemens.com>]
1378
1379 *) Make EBCDIC conversion fully configurable. Until now, apache relied
1380 on some (incomplete) heuristics, and would fail to correctly serve
1381 text files when they had a MIME type of application/anything, like
1382 application/x-javascript. The new conversion directives allow
1383 defining the conversion based on MIME type or file suffix.
1384 [Martin Kraemer]
1385
1386 *) Add a -V flag to suexec, which causes it to display the
1387 compile-time settings with which it was built. (Only
1388 usable by root or the HTTPD_USER username.) [Ken Coar]
1389
1390 *) Set the Win32 service description in the Services control panel to
1391 the server_version string from Apache and the loaded modules.
1392 [William Rowe]
1393
1394 *) Added a new API for NetWare, ap_os_dso_unsym(), to allow Apache the
1395 chance to unimport module symbols before it shuts down. This is
1396 necessary so that Apache on NetWare can shutdown cleanly in an error
1397 condition such as a failure while reading the httpd.conf file.
1398 [Brad Nicholes <BNICHOLES novell.com>]
1399
1400 *) Introduce NUL device pipes for stdin and stdout for the parent Win32
1401 service process. This solves bugs such as PR7198 that report
1402 "dup2(stdin) failed" when trying to use piped logs. [William Rowe]
1403
1404 Changes with Apache 1.3.19
1405
1406 *) Rewrite ap_unparse_uri_components() to make it safer and more readable
1407 ["Jeffrey W. Baker" <jwbaker acm.org>]
1408
1409 *) Under certain circumstances, Apache did not supply the
1410 right response headers when requiring authentication.
1411 [Gertjan van Wingerde <Gertjan.van.Wingerde cmg.nl>] PR#7114
1412
1413 *) Clean up some end-of-loop not reached warnings [Jim Jagielski,
1414 Aris Stathakis <aris sco.COM>]
1415
1416 *) Add the correct language tag for interoperation with the Taiwanese
1417 versions of MSIE and Netscape. [Clive Lin <clive CirX.ORG>] PR#7142
1418
1419 *) Fixed system shutdown on Windows 2000 to assure that the modules have
1420 an opportunity to clean up. Note there is a _very_ limited amount of
1421 time in which to execute all cleanups [see MSKB Q146092] so all of
1422 the modules may still not be given an opportunity to complete their
1423 cleanups if they require more than 20 seconds total. [William Rowe]
1424
1425 Changes with Apache 1.3.18 [not released]
1426
1427 *) Workaround enabled for a core dump which appeared in broken
1428 NameVirtualHost configurations. [Martin Kraemer]
1429
1430 *) Sporadic core dump in ap_default_port_for_scheme() with
1431 internal requests fixed by [Jeffrey W. Baker <jwbaker acm.org>]
1432
1433 *) PORT: Allow for build under latest dev. version of NonStopUX
1434 on Compaq. [Tom Bates <tom.bates compaq.com>]
1435
1436 *) mod_user on Win32 bug introduced in 1.3.17 is corrected. The parsing
1437 is completely rewritten so all platforms share the same file/redirect
1438 logic interpreting UserDir directives. Specifying a Win32 or Netware
1439 relative path or a relative path on any platform using an '*' now
1440 emits an error when httpd.conf is first parsed. [William Rowe]
1441
1442 *) Apache/Win32 no longer holds open the console on error, unless invoked
1443 by a shortcut with the new -w option. [William Rowe]
1444
1445 *) The Win32 -t test config now holds the console open on "SYNTAX OK".
1446 [William Rowe]
1447
1448 *) Apache on Win9x now ensures the service is stopped before removal.
1449 [William Rowe]
1450
1451 *) SECURITY: CVE-2001-0925 (cve.mitre.org)
1452 The default installation could lead to mod_negotiation
1453 and mod_dir/mod_autoindex displaying a directory listing instead of
1454 the index.html.* files, if a very long path was created artificially
1455 by using many slashes. Now a 403 FORBIDDEN is returned.
1456 [Martin Kraemer]
1457
1458 *) Trailing slashes (if they exist) are now removed from ServerRoot,
1459 because there were known problems with them.
1460 ["William A. Rowe, Jr." <wrowe rowe-clan.net>]
1461
1462 *) Changed ap_os_is_filename_valid on NetWare to accept
1463 SERVER/VOLUME:/PATH/FILE as a valid filename pattern.
1464 [Brad Nicholes <BNICHOLES novell.com>]
1465
1466 *) Win32/Netware: correct relative paths and eliminate trailing slash
1467 in the -d serverroot argument. -d Serverroot may be relative to
1468 the path of the Apache.exe file. [William Rowe]
1469
1470 *) Win32; fix the ServerRoot as the path of the Apache.exe file.
1471 Eliminates the requirement of a 'backup' registry key to locate
1472 the server root. [William Rowe]
1473
1474 *) NetWare MOD_TLS fixes to disable nagles properly when making an SSL
1475 connection, and properly detect an SSL connection based on the port
1476 and work around the r->server->port 80 bug.
1477 [Brad Nicholes <BNICHOLES novell.com>]
1478
1479 *) TPF startup/shutdown fixes. [David McCreedy <McCreedy us.ibm.com>]
1480
1481 *) Correct a typo in httpd.conf.
1482 [Kunihiro Tanaka <tanaka apache.or.jp>] PR#7154
1483
1484 *) Get the correct IP address if ServerName isn't set and we can't
1485 find a fully-qualified domain name at startup.
1486 [Danek Duvall <dduvall eng.sun.com>] PR#7170
1487
1488 *) Fix pointer arithmetic in mod_rewrite map expansion.
1489 [Christopher A. Bongaarts <cab tc.umn.edu>] PR#7157, 7158
1490
1491 *) Fixed a problem with file extensions being truncated during
1492 the call to ap_os_canonical_filename().
1493 [Brad Nicholes <BNICHOLES novell.com>]
1494
1495 Changes with Apache 1.3.17
1496
1497 *) Normalize the Netware path names to close a potential security
1498 hole in comparing paths when the adminstrator specifies both
1499 sys:foo and sys:/foo formats in the same httpd.conf file.
1500 [Brad Nicholes]
1501
1502 *) Fix an unlikely segfault provided a zero length string in the
1503 translate_userdir() call on win32/os2, and accept backslashes
1504 in the UserDir directive on those platforms [William Rowe]
1505
1506 *) Fixed translate_userdir() in MOD_USERDIR.C so that it correctly
1507 recognizes NetWare absolute paths. This fixes the problem where
1508 MOD_USERDIR was trying to redirect to an absolute NetWare path
1509 rather than opening the file at the specified location. This
1510 patch fixes PR5826 & 6283. [Brad Nicholes <BNICHOLES novell.com>]
1511
1512 *) Fixed ap_os_is_path_absolute() in OS.H so that it can tell the
1513 between a NetWare path (SYS:/path) and a URL (HTTP://path).
1514 [Brad Nicholes <BNICHOLES novell.com>]
1515
1516 *) Fixed the sdbm.h bundled in Apache for Win32, bringing it in sync
1517 with Perl. Because it didn't have the same geometry as Perl,
1518 users reported the first user added with dbmmanage was not
1519 recognized. [William Rowe]
1520
1521 *) Fixed ap_os_canonical_filename to append a the default volume
1522 name if the the path is a full path and does not include the
1523 volume name. Since NetWare's current working directory always
1524 defaults to the SYS: volume regardless of where the executible
1525 started, the default volume will be the volume that is specified
1526 in ap_server_root. [Brad Nicholes <BNICHOLES novell.com>]
1527
1528 *) Handle port numbers in Host headers properly again after
1529 the code was broken in 1.3.15. [Tony Finch]
1530
1531 Changes with Apache 1.3.16 [not released]
1532
1533 *) None from 1.3.15 [repository tags were the issue, no code altered]
1534
1535 Changes with Apache 1.3.15 [not released]
1536
1537 *) Fix a new problem introduced with the -k config syntax, that the
1538 service installed with the -i flag would attempt to re-install
1539 itself when starting the server. [William Rowe, Andrew Braund]
1540
1541 *) Fix the declaration of the module structure in mod_example.
1542 [Gururaj Upadhye <gururaj enertec.com>] PR#7095
1543
1544 *) Fix the handling of variable expansion look-ahead in mod_rewrite,
1545 i.e. syntax like %{LA-U:REMOTE_USER}, and also fix the parsing of
1546 more complicated nested RewriteMap lookups. [Tony Finch] PR#7087
1547
1548 *) Fix the RFC number mentioned when complaining about a missing
1549 Host: header. [Alexey Toptygin <alexeyt wam.umd.edu>] PR#7079
1550
1551 *) Fix Range header processing to properly parse the syntax specified
1552 in RFC 2616, and properly handle unsatisfiable requests by returning
1553 a 416 error. [Tony Finch, William Rowe] PR#6973
1554
1555 *) Remove some human-readable fluff from the machine-readable mod_status
1556 display. [Youichirou Koga <y-koga apache.or.jp>] PR#7025
1557
1558 *) The new Win32 command line option, -k config, replaces the default
1559 options for the existing, named service with the options given on
1560 the -k config command line. Apache -n servicename -t now displays
1561 the default options before it tests the httpd.conf. Use the syntax
1562 apache -k config -n servicename -f conffile to upgrade an existing
1563 1.3.x service to the new 1.3.15 default arguments. [William Rowe]
1564
1565 *) All Win32 services now support default command line options when
1566 starting an Apache service. The command line options given with
1567 the apache -k install command, including -d, -f, -D, -C and -c,
1568 are all saved in the registry. This change superceeds the old
1569 ConfPath entry, so existing services must be reconfigured when
1570 upgrading to 1.3.15. [William Rowe]
1571
1572 *) The Win32 build is overhauled to use mod_foo.so for all dynamic
1573 Apache modules. [William Rowe]
1574
1575 *) The Win32 build scripts (makefile.win, Apache.dsw) now build
1576 all the usual targets, including the directories htdocs, include,
1577 lib, libexec, and cgi-bin. [William Rowe]
1578
1579 *) WinNT/2K service can be started from the command line with any
1580 desired args (e.g. Apache -k start -n apache-1.3 -D FOO will
1581 start the service with the -D FOO option.) This extends what
1582 Apache on Win9x already does, even running as a service.
1583 [William Rowe]
1584
1585 *) WinNT/2K can be started from the Services control panel adding
1586 whatever args are desired (e.g. -D ARG) in the 'Start Parameters'
1587 box of the start service dialog. These will be passed on and
1588 recognized by the service as it starts. [William Rowe]
1589
1590 *) Support -k install/-k uninstall on Win32 for compatibility with
1591 Apache 2.0. [William Rowe]
1592
1593 *) mod_cgi on Win32 and Netware now does a more effective job of
1594 capturing all stderr output from user's scripts. PR6161
1595 [Hardy Braunsdorf <hardy.braunsdorf metechnology.com>, Will Rowe]
1596
1597 *) mod_status now respects ?refresh=n of 1 or greater. If the given
1598 refresh value is not a number, ?refresh is set to 1 second.
1599 [William Rowe, Dirk Ahlers <there darkride.net> PR5067]
1600
1601 *) Restore child process consoles to correct 16-bit CGI execution
1602 on Windows. Relies on Win9xConHook.dll for Win9x. This patch
1603 also assures the Apache window remains titled 'Apache', rather
1604 than flickering to the cgi app titles. [William Rowe]
1605
1606 *) Added Win9xConHook.dll, which uses hidden console spy windows to
1607 handle the shutdown, logoff and Close button events, and dispatch
1608 them to Apache just as SetConsoleCtrlHandler does on Win NT/2K.
1609 The close button on Win9x now works, and the Win9x service support
1610 code moved into this module. [William Rowe]
1611
1612 *) Fix messages from the -k start/stop/restart command options on
1613 Windows. [William Rowe]
1614
1615 *) Allow Win32 users to build mod_isapi, regardless of the age of
1616 their Win32 SDK headers. Warning provided if features must be
1617 disabled due to old headers. [William Rowe]
1618
1619 *) The ScriptInterpreterSource Registry source will now handle any
1620 post-scriptname arguments (e.g. cmd script -q), substitute any
1621 environment variables (e.g. "%windir%\sysapp.exe") and use the
1622 short or long path name as appropriate (e.g. "doit %1" uses the
1623 short form, no spaces, while "doit "%1"" uses the long form of
1624 the script name, in quotes.) Also, passes all script names in
1625 backslash delimited format (instead of slashes). [William Rowe]
1626
1627 *) Accomodate an out-of-space condition in the piped logs and the
1628 rotatelogs.c code, and no longer churn log processes for this
1629 condition. [Victor J. Orlikowski]
1630
1631 *) Make cgi-bin work as a regular directory when using mod_vhost_alias
1632 with no VirtualScriptAlias directives. [Tony Finch] PR#6829
1633
1634 *) Move the check of the Expect request header field after the hook
1635 for ap_post_read_request, since that is the only opportunity for
1636 modules to handle Expect extensions.
1637 [Justin Erenkrantz <jerenkrantz eBuilt.com>]
1638
1639 *) Add default CacheGcInterval of one hour [ Chuck Murcko ]
1640
1641 *) Each Netware thread is created in its own thread group to ensure
1642 that any context change applies only to the thread in which the
1643 change was made. [Brad Nicholes <BNICHOLES novell.com>]
1644
1645 *) Relax the syntax checking of Host: headers in order to support
1646 iDNS. [Tony Finch] PR#6635
1647
1648 *) Fix Content-Length calculation when doing Range header processing.
1649 This makes PDF byteserving work again. [Tony Finch] PR#6711
1650
1651 *) Link with libresolv on UnixWare 7 so that PHP works.
1652 [Larry Rosenman <ler lerctr.org>] PR#6780
1653
1654 *) Linux 2.2.x and later do not need a serialised single listener,
1655 and sysv semaphores scale better than fcntl. Updated GuessOS
1656 to distinguish 2.0.x from 2.2.x -- 2.0.x will still use fcntl.
1657 [Andrew Morton <andrewm uow.edu.au>, Dean Gaudet]
1658
1659 *) Eliminate caching problems of mod_autoindex results, so the last
1660 modified date of the directory is returned as the Last-Modified
1661 and ETag HTTP header tags are sent if IndexOptions TrackModified
1662 directive/option is used. [William Rowe]
1663
1664 *) Corrected file path arguments from server conf directives to
1665 their canonical form (excluding OS2 - which uses alternate
1666 logic.) Resolves a long list of PRs reporting that Win32 paths
1667 of the syntax x:\foo were mis-concatinated to the server root
1668 as of release 1.3.14. [William Rowe]
1669
1670 *) Correct an issue with Alias and ScriptAlias directives that
1671 file path arguments were not normalized in canonical form.
1672 This correction makes no attempt to normalize regular expression
1673 forms of Alias or ScriptAlias. [William Rowe]
1674
1675 *) Add a new LogFormat directive, %c, that will log connection
1676 status at the end of the response as follows:
1677 'X' - connection aborted before the response completed.
1678 '+' - connection may be kept-alive by the server.
1679 '-' - connection will be closed by the server.
1680 [Bill Stoddard <stoddard apache.org>]
1681
1682 *) Normalize all NetWare config directive paths and filespecs to
1683 their canonical names. [Brad Nicholes <bnicholes novell.com>]
1684
1685 *) Update the mime.types file to the registered media types as
1686 of 2000-10-19. [Carsten Klapp <carsten.klapp home.net>,
1687 Tony Finch] PR#6613
1688
1689 *) Restore functionality broken by the mod_rewrite security fix:
1690 rewrite map lookup keys and default values are now expanded
1691 so that the lookup can depend on the requested URI etc.
1692 [Tony Finch] PR #6671
1693
1694 Changes with Apache 1.3.14
1695
1696 *) Fixes to allow compilation on NetWare [Brad Nicholes
1697 <bnicholes novell.com>]
1698
1699 Changes with Apache 1.3.13 [not released]
1700
1701 *) NOTE: A number of Win32 symbols were exported without explicit
1702 declaration in the ApacheCore.def file. These are now exported
1703 with the same ordinal export values from 1.3.12, but are now
1704 named consistent with Apache's conventions. [William Rowe]
1705
1706 *) Add support for a "conf directory" which operates similar to
1707 /etc/rc.d/init. Basically, if a config file is actually a
1708 directory, all the files in that directory will be parsed
1709 as conf files. PR #6397 [Jim Jagielski, Lionel Clark
1710 <bishop platypus.bc.ca>]
1711
1712 *) Initial support added for mod_proxy under MPE/iX.
1713 [Mark Bixby <mark_bixby hp.com>]
1714
1715 *) Refined UID/GID management and permissions on MPE/iX to deal
1716 with some limitations. [Mark Bixby <mark_bixby hp.com>]
1717
1718 *) Updated the MPE DSO code to be compatible with an OS patch that
1719 fixed an earlier DSO problem, #include tweakage required for
1720 using apxs to build modules without access to the full source
1721 tree, and other minor MPE tweaks.
1722 [Mark Bixby <mark_bixby hp.com>]
1723
1724 *) SECURITY: Tighten up the syntax checking of Host: headers to fix a
1725 security bug in some mass virtual hosting configurations
1726 that can allow a remote attacker to retrieve some files
1727 on the system that should be inaccessible. [Tony Finch]
1728
1729 *) Add support for /, //, //servername and //server/sharename
1730 parsing of <Directory > blocks under Win32 and OS2.
1731 [Tim Costello, William Rowe, Brian Havard]
1732
1733 *) Expand dbmmanage to allow -d -m -s -p options for Crypt, MD5,
1734 SHA1 and plaintext password encodings. Make feature tests a
1735 bit more flexible. [William Rowe]
1736
1737 *) SECURITY: CVE-2000-0913 (cve.mitre.org)
1738 Fix a security problem that affects some configurations of
1739 mod_rewrite. If the result of a RewriteRule is a filename that
1740 contains expansion specifiers, especially regexp backreferences
1741 $0..$9 and %0..%9, then it may have been possible for an attacker
1742 to access any file on the web server. [Tony Finch]
1743
1744 *) Add mod_auth_dbm (sdbm flavor) binary build for Win32.
1745 [William Rowe]
1746
1747 *) Overhaul of dbmmanage to allow a groups arg (as in Apache 1.2)
1748 as well as a comment arg to the add, adduser and update cmds.
1749 update allows the user to clear or preserve pw/groups/comment.
1750 Fixed a bug in dbmmanage that prevented the check option from
1751 parsing a password followed by :group... text. Corrected the
1752 seed calcualation for Win32 systems, and added -lsdbm support.
1753 [William Rowe]
1754
1755 *) Radical surgery to improve mod_isapi support under Win32.
1756 Includes a number of newer ServerSupportFunction calls, support
1757 for ReadClient (in order to retrieve POSTs greater than 48KB),
1758 and general bug fixes to more reliably load ISAPI .dll's and
1759 prevent leaking handle resources. Note: There are still
1760 discrepancies between IIS's and Apache's ServerVariables, and
1761 async calls are still not supported. Additional warnings are
1762 logged to facilitate debugging of unsupported ISAPI calls.
1763 [William Rowe]
1764
1765 *) Update Configure script to allow building Apache on IBM's
1766 IA64 version of AIX. [Paul Reder]
1767
1768 *) NameVirtualHost can now take "*" as an argument instead of
1769 an IP address. This allows you to create a purely name-based
1770 virtual hosting server that does not have any IP addresses in
1771 the configuration file and which ignores the local address
1772 of any connections. PR #5595, PR #4455 [Tony Finch]
1773
1774 *) Fix processing/merging of Remove* MIME directives.
1775 PR #5597 [Sander van Zoest <sander covalent.net>]
1776
1777 *) Fix merging of AddDefaultCharset directive.
1778 PR #5872 [Jun Kuriyama <kuriyama imgsrc.co.jp>]
1779
1780 *) Win32: Work around bug in Win32 select on network reads. Select
1781 can indicate a socket has data to read, but the subsequent read
1782 can return WSAEWOULDBLOCK. This problem has been observed
1783 when running with SSL enabled Apache, specifically, browsers
1784 sometimes cannot complete the SSL handshake when an SGC
1785 certificate is used, receiving a network error message.
1786 [Richard Scholz <richard.scholz subito.de>]
1787
1788 *) Use "accept filtering" on recent versions of FreeBSD iff the
1789 kernel is configured to support them. This allows Apache to avoid
1790 having to handle new connections until the request has arrived.
1791 [Tony Finch]
1792
1793 *) Fix error handling in make_sock. [Tony Finch]
1794
1795 *) The htdocs/ tree has been moved out of the CVS source tree into
1796 a separate area for easier development. This has NO EFFECT on
1797 end-users or Apache installations. [Ken Coar]
1798
1799 *) Fix problem matching Configure guessos on HP-UX 10.
1800 [Victor J. Orlikowski] PR#6015
1801
1802 *) Correct the problem where the only local host name that the IP stack
1803 can discover are 'undotted' private names. If no fully qualified
1804 domain name can be identified, the default ServerName will be set to
1805 the machine's IP address string. A warning is provided if Apache has
1806 to assume the IP dotted address string or the localhost/loopback
1807 address as the ServerName. The default ServerName is removed from
1808 the default Win32 httpd.conf file. [William Rowe]
1809
1810 *) Add new directives RemoveType and RemoveEncoding to accompany the
1811 RemoveHandler directive added in 1.3.4. AddType, AddEncoding, and
1812 AddHandler now all have corresponding 'undo' directives. This allows
1813 things like marking foo.tar.gz.asc as *not* being gzipped, so it will be
1814 correctly interpreted as an unzipped signature of a gzipped file.
1815 [Ken Coar]
1816
1817 *) Win32 NT and 2000 services now capture stderr messages that occur
1818 before Apache's logs are opened to the Application Event Log.
1819 Console and Win9x services now hold the console open for 30 seconds
1820 (and may be dismissed with the <ESC> key) if they exit with an error.
1821 [William Rowe]
1822
1823 *) Expand Win32 protection for pathname length, to provide protection
1824 from future potential bugs such as that which caused directory index
1825 to be displayed rather than returning an error.
1826 [William Rowe, Allan Edwards <ake raleigh.ibm.com>]
1827
1828 *) USE_SYSVSEM_SERIALIZED_ACCEPT locking on OS/390
1829 [Ovies Brabson]
1830
1831 *) Change Win32 the isProcessService() routine to compensate for other
1832 helper apps that invoke Apache.exe without a console. Recognize that
1833 we are running NT, and use the STARTF_FORCEOFFFEEDBACK flag to be
1834 sure that the SCM has invoked the process. [William Rowe,
1835 Jim Patterson <jim-patterson ncf.ca>, Kevin Kiley <TOKILEY aol.com>]
1836
1837 *) Export from Win32 the ap_start_shutdown and ap_start_restart symbols
1838 for modules and executables dynamically linked to the core.
1839 [William Rowe; Jim Patterson <jim-patterson ncf.ca>]
1840
1841 *) SECURITY: CVE-2000-1204 (cve.mitre.org)
1842 Prevent the source code for CGIs from being revealed when
1843 using mod_vhost_alias and the CGI directory is under the document root
1844 and a user makes a request like http://www.example.com//cgi-bin/cgi
1845 as reported in <news:960999105.344321 ernani.logica.co.uk>
1846 [Tony Finch]
1847
1848 *) Under Win32, The console input mode is fixed to ignore mouse events
1849 and always listen for a Ctrl+C interrupt, even if the console window
1850 defaults to another mode. [William Rowe]
1851
1852 *) All Win32 services will now perform a graceful restart when given
1853 the -n servicename -k restart signal. No equivilant control exists
1854 in the service control panel applet or through the NET command.
1855 There is no useful acknowledgement on Windows 95/98, however.
1856 [William Rowe]
1857
1858 *) Significant overhaul of the Win32 port documentation contained in
1859 the README-WIN.TXT, as well as the htdocs/manual pages windows.html,
1860 win_compiling.html, and the new win_service.html.
1861 [Andrew Braund <abraund dingoblue.net.au>, William Rowe]
1862
1863 *) Add 'services' for Windows 95 and 98, including install/uninstall
1864 options. The Apache server therefore can start when the OS loads,
1865 and will not stop between logoffs. This implementation remains
1866 -HIGHLY EXPERIMENTAL-. Additional changes provide for clean shutdown
1867 of Win95/98 when Apache is running as a 'service' or a console.
1868 [William Rowe, Jan Just Keijser <KEIJSERJJ logica.com>]
1869
1870 *) USE_PTHREAD_SERIALIZED_ACCEPT on AIX 4.3 and above. This change
1871 provides a substantial performance improvement on multi-CPU
1872 machines serving large numbers of concurrent clients.
1873 [Victor J. Orlikowski <vjo raleigh.ibm.com>]
1874
1875 *) Brought httpd.conf-dist-win into sync with httpd.conf-dist, and added
1876 explicit documentation of many Win32 specific features. [William Rowe]
1877
1878 *) Convert Win32 build files (.dsp) to MSVC 6.0 format, and add perl
1879 scripts cvstodsp5.pl and dsp5tocvs.pl for portability to version 5.0.
1880 [William Rowe]
1881
1882 *) Fix mod_expires to merge its settings for Cache-Control into any
1883 existing value for the field. It was unconditionally setting it,
1884 wiping out anything from, say, a 'Header Append Cache-Control'.
1885 [Ken Coar] PR#5769
1886
1887 *) Add Win32 option -k stop as an alias of -k shutdown, to correspond to
1888 the NET START/NET STOP syntax. [William Rowe]
1889
1890 *) Force Apache to test the Win32 config prior to any operation,
1891 except the [-k shutdown -n service] and [-u -n service] combinations.
1892 [William Rowe]
1893
1894 *) Add Win32 Ctrl+C/Ctrl+Break/Close/Logoff/Shutdown handler.
1895 [William Rowe, Jan Just Keijser <KEIJSERJJ logica.com>]
1896
1897 *) Expand mod_setenvif so its directives can be used in <Files> and
1898 <Directory> containers, and in .htaccess files when FileInfo
1899 overriding is allowed. [Ken Coar] PR#3000
1900
1901 *) SECURITY: CVE-2000-0505 (cve.mitre.org)
1902 Fix Win32 bug when pathname length exactly equals MAX_PATH.
1903 This bug caused directory index to be displayed rather than
1904 returning an error. [Allan Edwards <ake raleigh.ibm.com>]
1905
1906 *) Correct mod_proxy Win95 dynamic link __declspec(thread) bug.
1907 David Whitmarsh <david.whitmarsh dial.pipex.com>
1908 PR: 1462, 2216, 3645
1909
1910 *) Changed Apache for NetWare build to link with XDC data which
1911 marks the NLMs as being able to run on any processor.
1912 [Mike Gardiner <mgardiner novell.com>]
1913
1914 *) Ported expat-lite to NetWare and integrated project files into the
1915 ApacheNW.mcp. [Mike Gardiner <mgardiner novell.com>]
1916
1917 *) Switched thread storage data mechanism on NetWare to use updated
1918 system calls. [Mike Gardiner <mgardiner novell.com>]
1919
1920 *) Fixed problem with multilanguage support that prevented Apache on
1921 NetWare from displaying the correct language page.
1922 [Mike Gardiner <mgardiner novell.com>]
1923
1924 *) Fixed memory leaks on NetWare port. When unloading Apache with
1925 the developer option turned on NetWare would spew messages
1926 complaining about unreleased resources.
1927 [Mike Gardiner <mgardiner novell.com>]
1928
1929 *) Fixed a problem that prevented Apache on NetWare from shutting down
1930 correctly when loading multiple instances in individual address
1931 spaces. [Mike Gardiner <mgardiner novell.com>]
1932
1933 *) Changed threading primitives to use faster more scalable calls.
1934 [Mike Gardiner <mgardiner novell.com>]
1935
1936 *) Added -s option for NetWare port to allow Apache to run without a
1937 screen. [Mike Gardiner <mgardiner novell.com>]
1938
1939 *) Added code for NetWare port to display the listening ports and loaded
1940 DSO modules to the console screen.
1941 [Mike Gardiner <mgardiner novell.com>]
1942
1943 *) Removed ugly NetWare specific code from the modules and added libpre.c
1944 and libprews.c instead. These files implement the NLM startup code
1945 for shared NLMs (DSOs). The result of using these files is less
1946 obtrusive code, faster load times, and a smaller executable size.
1947 libprews.c contains WSAStartup and WSACleanup WinSock calls needed for
1948 initialization and termination of DSO modules.
1949 [Mike Gardiner <mgardiner novell.com>]
1950
1951 *) Moved htpasswd and htdigest projects files for NetWare into the main
1952 ApacheNW.mcp project file. [Mike Gardiner <mgardiner novell.com>]
1953
1954 *) Added mod_tls (SSL/TLS) module for NetWare SSL/TLS support.
1955 [Mike Gardiner <mgardiner novell.com>]
1956
1957 *) Updated httpd.conf-dist-nw with <IfModule> directives around
1958 standard DSO modules. [Mike Gardiner <mgardiner novell.com>]
1959
1960 *) Correct mod_proxy Win32 garbage collection bug (clean failing
1961 due to stat() against directory).
1962 PR: 1891, 3278, 3640, 4139, 5997
1963 [Michael Friedel <mfriedel lbell.slctnet.com>]
1964
1965 *) Add '-n' option to htpasswd to make it print its user:pw record
1966 on stdout rather than having to frob a text file. [Ken Coar]
1967
1968 *) Set default ServerName setting to 127.0.0.1 for the Windows
1969 config file (httpd.conf-dist-win)
1970 PR: 5509, 5783, 5953, 5903, 5983, 5259, 5515, 5858
1971 [Oliver Wendemuth <owendemuth ko.hbv.de>]
1972
1973 *) [EBCDIC] Update mod_mmap_static so that an ebcdic box can use
1974 MMapFile for files that shouldn't be converted from ebcdic->ascii.
1975 [Greg Ames]
1976
1977 *) Revamp the Win32 make environment. Apache.dsw created to bring
1978 together all the pieces. Create new file os/win32/BaseAddr.ref
1979 to define module base addresses (to prevent dll relocation at
1980 start-up). Extraneous compiler files were removed (precompiled
1981 headers, incremental link images), and .map files were added
1982 for consistent diagnostics of gpfaults of the binary release.
1983 [William Rowe, Greg Marr, Tim Costello, Bill Stoddard]
1984
1985 *) Resolved Win32 mod_info (ApacheModuleInfo.dll) errors.
1986 PR1442, PR2472, PR4125, PR1643 and PR2208
1987 Jim Patterson, Jan Just Keijser <KEIJSERJJ logica.com>
1988
1989 *) Add some more error reporting to htpasswd in the case of problems
1990 generating or accessing the temporary file. Also, pass in a
1991 buffer if the implementation knows how to use it (i.e., if L_tmpnam
1992 is defined). [Ken Coar] PR#3945, 5253, 5383, 5558
1993
1994 *) PORT: Add recognition of the GNU/Hurd platform.
1995 [Adam Farrell <skate111 stampede.org>]
1996
1997 *) More FAQs and answers from comp.infosystems.www.servers.unix.
1998 [Joshua Slive <slive finance.commerce.ubc.ca>]
1999
2000 *) Win32: Add dependency checking to the CreateService call to ensure
2001 TCPIP and AFP (winsock) are started before Apache.
2002 [William Rowe <wrowe lnd.com>]
2003
2004 *) FAQ changes related to tidying up historical documents on the web site.
2005 [Joshua Slive <slive finance.commerce.ubc.ca>]
2006
2007 *) Various fixes to mod_auth_digest:
2008 - Reworked MD5-sess stuff. The semantics of userpw_hash() have been
2009 changed for it to return
2010 MD5(MD5(username ":" realm ":" password) ":" nonce ":" cnonce)
2011 instead of just
2012 MD5(username ":" realm ":" password)
2013 because one of the points of MD5-sess is to allow the info to be
2014 retrieved from login servers so that the server itself never has
2015 the full auth info (after all, MD5(u/r/p) is equivalent to the
2016 password for auth purposes).
2017 - In order to allow for servers to share a realm the server-name
2018 and port have been removed from the nonce-hash. Even so, sharing
2019 the realm has problems - see the new comments at the beginning.
2020 - Fixed uri-comparison when request-uri isn't identical to uri in
2021 Authorization header (some fields were not being initialized).
2022 - Handle non-FQDN's (i.e. simple hostnames) in uri parameter in
2023 the Authorization header. Thanks to Joe Orton
2024 <joe orton.demon.co.uk> for pointing out the problem.
2025 [Ronald Tschalär]
2026
2027 *) Add case_preserved_filename field to the request_rec structure.
2028 On systems with case insensitive file systems (Windows, OS/2, etc.),
2029 r->filename is case canonicalized (folded to either lower or upper
2030 case, depending on the specific system) to accomodate file access
2031 checking. case_preserved_filename is the same as r->filename
2032 except case is preserved. There is at least one instance where Apache
2033 needs access to the case preserved filename: Java class files published
2034 with WebDAV need to preserve filename case to make the Java compiler
2035 happy. [Bill Stoddard]
2036
2037 *) Put in Korean and Norwegian index.html pages (2.0 and 1.3)
2038 which where donated by Lee Kuk Hyun and Lorant Czaran [dirkx].
2039
2040 *) Modules which load third-party DLLs (ala mod_dav)
2041 expect them to be in the path or cwd. Tweak the
2042 service startup code to not only change to correct
2043 drive but also correct directory.
2044 [Keith Wannamaker <wannamaker us.ibm.com>]
2045
2046 *) WinNT: Do a better job at handling spaces in service names.
2047 Add the util function ap_remove_spaces and export it on all
2048 platforms. Change some Win32 service and registry functions to
2049 make use of this new function.
2050 [Keith Wannamaker <wannamaker us.ibm.com>]
2051
2052 *) use send/recv instead of write/read in proxy_connect -- fixes
2053 https through proxy on NT. [<willem.vanpelt philips.com>]
2054 PR 5963, 5899, 5823, 5107, 4990?, 4885, 4680, 4468, 3801, 2014
2055
2056 *) [EBCDIC] Make chunked encoding work again; it was broken by the
2057 recent CRLF macro changes. An oversight. [Martin Kraemer]
2058
2059 *) Work around a popular restriction of some sed(1)'s in APACI where
2060 "1,/<pattern>/" commands start searching for <pattern> at line 2 only.
2061 [Ralf S. Engelschall]
2062
2063 *) Merged in a small subset of SGI's latest `10x' patchkit for Apache
2064 1.3.11. The extracted and merged in parts are entirely cleanup and
2065 non-performance related changes only. SGI's remaining changes are
2066 not taken over, because they are either cluttering the Apache 1.3
2067 sources too much (e.g. the lint(1) related changes) or cause too
2068 much internal changes (e.g. the ap_int32 types, etc.) which are not
2069 reasonable to do any longer for Apache 1.3 (they should be done for
2070 Apache 2.0 instead).
2071 [Mike Abbott <mja sgi.com>, Ralf S. Engelschall]
2072
2073 *) Fixes to mod_proxy for BeOS support.
2074 [David Reid <dreid jetnet.co.uk>]
2075
2076 *) Fix return value calculation in APXS' error messages.
2077 This should avoid the confusion on APXS errors.
2078 [Ralf S. Engelschall]
2079
2080 *) Make ApacheBench (ab) compile again stand-alone under
2081 -DNO_APACHE_INCLUDES.
2082 [Ralf S. Engelschall]
2083
2084 *) The ServerTokens directive now accepts the 'ProductOnly' keyword,
2085 which results in the display of just 'Apache' with no version
2086 information. Additional product tokens are still only visible
2087 with ServerTokens Full. In addition, ServerTokens now complains
2088 about bogus keywords (which it used to silently treat as 'Full').
2089 [Ken Coar]
2090
2091 Changes with Apache 1.3.12
2092
2093 *) Only OS/2 requires the addition "t" flag for ap_pfopen()
2094 (as therefore fopen() as well). This is handled by the
2095 FOPEN_REQUIRES_T macro. [Ian Turner <iant sequent.com>,
2096 Jim Jagielski] PR#5760
2097
2098 *) The default charset is only added, when enabled, for those
2099 Content-types which require it (text/plain, text/html).
2100 [Jim Jagielski] PR#5766
2101
2102 *) Fix handling of multiple queries in APXS commands (e.g. "apxs -q
2103 CC CFLAGS") and make sure Perl-related command line options (which
2104 can contain the "::" constructs) do no longer cause an incorrect
2105 internal parsing of the query result.
2106 [Ralf S. Engelschall, Steve Robb <steve eu.c2.net>]
2107
2108 *) Avoid infinite looping in APACI's configure script
2109 inside Ultrix' /bin/sh5 upgrade step.
2110 [Jan Gallo <gallo viapvt.sk>, Ralf S. Engelschall] PR#4940
2111
2112 *) PORT: Add support for Amdahl UTS 4.3 and later.
2113 [Dave Dykstra <dwd bell-labs.com>] PR#5654
2114
2115 *) Make implementation/descriptions of the FLAG directives
2116 AuthAuthoritative, MetaFiles and ExtendedStatus consistent with
2117 documentation and the standard way of implementation those directives.
2118 [David MacKenzie <djm web.us.uu.net>, Ralf S. Engelschall] PR#5642
2119
2120 *) Cast integer ap_wait_t values in http_main.c to get rid of compile
2121 time errors on platforms where "ap_wait_t" is not defined as "int"
2122 (currently only the NEXT and UTS21 platforms).
2123 [Gary Bickford <garyb fxt.com>, Ralf S. Engelschall] PR#5053
2124
2125 *) The default suexec path was HTTPD_ROOT/sbin/suexec if not
2126 configured via APACI. Changed to HTTPD_ROOT/bin/suexec.
2127 [Lars Eilebrecht]
2128
2129 *) Add an explicit charset=iso-8859-1 to pages generated by
2130 ap_send_error_response(), such as the default 404 page.
2131 [Marc Slemko]
2132
2133 *) Add the AddDefaultCharset directive. This allows you to specify
2134 the given character set on any document that does not have one
2135 explicitly specified in the headers. [Marc Slemko, Jim Jagielski]
2136
2137 *) SECURITY: CVE-2000-1205 (cve.mitre.org)
2138 Properly escape various messages output to the client from a number
2139 of modules and places in the core code. [Marc Slemko]
2140
2141 *) SECURITY: CVE-2000-1205 (cve.mitre.org)
2142 Change mod_actions, mod_autoindex, mod_expires, and mod_log_config to
2143 not consider any parameters such as charset when making decisions
2144 based on content type. This does remove some functionality for
2145 some users, but means that when these modules are configured to do
2146 particular things with particular MIME types, the charset should
2147 not be included. A better way of addressing this for users who
2148 want to set things on a per charset basis is necessary in the future.
2149 [Marc Slemko]
2150
2151 *) SECURITY: CVE-2000-1205 (cve.mitre.org)
2152 mod_include now entity encodes output from "printenv" and "echo var"
2153 by default. The encoding for "echo var" can be set to URL encoding
2154 or no encoding using the new "encoding" attribute to the echo tag.
2155 [Marc Slemko]
2156
2157 Changes with Apache 1.3.11
2158
2159 *) MPE builds are no longer stripped, which caused the executable
2160 to not work. [Mark Bixby]
2161
2162 Changes with Apache 1.3.10
2163
2164 *) Fixed parsing of TAKE13-based configuration directives.
2165 [Steffen Roller <sr daa.de>] PR#5550
2166
2167 *) rename the lookup() function to hashTableLookup() (in expat-lite)
2168 to prevent name clashes with modules / third-party software.
2169 [Ralf S. Engelschall, Greg Stein]
2170
2171 *) Reduce the time that a parent waits for its children to die
2172 after SIGKILL has been sent, since there isn't much point in waiting
2173 another 16 seconds beyond the initial SIGTERM waiting period.
2174 [Ed Korthof]
2175
2176 *) Add --suexec-umask option to configure, and severity levels
2177 to suexec log messages. Also clarify a couple of those messages,
2178 which were perhaps a bit too cryptic. [Ken Coar] PR#4178
2179
2180 *) The end_chunk() code forgot to convert the trailing CRLF pair
2181 from EBCDIC to ASCII. Fixed. [Martin Kraemer]
2182
2183 *) An Action set for a Location that didn't correspond to a file didn't
2184 work. Fixed.
2185 [Manoj Kasichainula, Ben Laurie]
2186
2187 *) ProxyPass and mod_rewrite's proxy mode erroneously converted
2188 authentication requests to proxy authentication requests.
2189 [Ben Laurie]
2190
2191 *) Reverse a patch which broke HPUX shared builds. Basically
2192 we comment out the SHLIB_SUFFIX_NAME=sl line in Configure.
2193 [Ryan Bloom]
2194
2195 *) Added the mod_rewrite `URL Rewriting Guide' to the online
2196 documentation (htdocs/manual/misc/rewriteguide.html). This paper
2197 provides a large collection of practical solutions to URL based
2198 problems a webmaster is often confronted with.
2199 [Ralf S. Engelschall]
2200
2201 *) Add a suexec status report to the '-l' (compiled-in modules)
2202 output. [Ken Coar]
2203
2204 *) Changes to enable server-parsed mod_autoindex Header and
2205 Readme files. [Raymond S Brand <rsbx rsbx.net>]
2206
2207 *) Add back support for UseCanonicalName in <Directory> containers
2208 [Manoj Kasichainula]
2209
2210 *) SECURITY: CVE-2000-1206 (cve.mitre.org)
2211 More rigorous checking of Host: headers to fix security
2212 problems with mass name-based virtual hosting (whether using mod_rewrite
2213 or mod_vhost_alias).
2214 [Ben Hyde, Tony Finch]
2215
2216 *) Updated README.config to reflect current APACI state.
2217 [Brian Slesinsky <bslesins best.com>] PR#5397
2218
2219 *) Added SuSE and BSDI layouts to config.layout for convinience reasons.
2220 [Sebastian Helms <sebastian.helms gmx.de>, Timur Bakeyev
2221 <timur com.bat.ru>] PR#5112 PR#5154
2222
2223 *) Consistency cleanup of the complete APXS tool and corresponding manpage.
2224 [Ralf S. Engelschall]
2225
2226 *) Add %q logging format directive (logs "?" and the query string part
2227 of a query, or the empty string if no query).
2228 Can be used in combination with %m, %U and %H: "%m %U%q %H" is the
2229 same as "%r". [Peter Watkins <peterw usa.net>]
2230
2231 *) Improve OS390 port to work on older system releases
2232 [Paul Gilmartin <pg sweng.stortek.com>]
2233
2234 *) Enhance mod_mime with an AddCharset directive to properly handle
2235 that negotiation dimension.
2236 [Youichirou Koga <y-koga isoternet.org>]
2237
2238 *) OS: Added first cut at support for IBM's OS/390.
2239 [Ovies Brabson <oviesb us.ibm.com>]
2240
2241 *) Replace all occurrences of "\012\015" by a macro CRLF. This makes
2242 the code (somewhat) more readable, and improves the portability
2243 to character sets other than ASCII (e.g., EBCDIC).
2244 This patch results in no functional change whatsoever on ASCII
2245 machines, but allows EBCDIC platforms to live without the
2246 ebcdic2ascii_strictly() kludge.
2247 [Paul Gilmartin <pg sweng.stortek.com>, slightly modified
2248 by Martin Kraemer]
2249
2250 *) more fixes to mod_auth_digest:
2251 - better comparing of request-uri with uri parameter in Authorization
2252 header
2253 - added a check for a MUST condition in the spec
2254 - fixed SEGV
2255 [Ronald Tschalär]
2256
2257 *) mod_proxy now works on TPF.
2258 [Joe Moenich <moenich us.ibm.com>]
2259
2260 *) Enhance mod_actions' Script handling to be able to deal with
2261 arbitrary methods and not just the well-known ones. This allows
2262 experimental or organisation-private methods to be used without
2263 waiting for Apache to catch up.
2264 [Ken Coar]
2265
2266 *) Fix various compile time warnings in hashbang_emul code which
2267 prevent successful compilation on OS/390 [Ovies Brabson
2268 <oviesb us.ibm.com>, Paul Gilmartin <pg sweng.stortek.com>]
2269
2270 *) EBCDIC: Fixed binary upload capability (plain and chunked) for
2271 all methods using the ap_*_client_block() functions, most notably
2272 POST and PUT. The functionality to switch input between protocol
2273 parts (chunks) and (possibly binary) data had been missing all
2274 the time, making chunked PUT impossible until now.
2275 [Martin Kraemer]
2276
2277 *) Fixed a recently introduced off-by-one-character bug in
2278 mod_rewrite's expansion of expression back-references.
2279 [Cliff Woolley <jwoolley wlu.edu>] PR#4766 PR#5389
2280
2281 *) Add IndexOptions DescriptionWidth so that the width of the
2282 description field in fancy-indexed directory listings can
2283 be specified.
2284 [Ken Coar] PR#2324, plus lots that are closed unsatisfied
2285
2286 *) EBCDIC: Escaped characters were encoding the ebcdic representation
2287 of the special characters, not the latin1 representation. This
2288 would result in invalid URI's for, e.g., filenames (with special chars)
2289 in mod_autoindex.c [Martin Kraemer]
2290
2291 *) EBCDIC: Fix Byte Ranges for EBCDIC platforms. The necessary switch
2292 between implied conversion for protocol parts and configured
2293 conversion for document data was missing. The effect of this was that
2294 PDF files could not be read by Acrobat Reader (which sends long
2295 lists of byte ranges in each request) when the server was apache
2296 on ebcdic machines.
2297 [Noted by Oliver Reh <Oliver.Reh FAEDV-N.Bayern.de>, solved by Martin
2298 Kraemer, warnings fixed by Ovies Brabson <oviesb us.ibm.com>]
2299
2300 *) Add IndexOptions FoldersFirst to allow fancy-indexed directory
2301 listings to have the subdirectories always listed at the top.
2302 [Ken Coar]
2303
2304 *) BS2000: Use send() instead of write() in the core buff routines
2305 for better performance and fewer restrictions (max. transfer size)
2306 [Martin Kraemer]
2307
2308 *) If the compiler sanity check fails, force the verbose output
2309 for TestCompile so people can have a clue what the problem
2310 is. [Jim Jagielski]
2311
2312 *) Add --iconsdir, --htdocsdir, and --cgidir option to top-level
2313 configure script to allow one to override the corresponding
2314 variables from config.layout.
2315 [Ralf S. Engelschall]
2316
2317 *) Fixed `quad integer' (aka `long long') handling in ap_snprintf.c
2318 [Jim Jagielski, Ralf S. Engelschall]
2319
2320 *) Fixed error handling in dbmmanage script.
2321 [Andrew McRae <andrew liquid.com>] PR#4973
2322
2323 *) Fixed NEXT/OpenStep building by adding an fallback typedef for
2324 rlim_t to ap_config.h.
2325 [Mark Miller <markm swoon.net>] PR#4906
2326
2327 *) Fix SHARED_CORE feature for HPUX by backing-out a change (comitted
2328 between 1.3.7 and 1.3.9) which changed the DSO extension from `sl' to
2329 `so'. This worked only for modules (where we load the DSO manually), but
2330 horribly fails under HPUX for DSO-based/shared libraries (where our
2331 $SHLIB_SUFFIX_NAME is used, too).
2332 [Gary Silverman <gary.silverman abnamro.com>] PR#4974
2333
2334 *) Added support for Berkeley-DB/3.x to mod_auth_db.
2335 [Steve Atkins <steve blighty.com>, Ralf S. Engelschall] PR#5382
2336
2337 *) Fixed mod_auth_digest.c: result of an open() call was being
2338 checked against the wrong failure value.
2339 [Rick Ohnemus <rjohnemus systemware-inc.com>] PR#5292
2340
2341 *) Removed the variable name "template" from a prototype for SunOS4
2342 in ap_config.h to make C++ compiler happy, too.
2343 [SAKAI Kiyotaka <ksakai netwk.ntt-at.co.jp>] PR#5363
2344
2345 *) Added missing links to htdocs/manual/mod/directives.html
2346 for AllowCONNECT and ProxyDomain. [Patrik Grip-Jansson
2347 <patrikj gnulix.org>, Ralf S. Engelschall] PR#5319
2348
2349 *) Fixed typo in htdocs/manual/install.html.
2350 [Chris Pepper <pepper tgg.com>] PR#5360
2351
2352 *) Fix $AWK/awk usage in top-level configure script: We confused ourself and
2353 replaced the wrong "$AWK" with a plain "awk" in the last releases. So we
2354 now both fix this and move the comment which already tried to explain it
2355 more closer to the location to which it applies.
2356 [Paul Gilmartin <pg sweng.stortek.com>, Ralf S. Engelschall] PR#5304
2357
2358 *) Replaced pipes with commas in GuessOS' fallback output (displayed for not
2359 explicitly recognized platforms) to avoid side-effects with APACI's
2360 --shadow feature and similar uses where GuessOS' output is used directly
2361 on the filesystem (where pipes are meta-characters!).
2362 [Paul Gilmartin <pg sweng.stortek.com>] PR#5303
2363
2364 *) Made stripping of a trailing slash in directory names in top-level
2365 configure script more robust and this way support also a plain `/'
2366 as the argument without resulting in an empty name.
2367 [Matthias Lohmann <lohm lynet.de>, Ralf S. Engelschall] PR#5291
2368
2369 *) Made `tr' usage in top-level configure script more portable
2370 by always using square brackets consistently.
2371 [Masashi Kizaki <kizaki cpo.dnp.co.jp>] PR#5230
2372
2373 *) Fixed ap_config_auto.h generation in src/Configure: there for the ``quad
2374 integer'' stuff ``#ifndef+#undef+#endif'' pairs were generated instead of
2375 ``#ifdef+#undef+#endif'' pairs.
2376 [Greg Siebers <gsiebers vignette.com>] PR#5231
2377
2378 *) EBCDIC: fix the hsregex package to correctly deal with [a-zA-Z] type
2379 character ranges (the alphabet is non-contiguous in EBCDIC) and with
2380 the special [:cntrl:] range (the control character class is determined
2381 dynamically at run time). [Martin Kraemer]
2382
2383 *) Add --with-port option to APACI. [Ian Kallen <spidaman salon.com>]
2384
2385 *) Fixed QUERY_STRING handling for `RewriteRule ... [P]'
2386 in per-directory context.
2387 [Martin Zeh <martin.zeh sat1.de>] PR#5073
2388
2389 *) Overhauled mod_rewrite's general substitution function
2390 (expand_backref_inbuffer): 1. The `$0' backreference is now officially
2391 allowed and documented and references the while pattern space; 2. the
2392 ampersamp (&) backreference (which is equal to $0) is no longer expanded,
2393 because it was never documented and only leads to confusion with
2394 QUERY_STRINGS; 3. backslashes (\) are honored correctly, that is `\$N'
2395 now really forces the dollar to be an ordinary character and $N is
2396 not expanded.
2397 [Ralf S. Engelschall] PR#4766 PR#4161
2398
2399 *) Make sure mod_rewrite escapes QUERY_STRINGS on redirects.
2400 [Klaus Johannes Rusch <KlausRusch atmedia.net>] PR#4734
2401
2402 *) Make sure mod_rewrite matches URL schemes case-insensitive and also allow
2403 additional (commonly used) URL schemes ldap:, news: and mailto:.
2404 [Ralf S. Engelschall, Klaus Johannes Rusch <KlausRusch atmedia.net>] PR#3140
2405
2406 *) Overhauled ApacheBench (ab) manpage ab.8.
2407 [Simon Baldwin <simonb sco.com>] PR#5139
2408
2409 *) Made sure ApacheBench (ab) performs no more requests than
2410 specified on command line (option -n).
2411 [Jim Cox <jc superlink.net>] PR#4839
2412
2413 *) Support DSOs properly on 32-bit HP-UX 11.0
2414 [Dilip Khandekar <dilip cup.hp.com>]
2415
2416 *) Fix problem with proxy configuration where globally set configuration
2417 options were overridden inside virtual hosts.
2418 [Graham Leggett <minfrin sharp.fm>]
2419
2420 *) Fix ProxyReceiveBufferSize where default value was left uninitialised.
2421 [Graham Leggett <minfrin sharp.fm>]
2422
2423 *) Added a CLF '-' respecting %B to the log format.
2424 Suggested by Ragnar Kjørstad [dirkx]
2425
2426 *) Added protocol(%H)/method(%m) logging to the log format.
2427 Suggested by Peter W <peterw usa.net> [dirkx]
2428
2429 *) Added a HEAD method to 'ab'. [dirkx]
2430
2431 *) When generating the Location: header, mod_speling forgot
2432 to escape the spelling-fixed uri. [Martin Kraemer]
2433
2434 *) Update for the next release of the TPF OS (PUT11)
2435 [David McCreedy <McCreedy us.ibm.com>]
2436
2437 *) Add some compile-time flags to the output when -V is used for TPF
2438 [David McCreedy <McCreedy us.ibm.com>]
2439
2440 *) mod_auth_digest fixes:
2441 - Use unix-io instead of stdio to read /dev/random (fixes problems
2442 on FreeBSD)
2443 [Kano <tomo crane-inc.co.jp>] PR#4967
2444 - Correctly unescape all parts of the request uri and the uri
2445 attribute of the Authorization header before doing comparison
2446 [Joe Orton <joe orton.demon.co.uk>, Ronald Tschalär]
2447 - Fixes for MD5-sess
2448 [Joe Orton <joe orton.demon.co.uk>]
2449 - Don't send a domain attribute in Proxy-Authenticate
2450 [Ronald Tschalär]
2451
2452 *) ap_base64decode_binary does not null-terminate the output anymore
2453 [Bill Stoddard, Ronald Tschalär]
2454
2455 *) WIN32: The following bugs introduced in Apache 1.3.9 have been fixed
2456 - CGIs broken if script calls other programs which deliver on stdout
2457 (Search this file for "DETACHED")
2458 - 16 bit CGIs should work now
2459 - Server will not start if passed the -d option with spaces in the
2460 argument. [Bill Stoddard]
2461
2462 *) WIN32: GetExtensionVersion() comparison in mod_isapi fails when
2463 using some non-MS compilers [Bill Stoddard]
2464 PR#3597, PR#3782, PR#3781, PR#4887
2465
2466 *) Allow BeOS to use its native closesocket() call
2467 [David Reid <abb37 dial.pipex.com>]
2468
2469 *) More TPF changes. Code reorganization for cleanliness, regex
2470 changes for testing, as well as doc and build updates.
2471 [David McCreedy <McCreedy us.ibm.com> and others at IBM]
2472
2473 *) Add TPF processing for the socket read to the rfc1413 code.
2474 [David McCreedy <McCreedy us.ibm.com> and others at IBM]
2475
2476 *) Require the batch (-b) option and default to MD5 on TPF in htpasswd.
2477 [David McCreedy <McCreedy us.ibm.com> and others at IBM]
2478
2479 *) Move "handler not found" warning message to below the check
2480 for a wildcard handler. [Dirk <dirkm teleport.com>, Roy Fielding]
2481 PR#2584, PR#2751, PR#3349, PR#3436, PR#3548, PR#4384, PR#4795, PR#4807
2482
2483 *) Build errors in src/support stop with an error, just like all the
2484 other recursive make calls. [David Harris <dharris drh.net>]
2485
2486
2487 Changes with Apache 1.3.9
2488
2489 *) Remove bogus error message when a redirect doesn't set Location.
2490 Instead, use an empty string to avoid coredump if the error message
2491 was supposed to include a location. [Roy Fielding]
2492
2493 *) Don't allow configure to include mod_auth_digest unless it is
2494 explicitly requested, even if the user asked for all modules.
2495 [Roy Fielding]
2496
2497 *) Translate module names to dll names for OS/2 so that they are no more
2498 than 8 characters long and have an extension of "dll" instead of "so".
2499 [Brian Havard]
2500
2501 *) Print out pointer to Rule DEV_RANDOM when truerand lib not found.
2502 Fix test-compile check to check for randbyte instead of trand32.
2503 Use ap_base64encode_binary/decode instead of copy in mod_auth_digest.c
2504 and tweak to make Amaya happier. [Ronald Tschalär]
2505
2506 *) Ensure that the installed expat include files are world readable,
2507 just like the other header files. [Martin Kraemer]
2508
2509 *) Fixed generated AddModule adjustments in APACI's `configure' script
2510 in order to allow (new) modules like mod_vhost_alias to be handled
2511 correctly (which was touched by the adjustments for mod_alias).
2512 [Ralf S. Engelschall]
2513
2514 *) For binary builds, add -R flag to apachectl to work around the lack of
2515 an absolute path to the ./libexec directory where the libhttp.ep file
2516 is needed for SHARED_CORE architectures. [Randy Terbush]
2517
2518 *) WIN32: Create the CGI script process as DETACHED. This may solve the
2519 problem observed by some Win95/98 users where they get CGI script
2520 output sent to the console. [Bill Stoddard]
2521
2522 *) Fix (re)naming in the uuencode/decode section. The ap/ap_
2523 routines are now called ap_base64* and are 'plain' (i.e., no
2524 pool access or anything clever). Inside util.c the routines acting
2525 like pstrdup are called ap_pbase64encode() and ap_pbase64decode().
2526 The oddly named ap_uuencode(), ap_uudecode() are kept around for
2527 now but deprecated. [dirkx]
2528
2529 *) Clean up the base64 and SHA1 additions and make sure they are
2530 represented in the ApacheCore.def, ApacheCoreOS2.def, and httpd.exp
2531 files. [Roy Fielding]
2532
2533 *) WIN32: Migrate to InstallShield 5.5 and provide a bit more error
2534 checking. Allow compiling on VS 6.0. [Randy Terbush]
2535
2536 *) Fixed assumption of absolute paths in binbuild.sh. [Tony Finch]
2537
2538 *) Use TestCompile to search for the truerand library (rather than blindly
2539 assuming its existence). If it is not found, complain (but do not
2540 exit - yet). [Martin Kraemer]
2541
2542 *) We forgot to add the new exported function names to
2543 src/support/httpd.exp. [Bill Stoddard, Randy Terbush]
2544
2545 *) Add description of -T command-line option to usage().
2546 [Ralf S. Engelschall]
2547
2548 *) For "some" platforms (notably, EBCDIC based ones), libos needs to be
2549 searched only AFTER libap has been searched, because libap needs
2550 some symbols from libos. [Martin Kraemer]
2551
2552 *) Fix conflict with original mod_digest related to the symbol of the
2553 module dispatch list (which has to be unique for DSO and follow the
2554 usual conventions for the installation procedure).
2555 [Ralf S. Engelschall]
2556
2557 *) Add a dbm-library check for the "usual places" (-ldbm, -lndbm, -ldb)
2558 for other platforms as well. [Martin Kraemer]
2559
2560 *) Make ap_sha1.c compile for EBCDIC platforms: replace remaining LONG
2561 types by AP_LONG and replace reference to renamed variable 'ubuf'
2562 by 'buffer'. [Martin Kraemer]
2563
2564 Changes with Apache 1.3.8 [not released]
2565
2566 *) Flush the output buffer immediately after sending an error or redirect
2567 response, since the result may be needed by the client to abort a
2568 long data transfer or restart a series of pipelined requests.
2569 [Tom Vaughan <tvaughan aventail.com>, Roy Fielding]
2570
2571 *) PORT: Improved compilation and DSO support on Sequent DYNIX/ptx.
2572 [Ian Turner <iant sequent.com>] PR#4735
2573
2574 *) Local struct mmap in http_core.c conflicted with system structure
2575 name on DYNIX -- changed to mmap_rec. [Roy Fielding] PR#4735
2576
2577 *) Added updated mod_digest as modules/experimental/mod_auth_digest.
2578 [Ronald Tschalär <ronald innovation.ch>]
2579
2580 *) Fix a memory leak where the module counts were getting messed
2581 up across restarts. [David Harris <dharris drh.net>]
2582
2583 *) CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
2584 properly in mod_access.
2585 ["Paul J. Reder" <rederpj raleigh.ibm.com>] PR#4770
2586
2587 *) RewriteLock/RewriteMap didn't work properly with virtual hosts.
2588 [Dmitry Khrustalev <dima bog.msu.su>] PR#3874
2589
2590 *) PORT: Support for compaq/tandem/com.
2591 [Michael Ottati <michael.ottati compaq.com>, dirkx]
2592
2593 *) Added SHA1 password encryption support to easy migration from
2594 Netscape servers. See support/SHA1 for more information.
2595 Caused the separation of ap_md5.c into md5, sha1 and a general
2596 ap_checkpass.c with just a validate_passwd routine. Added a
2597 couple of flags to support/htpasswd. Some reuse of the to64()
2598 function; hence renamed to ap_to64().
2599 [Dirk-Willem van Gulik, Clinton Wong <clintdw netcom.com>]
2600
2601 *) Change for EBCDIC platforms (TPF and BS2000) to correctly deal
2602 with ASCII/EBCDIC conversions in "ident" query.
2603 [David McCreedy <McCreedy us.ibm.com>]
2604
2605 *) Get rid of redefinition warning on MAC_OS_X_SERVER platform.
2606 Change "Power Macintosh" to Power* so if uname prints "Power Book"
2607 we're still happy on Rhapsody platforms. [Wilfredo Sanchez]
2608
2609 *) Fix SIGSEGV on some systems because the Vary fix below included
2610 a call to table_do with a variable argument list that was not
2611 NULL terminated. Replaced with better implementation. [Roy Fielding]
2612
2613 Changes with Apache 1.3.7 [not released]
2614
2615 *) The "Vary" response header field is now sanitised right before
2616 the header is sent back to the client. Multiple "Vary" fields
2617 are combined, and duplicate tokens (e.g., "Vary: host, host" or
2618 "Vary: host, negotiate, host, accept-language") are reduced to
2619 single instances. This is a better solution than the force-no-vary
2620 one (which is still valid for clients that can't cope with Vary
2621 at all). [Dean Gaudet, Roy Fielding, Ken Coar] PR#3118
2622
2623 *) Portability changes for BeOS. [David Reid <abb37 dial.pipex.com>]
2624
2625 *) Link DSO's with "gcc -shared" instead of "ld -Bshareable" at
2626 least on Linux and FreeBSD for now.
2627 [Rasmus Lerdorf]
2628
2629 *) Win32: More apache -k restart work. Restarts are now honored
2630 immediately and connections in the listen queue are -not- lost.
2631 This is made possible by the use of the WSADuplicateSocket()
2632 call. The listeners are opened in the parent, duplicated, then
2633 the duplicates are passed to the child. The original listen sockets
2634 are not closed by the parent across a restart, thus the listen queue
2635 is preserved.
2636 [Bill Stoddard <stoddard raleigh.ibm.com>]
2637
2638 *) Fix handling of case when a client has sent "Expect: 100-continue"
2639 and we are going to respond with an error, but get stuck waiting to
2640 discard the body in the pointless hope of preserving the connection.
2641 [Roy Fielding, Joe Orton <jeo101 york.ac.uk>] PR#4499, PR#3806
2642
2643 *) Fix 'configure' to work correctly with SysV-based versions of
2644 'tr' (consistent with Configure's use as well). [Jim Jagielski]
2645
2646 *) apxs: Add "-S var=val" option which allows for override of CFG_*
2647 built-in values. Add "-e" option which works like -i but doesn't
2648 install the DSO; useful for editing httpd.conf with apxs. Fix
2649 editing code so that multiple invocations of apxs -a will not
2650 create duplicate LoadModule/AddModule entries; apxs can now be
2651 used to re- enable/disable a module. [Wilfredo Sanchez]
2652
2653 *) Win32: Update the server to use Winsock 2. Specifically, link with
2654 ws2_32.lib rather than wsock32.lib. This gives us access to
2655 WSADuplcateSocket() in addition to some other enhanced comm APIs.
2656 Win 95 users may need to update their TCP/IP stack to pick up
2657 Winsock 2. (See http://www.microsoft.com/windows95/downloads/)
2658 [Bill Stoddard <stoddard raleigh.ibm.com>]
2659
2660 *) Win32: Redirect CGI script stderr (script debug info) into the
2661 error.log when CGI scripts fail. This makes Apache on Win32
2662 behave more like Unix.
2663 [Bill Stoddard <stoddard raleigh.ibm.com>]
2664
2665 *) Fixed `httpd' usage display: -D was missing.
2666 [Ralf S. Engelschall] PR#4614
2667
2668 *) Fix `make r' test procedure in src/regex/: ap_isprint was not found.
2669 [Ralf S. Engelschall] PR#4561, PR#4562
2670
2671 *) OS/2: Fix problem with accept lock semaphores where server would die with
2672 "OS2SEM: Error 105 getting accept lock. Exiting!"
2673 [Brian Havard] PR#4505
2674
2675 *) Add DSO support for DGUX 4.x using gcc. Tested on x86 platforms.
2676 [Randy Terbush <randy covalent.net>]
2677
2678 *) Add the new mass-vhost module (mod_vhost_alias.c) developed and
2679 used by Demon Internet, Ltd. [Tony Finch <fanf demon.net>]
2680
2681 *) Better GCC detection for DSO flags under Solaris 2 where the `cc'
2682 command potentially _is_ GCC. [Ralf S. Engelschall]
2683
2684 *) Fix apxs build issues on AIX
2685 [Rasmus Lerdorf <rasmus raleigh.ibm.com>]
2686
2687 *) DocumentRoot Checking: Under previous versions, when Apache
2688 first started up, it used to do a stat of each DocumentRoot to
2689 see if it existed and was a directory. If not, then an error
2690 message was printed. THIS HAS BEEN DISABLED. If DocumentRoot
2691 does not exist, you will get error messages in error_log. If
2692 the '-t' command line option is used (to check the configuration)
2693 the check of DocumentRoot IS performed. An additional command
2694 line option, '-T', has been added if you want to avoid the
2695 DocumentRoot check even when checking the configuration.
2696 [Jim Jagielski]
2697
2698 *) Win32: The query switch "apache -S" didn't exit after showing the
2699 vhost settings. That was inconsistent with the other query functions.
2700 [Bill Stoddard - Fixed by Martin on Unix in 1.3.4]
2701
2702 *) Win32: Changed behaviour of apache -k restart.
2703 Previously, the server would drain all connections in the stack's
2704 listen queue before honoring the restart. On a busy server, this
2705 could take hours. Now, a restart is honored almost immediately.