Newer
Older
and 507 (Insufficient Storage) for use by third-party modules.
[Roy Fielding]
*) Enabled all of the WebDAV method names for use by third-party
modules, Limit, and Script directives. That includes PATCH,
PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, and UNLOCK.
Improved mod_actions.c so that it can use any of the methods
defined in httpd.h. Added ap_method_number_of(method) for
getting the internal method number. [Roy Fielding]
*) PORT: Add a port to the TPF OS. [Joe Moenich <moenich us.ibm.com> and
others at IBM]
*) Fix problems with handling of UNC names (e.g., \\host\path)
*) Rework os_canonical_*() on Win32 so it's simpler, more
PR#2555, 2915, 3064, 3232
*) Work around incomplete implementation of strftime on Win32.
*) Move a typedef to fix compile problems on Linux with 1.x kernels.
[Manoj Kasichainula] PR#3177
*) PORT: Add a port to the Concurrent PowerMAX OS. [Tom Horsley
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
*) WIN32: Log more explicit error messages if spawning an interpreted
script failed, including the command line used to attempt to execute
the interpreter and the Win32 error code returned. [Marc Slemko]
*) Disable sending of error-notes on a 500 (Internal Server Error) response
since it often includes file path info. Enable sending of error-notes
on a 501 (Method Not Implemented). [Roy Fielding] PR#3173
*) http_config.c would respond with 501 (Method Not Implemented) if a
content type handler was specified but could not be found, which
should have been a 500 response. Likewise, mod_proxy.c would responsd
with a 501 if the URI scheme is unrecognized instead of the correct
response of 403 (Forbidden). [Roy Fielding]
*) SECURITY: Eliminate DoS attack when a bad URI path contains what
looks like a printf format escape. [Marc Slemko, Studenten Net Twente]
*) Fix in mod_autoindex: for files where the last modified time stamp was
unavailable, an empty string was printed which was 2 bytes short.
The size and description columns were therefore not aligned correctly.
[Martin Kraemer] (no PR#)
*) Update BS2000 OS code to work with recent versions. Starting with
release A17, the child fork() must be replaced by a _rfork().
(BS2000 only) [Martin Kraemer]
*) Add the actual server_rec structure of the specific Vhost to the
scoreboard file and avoid a string copy (as well as allow some
further future enhancements). [Harrie Hazewinkel
*) Add APACI --permute-module=foo:bar option which can be used to
on-the-fly/batch permute the order of two modules (mod_foo and mod_bar)
in the Configuration[.apaci] file. Two special and important variants are
supported for the option argument: first BEGIN:foo which permutes module
mod_foo with the begin of the module list, i.e. it `moves' the module to
the begin of the list (gives it lowest priority). And second foo:END
which permutes mod_foo with the end of the module list, i.e. it `moves'
the module to the end of the list (gives it highest priority).
[Ralf S. Engelschall]
*) Fix problem with 'apache -k shutdown' and startup event
PR#3255
*) The config parser wasn't correctly noticing a missing '>'
on container start lines (e.g., it wouldn't spot
"<Directory /" as a syntax error). [Ryan Bloom <rbbloom us.ibm.com>]
PR#3279
*) Add a 'RemoveHandler' directive which will selectively remove
all handler associations for the specified file extensions.
*) Properly handle & allow "nul" and ".*/null" in AccessConfig and
ResourceConfig directives on Win32. Also add a note to the effect
of 'useless User directive ignored on Win32' to the errorlog if
a User directive is encountered on Win32.
*) Fix multiple whitespace handling in imagemaps for mod_imap which was
broken since Apache 1.3.1 where we took out compressing of multiple
spaces in ap_cfg_getline().
*) Fix Berkeley-DB/2.x support in mod_auth_db: The data structures were not
initialized correctly and the db_open() call used an invalid mode
*) PORT: DSO support for UnixWare 7
*) Merge the contents of the {srm,access}.conf-dist* files into the
httpd.conf-dist* files. The srm and access files now contain
only comments, and httpd.conf has all the combined contents in
a rational order. [Ken Coar]
*) PORT: DSO/ELF support for FreeBSD 3.0.
*) Add a "default-handler" handler that calls the default_hander()
function which is normally called for static content. This allows
you to override a specific handler. [Marc Slemko]
*) Further simplify checking for absolute paths by replacing an
hard-coded syntax check with a call to a routine we already created to
*) Log an error if we encounter a malformed "require" directive
in mod_auth if we know that we know that no other module can
deal with it. [Marc Slemko]
*) Remove ap_private_extern method of hiding conflicting symbols
on the NEXT platform because it is not correct for all versions,
and the versions for which it is correct are unknown.
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
*) Fix inheritance of IndexOptions NameWidth and remove unintended
restriction on +NameWidth, +IconHeight, and +IconWidth. [Ken Coar]
*) Fix per-directory config merging for cases in which a 500 error
is encountered in an .htaccess file somewhere down the tree.
[Ken Coar] PR#2409
*) Minor performance improvement to ap_escape_html(). [Roy Fielding]
*) Fixed a segmentation violation in mod_proxy when a response is
non-cachable. [Roy Fielding, traced by Doug Bloebaum]. PR#2950, 3056
Changes with Apache 1.3.3
*) Added a complete implementation of the Expect header field as
specified in rev-05 of HTTP/1.1. Disabled the 100 Continue
response when we already know the final status, which is mighty
useful for PUT responses that result in 302 or 401. [Roy Fielding]
*) Remove extra trailing whitespace from the getline results as part
of the protocol processing, which is extra nice because it works
between continuation lines, is almost no cost in the normal case
of no extra whitespace, and saves memory. [Roy Fielding]
*) Added new HTTP status codes and default response bodies from the
revised HTTP/1.1 (307, 416, 417), WebDAV (102, 207, 422, 423), and
HTTP Extension Framework (510) specifications. Did not add the
WebDAV 424 and 425 codes because they are bogus. We don't use any
of these codes yet, but they are now available to 3rd-party modules.
[Roy Fielding]
*) Fix a possible race condition between timed-out requests and the
ap_bhalfduplex select that might result in an infinite loop on
platforms that do not validate the descriptor. [Roy Fielding]
*) WIN32: Add "-k shutdown" and "-k restart" options to signal a
running Apache server [Paul Sutton]
*) Fix mod_autoindex bug where directories got a size of "0k" instead
of "-". [Martin Plechsmid <plechsmi karlin.mff.cuni.cz>, Marc Slemko]
PR#3130
*) PORT: DRS 6000 machine. [Paul Debleecker <pdebleecker jetair.be>]
*) Add the server signature text (from the core ServerSignature directive)
to the list of envariables available to scripts, SSI, and the like.
[Ken Coar]
*) PORT: Fix sys/resource.h handling for SCO 3.x platform.
*) Fallback from sysconf-based to plain HZ-based `ticks per second'
calculation in mod_status for all systems which don't have POSIX
sysconf() (like UTS 2.1) and not only for the NEXT platform.
*) Fix `require ...' directive parsing in mod_auth, mod_auth_dbm and
mod_auth_db by using ap_getword_white() (which uses ap_isspace())
instead of ap_getword(..., ' ') (which parses only according to spaces
Ralf S. Engelschall] PR#3105
*) Fix the SERVER_NAME variable under sub-request situations (where
`UseCanonicalName off' is used) like CGI's called from SSI pages or
RewriteCond variables by adopting r->hostname to sub-requests.
*) Fix stderr redirection under syslog-based error logging situation.
*) Document `ErrorLog syslog:facility' variant of error logging.
*) Fix http://localhost/ hints in top-level INSTALL document.
*) Quote paths in default configuration files. [Wilfredo Sanchez]
*) PORT: Remove extra HAVE_SYS_RESOURCE_H define for RHAPSODY since
it is now taken care of properly by the header file tests.
*) Fix problem with scripts and filehandle inheritance on Win32.
*) Win32 name canonicalisation could end up using the server's
working directory to fill in some blanks. [Ken Parzygnat
*) Correct invalid assumption by ap_sub_req_lookup_file() that all
absolute paths begin with "/" -- because they don't on Win32.
*) Add [REDIRECT_]VARIANTS environment variable to mod_speling
so that ErrorDocument 300 processors can reformat the list
if desired. [Ken Coar] PR#2859
*) Add +/- incremental prefixes to IndexOptions keywords, and
enable merging of multiple IndexOptions directives. [Ken Coar]
*) PORT: Allow GuessOS to recognize Unixware 7.0.1 [Steve Cameron
*) Reconstructed the loop through multiple htaccess file names so
that missing files are not confused with unreadable files.
[Roy Fielding]
*) The ap_pfopen and ap_pfdopen routines were failing to protect the
errno on an error, which leads to one error being mistaken for
another when reading non-existent .htaccess files.
[Jim Jagielski]
*) OS/2: The new header tests get things right, need to update
ap_config.h. [Brian Havard]
*) The Perl %ENV hash will now be setup by default when using the
mod_include `perl' command [Doug MacEachern]
*) PORT: Add Pyramid DC/OSx support to configuration mechanism.
*) PORT: Fix sys/resource.h handling for Amdahl's UTS 2.1
*) Correct comment in mod_log_config.c about its internals.
*) Avoid possible line overflow in Configure: Use an awkfile to
handle the creation of modules.c [Jim Jagielski]
Changes with Apache 1.3.2
*) Fix bug in ap_remove_module(), which caused problems for dso's
who were the top_module. [Doug MacEachern]
*) Add support for Berkeley-DB/2.x (in addition to Berkeley-DB/1.x) to
mod_auth_db to both be friendly to users who wants to use this version
and to avoid problems under platforms where only version 2.x is present.
*) When using ap_log_rerror(), make the error message available to the
*ERROR_NOTES envariables by default. [Ken Coar]
*) BS2000 platform only: get rid of the nasty BS2000AuthFile.
You now must define a BS2000Account name for the server User.
This has fewer security implications than the old approach.
[Martin Kraemer]
*) Fix SHARED_CORE feature for HPUX platform: We now use extension `.sl'
instead of `.so' and `SHLIB_PATH' instead of `LD_LIBRARY_PATH' on this
platform to make the braindead HPUX linker happy. Notice, for the module
DSOs we don't have to use this, because these are loaded manually (and
not via HPUX' dld). [Ralf S. Engelschall] PR#2905, PR#2968
*) Remove 64 thread limit on Win32.
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
*) Remove redundant substitutions in top-level Makefile.tmpl.
[Ralf S. Engelschall]
*) Fix APACI's `Group' configuration adjustment - especially for Linux
platforms where `nogroup' exists in /etc/group. [Ralf S. Engelschall]
*) Make PrintPath work generically instead of having one version
strictly for OS/2. [Jim Jagielski, Brian Havard]
*) Fix the recently introduced C header file checking: We now use the C
pre-processor pass only (and no longer the complete compiler pass) to
determine whether a C header file exists or not. Because only this way
we're safe against inter-header dependencies (which caused horrible
portability problems). The only drawback is that we now have a CPP
configuration variable which has to be determined first (we do a similar
approach as GNU Autoconf does here). When all fails the user still has
the possibility to override it manually via APACI or src/Configuration.
As a fallback for the header check itself we can directly check the
existance of the file under /usr/include, too.
[Ralf S. Engelschall] PR#2777
*) PORT: Added RHAPSODY (Mac OS X Server) support. MAP_TMPFILE defined
as an alternate mechanism for mmap'd shared memory for RHAPSODY.
ap_private_extern defined to hide symbols that conflict with loaded
dynamic libraries on the NEXT and RHAPSODY platforms.
*) Delete PID file on clean shutdowns.
*) Fix mod_auth_*.html documents: NSCA -> NCSA
*) Fix INSTALL document: www.gnu.ai.mit.edu -> www.gnu.org
*) Fix dbmmanage.1 manual page.
*) Fix possible buffer overflow situation in suexec.c.
*) Add some more LIBS for the SCO5 platform which are needed for the already
used -lprot. It's actually a bug in SCO5, of course.
*) Fix documentation of ProxyPass/ProxyPassReverse according to the
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
*) Remove `-msym' option from LDFLAGS_SHLIB for the Digital UNIX (OSF/1)
platform, because it's only supported under version 4.0 and higher. But
because our GuessOS is still unaware of Digital UNIX versions and the
-msym is just to optimize the DSO statup time a little bit it's safe and
best when we leave it out now. [Ralf S. Engelschall] PR#2969
*) Fix the ap_log_error_old(), ap_log_unixerr() and ap_log_printf()
functions: First all three functions no longer fail on strings containing
"%" chars and second ap_log_printf() no longer does a double-formatting
(instead it directly passes through the message to be formatted to the
real internal formatting function). [Ralf S. Engelschall] PR#2941
*) Allow "Include" directives anywhere in the server config
files (but not .htaccess files). [Ken Coar] PR#2727
*) The proxy was refusing to serve CONNECT requests except to
port 443 (https://) and 563 (snews://). The new AllowCONNECT
directive allows the configuration of the ports to which a
CONNECT is allowed. [Sameer Parekh, Martin Kraemer]
*) mod_expires will now act on content that is not sent from a file
on disk. Previously it would never add an Expires: header to
any response that did not come from a file on disk; the only
case where it still doesn't (and can't) add one for that type of
content is if you are using a modification date based setting.
*) Problems encountered during .htaccess parsing or CGI execution
that lead to a "500 Server Error" condition now provide explanatory
text (in the *ERROR_NOTES envariable) to ErrorDocument 500 scripts.
[Ken Coar] PR#1291
*) Add NameWidth keyword to IndexOptions directive so that the
width of the filename column is customisable. [Ken Coar, Dean Gaudet]
PR#1949, 2324.
*) Recognize lowercase _and_ uppercase `uname' results under
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
*) As duplicate "HTTP/1.0 200 OK" lines within the header seem to be
a common problem of (mis-administrated?) IIS servers, make the apache
proxy immune to these errors (and ignore the duplicates, but log
the fact to error_log). [Martin Kraemer], after the proposal in PR#2914
*) The <IfModule and <IfDefine block starting directives now only
allow exactly one argument. Previously, the optional negation
character '!' could be separated by whitespace without a syntax
error being reported, albeit defeating the IfModule functionality
(enclosed directives would ALWAYS be executed). By using the
stricter syntax, these hard-to-track errors can be avoided.
[Martin Kraemer]
*) Simplify handling of IndexOptions in mod_autoindex -- and BTW
cause the standalone FancyIndexing directive to logically OR
into any existing IndexOptions settings rather than wiping
them out. [Ken Coar]
*) Changes in ftp proxy: make URL parsing simpler by using the
parsed_uri stuff.
+ Add display of the "current directory" in cases where it's
different from the supplied path (e.g., ftp://user@host/ lives
in /home/user, not in /, therefore clicking on "../" in the
starting directory might send us to /home/).
+ When ftp login fails, (esp. when a user name was part of the
URL already), we now return [401 Unauthorized ] to allow the
browser to pop up an authorization dialog. This makes passwords
slightly less visible (they don't appear in the regular log files)
and implements a functionality that other www proxy servers
already offered.
[Martin Kraemer]
*) Triggered by the recent "Via:" header changes, the proxy module would
dump core for replies with invalid headers (e.g., duplicate
"HTTP/1.0 200 OK" lines). These errors are now logged and the
core dump is avoided. Also, broken replies are not cached.
[Martin Kraemer] PR#2914
*) new `GprofDir' directive when compiled with -DGPROF, where gprof can
plop gmon.out profile data for each child [Doug MacEachern]
*) Use the construct ``"$@"'' instead of ``$*'' in the generated
config.status script to be immune against arguments with whitespaces.
*) Replace the inlined information grabbing stuff for the configuration
adjustment feature (no --without-confadjust) with calls to a new helper
script `buildinfo.sh' which is both more flexible and already proofed to
be more robust against platform differences. This mainly fixes the
recently occured ``sed: command garbled: ...'' problems.
[Ralf S. Engelschall] PR#2776, PR#2848
*) Make ab.c again pass ``gcc -Wall -Wshadow -Wpointer-arith -Wcast-align
-Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline''
without complains after we recently added the POST feature.
[Ralf S. Engelschall]
*) Renamed is_HTTP_xxx() macros to ap_is_HTTP_xxx() name. They are used inside
modules as API functions and we forgot them at the big symbol renaming.
[Ralf S. Engelschall]
*) Remove bad reference to non-existing SERVER_VERSION in mod_rewrite.html
*) Dynamically size the filename column of mod_autoindex output.
[Dean Gaudet]
*) Add the ability to do POST requests to the ab benchmarking tool.
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
*) Bump up MAX_ENV_FLAGS in mod_rewrite.h from the too conservatice limit of
5 to 10 because there are some users out there who always have 5 to 8
variables in one RewriteRule and had to patch mod_rewrite.h for every
release. So 15 should be now more than enough, even for them. (I never
needed more than 4 in my RewriteRules ;-)
[Ralf S. Engelschall]
*) Make the proxy generate and understand Via: headers
[Martin Kraemer]
*) Change the proxy to use tables instead of array_headers for
the header lines. [Martin Kraemer]
*) Make sure the config.status file is not overridden when just
``configure --help'' is used. [Ralf S. Engelschall] PR#2844
*) Split MODULE_MAGIC_NUMBER into _MAJOR/_MINOR numbers. This should
provide a way to trace API changes that add functionality but do
not create a compatibility issue for precompiled modules, etc.
See include/ap_mmn.h for more details. [Randy Terbush]
*) Fix suexec installation under `make install root=xxx' situation.
[Ralf S. Engelschall]
*) Extend the output of the -V switch to include the paths of all
compiled-in configuration files, if they were overridden at
compile time, for least astonishment of the user.
[Martin Kraemer]
*) When READing a request in ExtendedStatus mode, the "old"
vhost, request and client information is not displayed.
[Jim Jagielski]
*) STATUS is no longer available. Full status information now
run-time configurable using the ExtendedStatus directive.
[Jim Jagielski]
Eliminate O(n^2) space DoS attacks (and other O(n^2)
cpu time attacks) in header parsing. Add ap_overlap_tables(),
a function which can be used to perform bulk update operations
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
*) SECURITY: Added compile-time and configurable limits for
various aspects of reading a client request to avoid some simple
denial of service attacks, including limits on maximum request-line
size (LimitRequestLine), number of header fields (LimitRequestFields),
and size of any one header field (LimitRequestFieldsize). Also added
a configurable directive LimitRequestBody for limiting the size of the
request message body. [Roy Fielding]
*) Make status module aware of DNS and logging states, even if
STATUS not defined. [Jim Jagielski]
*) Fix a problem with the new OS/2 mutexes. [Brian Havard]
*) Enhance mod_speling so that CheckSpelling can be used in
<Directory> containers and .htaccess files. [Ken Coar]
*) API: new ap_custom_response() function for hooking into the
ErrorDocument mechanism at runtime [Doug MacEachern]
*) API: new ap_uuencode() function [Doug MacEachern]
*) API: scan_script_header_err_core() now "public" and renamed
ap_scan_script_header_err_core() [Doug MacEachern]
*) The 'status' module will now show the process pid's and their
state even without full STATUS accounting. [Jim Jagielski]
*) Restore the client IP address to the error log messages, this
was lost during the transition from 1.2 to 1.3. Add a new
function ap_log_rerror() which takes a request_rec * and
formats it appropriately. [Dean Gaudet] PR#2661
*) Cure ap_cfg_getline() of its nasty habit of compressing internal
whitespace in input lines -- including within quoted strings.
[Ken Coar]
but leading and trailing whitespace should continue to be
stripped [Martin Kraemer]
*) Cleanup of the PrintPath/PrintPathOS2 helper functions. Avoid
the ugly use of an env. variable and use command-line args for
alternate $PATH. Make more like advanced 'type's as well.
[Jim Jagielski]
*) The IRIXN32 Rule was being ignored. Configure now correctly adds
-n32 only if IRIXN32 says to. [Jim Jagielski, Alain St-Denis
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
*) Clean up a warning in mod_proxy. [Ralf S. Engelschall]
*) Renamed __EMX__ (internal define of the gcc port under OS/2) to OS2
following the same idea as "MSVC vs WIN32". Additionally the src/os/emx/
directory was renamed to src/os/os2/ for consistency.
[Brian Havard, Ralf S. Engelschall]
*) Add new Rule SHARED_CHAIN which can be used to enable linking of DSO
files (here modules) against other DSO files (here shared libraries).
This is done by determining a subset of LIBS which can be safely used for
linking the DSOs, i.e. PIC libs and shared libs. Currently the rule is
disabled for all platforms to avoid problems with this (experimental)
rule. But we provide it now for those people how ran into problems and
want to came out by forcing linking against DSOs.
[Ralf S. Engelschall] PR#2587
*) Fix suEXEC start message: Has to be of `notice' level to really get
printed together with the standard startup message because the `notice'
level is handled special inside ap_log_error() for startup messages.
[Ralf S. Engelschall] PR#2761 PR#2761 PR#2765
*) Add correct `model' MIME types from RFC2077 to mime.types file.
[Ralf S. Engelschall] PR#2732
*) Fixed examples in mod_rewrite.html document.
[Youichirou Koga <y-koga jp.FreeBSD.org>, Ralf S. Engelschall] PR#2756
*) Allow ap_read_request errors to propagate through the normal request
handling loop so that the connection can be properly closed with
lingering_close, thus avoiding a potential TCP reset that would
cause the client to miss the HTTP error response. [Roy Fielding]
*) One more portability fix for APACI shadow tree support: Swap order of awk
and sed in top-level configure script to avoid sed fails on some
platforms (for instance SunOS 4.1.3 and NCR SysV) because of the
non-newline-termined output of Awk. [Ralf S. Engelschall] PR#2729
*) PORT: NEC EWS4800 support.
*) Fix a segfault in the proxy on OS/2. [Brian Havard]
*) Fix Win32 part of ap_spawn_child() by providing a reasonable child_info
structure instead of just NULL. This fixes at least the RewriteMap
programs under Win32. [Marco De Michele <mdemichele tin.it>] PR#2483
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
*) Add workaround to top-level `configure' script for brain dead
`echo' commands which interpet escape sequences per default.
[Ralf S. Engelschall] PR#2654
*) Make sure that the path to the Perl interpreter is correctly
adjusted under `make install' also for the printenv CGI script.
[Ralf S. Engelschall] PR#2595
*) Update the mod_rewrite.html document to correctly reflect the situation
of the `proxy' (`[P]') feature. [Ralf S. Engelschall] PR#2679
*) Fix `install-includes' sub-target of `install' target in top-level
Makefile.tmpl: The umask+cp approach didn't work as expected (especially
for users which extracted the distribution under 'umask 077'), so replace
it by an explicit cp+chmod approach.
[Richard Lloyd, Curt Sampson, Ralf S. Engelschall] PR#2656 PR#2626
*) Fix `distclean' and `clean' targets in src/Makefile.tmpl to have same
behavior and to cleanup correctly even under enabled SHARED_CORE rule.
[Ralf S. Engelschall]
*) Use a more straight forward and thus less problematic Sed command in
src/helper/mkdir.sh script. [Ralf S. Engelschall]
*) Make sure the `configure' scripts doesn't fail when trying to guess the
domainname of the machine and there are multiple `domainname' and
`search' entries in /etc/resolv.conf.
[Ralf S. Engelschall] PR#2710
*) Add note about the SHARED_CORE requirement on some platforms also to the
INSTALL file because a lot of users don't read htdocs/manual/dso.html
first. [Ralf S. Engelschall] PR#2701
*) Fix document "hyperlink" for dso.html in src/Configuration.tmpl
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
*) Modify mod_rewrite to update the Vary response field if the URL rewriting
engine does any manipulations or decisions based upon request fields.
[Ken Coar] PR#1644
*) Document the special APACI behavior for installation paths where
``/apache'' is appended to paths under some (well defined, of course)
situations to prevent pollution of system locations with Apache files.
[Ralf S. Engelschall] PR#2660
*) Fixed problem with buffered response message not being sent for
the read_request error conditions of URI-too-long (414) and
malformed header fields (400). [Roy Fielding] PR#2646
*) Add support for the Max-Forwards: header line required by RFC2068 for
the TRACE method. This allows apache to TRACE along a chain of proxies
up to a predetermined depth. [Martin Kraemer]
*) Fix SHARED_CORE rule: The CFLAGS_SHLIB variable is no longer doubled
(compilers complained) and the .so.V.R.P filename extension was adjusted
to correctly reflect the 1.3.2 version.
[Ralf S. Engelschall] PR#2644
*) SECURITY: Plug "..." and other canonicalization holes under OS/2.
[Brian Havard]
*) PORT: implement serialized accepts for OS/2. [Brian Havard]
*) mod_include had problems with the fsize and flastmod directives
under WIN32. Fix also avoids the minor security hole of using
".." paths for fsize and flastmod.
*) Fixed some Makefile dependency problems. [Dean Gaudet]
Changes with Apache 1.3.1
*) Disable the incorrect entry for application/msword in the
mod_mime_magic "magic" file because it also matches other Office
documents. [Ralf S. Engelschall] PR#2608
*) Fix broken RANLIB handling in src/Configure (the entry from
src/Configuration.tmpl was ignored) and additionally force RANLIB to
/bin/true under HP/UX where ranlib exists but is deprecated.
[Ralf S. Engelschall] PR#2627
*) 'apachectl status' failed on some systems.
[Steve VanDevender <stevev darkwing.uoregon.edu>, Lars Eilebrecht] PR#2613
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
*) Add new flags for ap_unparse_uri_components() to make it generate
the scheme://sitepart string only, or to omit the query string.
[Martin Kraemer]
*) WIN32: Canonicalize ServerRoot before checking to see if it
is a valid directory. The failure to do this caused certain
ServerRoot settings (eg. "ServerRoot /apache") to be improperly
rejected. [Marc Slemko]
*) Global renaming of C header files to both get rid of conflicts with third
party packages and to again reach consistency:
1. conf.h -> ap_config.h
2. conf_auto.h -> ap_config_auto.h \ these are now merged
3. ap_config.h -> ap_config_auto.h / in the config process
4. compat.h -> ap_compat.h
5. apctype.h -> ap_ctype.h
Backward compatibility files for conf.h and compat.h were created.
*) mod_mmap_static will no longer take action on requests unless at
least one "mmapfile" directive is present in the configuration.
This experimental module has to do some black magic to operate
inside the current API and thus creates side-effects for other
modules under some circumstances.
[Ralf S. Engelschall]
*) Add conservative ticks around more egrep arguments in top-level configure
to avoid problems under brain-dead platforms like Digital UNIX (OSF1).
[Ralf S. Engelschall] PR#2596
*) mod_rewrite created RewriteLock files under the UID of the parent
process, thus the child processes had no write access to the files.
Now a chown() is done on the file to the uid of the children,
if applicable. [Lars Eilebrecht, Ralf S. Engelschall] PR#2341
*) Autogenerate some HAVE_XXXXX_H defines in conf_auto.h (determined via
TestCompile) instead of defining them manually in conf.h based on less
accurate platform definitions. This way we no longer have to fiddle with
OS-type and/or OS-version identifiers to discover whether a system header
file exists or not. Instead we now directly check for the existence of
those esoteric ones.
[Ralf S. Engelschall] PR#2093, PR#2361, PR#2377, PR#2434,
PR#2524, PR#2525, PR#2533, PR#2569
*) mod_setenvif (BrowserMatch* and friends) will now match a missing
field with "^$". [Ken Coar]
*) Set the RTLD_GLOBAL dlopen mode parameter to allow dynamically loaded
modules to load their own modules dynamically. This improves mod_perl
and mod_php3 when these modules are loaded dynamically into Apache.
[Rasmus Lerdorf]
*) Cache a proxied request in the event that the client cancels the
transfer, provided that the configured percentage of the file has
already been transferred. It works for HTTP transfers only. The
new configuration directive is called CacheForceCompletion.
*) Add the "<!DOCTYPE HTML" magic cookie used by modern documents (and
required by HTML 3.2 and later) to mod_mime_magic's conf/magic.
*) Fix yet another signal-based race condition involving nested timers.
Signals suck. [Dean Gaudet]
*) suexec's error messages have been clarified a little bit. [Ken Coar]
*) Clean up some, but perhaps not all, 8-bit character set problems
with config file parsing, and URL parsing. We now define
ap_isdigit(), ap_isupper(), ... which cast to an (unsigned char).
This should work on most modern unixes.
[Dean Gaudet] PR#800, 2282, 2553 (and others)
*) The "handler not found" error was issued in cases where the handler
really did exist, but was just declining to serve the request.
*) Add Dynamic Shared Object (DSO) support for SCO5 (OpenServer 5.0.x).
*) The APACI libexecdir was not extended with an "apache/" subdir
if the installation prefix didn't already contain "apache", but
it should be because the DSO files are Apache-specific. Now
libexecdir is treated the same way sysconfdir, datadir, localstatedir
and includedir are already treated.
*) The <Limit> parsing routine was incorrectly treating methods as
case-insensitive. [Ken Coar]
*) The ap_bprintf() code neglected to test if there was an error on
the connection. ap_bflush() misdiagnosed a failure as a success.
[Dean Gaudet]
*) add support for #perl arg interpolation in mod_include
[Doug MacEachern]
*) API: Name changes of table_elts to ap_table_elts, is_table_empty
to ap_is_table_empty and bgetflag to ap_bgetflag. [Ben Laurie]
*) PORT: Add UnixWare 7 support
*) Fix the Guess-DSO-flags-from-Perl stuff in src/Configure: "perl" was
used instead of "$PERL" which contains the correctly determined Perl
interpreter (important for instance on systems where "perl" and "perl5"
exists, like BSDI or FreeBSD, etc).
[Ralf S. Engelschall] PR#2505
*) Move the initial suEXEC-related startup message from plain
fprintf()/stderr to a delayed ap_log_error()-based one to avoid problems
when Apache is started from inetd (instead of standalone). Under this
situation startup messages on stderr lead to problems (the line is sent
to the client in front of the requested document).
[Ralf S. Engelschall] PR#871, PR#1318
*) Add a flag so ap_fnmatch() can be used for case-blind pattern matching.
[Ken Coar, Dean Gaudet]
*) WIN32: Don't collapse multiple slashes in PATH_INFO.
*) WIN32 SECURITY: Eliminate trailing "."s in path components. These are
ignored by the Windows filesystem, and so can be used to bypass security.
[Ben Laurie, Alexei Kosut].
*) We now attempt to dump core when we get SIGILL. [Jim Jagielski]
*) PORT: remove broken test for MAP_FILE in http_main.c.
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
*) PORT: Change support/apachectl to use "kill -0 $pid" to test if the
httpd is running. This should be more portable than figuring out
which of three dozen different versions of "ps" are installed.
[a cast of dozens]
*) WIN32: If we can't figure out how to execute a file in a script
directory, bail out of the request with an error message. [W G Stoddard]
*) WIN32 SECURITY: Eliminate directories consisting of three or more dots;
these are treated by Win32 as if they are ".." but are not detected by
other machinery within Apache. This is something of a kludge but
eliminates a security hole. [Manoj Kasichainula, Ben Laurie]
*) Move ap_escape_quotes() from src/ap to src/main/util.c; it uses
pools and thus pollutes libap (until the pool stuff is moved there).
[Ken Coar]
*) IndexIgnore should be case-blind on Win32 (and any other case-aware
but case-insensitive platforms). New #define for this added to conf.h
(CASE_BLIND_FILESYSTEM). [Ken Coar] PR#2455
*) Enable DSO support for OpenBSD in general, not only for 2.x, because it
also works for OpenBSD 1.x. [Ralf S. Engelschall]
*) PORT: Fix compilation problem on ARM Linux.
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
*) Let APACI's configure script determine some configuration parameters
(Group, Port, ServerAdmin, ServerName) via some intelligent tests to
remove some of the classical hurdles for new users when setting up
Apache. This is done per default because it is useful for the average
user. Package authors can use the --without-confadjust option to disable
these configuration adjustments.
[Ralf S. Engelschall]
*) Added an EXTRA_DEPS configuration parameter which can be used
to add an extra Makefile dependency for the httpd target, for instance
to external third-party libraries, etc.
[Ralf S. Engelschall]
*) Add <IfDefine>..</IfDefine> sections to the core module (with same spirit
as <IfModule>..</IfModule> sections) which can be used to skip or process
contained commands dependend of ``-D PARAMETER'' options on the command
line. This can be used to achieve logical conditions like <IfDefine
ReverseProxy> instead of physically ones (e.g. <IfModule mod_proxy.c>)
and thus especially can be used for conditionally loading DSO-based
modules via LoadModule, etc. [Ralf S. Engelschall]
*) PORT: clean up a warning in mod_status for OS/2. [Brian Havard]
*) Make table elements const. This may prevent obscure errors. [Ben Laurie]
*) Fix parsing of FTP `SIZE' responses in proxy module: The newline was not
truncated which forced following HTTP headers to be data in the HTTP
PR#2412, 2367
*) Portability fix for APACI shadow tree support: Swap order of awk and sed
in top-level configure script to avoid sed fails on some platforms (for
instance SunOS 4.1.3 and NCR SysV) because of the non-newline-termined
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
*) Improve performance of directory listings (mod_autoindex) by comparing
integer keys (last-modified and size) as integers rather than converting
them to strings first. Also use a set of explicit byte tests rather
than strcmp() to check for parent directory-ness of an entry. Oh, and
make sure the parent directory (if displayed) is *always* listed first
regardless of the sort key. Overall performance winnage should be good
in CPU time, instruction cache, and memory usage, particularly for large
directories. [Ken Coar]
*) Add a tiny but useful goody to APACI's configure script: The generation
of a config.status script (as GNU Autoconf does) which remembers the used
configure command and hence can be used to restore the configuration by
just re-running this script or for remembering the configuration between
releases.
[Ralf S. Engelschall]
*) Add httpd -t (test) option for running configuration syntax tests only.
If something is broken it complains and exits with a return code
non-equal to 0. This can be used manually by the user to check the Apache
configuration after editing and is also automatically used by apachectl
on (graceful) restart command to make sure Apache doesn't die on restarts
because of a configuration which is now broken since the last (re)start.
This way `apachectl restart' can be used inside cronjobs without having
to expect Apache to be falling down. Additionally the httpd -t can be run
via `apachectl configtest'.
[Ralf S. Engelschall] PR#2393
*) Minor display fix for "install" target of top-level Makefile:
the displayed installation command was incorrect although the
executed command was correct. Now they are in sync.
[Ralf S. Engelschall] PR#2402
*) Correct initialization of variable `allowed_globals' in http_main.c
*) Apache would incorrectly downcase the entire Content-Type passed from
CGIs. This affected server-push scripts and such which use
multipart/x-mixed-replace;boundary=ThisRandomString.
[Dean Gaudet] PR#2394
*) PORT: QNX update to properly guess 32-bit systems.
*) Make sure the DSO emulation code for HPUX finds the proprietary shl_xxx()
functions which are in libdld under HPUX 9/10.
[Ralf S. Engelschall] PR#2378
*) Make sure the "install" target of the top-level Makefile doesn't break
because of a return code of 1 from an "if" (for instance under braindead
Ultrix the result code of an "if" construct is 1 if the "then" clause
didn't match). [Ralf S. Engelschall]
*) Add an additional "dummy" target to the "$(LIB)" target in generated
modules/xxx/Makefile's to avoid problems with SVR4 Make under "full-DSO"
situation (no libxxx.a built, only mod_xxx.so's) where LIB and OBJS are
empty. [Ralf S. Engelschall, Dean Gaudet, Martin Kraemer]
*) Replace two bad sprintf() calls with ap_snprintf() variants in
mod_rewrite. [Ralf S. Engelschall]
*) Fix missing usage description for MetaFiles directive.
*) mod_log_config wouldn't let vhosts use log formats defined in the
*) mod_usertrack was corrupting the client hostname. As part of the
fix, the cookie values were slightly extended to include the
fully qualified hostname of the client.
[Dean Gaudet] PR#2190, 2229, 2366
*) Fix a typo in pool debugging code. [Alvaro Martinez Echevarria]
*) mod_unique_id did not work on alpha linux (in general on any
architecture that has 64-bit time_t).
[Alvaro Martinez Echevarria]
*) PORT: Make SCO 5 (and probably 3) compile again. [Ben Laurie]
*) PORT: NCR MPRAS systems have the same bug with SIGHUP restart that
Solaris systems experience. So define WORKAROUND_SOLARIS_BUG.
*) Change "Options None" to "Options FollowSymLinks" in the
<Directory /> section of the default access.conf-dist
(and -win even though it doesn't matter there). This has better
performance, and more intuitive semantics. [Dean Gaudet]
*) PORT: Updated support for UTS 2.1.2.
*) Fix symbol export list (src/support/httpd.exp) after recent
API changes in the child spawning area.
*) Workaround for configure script and old `test' commands which do not
support the -x flag (for instance under platforms like Ultrix). This is
solved by another helper script findprg.sh which searches for Perl and
Awk like PrintPath but _via different names_.
[Ralf S. Engelschall]
*) Remove the system() call from htpasswd.c, which eliminates a system
*) PORT: Fix compilation failures on NEXTSTEP.
*) PORT: F_NDELAY is a typo, should have been FNDELAY. There's also
O_NDELAY on various systems. [Dave Dykstra <dwd bell-labs.com>] PR#2313
*) PORT: helpers/GuessOS updates for various versions for NCR SVR4.
[juerg schreiner <j.schreiner zh.ch>,
Bill Houle <Bill.Houle SanDiegoCA.NCR.COM>] PR#2310
*) Fix recently introduced Win32 child spawning code in mod_rewrite.c which
was broken because of invalid ap_pstrcat() -> strcat() transformation.
[Ralf S. Engelschall]
*) Proxy Cache Fixes: account for directory sizes, fork off garbage collection
to continue in background, use predefined types (off_t, size_t, time_t),
log the current cache usage percentage at LogLevel debug
[Martin Kraemer, based on discussion between Dean Gaudet & Dirk vanGulik]
Changes with Apache 1.3.0
*) Using a type map file as a custom error document was not possible.
[Lars Eilebrecht] PR#1031
*) Avoid problems with braindead Awks by additionally searching for gawk
and nawk in APACI's configure script.
*) Rename md5.h to ap_md5.h to avoid conflicts with native MD5 on
some systems. [Randy Terbush]
*) Change usage of perror()+fprintf(stderr,...) in mod_rewrite to
more proper ap_log_error() variants.
[Ralf S. Engelschall]
*) Make sure the argument for the --add-module option to APACI's configure
script is of type [path/to/]mod_xxx.c because all calculations inside
configure and src/Configure depend on this.
[Ralf S. Engelschall] PR#2307
*) Changes usage of perror/fprintf to stderr to more proper ap_log_error
in mod_mime, mod_log_referer, mod_log_agent, and mod_log_config.
[Brian Behlendorf]