CHANGES revision bb360f1d9bdce4f55f290de07a711db006b25957
5d92fff82718cd018f0b61a10b9ad4d2b8064c95rpluemChanges with Apache 2.0b1
8f066564bfc0fd6ddc6ca4b2f2410615554597d1jim *) Corrected an OS2'ism of apr_get_home_directory. OS2 now returns the
8f066564bfc0fd6ddc6ca4b2f2410615554597d1jim proper directory, including the user's name.
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf *) Removed private os2errno.h and integrated the OS2 network error codes
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf into apr_errno.h for optimized error tests (APR_STATUS_IS_EFOO(rv)).
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf [William Rowe]
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf *) Moved inclusion of <os2.h> header from multiple modules into apr.h
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim [William Rowe]
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim *) Replace configure --with-optim option by using and saving the
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim environment variable OPTIM instead. This is needed because configure
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim options do not support multiple flags separated by spaces.
397df70abe0bdd78a84fb6c38c02641bcfeadceasf [Roy Fielding]
397df70abe0bdd78a84fb6c38c02641bcfeadceasf *) Fix some byterange handling. If we get a byte range that looks like
9b5fe1d4ec48643fb819bbce9dc80f93f444fb48sf "-999999" where that is past the end of the file, we should return
9b5fe1d4ec48643fb819bbce9dc80f93f444fb48sf a PARTIAL CONTENT status code, and return the whole file as one big
9b5fe1d4ec48643fb819bbce9dc80f93f444fb48sf byterange. This matches the 1.3 handling now. [Ryan Bloom]
dd9f60fdfeb73f829fe0b260b7975b4b22be0838sf *) Make the error bucket a real meta-data bucket. This means that the
dd9f60fdfeb73f829fe0b260b7975b4b22be0838sf bucket length is 0, and a read returns NULL data. If one of these
135e1d6a301398168e3b2e5125508828591e1673niq buckets is passed down after the headers are sent, this data will
135e1d6a301398168e3b2e5125508828591e1673niq just be ignored. [Greg Stein]
135e1d6a301398168e3b2e5125508828591e1673niq *) The prefork MPM wasn't killing child processes correctly if a restart
135e1d6a301398168e3b2e5125508828591e1673niq signal was received while the process was serving a request. The child
135e1d6a301398168e3b2e5125508828591e1673niq process would become the equivalent of a second parent process. If
135e1d6a301398168e3b2e5125508828591e1673niq we break out of the accept loop, then we need to do die after cleaning
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin up after ourselves. [Ryan Bloom]
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin *) Change the Prefork MPM to use SIGWINCH instead of SIGUSR1 for graceful
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin restarts. [Ryan Bloom]
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin *) Modify the apr_stat/lstat/getfileinfo calls within apache to use
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin the most optimal APR_FINFO_wanted bits. This spares Win32 from
1b1621900bd89ddc496d721c865a726f635ebd7esf performing very expensive owner, group and permission lookups
1b1621900bd89ddc496d721c865a726f635ebd7esf and allows the server to function until these apr_finfo_t fields
1b1621900bd89ddc496d721c865a726f635ebd7esf are implemented under Win32. [William Rowe]
1b1621900bd89ddc496d721c865a726f635ebd7esf *) Support for typedsafe optional functions - that is functions exported by
4203a35c28d7c60adb7e9ef3be87aad34951c79asf optional modules, which, therefore, may or may not be present, depending
4203a35c28d7c60adb7e9ef3be87aad34951c79asf on configuration. See the experimental modules mod_optional_fn_{ex,im}port
4203a35c28d7c60adb7e9ef3be87aad34951c79asf for sample code. [Ben Laurie]
c094add0a23fe1120fd33711ba2e2d084f5629a1sf *) filters can now report an HTTP error to the server. This is done
c094add0a23fe1120fd33711ba2e2d084f5629a1sf by sending a brigade where the first bucket is an error_bucket.
12b26f433fd7d6fc9f76413d7c2cabf4fa5cb300sf This bucket is a simple bucket that stores an HTTP error and
12b26f433fd7d6fc9f76413d7c2cabf4fa5cb300sf a string. Currently the string is not used, but it may be needed
12b26f433fd7d6fc9f76413d7c2cabf4fa5cb300sf to output an error log. The http_header_filter will find this
26f56d4a3c12077d605362e97490e34522fa4814covener bucket, and output the error text, and then return
26f56d4a3c12077d605362e97490e34522fa4814covener AP_FILTER_ERROR, which informs the server that the error web page
26f56d4a3c12077d605362e97490e34522fa4814covener has already been sent. [Ryan Bloom]
2cef7e294acb5d8b8b5dcb21a55438da0b73f63figalic *) If we get an error, then we should remove all filters except for
2cef7e294acb5d8b8b5dcb21a55438da0b73f63figalic those critical to serving a web page. This fixes a bug, where
2d2de64c25c1519122a76150a7daf2c05f53fd9asf error pages were going through the byterange filter, even though
2d2de64c25c1519122a76150a7daf2c05f53fd9asf that made no sense. [Ryan Bloom]
2d2de64c25c1519122a76150a7daf2c05f53fd9asf *) Relax the syntax checking of Host: headers in order to support
27c5ebb7d411a214f5b6b55a881086ce086d3dd3covener iDNS. PR#6635 [Tony Finch]
27c5ebb7d411a214f5b6b55a881086ce086d3dd3covener *) Cleanup the byterange filter to use the apr_brigade_partition
27c5ebb7d411a214f5b6b55a881086ce086d3dd3covener and apr_bucket_copy functions. This removes a lot of very messy
7697b1b7376a532163c621e050b70c90dcb15d66covener code, and hopefully makes this filter more stable.
7697b1b7376a532163c621e050b70c90dcb15d66covener [Ryan Bloom]
7697b1b7376a532163c621e050b70c90dcb15d66covener *) Remove AddModule and ClearModuleList directives. Both of these
7697b1b7376a532163c621e050b70c90dcb15d66covener directives were used to ensure that modules could be enabled
9e0536cd66a389bdaa758a825b8bbd8fea665a3eigalic in the correct order. That requirement is now gone, because
9e0536cd66a389bdaa758a825b8bbd8fea665a3eigalic we use hooks to ensure that modules are in the correct order.
9e0536cd66a389bdaa758a825b8bbd8fea665a3eigalic [Ryan Bloom]
862bbb262644e8aefae1bf352552b01908ecae0eminfrin *) When SuExec is specified, we need to add it to the list of
862bbb262644e8aefae1bf352552b01908ecae0eminfrin targets to be built. If we don't, then any changes to the
dd3b88790af9d18429c732ca7bc83ec4ef43d3ffrpluem configuration won't affect SuExec, unless 'make suexec' is
dd3b88790af9d18429c732ca7bc83ec4ef43d3ffrpluem specifically run. [Ryan Bloom]
5bbabc874e3fcfbea08c199f7a79ee05b4817a70sf *) Cleaned out open_file from mod_file_cache, as apr now accepts
5bbabc874e3fcfbea08c199f7a79ee05b4817a70sf the APR_XTHREAD argument to open a file for consumption by
5bbabc874e3fcfbea08c199f7a79ee05b4817a70sf parallel threads on win32. [William Rowe]
aec9747aa70c1dce98e536e8eef5a6a0ab0f1d6cjim *) Correct a bug in determining when we follow symlinks. The code
aec9747aa70c1dce98e536e8eef5a6a0ab0f1d6cjim expected a stat -1 result, not an apr_status_t positive error.
7b7e8ba34e262064914ceedacd5f7d9201b6575ccovener Also check if the APR_FINFO_USER fields are valid before we
7b7e8ba34e262064914ceedacd5f7d9201b6575ccovener follow the link. [William Rowe]
220bc4233b21982d7c51842a1774db0ba6172ca4covener *) Move initgroupgs, ap_uname2id and ap_gname2id from util.c to
220bc4233b21982d7c51842a1774db0ba6172ca4covener mpm_common.c. These functions are only valid on some platforms,
220bc4233b21982d7c51842a1774db0ba6172ca4covener so they should not be in the main-line code. [Ryan Bloom]
6f2fbf354b34981f398cf0313aa44702ea2a7066covener *) Remove ap_chdir_file(). This function is not thread-safe,
6f2fbf354b34981f398cf0313aa44702ea2a7066covener and nobody is currently using it. [Ryan Bloom]
6f2fbf354b34981f398cf0313aa44702ea2a7066covener *) Do not try to run make depend if there are no .c files in the
9e7c7a8fa19c33d1e90f8f7ffab69beacbe72566covener current directory, doing so makes `make depend` fail.
9e7c7a8fa19c33d1e90f8f7ffab69beacbe72566covener [Ryan Bloom]
9e7c7a8fa19c33d1e90f8f7ffab69beacbe72566covener *) Update highperformance.conf to work with either prefork or
a961006b347d6527ccaeab9cf019a4e68d26bfb0covener pthreads mpms. [Greg Ames]
a961006b347d6527ccaeab9cf019a4e68d26bfb0covener *) Stop checking to see if this is a pipelined request if we know
e3f43882b4f7ac7d1aa679be4b319cca04fd22eecovener for a fact that it isn't. Basically, if r->connection->keepalive == 0.
e3f43882b4f7ac7d1aa679be4b319cca04fd22eecovener This keeps us from making an extra read call when serving a 1.0
e3f43882b4f7ac7d1aa679be4b319cca04fd22eecovener request. [Ryan Bloom and Greg Stein]
8dea7832dea3789fe0b90c434c284bcaad96d40fcovener *) Fix the handling of variable expansion look-ahead in mod_rewrite,
8dea7832dea3789fe0b90c434c284bcaad96d40fcovener i.e. syntax like %{LA-U:REMOTE_USER}, and also fix the parsing of
999661242470e4dc0258982d5f183efc2d157ae7covener more complicated nested RewriteMap lookups. PR#7087 [Tony Finch]
b761a57b4e63006c287823270876ab40d3212160covener *) Fix the RFC number mentioned when complaining about a missing
b761a57b4e63006c287823270876ab40d3212160covener Host: header. PR#7079 [Alexey Toptygin <alexeyt@wam.umd.edu>]
b761a57b4e63006c287823270876ab40d3212160covener *) Fix an endless loop in ab which occurred when ab was posting
5d92fff82718cd018f0b61a10b9ad4d2b8064c95rpluem and the server dropped the connection unexpectedly.
5d92fff82718cd018f0b61a10b9ad4d2b8064c95rpluem [Jeff Trawick]
5d92fff82718cd018f0b61a10b9ad4d2b8064c95rpluem *) Fix a segfault while handling request bodies in ap_http_filter().
01195d035ccef88e72009e9607157d5eddcb6b7drjung This problem has been seen with mod_dav usage as well as with
01195d035ccef88e72009e9607157d5eddcb6b7drjung requests where the body was just being discarded. [Jeff Trawick]
84fbf855118f318dd5e511d8e5b902cecc1177c0jim *) Some adjustment on the handling and automatic setting (via
84fbf855118f318dd5e511d8e5b902cecc1177c0jim hints.m4) of various compilation flags (eg: CFLAGS). Also,
0ed19acadd3d3dd593759173d87d2243e97914e2sf add the capability to specify flags (NOTEST_CFLAGS and
0ed19acadd3d3dd593759173d87d2243e97914e2sf NOTEST_LDFLAGS) which are used to compile Apache, but
0ed19acadd3d3dd593759173d87d2243e97914e2sf not used during the configuration process. Useful for
0ed19acadd3d3dd593759173d87d2243e97914e2sf flags like "-Werror". [Jim Jagielski]
041b426f9b15072b59a32f132e6d04173ab3df68covener *) Stop using environment variables to force debug mode or
041b426f9b15072b59a32f132e6d04173ab3df68covener no detach. We now use the -D command line argument to
cb838cc4d5fd559efd6c0579a0fcb8f6e5a7af22minfrin specify the correct mode. -DONE_PROCESS and -DNO_DETACH.
cb838cc4d5fd559efd6c0579a0fcb8f6e5a7af22minfrin [Greg Stein, Ryan Bloom]
cb838cc4d5fd559efd6c0579a0fcb8f6e5a7af22minfrin *) Change handlers to use hooks. [Ben Laurie]
15ff8c621815e8337abc10638f2b2853ee6fd076minfrin *) Stop returning copies of filenames from both apr_file_t and
15ff8c621815e8337abc10638f2b2853ee6fd076minfrin apr_dir_t. We pstrdup the filenames that we store in the
21ccb6cd9272c9066a8f5bb3e7785f46115289desf actual structures, so we don't need to pstrdup the strings again.
21ccb6cd9272c9066a8f5bb3e7785f46115289desf [Ryan Bloom]
b0ac1e83f8582a9b5a72bff798ffb31a419c8adesf *) mod_cgi: Fix some problems where the wrong error value was being
b0ac1e83f8582a9b5a72bff798ffb31a419c8adesf traced. [Jeff Trawick]
b682e60dd82772dba52ba77138e494f15c00a551trawick *) EBCDIC: Fix some missing ASCII conversion on some protocol data.
b682e60dd82772dba52ba77138e494f15c00a551trawick [Jeff Trawick]
b682e60dd82772dba52ba77138e494f15c00a551trawick *) Add generic hooks. [Ben Laurie]
b682e60dd82772dba52ba77138e494f15c00a551trawick *) Use a real pool to dup the error log descriptor. [Ryan Bloom]
79c754eb51681c3389cd966753e902c429f78939trawick *) Fix a segfault caused by mod_ext_filter when the external filter
79c754eb51681c3389cd966753e902c429f78939trawick program does not exist. [Jeff Trawick]
8651de219ec5f595af20afdc9da41ce72aaa50d5minfrin *) Fix an output truncation error when on an HTTP >= 1.0 request an
8651de219ec5f595af20afdc9da41ce72aaa50d5minfrin object of size between DEFAULT_BUCKET_SIZE and AP_MIN_BYTES_TO_WRITE
8651de219ec5f595af20afdc9da41ce72aaa50d5minfrin was served through mod_charset_lite (or anything else that would
8fae12696bce44be9ce4c56888690cad8ac7b8f9sf create a transient bucket in this size range). ap_bucket_make_heap()
8fae12696bce44be9ce4c56888690cad8ac7b8f9sf silently failed (fixed), transient_setaside() discovered it, but
8fae12696bce44be9ce4c56888690cad8ac7b8f9sf ap_save_brigade() ignored it (fixed). [Jeff Trawick]
8fae12696bce44be9ce4c56888690cad8ac7b8f9sf *) Ignore \r\n or \n when using PEEK mode for input filters. The problem
8fae12696bce44be9ce4c56888690cad8ac7b8f9sf is that some browsers send extra lines at the end of POST requests, and
d5612bd28e194390b2c74fcf712d564b0e002684sf we don't want to delay sending data back to the user just because the
d5612bd28e194390b2c74fcf712d564b0e002684sf browser isn't well behaved. [Ryan Bloom]
4ea161d94782fa56f4b36d496f35ff8577c43065covener *) Get SuEXEC working again. We can't send absolute paths to suExec
4ea161d94782fa56f4b36d496f35ff8577c43065covener because it refuses to execute those programs. SuEXEC also wasn't
4ea161d94782fa56f4b36d496f35ff8577c43065covener always recognizing configuration changes made using the autoconf
b588214d6e6fe09abe709e83e894921fbc7e25c8covener setup. [Ryan Bloom]
b588214d6e6fe09abe709e83e894921fbc7e25c8covener *) Allow the buildconf process to find the config.m4 files in the correct
c64fc4e9830bb1ffdc3491aef5ed3be5b90c466bcovener order. Basically, we can now name config.m4 files as config\d\d.m4,
c64fc4e9830bb1ffdc3491aef5ed3be5b90c466bcovener and we will sort them correctly when inserting them into the build
c64fc4e9830bb1ffdc3491aef5ed3be5b90c466bcovener process. [Ryan Bloom]
ae5efbbf49a7ca6d233209a4d011550989e22556covener *) Get mod_cgid to use apr calls for creating the actual CGI process.
ae5efbbf49a7ca6d233209a4d011550989e22556covener This also allows mod_cgid to use ap_os_create_priviledged_process,
ae5efbbf49a7ca6d233209a4d011550989e22556covener thus allowing for SuExec execution from mod_cgid. Currently, we do
8c2bb916633b1eb3dccf91c776363bbc3a6145decovener not support everything that standard SuExec supports, but at least
8c2bb916633b1eb3dccf91c776363bbc3a6145decovener it works minimally now. [Ryan Bloom]
8c2bb916633b1eb3dccf91c776363bbc3a6145decovener *) Allow SuExec to be configured from the ./configure command line.
503bec4c591d28ac6cec7182294cdef2ec6a9829covener [Ryan Bloom]
503bec4c591d28ac6cec7182294cdef2ec6a9829covener *) Update some of the docs in README and INSTALL to reflect some of
503bec4c591d28ac6cec7182294cdef2ec6a9829covener the changes in Apache 2.0 [Cliff Woolley <cliffwoolley@yahoo.com>]
c00149c3cb27e0381362d07ccf2143574b4f600dsf *) If we get EAGAIN returned from the call to apr_sendfile, then we
c00149c3cb27e0381362d07ccf2143574b4f600dsf need to call sendfile again. This gets us serving large files
766b0a4793197ccef3dfa202d1fee1e1f929ffa7sf such as apache_2.0a9.tar.gz on FreeBSD again. [Ryan Bloom]
766b0a4793197ccef3dfa202d1fee1e1f929ffa7sf *) Get the support programs building cleanly again.
97b692bfc8673c8858f03498f81a993ac0c04c01sf [Cliff Woolley <cliffwoolley@yahoo.com>]
97b692bfc8673c8858f03498f81a993ac0c04c01sf *) The Apache/Win32 Apache.exe and dll's now live in bin. The
5e6cf205d2b0c848e15c65dab9711805395a5108minfrin current directory logic now backs up over bin/ to determine the
5e6cf205d2b0c848e15c65dab9711805395a5108minfrin server root from the Apache.exe path.
5e6cf205d2b0c848e15c65dab9711805395a5108minfrin *) Apache/Win32 now follows the standard conventions of mod_foo.so
df419be6d7d4b68823efa05722375552af49c2b6minfrin loadable modules, dynamic libs are all named libfoo.dll, and the
df419be6d7d4b68823efa05722375552af49c2b6minfrin makefile.win populates the include, lib and libexec directories.
df419be6d7d4b68823efa05722375552af49c2b6minfrin *) Apache is now IPv6-capable. On systems where APR supports IPv6,
c03e31374e50a227cb554a0f1d4a9056ce80d99asf Apache gets IPv6 listening sockets by default. Additionally, the
c03e31374e50a227cb554a0f1d4a9056ce80d99asf Listen, NameVirtualHost, and <VirtualHost> directives support IPv6
c03e31374e50a227cb554a0f1d4a9056ce80d99asf numeric address strings (e.g., "Listen [fe80::1]:8080").
40b22d3b20454959fe51fdc89907908d77701078minfrin [Jeff Trawick]
40b22d3b20454959fe51fdc89907908d77701078minfrin *) Modify the install directory layout. Modules are now installed in
b4a00883f358625923365ca1560c96edec172a52sf modules/. Shared libraries should be installed in libraries/, but
b4a00883f358625923365ca1560c96edec172a52sf we don't have any of those on Unix yet. All install directories
b4a00883f358625923365ca1560c96edec172a52sf are modifyable at configure time. [Ryan Bloom]
0553e62d75ef12d9a6646bb874be1fbf9e4c1dfbsf *) Install all header files in the same directory on Unix. [Ryan Bloom]
0553e62d75ef12d9a6646bb874be1fbf9e4c1dfbsf *) Get the functions in server/linked into the server, regardless of
87af9ffc3a42633fe12e11a0ff77bc099ecdca82sf which modules linked into the server. This uses the same hack
f58bb3da705eb7ec926f4883597fc2eb1336a360minfrin for Apache that we use for APR and apr-util to ensure all of the
f58bb3da705eb7ec926f4883597fc2eb1336a360minfrin necessary functions are linked. As a part of thise, the CHARSET_EBCDIC
f58bb3da705eb7ec926f4883597fc2eb1336a360minfrin was renamed to AP_CHARSET_EBCDIC for namespace protection, and to make
f58bb3da705eb7ec926f4883597fc2eb1336a360minfrin the scripts a bit easier.
f58bb3da705eb7ec926f4883597fc2eb1336a360minfrin [Ryan Bloom]
be192cefa381d5bae6868034687471754cb43175sf *) Rework the RFC1413 handling to make it thread-safe, use a timeout
be192cefa381d5bae6868034687471754cb43175sf on the query, and remove IPv4 dependencies. [Jeff Trawick]
f4a0825e91eec135b5e41c697439e9a13014fa2cminfrin *) Get all of the auth modules to the point that they will install and
f4a0825e91eec135b5e41c697439e9a13014fa2cminfrin be loadable into the server. Our new build/install mechanism expects
f4a0825e91eec135b5e41c697439e9a13014fa2cminfrin that all modules will have a common name format. The auth modules
f4a0825e91eec135b5e41c697439e9a13014fa2cminfrin didn't use that format, so we didn't install them properly.
5876f43a746f688a32b7201bced8591ddf19bd43minfrin [Ryan Bloom]
5876f43a746f688a32b7201bced8591ddf19bd43minfrin *) API routines ap_pgethostbyname() and ap_pduphostent() are no longer
5876f43a746f688a32b7201bced8591ddf19bd43minfrin available. Use apr_getaddrinfo() instead. [Jeff Trawick]
bbba414c5bbf770e505778265bbe7a4a0e4fbdaaniq *) Get "NameVirtualHost *" working in 2.0. [Ryan Bloom]
4aef34911af88f96c5b6d9b71a550a5a97bbc0b6minfrin *) Return HTTP_RANGE_NOT_SATISFIABLE if the every range requested starts
4aef34911af88f96c5b6d9b71a550a5a97bbc0b6minfrin after the end of the response. [Ryan Bloom]
4aef34911af88f96c5b6d9b71a550a5a97bbc0b6minfrin *) Get byterange requests working with responses that do not have a
4aef34911af88f96c5b6d9b71a550a5a97bbc0b6minfrin content-length. Because of the way byterange requests work, we have to
4cefc38158672f5de8119886d9754cf0609a9371minfrin have all of the data before we can actually do the byterange, so we
4cefc38158672f5de8119886d9754cf0609a9371minfrin can compute the content-length in the byterange filter.
4cefc38158672f5de8119886d9754cf0609a9371minfrin [Ryan Bloom]
4cefc38158672f5de8119886d9754cf0609a9371minfrin *) Get exe CGI's working again on Windows.
11d3c510dca5b5178ad4739ffc1567ef2155bda9minfrin [Allan Edwards]
11d3c510dca5b5178ad4739ffc1567ef2155bda9minfrin *) Get mod_cgid and mod_rewrite to work as DSOs by changing the way
d974a1624c0bb4f1c2e8b36fcf8ba1f12284ed8dsf they keep track of whether or not their post config hook has been
d974a1624c0bb4f1c2e8b36fcf8ba1f12284ed8dsf called before. Instead of a static variable (which is replaced when
d974a1624c0bb4f1c2e8b36fcf8ba1f12284ed8dsf the DSO is loaded a second time), use userdata in the process pool.
1a8c329935111a5059363efe927d631371b78414minfrin [Jeff Trawick]
fac37c9794a18c24d187f4e0f97a9476c4344118minfrinChanges with Apache 2.0a9
fac37c9794a18c24d187f4e0f97a9476c4344118minfrin *) Win32 now requires perl to complete the final install step for users
fc58f0ff708564b67cd578c626b6500d1cd63a51sf to build + install on Win32. Makefile.win now rewrites @@ServerRoot@
fc58f0ff708564b67cd578c626b6500d1cd63a51sf and installs the conf, htdocs and htdocs/manual directories.
fc58f0ff708564b67cd578c626b6500d1cd63a51sf [William Rowe]
fc58f0ff708564b67cd578c626b6500d1cd63a51sf *) Make mod_include use a hash table to associate directive tags with
fc58f0ff708564b67cd578c626b6500d1cd63a51sf functions. This allows modules to implement their own SSI tags easily.
4e5fe1d203ddf3956a77be3c797c01fd4be8b211sf The idea is simple enough, a module can insert it's own tag and function
4e5fe1d203ddf3956a77be3c797c01fd4be8b211sf combination into a hash table provided by mod_include. While mod_include
4e5fe1d203ddf3956a77be3c797c01fd4be8b211sf parses an SSI file, when it encounters a tag in the file, it does a
dcb4802d9ea9fc4ba89671e8f8faa70c9535b202minfrin hash lookup to find the function that implements that tag, and passes
dcb4802d9ea9fc4ba89671e8f8faa70c9535b202minfrin all of the relevant data to the function. That function is then
dcb4802d9ea9fc4ba89671e8f8faa70c9535b202minfrin responsible for processing the tag and handing the remaining data back
dcb4802d9ea9fc4ba89671e8f8faa70c9535b202minfrin to mod_include for further processing.
dcb4802d9ea9fc4ba89671e8f8faa70c9535b202minfrin [Paul J. Reder <rederpj@raleigh.ibm.com>]
ce4dc40a4e87991087488f70d96d3447d7557294sf *) Get rid of ap_new_apr_connection(). ap_new_connection() now has
0119f1301a880cf39c0aad0fa2a77240af964691sf fewer parameters: the local and remote socket addresses were removed
ce4dc40a4e87991087488f70d96d3447d7557294sf from the parameter list because all required information is available
9db0b0ee6ffade769db57b37a06b3f4849b5d367minfrin via the APR socket. [Jeff Trawick]
9db0b0ee6ffade769db57b37a06b3f4849b5d367minfrin *) Distribution directory structure reorganized to reflect a
9db0b0ee6ffade769db57b37a06b3f4849b5d367minfrin normal source distribution with external install targets.
033d82412cc4af9d939b7e1645425b9e7f4ebf60minfrin [Roy Fielding]
033d82412cc4af9d939b7e1645425b9e7f4ebf60minfrin *) The MPMs that need multiple segments of shared memory now create
033d82412cc4af9d939b7e1645425b9e7f4ebf60minfrin two apr_shmem_t variables, one for each shared memory allocation.
033d82412cc4af9d939b7e1645425b9e7f4ebf60minfrin the problem is that we can't determine how much memory will be required
1b390add6886fb1c0acdea82be0ef0920f1158casf for shared memory allocations once we try to allocate more than one
1b390add6886fb1c0acdea82be0ef0920f1158casf variable. The MM code automatically aligns the shared memory allocations,
1b390add6886fb1c0acdea82be0ef0920f1158casf so we end up needing to pad the amount of shared memory we want based
5fd471ec540a088d143a223096d35661bf87c15btrawick on how many variables will be allocated out of the shared memory segment.
5fd471ec540a088d143a223096d35661bf87c15btrawick It is just easier to create a second apr_shmem_t variable, and two
5fd471ec540a088d143a223096d35661bf87c15btrawick shmem memory blocks.
f2472b79d241967fa28f8284470b1c5cafee7b12wrowe [Ryan Bloom]
f2472b79d241967fa28f8284470b1c5cafee7b12wrowe *) Cleanup the export list a bit. This creates a single unified list of
f2472b79d241967fa28f8284470b1c5cafee7b12wrowe functions exported by APR. The export list is generated at configure
f2472b79d241967fa28f8284470b1c5cafee7b12wrowe time, and that list is then used to generate the exports.c file.
f2472b79d241967fa28f8284470b1c5cafee7b12wrowe Because of the way the export list is generated, we only export those
c9201c790435060b1322d86949183085ca5f6c0cwrowe functions that are valid on the platform we are building on.
c9201c790435060b1322d86949183085ca5f6c0cwrowe [Ryan Bloom]
c9201c790435060b1322d86949183085ca5f6c0cwrowe *) Enable logging the cookie with mod_log_config
c9201c790435060b1322d86949183085ca5f6c0cwrowe [Sander van Zoest <sander@covalent.net>]
38bd9dba7627c6b2f331cd0731c272ee6bd876b1wrowe *) Fix a segfault in mod_info when it reaches the end of the configuration.
38bd9dba7627c6b2f331cd0731c272ee6bd876b1wrowe [Jeff Trawick]
38bd9dba7627c6b2f331cd0731c272ee6bd876b1wrowe *) Added lib/aputil/ as a placeholder for utility functions which are not
c1ba97f41a4526d84fb7a1596afe3dd11e065a2cminfrin specific to the Apache HTTP Server (but do not make sense with APR).
c1ba97f41a4526d84fb7a1596afe3dd11e065a2cminfrin The first utility is "apu_dbm": a set of functions to work with DBM
c1ba97f41a4526d84fb7a1596afe3dd11e065a2cminfrin files. This first version can be compiled for SDBM or GDBM databases.
c1ba97f41a4526d84fb7a1596afe3dd11e065a2cminfrin [Greg Stein]
97cc46935ec496b83fef9d6feb094d706c895b3bsf *) Complete re-write of mod_include. This makes mod_include a filter that
4ed33a14c26d78bbe6bd0b9d5091cdb184e348basf uses buckets directly. This has now served the FAQ correctly.
4ed33a14c26d78bbe6bd0b9d5091cdb184e348basf [Paul Reder <rederpj@raleigh.ibm.com>]
97cc46935ec496b83fef9d6feb094d706c895b3bsf *) Allow modules to specify the first filter in a sub_request when
72e3829dbd019a63b1091987fc6e7b1c028b089cminfrin making the sub_request. This keeps modules from having to change the
72e3829dbd019a63b1091987fc6e7b1c028b089cminfrin output_filter immediately after creating the sub-request, and therefore
72e3829dbd019a63b1091987fc6e7b1c028b089cminfrin skip the sub_req_output_filter. [Ryan Bloom]
1081aff66582e2cac722fb3b6f09da4f524b5962minfrin *) Update ab to accept URLs with IPv6 literal address strings (in the
1081aff66582e2cac722fb3b6f09da4f524b5962minfrin format described in RFC 2732), and to build Host header fields in
1081aff66582e2cac722fb3b6f09da4f524b5962minfrin the same format. This allows IPv6 literal address strings to be
9f0c32ae318f33c93a47d83f4709242c18339bbcminfrin used with ab. This support has been tested against Apache 1.3 with
9f0c32ae318f33c93a47d83f4709242c18339bbcminfrin the KAME patch, but Apache 2.0 does not yet work with this format
9f0c32ae318f33c93a47d83f4709242c18339bbcminfrin of the Host header field. [Jeff Trawick]
9474e446514b06765775eb0c1ec6645e2c5e50f6minfrin *) Accomodate an out-of-space condition in the piped logs and the
9474e446514b06765775eb0c1ec6645e2c5e50f6minfrin rotatelogs.c code, and no longer churn log processes for this
9474e446514b06765775eb0c1ec6645e2c5e50f6minfrin condition. [Victor J. Orlikowski]
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrin *) Add support for partial writes with apr_sendfile() to core_output_filter.
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrin [Greg Ames]
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrinChanges with Apache 2.0a8
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrin *) Add a directive to mod_mime so that filters can be associated with
9474e446514b06765775eb0c1ec6645e2c5e50f6minfrin a given mime-type.
9474e446514b06765775eb0c1ec6645e2c5e50f6minfrin [Ryan Bloom]
b7557ab9828d2017224a12968f82c3118b6a8c0aminfrin *) Get multi-views working again. We were setting the path_info
e302f38fd646764ce1a1e1c578d794aef514a9e5sf field incorrectly if we couldn't find the specified file.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf [Ryan Bloom]
b32d756dae79045a9bc90e0d0b85582f6f28eaf3sf *) Fix 304 processing. The core should never try to send the headers
e302f38fd646764ce1a1e1c578d794aef514a9e5sf down the filter stack. Always, just setup the table in the request
9c233808c898095865fcc0a2dc1cf594d0d8faf3sf record, and let the header filter convert it to data that is ready
9c233808c898095865fcc0a2dc1cf594d0d8faf3sf for the network.
3b41ccdaa163f4e900bbf8a7aa6a366df033822dminfrin [Ryan Bloom]
3b41ccdaa163f4e900bbf8a7aa6a366df033822dminfrin *) More fixes for the proxy. There are still bugs in the proxy code,
3b41ccdaa163f4e900bbf8a7aa6a366df033822dminfrin but this has now proxied www.yahoo.com and www.ntrnet.net (my ISP)
3b41ccdaa163f4e900bbf8a7aa6a366df033822dminfrin successfully.
28587db43bc4bea96a36fbcffdd967e7b422bb97minfrin [Ryan Bloom]
28587db43bc4bea96a36fbcffdd967e7b422bb97minfrin *) Fix params for apr_getaddrinfo() call in connect proxy handler.
28587db43bc4bea96a36fbcffdd967e7b422bb97minfrin [Chuck Murcko]
5a2dcc476c33985b7681aa72256bcd7266057eddsf *) APR: Add new apr_getopt_long function to handle long options.
5a2dcc476c33985b7681aa72256bcd7266057eddsf [B. W. Fitzpatrick <fitz@red-bean.com>]
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier *) APR: Change apr_connect() to take apr_sockaddr_t instead of hostname.
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier Add generic apr_create_socket(). Add apr_getaddrinfo() for doing
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier hostname resolution/address string parsing and building
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier apr_sockaddr_t. Add apr_get_sockaddr() for getting the address
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier of one of the apr_sockaddr_t structures for a socket. Change
e08076ca56e6cb68b30846b9e9339061058aae6dpoirier apr_bind() to take apr_sockaddr_t. [David Reid and Jeff Trawick]
f3a19422957c2e9eb827c8e38e5982f678591aa5minfrin *) Remove the BUFF from the HTTP proxy. This is still a bit ugly, but
b7a2f855b5e31abc24dab2eef28e9e2f985ae25brpluem I have proxied pages with it, cleanup will commence soon.
b7a2f855b5e31abc24dab2eef28e9e2f985ae25brpluem [Ryan Bloom]
fa1c7ce09927decc1eecd1e9a35cc5331078a052covener *) Make the proxy work with filters. This isn't perfect, because we
fa1c7ce09927decc1eecd1e9a35cc5331078a052covener aren't dealing with the headers properly. [Ryan Bloom]
ac45a43afbf38aa4a91c1402c6beef6ef8a2696dniq *) Do not send a content-length iff the C-L is 0 and this is a head
ac45a43afbf38aa4a91c1402c6beef6ef8a2696dniq request. [Ryan Bloom]
ac45a43afbf38aa4a91c1402c6beef6ef8a2696dniq *) Make cgi-bin work as a regular directory when using mod_vhost_alias
b2b9b7f0644773b50aee41956a841ac884086250niq with no VirtualScriptAlias directives. PR#6829 [Tony Finch]
b2b9b7f0644773b50aee41956a841ac884086250niq *) Remove BUFF from the PROXY connect handling. [Ryan Bloom]
b2b9b7f0644773b50aee41956a841ac884086250niq *) Get the default_handler to stop trying to deal with HEAD requests.
b4f348c8e74ba8166410ddeffac03e4887696788niq The idea is to let the content-length filter compute the C-L before
b4f348c8e74ba8166410ddeffac03e4887696788niq we try to send the data. If we can get the C-L correctly, then we
b4f348c8e74ba8166410ddeffac03e4887696788niq should send it in the HEAD response.
4fda5fb4cc40703a76e261bbf21ec1d6b51b7d3fjim [Ryan Bloom]
fa0dc2a4f675a868378a52946e5b244d6bf41196sf *) The Header filter can now determine if a body should be sent based
fa0dc2a4f675a868378a52946e5b244d6bf41196sf on r->header_only. The general idea of this is that if we delay
0807f6da6091b748ab47c21ba66252fe8da2a966sf deciding to send the body, then we might be able to compute the
0807f6da6091b748ab47c21ba66252fe8da2a966sf content-length correctly, which will help caching proxies to cache
0807f6da6091b748ab47c21ba66252fe8da2a966sf our data better. Any handler that doesn't want to try to compute
b92a868b537899a51efd8c200c396fa51c63839dtrawick the content-length can just send an EOS bucket without data and
b92a868b537899a51efd8c200c396fa51c63839dtrawick everything will just work.
4fda5fb4cc40703a76e261bbf21ec1d6b51b7d3fjim [Ryan Bloom]
dc52cac281d8b311dc47d115ed979f923b667679rjung *) Add the referer to the error log if one is available.
dc52cac281d8b311dc47d115ed979f923b667679rjung [Markus Gyger <mgyger@itr.ch>]
2534e869d2ba209bd0c43717ea80992e6de0c51djim *) Mod_info.c has now been ported to Apache 2.0. As a part of this
f8033d657a57eab45af44368774d8beb3e4f7f35pquerna change, the root of the configuration tree has been exposed to modules
f8033d657a57eab45af44368774d8beb3e4f7f35pquerna as ap_conftree.
f8033d657a57eab45af44368774d8beb3e4f7f35pquerna [Ryan Morgan <rmorgan@covalent.net>]
02fd88c85a9850109753b87612955ad372de1575sf *) Get the core_output_filter to use the bucket interface directly.
02fd88c85a9850109753b87612955ad372de1575sf This keeps us from calling the content-length filter multiple times
02fd88c85a9850109753b87612955ad372de1575sf for a simple static request.
da48ae521bcc2751f8eb8dfb02f7aab0f46943c6sf [Ryan Bloom]
da48ae521bcc2751f8eb8dfb02f7aab0f46943c6sf *) We are sending the content-type correctly now.
1374472d83ce061a431b7f6eeb5e5135fb4cd922jim [Ryan Bloom and Will Rowe]
1374472d83ce061a431b7f6eeb5e5135fb4cd922jim *) APR on FreeBSD: Fix a bug in apr_sendfile() which caused us to report
1374472d83ce061a431b7f6eeb5e5135fb4cd922jim a bogus bytes-sent value when the only thing being sent was trailers
ab7a123efe997d907274eb672ab2b36746bb3f57sf and writev() returned an error (or EAGAIN). [Jeff Trawick]
ab7a123efe997d907274eb672ab2b36746bb3f57sf *) Get SINGLE_LISTEN_UNSERIALIZED_ACCEPT working again. This uses the
ab7a123efe997d907274eb672ab2b36746bb3f57sf hints file to determine which platforms define
a44d29a3794110c558c940bd903a1930d717a7d7sf SINGLE_LISTEN_UNSERIALIZED_ACCEPT.
a44d29a3794110c558c940bd903a1930d717a7d7sf [Ryan Bloom]
a44d29a3794110c558c940bd903a1930d717a7d7sf *) APR: add apr_get_home_directory() [Jeff Trawick]
70003ce816d7851e49ecb0cdc5137becd647ed18niq *) Initial import of 1.3-current mod_proxy. [Chuck Murcko]
b5e45168970cefb8b2d0bea709ea69790f3eab96niq *) Not all platforms have INADDR_NONE defined by default. Apache
815067bc5eff8fc218019e18ee5ea868372917cdsf used to make this check and define INADDR_NONE if appropriate,
815067bc5eff8fc218019e18ee5ea868372917cdsf but APR needs the check too, and I suspect other applications will
9f2c7096ac1f41aca1328d304d54dbaef4ebb06drjung as well. APR now defines APR_INADDR_NONE, which is always a valid
2534e869d2ba209bd0c43717ea80992e6de0c51djim value on all platforms.
ff5e24709209b13601480827b0fecf32c428ff32rjung [Branko �ibej <brane@xbc.nu>]
39d67f66729a7008c1e73d65a81e778ce819a227rjung *) Destroy the pthread mutex in lock_intra_cleanup() for PR#6824.
da20b997bf4652f7597e0a7845db371aab2f7187rjung [Shuichi Kitaguchi <ki@hh.iij4u.or.jp>]
133cbcba0df4ba0e72f7eaaaebabe119f145f261niq *) Relax the syntax checking of Host: headers in order to support
133cbcba0df4ba0e72f7eaaaebabe119f145f261niq iDNS. PR#6635 [Tony Finch]
c8dcde16853eef36b713d4633fac83b66e49aa5eniq *) When reading from file buckets we convert to an MMAP if it makes
c8dcde16853eef36b713d4633fac83b66e49aa5eniq sense. This also simplifies the default handler because the
c8dcde16853eef36b713d4633fac83b66e49aa5eniq default handler no longer needs to try to create MMAPs.
1a7a4f8c6a312cb237e428c77da0792eb165dc7aniq [Ryan Bloom]
1a7a4f8c6a312cb237e428c77da0792eb165dc7aniq *) BUFF has been removed from the main server. The BUFF code will remain
1a7a4f8c6a312cb237e428c77da0792eb165dc7aniq in the code until it has been purged from the proxy module as well.
927e277b4be750e06960b3d4f1c2b1ca146e0555niq [Ryan Bloom]
927e277b4be750e06960b3d4f1c2b1ca146e0555niq *) Byteranges have been completely re-written to be a filter. This
83de39879307034216ce0af15a47a88a55af11e3rjung has been tested, and I believe it is working correctly, but it could
83de39879307034216ce0af15a47a88a55af11e3rjung doesn't work for the Adobe Acrobat plug-in. The output almost matches
83de39879307034216ce0af15a47a88a55af11e3rjung the output from 1.3, the only difference being that 1.3 includes
7cfa48136e3b42a14cdff1a46b60f4e4d2ad5291niq a content-length in the response, and this does not.
7cfa48136e3b42a14cdff1a46b60f4e4d2ad5291niq [Ryan Bloom]
7cfa48136e3b42a14cdff1a46b60f4e4d2ad5291niq *) APR read/write functions and bucket read functions now operate
7cfa48136e3b42a14cdff1a46b60f4e4d2ad5291niq on unsigned integers, instead of signed ones. It doesn't make
0a4924de8350e2bbfa16a27f42ff0bc61aa52d43rjung any sense to use signed ints, because we return the error codes,
0a4924de8350e2bbfa16a27f42ff0bc61aa52d43rjung so if we have an error we should report 0 bytes read or written.
0a4924de8350e2bbfa16a27f42ff0bc61aa52d43rjung [Ryan Bloom]
4ea8055e720d18f386b8026b546e5836ecccba4arjung *) Always compute the content length, whether it is sent or not.
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe The reason for this, is that it allows us to correctly report
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe the bytes_sent when logging the request. This also simplifies
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe content-length filter a bit, and fixes the actual byte-reporing
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe [Ryan Bloom]
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe *) Remove AP_END_OF_BRIGADE definition. This does not signify what
bec2a2e375fe46599b68399abfcf67b89b270b57wrowe it says, because it was only used by EOS and FLUSH buckets. Since
46fdfef7dfc745effe179387e1dcb8245d3804batrawick neither of those are required at the end of a brigade, this was
46fdfef7dfc745effe179387e1dcb8245d3804batrawick really signifying FLUSH_THE_DATA, but that can be determined better
46fdfef7dfc745effe179387e1dcb8245d3804batrawick by checking AP_BUCKET_IS_EOS() or AP_BUCKET_IS_FLUSH. EOS and FLUSH
46fdfef7dfc745effe179387e1dcb8245d3804batrawick buckets now return a length of 0, which is actually the amount of data
46fdfef7dfc745effe179387e1dcb8245d3804batrawick read, so they make more sense.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick [Ryan Bloom]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) Allow the core_output_filter to save some data past the end of a
46fdfef7dfc745effe179387e1dcb8245d3804batrawick request. If we get an EOS bucket, we only send the data if it
46fdfef7dfc745effe179387e1dcb8245d3804batrawick makes sense to send it. This allows us to pipeline request
46fdfef7dfc745effe179387e1dcb8245d3804batrawick responses. As a part of this, we also need to allocate mmap
46fdfef7dfc745effe179387e1dcb8245d3804batrawick buckets out of the connection pool, not the request pool. This
46fdfef7dfc745effe179387e1dcb8245d3804batrawick allows the mmap to outlive the request.
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe [Ryan Bloom]
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe *) Make blocking and non-blocking bucket reads work correctly for
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe sockets and pipes. These are the only bucket types that should
f4845813cd6fa5749dfec8e3bc647b85c1df0980wrowe have non-blocking reads, because the other bucket types should
f55c048e33a905f9f771b3aed309373bdf547944jorton ALWAYS be able to return something immediately.
f55c048e33a905f9f771b3aed309373bdf547944jorton [Ryan Bloom]
f55c048e33a905f9f771b3aed309373bdf547944jorton *) In the Apache/Win32 console window, accept Ctrl+C to stop the
cddaaa6378c5082e8dff0d11dc21cf6c4928ecbcjorton server, but use Ctrl+Break to initiate a graceful restart
cddaaa6378c5082e8dff0d11dc21cf6c4928ecbcjorton instead of duplicating behavior. [John Sterling]
cddaaa6378c5082e8dff0d11dc21cf6c4928ecbcjorton *) Patch mod_autoindex to set the Last-Modified header based on
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrin the directory's mtime, and add the ETag header. [William Rowe]
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrin *) Merge the 1.3 patch to add support for logging query string in
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrin such a way that "%m %U%q %H" is the same as "%r".
9b2bd9e83cbb6f5debb2edba59a0c12089eb37c3minfrin [Bill Stoddard]
a89e2c1651aab7734345fa3a6712a757708535ferjung *) Port three log methods from mod_log_config 1.3 to 2.0:
a89e2c1651aab7734345fa3a6712a757708535ferjung CLF compliant '-' byte count, method and protocol.
a89e2c1651aab7734345fa3a6712a757708535ferjung [Bill Stoddard]
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung *) Add a new LogFormat directive, %c, that will log connection
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung status at the end of the response as follows:
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung 'X' - connection aborted before the response completed.
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung '+' - connection may be kept-alive by the server.
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung '-' - connection will be closed by the server.
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung [Bill Stoddard]
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung *) Expand APR for WinNT to fully accept and return utf-8 encoded
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung Unicode file names and paths for Win32, and tag the Content-Type
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung from mod_autoindex to reflect that charset if the the feature
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung macro APR_HAS_UNICODE_FS is true. [William Rowe]
adc9a2e2b2e56a7416c90f949bd0c72ddd6f1793rjung *) Compute the content length (and add appropriate header field) for
23bc6974af15e69a9aa4b5b3fc06b800b53ca234sf the response when no content length is available and we can't use
23bc6974af15e69a9aa4b5b3fc06b800b53ca234sf chunked encoding. [Jeff Trawick]
298eb744831be682f749ffe1c01c88d82adf215esf *) Changed ap_discard_request_body() to use REQUEST_CHUNKED_DECHUNK,
298eb744831be682f749ffe1c01c88d82adf215esf so that content input filters get dechunked data when using
298eb744831be682f749ffe1c01c88d82adf215esf the default handler. Also removed REQUEST_CHUNKED_PASS.
298eb744831be682f749ffe1c01c88d82adf215esf [Sascha Schumann]
298eb744831be682f749ffe1c01c88d82adf215esf *) Add mod_ext_filter as an experimental module. This module allows
298eb744831be682f749ffe1c01c88d82adf215esf the administrator to use external programs as filters. Currently,
298eb744831be682f749ffe1c01c88d82adf215esf only filtering of output is supported. [Jeff Trawick]
b9aa9ca00496f67eb755d67764775ff23ac7eb03covener *) Most Apache functions work on EBCDIC machines again, as protocol
b9aa9ca00496f67eb755d67764775ff23ac7eb03covener data is now translated (again). [Jeff Trawick]
f2386b627177c7a80d38fed6ec0aed3c086909c1covener *) Introduce ap_xlate_proto_{to|from}_ascii() to clean up some of
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrin the EBCDIC support. They are noops on ASCII machines, so this
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrin type of translation doesn't have to be surrounded by #ifdef
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrin CHARSET_EBCDIC. [Jeff Trawick]
70d4e28f12f8cc2e130457c841095dc69c67cf31minfrin *) Fix mod_include. tag commands work again, and the server will
1a668f25bc6b4b111822caaba70bb9289d64ade5niq send the FAQ again. This also allows mod_include to set aside
1a668f25bc6b4b111822caaba70bb9289d64ade5niq buckets that include partial buckets.
1a668f25bc6b4b111822caaba70bb9289d64ade5niq [Ryan Bloom and David Reid]
7a6c86627922e38fa227943b9f888f96109681e5covener *) Add suexec support back. [Manoj Kasichainula]
7a6c86627922e38fa227943b9f888f96109681e5covener *) Lingering close now uses the socket directly instead of using
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovener BUFF. This has been tested, but since all we can tell is that it
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovener doesn't fail, this needs to be really hacked on.
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovener [Ryan Bloom]
17efe57eb8d88fa0d371f4ac4939dbbbe78fd09bcovener *) Allow filters to modify headers and have those headers be sent to
8068423ee2d80a7c42b2325a71c24ac9485327cecovener the client. The idea is that we have an http_header filter that
8068423ee2d80a7c42b2325a71c24ac9485327cecovener actually sends the headers to the network. This removes the need
8068423ee2d80a7c42b2325a71c24ac9485327cecovener for the BUFF to send headers.
8068423ee2d80a7c42b2325a71c24ac9485327cecovener [Ryan Bloom]
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener *) Charset translation: mod_charset_lite handles translation of
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener request bodies. Get rid of the xlate version of ap_md5_digest()
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener since we don't compute digests of filtered (e.g., translated)
7703bad94964cc64022e08e2d1ae2c5fbfe2d3c6covener response bodies this way anymore. (Note that we don't do it at
689ee47a7329cf0d0ce4c5a98670b33fcf00d81btrawick all at the present; somebody needs to write a filter to do so.)
689ee47a7329cf0d0ce4c5a98670b33fcf00d81btrawick [Jeff Trawick]
aa8df43397bb42245e1633f12e2300c9715f3a7btrawick *) Input filters and ap_get_brigade() now have a input mode parameter
aa8df43397bb42245e1633f12e2300c9715f3a7btrawick (blocking, non-blocking, peek) instead of a length parameter.
5a2f24f5e41d52e59e1c11e90cd423b8967d4184trawick [hackathon]
19ce7effbcc8a735f1a883f9266e086fde2adb63poirier *) Update the mime.types file to the registered media types as
19ce7effbcc8a735f1a883f9266e086fde2adb63poirier of 2000-10-19. PR#6613 [Carsten Klapp <carsten.klapp@home.net>,
5d58d0bc1ce35e0ee814b6c2dc21a5286e460b87covener Tony Finch]
8eac2273e3d5f2dc8464fada76fcfbf33a938a2fcovener *) Namespace protect some macros declared in ap_config.h
8eac2273e3d5f2dc8464fada76fcfbf33a938a2fcovener [Ryan Bloom]
c6124d7fde07b58d51785d0f1cb509026eeaa138jim *) Support HTTP header line folding with input filtering.
c6124d7fde07b58d51785d0f1cb509026eeaa138jim [Greg Ames]
c6124d7fde07b58d51785d0f1cb509026eeaa138jim *) Mod_include works again. This should still be re-written, but at
680e7b4c70df00b695883c824947ca6ec15d69ecsf least now we can serve an SHTML page again.
680e7b4c70df00b695883c824947ca6ec15d69ecsf [Ryan Bloom]
3a49a6c98ef80c71830e66e7f8f46083001b494ctrawick *) Begin to remove BUFF from the core. Currently, we keep a pointer
3a49a6c98ef80c71830e66e7f8f46083001b494ctrawick to both the BUFF and the socket in the conn_rec. Functions that
d46dfdce9351f52a971777948d9b02f8fc668ff8niq want to use the BUFF can, functions that want to use the socket,
6fee4e2faa2e45fe2636d01e35d03c2cf0c9d431minfrin can. They point to the same place.
6fee4e2faa2e45fe2636d01e35d03c2cf0c9d431minfrin [Ryan Bloom]
6fee4e2faa2e45fe2636d01e35d03c2cf0c9d431minfrin *) apr_psprintf doesn't understand %lld as a format. Make it %ld.
03aa31ad82759363ba1a55589e517b16308ef635minfrin [Tomas "�gren" <stric@ing.umu.se>]
03aa31ad82759363ba1a55589e517b16308ef635minfrin *) APR pipes on Unix and Win32 are now cleaned up automatically when the
03aa31ad82759363ba1a55589e517b16308ef635minfrin associated pool goes away. (APR pipes on OS/2 were already had this
9fe23388f983cb652b5d68e2bd92aa9f0568c574minfrin logic.) This resolvs a fatal file descriptor leak with CGIs.
9fe23388f983cb652b5d68e2bd92aa9f0568c574minfrin [Jeff Trawick]
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe *) The final line of the config file was not being read if there was
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe no \n at the end of it. This was caused by apr_fgets returning
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe APR_EOF even though we had read valid data. This is solved by
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe making cfg_getline check the buff that was returned from apr_fgets.
e9eabac76b50e8f00d0c391f6070d0f42db77aa2wrowe If apr_fgets return APR_EOF, but there was data in the buf, then we
433d36fd71af86369719893afe09877be4cb4f3asf return the buf, otherwise we return NULL.
433d36fd71af86369719893afe09877be4cb4f3asf [Ryan Bloom]
14e5a8cc15b1dcc26ad5420973304e53a9e5406bsf *) Piped logs work again in the 2.0 series.
14e5a8cc15b1dcc26ad5420973304e53a9e5406bsf [Ryan Bloom]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) Restore functionality broken by the mod_rewrite security fix:
46fdfef7dfc745effe179387e1dcb8245d3804batrawick rewrite map lookup keys and default values are now expanded
46fdfef7dfc745effe179387e1dcb8245d3804batrawick so that the lookup can depend on the requested URI etc.
46fdfef7dfc745effe179387e1dcb8245d3804batrawick PR #6671 [Tony Finch]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) Tighten up the syntax checking of Host: headers to fix a
46fdfef7dfc745effe179387e1dcb8245d3804batrawick security bug in some mass virtual hosting configurations
46fdfef7dfc745effe179387e1dcb8245d3804batrawick that can allow a remote attacker to retrieve some files
46fdfef7dfc745effe179387e1dcb8245d3804batrawick on the system that should be inaccessible. [Tony Finch]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) Add a pool bucket type. This bucket is used for data allocated out
573f949c582f06bd738a96196f40b646b6d540b8rpluem of a pool. If the pool is cleaned before the bucket is destroyed, then
573f949c582f06bd738a96196f40b646b6d540b8rpluem the data is converted to a heap bucket, allowing it to survive the
573f949c582f06bd738a96196f40b646b6d540b8rpluem death of the pool.
c44902d07eab7deb803a59e959f57cf3b7d56655poirier [Ryan Bloom]
c44902d07eab7deb803a59e959f57cf3b7d56655poirier *) Add a flush bucket. This allows modules to signal that the filters
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener should all flush whatever data they currently have. There is no way
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener to actually force them to do this, so if a filter ignores this bucket,
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener that's life, but at least we can try with this.
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener [Ryan Bloom]
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener *) Add an output filter for sub-requests. This filter just strips the
ae1981fc94adf2b231e2d0e15d2f895b2138c969covener EOS bucket so that we don't confuse the main request's core output
4ac05f9625e37cc421f4ea548422827b4de163d7niq filter by sending multiple EOS buckets. This change also makes sub
4ac05f9625e37cc421f4ea548422827b4de163d7niq requests start to send EOS buckets when they are finished.
4ac05f9625e37cc421f4ea548422827b4de163d7niq [Ryan Bloom]
4ac05f9625e37cc421f4ea548422827b4de163d7niq *) Make ap_bucket_(read|destroy|split|setaside) into macros. Also
6999a76d8eb5ef6b4b295e51df0b2fb6064bd373covener makes ap_bucket_destroy a return void, which is okay because it
6999a76d8eb5ef6b4b295e51df0b2fb6064bd373covener used to always return APR_SUCCESS, and nobody ever checked its
6999a76d8eb5ef6b4b295e51df0b2fb6064bd373covener return value anyway.
ead0b57bbeaec5acb14f931b5641962f429dabc9trawick [Cliff Woolley <cliffwoolley@yahoo.com>]
ead0b57bbeaec5acb14f931b5641962f429dabc9trawick *) Remove the index into the bucket-type table from the buckets
77d6f9d5c2a5cab805e9ace265628f3d791b937dniq structure. This has now been replaced with a pointer to the
77d6f9d5c2a5cab805e9ace265628f3d791b937dniq bucket_type. Also add some macros to test the bucket-type.
77d6f9d5c2a5cab805e9ace265628f3d791b937dniq [Ryan Bloom]
77d6f9d5c2a5cab805e9ace265628f3d791b937dniq *) Renamed all MODULE_EXPORT symbols to AP_MODULE_DECLARE and all symbols
9f35dd32eedd781d218a85f0315ea5526a8adc84minfrin for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper)
9f35dd32eedd781d218a85f0315ea5526a8adc84minfrin and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE.
9f35dd32eedd781d218a85f0315ea5526a8adc84minfrin All _VAR_ flavors changes to _DATA to be absolutely clear.
9f35dd32eedd781d218a85f0315ea5526a8adc84minfrin [William Rowe]
5dc4220fc22561537ce1421a03e11846a5b719ebminfrin *) Add support for /, //, //servername and //server/sharename
5dc4220fc22561537ce1421a03e11846a5b719ebminfrin parsing of <Directory> blocks under Win32 and OS2.
5dc4220fc22561537ce1421a03e11846a5b719ebminfrin [Tim Costello, William Rowe, Brian Harvard]
bd27541a0c96caa881f17a490e23cdd220d480c8poirier *) Remove the function pointers from the ap_bucket type. They have been
a9d359cdeb1cee65cdb9fab5e19ffb4846172183trawick replaced with a global table. Modules are allowed to register bucket
bd27541a0c96caa881f17a490e23cdd220d480c8poirier types and use then use those buckets.
68c4447ba8e057cf38cbbec918e0549b817f20b4minfrin [Ryan Bloom]
68c4447ba8e057cf38cbbec918e0549b817f20b4minfrin *) mod_cgid: In the handler, shut down the Unix socket (only for write)
68c4447ba8e057cf38cbbec918e0549b817f20b4minfrin once we finish writing the request body to the cgi child process;
68c4447ba8e057cf38cbbec918e0549b817f20b4minfrin otherwise, the client doesn't hit EOF on stdin. Small request bodies
e33d0698670fead33dbd7c907363053b9e2be454minfrin worked without this change (for reasons I don't understand), but large
e33d0698670fead33dbd7c907363053b9e2be454minfrin ones didn't. [Jeff Trawick]
e33d0698670fead33dbd7c907363053b9e2be454minfrin *) Remove file bucket specific information from the ap_bucket type.
e33d0698670fead33dbd7c907363053b9e2be454minfrin This has been moved to a file_bucket specific type that hangs off
cf8a8738330694e60bad421fcc8361d80b0e9124minfrin the data pointer in the ap_bucket type.
cf8a8738330694e60bad421fcc8361d80b0e9124minfrin [Ryan Bloom]
4ea8055e720d18f386b8026b546e5836ecccba4arjung *) Input filtering now has a third argument. This is the amount of data
a9d359cdeb1cee65cdb9fab5e19ffb4846172183trawick to read from lower filters. This argument can be -1, 0, or a positive
a9d359cdeb1cee65cdb9fab5e19ffb4846172183trawick number. -1 means give me all the data you have, I'll deal with it and
4ea8055e720d18f386b8026b546e5836ecccba4arjung let you know if I need more. 0 means give me one line and one line
fd80868005a61e747bc45b39df83cae7abb3d151pgollucci only. A positive number means I want no more than this much data.
fd80868005a61e747bc45b39df83cae7abb3d151pgollucci Currently, only 0 and a positive number are implemented. This allows
60a8830541cd85d23a42ccb1639bc4744de9d526poirier us to remove the remaining field from the conn_rec structure, which
60a8830541cd85d23a42ccb1639bc4744de9d526poirier has also been done.
60a8830541cd85d23a42ccb1639bc4744de9d526poirier [Ryan Bloom]
5ae15cd9d22fb3bdfd2eb0b9761c4ef07fbf2f96minfrin *) Big cleanup of the input filtering. The goal is that http_filter
5ae15cd9d22fb3bdfd2eb0b9761c4ef07fbf2f96minfrin understands two conditions, headers and body. It knows where it is
5ae15cd9d22fb3bdfd2eb0b9761c4ef07fbf2f96minfrin based on c->remaining. If c->remaining is 0, then we are in headers,
5ae15cd9d22fb3bdfd2eb0b9761c4ef07fbf2f96minfrin and http_filter returns a line at a time. If it is not 0, then we are
69fc9805c344b2dd5fd49a4f75cbf55dedeac7d6minfrin in body, and http_filter returns raw data, but only up to c->remaining
69fc9805c344b2dd5fd49a4f75cbf55dedeac7d6minfrin bytes. It can return less, but never more.
69fc9805c344b2dd5fd49a4f75cbf55dedeac7d6minfrin [Greg Ames, Ryan Bloom, Jeff Trawick]
46fdfef7dfc745effe179387e1dcb8245d3804batrawick *) mod_cgi: Write all of the request body to the child, not just what
46fdfef7dfc745effe179387e1dcb8245d3804batrawick the kernel would accept on the first write. [Jeff Trawick]
ca0a943242b488c162aa89874498e0316f7b2f2eminfrin *) Back out the change that moved the brigade from the core_output_filters
e1c6c1dac26c35ecebe158438bb0c56afbb9bfb0sf ctx to the conn_rec. Since all requests over a given connection
e1c6c1dac26c35ecebe158438bb0c56afbb9bfb0sf go through the same core_output_filter, the ctx pointer has the
dd90cc3ba2a09e7be46c9d8f5faad90edf18134fsf correct lifetime.
38451a13fb80b89e704792ebc0e6f9e5e5877d7dsf [Ryan Bloom]
38451a13fb80b89e704792ebc0e6f9e5e5877d7dsf *) Fix another bug in the send_the_file() read/write loop. A partial
38451a13fb80b89e704792ebc0e6f9e5e5877d7dsf send by apr_send would cause unsent data in the read buffer to
38451a13fb80b89e704792ebc0e6f9e5e5877d7dsf get clobbered. Complete making send_the_file handle partial
505e342aefa9fbccc857f1bc653a310e25511946sf writes to the network.
505e342aefa9fbccc857f1bc653a310e25511946sf [Bill Stoddard]
505e342aefa9fbccc857f1bc653a310e25511946sf *) Fix a couple of type fixes to allow compilation on AIX again
26734c75baf170a492ef6a82f07b24ee1af7d0b1sf [Victor J. Orlikowski <v.j.orlikowski@gte.net>]
26734c75baf170a492ef6a82f07b24ee1af7d0b1sf *) Fix bug in send_the_file() which causes offset to be ignored
dda254ba84bdff5e236917af1b31693ca4360eabcovener if there are no headers to send.
dda254ba84bdff5e236917af1b31693ca4360eabcovener [Bill Stoddard]
dda254ba84bdff5e236917af1b31693ca4360eabcovener *) Handle APR_ENOTIMPL returned from apr_sendfile in the core
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna filter. Useful for supporting Windows 9* with a binary
bf52162f2d05c1fb1a107c7ef108de73f739b3edpquerna compiled on Windows NT.
e1d33ac481c6683a069630c8f9aceec3a48babcetrawick [Bill Stoddard]
cf12a027b0859c14d5c4852efffeff62158cd98dtrawickChanges with Apache 2.0a7
8e5e9b2d4c6cbcd21ca182fe1109d59284239515wrowe *) Reimplement core_output_filter to buffer/save bucket brigades
3becbd2611ffb2e8391a8eacce765b43dcb1c669wrowe across multiple calls to the core_filter. The brigade will be
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf sent when either MIN_BYTES_TO_SEND or MAX_IOVEC_TO_WRITE
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf thresholds are hit or the EOS bucket is received.
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf [Bill Stoddard]
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf *) Create experimental filter (buffer_filter) that coalesces bytes
4be9c459920a7c1cfe62d654327dae5c4bb6b284sf into one large buffer before invoking the next filter in the
4be9c459920a7c1cfe62d654327dae5c4bb6b284sf chain. This filter is particularly useful with the current
4be9c459920a7c1cfe62d654327dae5c4bb6b284sf implementation of mod_autoindex when it inserted above the
47ff2654d827dd3596ce2e4099d69cec0f1009b9takashi chunk_filter. mod_autoindex generates a lot of brigades that
47ff2654d827dd3596ce2e4099d69cec0f1009b9takashi containing buckets holding just a few bytes each. The
47ff2654d827dd3596ce2e4099d69cec0f1009b9takashi buffer_filter coalesces these buckets into a single large bucket.
b4ae72381175122ebfe42ff0d11db7a7f4162014takashi [Bill Stoddard]
b4ae72381175122ebfe42ff0d11db7a7f4162014takashi *) Add apr_sendfile() support into the core_output_filter.
5e1ae35c05125b8b6c6c648c60e576f5796ea061rpluem [Bill Stoddard]
b115299831a7b4bbec58a88d708d8536e1ecd50csf *) Add apr_sendv() support into the core_output_filter.
5e1ae35c05125b8b6c6c648c60e576f5796ea061rpluem [Bill Stoddard]
b9a830d395feaa66ab621841a5cd86e1fa2d184brjung *) Fix mod_log_config so that it compiles cleanly with BUFFERED_LOGS
b9a830d395feaa66ab621841a5cd86e1fa2d184brjung [Mike Abbott <mja@sgi.com>]
82e6711dc508d2822d9397f07136ba4ddd8764e1niq *) Remove ap_send_fb. This is no longer used in Apache, and it doesn't
82e6711dc508d2822d9397f07136ba4ddd8764e1niq make much sense, because Apache uses buckets instead of BUFFs now.
82e6711dc508d2822d9397f07136ba4ddd8764e1niq [Ryan Bloom]
82e6711dc508d2822d9397f07136ba4ddd8764e1niq *) send_the_file now falls back to a read/write loop on platforms that
82e6711dc508d2822d9397f07136ba4ddd8764e1niq do not have sendfile.
f43104f173247435cb4ade2b89aa2ca8108aedb7niq [Ryan Bloom and Brian Havard]
f43104f173247435cb4ade2b89aa2ca8108aedb7niq *) Install apachectl correctly, and substitute the proper values so
1fdcfb04a08e53ce28af657d854922efbbabecf4niq that it works again. [Ryan Bloom]
1fdcfb04a08e53ce28af657d854922efbbabecf4niq *) Better(??) handle platforms that lack sendfile().
1fdcfb04a08e53ce28af657d854922efbbabecf4niq [Jim Jagielski]
c26aa743a70c2148cdca1e6c637c605d9025b051niq *) APR now has UUID generation/formatting/parsing support.
c26aa743a70c2148cdca1e6c637c605d9025b051niq [Greg Stein]
e076b09731977eafcef2bfc6f5323f3ab7e83b15niq *) Begin the http_filter. This is an input filter that understands
e076b09731977eafcef2bfc6f5323f3ab7e83b15niq the absolute basic amount required to parse an HTTP Request. The
3fba96a56fbced0f14edde04f417d74d7f5bdb1eniq goal is to be able to split headers from request body before passing
3a183ee5b8f8129f6d3ec493be51abacda7c6ea7niq the data back to the other filters.
3a183ee5b8f8129f6d3ec493be51abacda7c6ea7niq [Ryan Bloom]
64dbb5532fba398c5e81efeb21c7fd50c05819d7niq *) Bring forward from 1.3.13 the config directory implementation
22d3cfb8f14471efbc3bbc8faa2c59805ac2395fjim [Jim Jagielski]
d31d6c32262a8d1cbfc63d9f7adccae46002c8f7niq *) install apxs if it is created
d31d6c32262a8d1cbfc63d9f7adccae46002c8f7niq [Ryan Bloom]
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna *) Added APR_IS_STATUS_condition test macros to eliminate canonical error
a50db00c3663c2a0d3531965c64d995516b06288niq conversions. [William Rowe]
11f2c481e1d57bedb3f758565307501e9a2730ddtrawick *) Now that we have ap_add_input_filter(), rename ap_add_filter() to
11f2c481e1d57bedb3f758565307501e9a2730ddtrawick ap_add_output_filter(). [Jeff Trawick]
11f2c481e1d57bedb3f758565307501e9a2730ddtrawick *) Multiple build and configuration fixes
11f2c481e1d57bedb3f758565307501e9a2730ddtrawick Build process:
4aa736735709d0434c02ae6cc65b0738eb9882cctakashi -add datadir and localstatedir substitutions
4aa736735709d0434c02ae6cc65b0738eb9882cctakashi -fix layout name
99d46a23c6eac800f327b29f8009f7d7da986230trawick -fix logfilename misspelling
99d46a23c6eac800f327b29f8009f7d7da986230trawick -fix evaluation of installation dir variables and
99d46a23c6eac800f327b29f8009f7d7da986230trawick -replace $foobar by $(foobar) to be usefull in the makefile
6c2782f8988f498ad9e5fc84256e202175c3edc9covener Cross compile:
6c2782f8988f498ad9e5fc84256e202175c3edc9covener -add rules for cross-compiling in rules.mk. Okay, rule to check for
6c2782f8988f498ad9e5fc84256e202175c3edc9covener $CC_FOR_BUILD is still missing
a50db00c3663c2a0d3531965c64d995516b06288niq -use CHECK_TOOL instead of CHECK_PROG for ranlib
bf27540ecb929632fd82264742045c96006c382cniq -add missing "AR=@AR@" to severaly Makefile.in's
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna -cache result for "struct rlimit"
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna -compile all helper programs with native and cross compiler
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna and use the native version to generate header file
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna ["R�diger" Kuhlmann <Tadu@gmx.de>]
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna *) Prepare our autoconf setup for autoconf 2.14a and for cross-
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna ["R�diger" Kuhlmann <Tadu@gmx.de>]
bcb567d8f48f5de8aa84e0b19e93357e0a4d970epquerna *) Fix a bug where a client which only sends \n to delimit header
ea6ff3396df1d6d43ee0ecfa3e26ada981d8e9a3sctemme lines (netcat) gets a strange looking HTTP_NOT_IMPLEMENTED
8a0c75e992cc657a98317e78374b800d16963cfatrawick message. Start working on ebcdic co-existance with input
ab1b172430f2d4e1b222b541bb8c1d431c1a7bc7sf [William Rowe, Greg Ames]
8315a125b56710a222167e4d65b96c3c891f4b25sf *) If mod_so is enabled in the server always create libexec, even
ab1b172430f2d4e1b222b541bb8c1d431c1a7bc7sf if there are no modules installed in this directory. This is a
3f985866b9b5b49fb57735b5eb135591163f30dfsf requirement for APXS to work correctly.
3f985866b9b5b49fb57735b5eb135591163f30dfsf [Ryan Bloom]
7f51e5c395d431b8c20226f77de28efe13272bfasf *) Connection oriented output filters are now stored in the
7f51e5c395d431b8c20226f77de28efe13272bfasf conn_rec instead of the request_rec. This allows us to add the
7f51e5c395d431b8c20226f77de28efe13272bfasf output filter in the pre-connection phase instead of the
17d64c884a44f5ca72f6901afd3e50991bfc1c63sf post_read_request phase, which keeps us from trying to write an
17d64c884a44f5ca72f6901afd3e50991bfc1c63sf error page before we have a filter to write to the network.
17d64c884a44f5ca72f6901afd3e50991bfc1c63sf [Ryan Bloom, Jeff Trawick, and Greg Ames]
a6e4caaa97e433cc2ef78d957bc32756d9c49f79sf *) Cleaning up an mmap bucket no longer deletes the mmap. An
a6e4caaa97e433cc2ef78d957bc32756d9c49f79sf mmap can be used across multiple buckets (default_handler with
a6e4caaa97e433cc2ef78d957bc32756d9c49f79sf byte ranges, mod_file_cache, mod_mmap_static), so cleanup of
68686064650b23222461014a11558593de194bbctrawick the mmap itself can't be associated with the bucket.
304903af1cf77cbdfa07e8a6482f35f3d9d7b0f3sf [Jeff Trawick]
a6e4caaa97e433cc2ef78d957bc32756d9c49f79sf *) Add .dll caching directive ISAPICacheFile to mod_isapi.
a96ba81cada826f2a9ab1e24218a77bfadfc31d8sf [William Rowe]
a96ba81cada826f2a9ab1e24218a77bfadfc31d8sf *) Radical surgery to improve mod_isapi support under Win32.
a96ba81cada826f2a9ab1e24218a77bfadfc31d8sf Includes a number of newer ServerSupportFunction calls, support
4f133508c93204c06e1acba9774ff184e5812606niq for ReadClient (in order to retrieve POSTs greater than 48KB),
4f133508c93204c06e1acba9774ff184e5812606niq and general bug fixes to more reliably load ISAPI .dll's and
4f133508c93204c06e1acba9774ff184e5812606niq prevent leaking handle resources. Note: There are still
87587593f1a53030e840acc0dec6cc881022ea40covener discrepancies between IIS's and Apache's ServerVariables, and
87587593f1a53030e840acc0dec6cc881022ea40covener async calls are still not supported. Additional warnings are
87587593f1a53030e840acc0dec6cc881022ea40covener logged to facilitate debugging of unsupported ISAPI calls.
87587593f1a53030e840acc0dec6cc881022ea40covener [William Rowe]
52071e4b9f49c3a1c2c767c7ea80ec92cf9032c9covener *) Add input filtering to Apache. The basic idea for the input
52071e4b9f49c3a1c2c767c7ea80ec92cf9032c9covener filters is the same as the ideas for output filters. The biggest
52071e4b9f49c3a1c2c767c7ea80ec92cf9032c9covener difference is that instead of calling ap_pass_brigade, ap_get_brigade
89b8bbc89404e7071e573c4f0a17f528996e855djorton should be called, and the order of execution for the filter itself is
89b8bbc89404e7071e573c4f0a17f528996e855djorton different. When writing an output filter, a brigade is passed in,
89b8bbc89404e7071e573c4f0a17f528996e855djorton and filters operate directly on that brigade, when done, they call
e1d4c4e8366f46dc5dc1e6e24b4c7ac448dfa061sf ap_pass_brigade. Input filters are the exact opposite. Because input
e1d4c4e8366f46dc5dc1e6e24b4c7ac448dfa061sf is not a push operation, filters first call ap_get_brigade. When this
6bc4f334a04802bab835893d0c42af8bfb9c3c41sf function returns, the input filter will be left with a valid brigade.
6bc4f334a04802bab835893d0c42af8bfb9c3c41sf The input filter should then operate on the brigade, and return.
53593dbd8fece82cb66a23f0b7024d8d713d66f1sf [Ryan Bloom]
79e3f2f950745953fff4a6a8dfe1f7cce31ce287sf *) Fix building on BSD/OS using its native make. The build system
79e3f2f950745953fff4a6a8dfe1f7cce31ce287sf falls back to the BSD .include directive on that host platform.
ab2b977442827214b1d884decf3e3f1579fd45e1rpluem [Sascha Schumann]
ab2b977442827214b1d884decf3e3f1579fd45e1rpluem *) Expand dbmmanage to allow -d -m -s -p options for Crypt, MD5,
195edf54eccd8c5a436c7dd17f5f604e7074d5d1sf SHA1 and plaintext password encodings. Make feature tests a
195edf54eccd8c5a436c7dd17f5f604e7074d5d1sf bit more flexible. [William Rowe]
3709b26f3370ae89c5324a3c03fab56a93b09ecdsf *) Charset translation: mod_charset_lite handles output content
3709b26f3370ae89c5324a3c03fab56a93b09ecdsf translation in a filter. mod_charset_lite no longer ignores
3709b26f3370ae89c5324a3c03fab56a93b09ecdsf subrequests. A bunch of cruft related to BUFF's support for
03577bc320125eaa2b27ee7af78b894ee6dfe121takashi translating request and response bodies was removed.
03577bc320125eaa2b27ee7af78b894ee6dfe121takashi [Jeff Trawick]
f5119c5d7cfe8c6d53cb29d43f8746684068ed82minfrin *) Move the addition of the CORE filter to the post_read_request
f5119c5d7cfe8c6d53cb29d43f8746684068ed82minfrin hook in http_core.c. This removes the need to add the filter in
f5119c5d7cfe8c6d53cb29d43f8746684068ed82minfrin multiple places and allows for an SSL module to be added much
f5119c5d7cfe8c6d53cb29d43f8746684068ed82minfrin simpler. [Ryan Bloom]
94713632faf403489b3f8b4e0ed65e1011ac4991takashi *) Fix a security problem that affects certain configurations of
f74d35a61a835e15412b99b8aebe4958fe4e94a5takashi mod_rewrite. If the result of a RewriteRule is a filename that
20216b769716c4346cce373f2028d7dbebf03886poirier contains expansion specifiers, especially regexp backreferences
20216b769716c4346cce373f2028d7dbebf03886poirier $0..$9 and %0..%9, then it may be possible for an attacker to
20216b769716c4346cce373f2028d7dbebf03886poirier access any file on the web server. [Tony Finch]
7317a32e0c621c9a28f6f10e83e6c5dc63e3f3bdsf *) Fix a bug where errors that are detected during early request parsing
7317a32e0c621c9a28f6f10e83e6c5dc63e3f3bdsf don't produce visible HTTP error messages at the browser, because
ecc6e723b804fb4b8f858910eff3f88242ec56fasf the core_filter wasn't present. [Greg Ames]
ecc6e723b804fb4b8f858910eff3f88242ec56fasf *) Provide apr_socklen_t as a portability aid.
ecc6e723b804fb4b8f858910eff3f88242ec56fasf [Victor J. Orlikowski]
ecc6e723b804fb4b8f858910eff3f88242ec56fasf *) Overhaul of dbmmanage to allow a groups arg (as in Apache 1.2)
727d68c6009030f56a350b4603384ce4fb844341minfrin as well as a comment arg to the add, adduser and update cmds.
727d68c6009030f56a350b4603384ce4fb844341minfrin update allows the user to clear or preserve pw/groups/comment.
727d68c6009030f56a350b4603384ce4fb844341minfrin Fixed a bug in dbmmanage that prevented the check option from
ed6dfb7d7057dc4f42348f12d7bff9fe98fc73cfminfrin parsing a password followed by :group... text. Corrected the
ed6dfb7d7057dc4f42348f12d7bff9fe98fc73cfminfrin seed calcualation for Win32 systems, and added -lsdbm support.
ed6dfb7d7057dc4f42348f12d7bff9fe98fc73cfminfrin [William Rowe]
4dee28b6fc8fff5efde4e7821aeb6defed3fb84dsf *) Configured mod_auth_dbm to compile with sdbmlib under Win32.
4dee28b6fc8fff5efde4e7821aeb6defed3fb84dsf [William Rowe]
23247a8f748077bc788a5fbaf91d5fad34d0b7d1sf *) Avoid a segfault when parsing .htaccess files. An
23247a8f748077bc788a5fbaf91d5fad34d0b7d1sf uninitialized tree pointer was passed to ap_build_config().
23247a8f748077bc788a5fbaf91d5fad34d0b7d1sf [Jeff Trawick]
58015652ffe00f004c6404a0631474f23dadc7dasf *) Change the way that inet_addr & inet_network are checked for
58015652ffe00f004c6404a0631474f23dadc7dasf in APR's configure process to allow BeOS BONE to correctly
2af38cc44e48753913565b38a7a9f325f898a293minfrin find them. With this change BeOS BONE now builds from source
2af38cc44e48753913565b38a7a9f325f898a293minfrin with no problems. [David Reid]
2af38cc44e48753913565b38a7a9f325f898a293minfrin *) Fix a bug in apr_create_process() for Unix. The NULL signifying
fc2f0972572614b50523bc5ddb3f866ca4acd2f0sf the end of the parameters to execve() was stored in the wrong
fc2f0972572614b50523bc5ddb3f866ca4acd2f0sf location, overlaying the storage beyond the newargs[] array and
fc2f0972572614b50523bc5ddb3f866ca4acd2f0sf also passing uninitialized storage to execve(), which would
251430bcaff1fa6a77953bfe56475eb6cc7abc78sf sometimes fail with EFAULT. [Jeff Trawick]
251430bcaff1fa6a77953bfe56475eb6cc7abc78sf *) Fix a bug parsing configuration file containers. With a sequence
7b467aa53854c95318a1c709709c1619a4f47118minfrin like this in the config file
7ba7402d405dc9e3c1083e34049ed933472ca910poirier </IfModule>
7ba7402d405dc9e3c1083e34049ed933472ca910poirier (blank line)
7ba7402d405dc9e3c1083e34049ed933472ca910poirier </IfModule>
4286d2e267e788d856092bf2ccf461e7ca99570frpluem the second container would be terminated at the blank line due to
4286d2e267e788d856092bf2ccf461e7ca99570frpluem sediment in the buffer from reading the prior </IfModule> and an
4286d2e267e788d856092bf2ccf461e7ca99570frpluem error message would be generated for the real </IfModule> for the
43563ad04e4bae7b42f7a34a87b7c60dc69c0c3fpoirier second container. Also due to this problem, any two characters
5357892a1e367372dc2d4a315156e3e44dc5d56dpoirier could be used for "</" in the close of a container.
5357892a1e367372dc2d4a315156e3e44dc5d56dpoirier [Jeff Trawick]
b42af5f6edf4fe4b820288c37920a7a6fd65f1f1poirier *) ap_add_filter prototype changed to remove the ctx pointer. The
b42af5f6edf4fe4b820288c37920a7a6fd65f1f1poirier pointer still remains in the filter structure, but it can not be
49cea03e96dc4707bce15d6318eb013cb8668d96minfrin a part of the ap_add_filter prototype. The reason is that when
49cea03e96dc4707bce15d6318eb013cb8668d96minfrin the core uses AddFilter to add a filter to the stack it doesn't
49cea03e96dc4707bce15d6318eb013cb8668d96minfrin know how to allocate the ctx pointer, or even how much memory should
49cea03e96dc4707bce15d6318eb013cb8668d96minfrin be allocated. The filters will have to be responsible for allocating
847b3922f7dcde6830f4aad49d29c84b4569c260minfrin the ctx memory when they need it.
63eaa8ed62d63de0a44346b8af48e08e562db01eminfrin [Ryan Bloom]
847b3922f7dcde6830f4aad49d29c84b4569c260minfrin *) Add an AddFilter directive. This directive takes a list of filters
1af2b28846e2647963db788b081676884fb7df8crpluem that should be activated for the requested resource.
1af2b28846e2647963db788b081676884fb7df8crpluem [Ryan Bloom]
845258fbf5102b8b09fe9b7f4cb4ea4c089344c3poirier *) apr_snprintf(): Get quad format strings working on OS/390 (and perhaps
845258fbf5102b8b09fe9b7f4cb4ea4c089344c3poirier some other platforms). [Jeff Trawick]
5d36cddfe00d5c6ad18845fcc04e6f7662050fafminfrin *) Modify mod_include to be a filter. Currently, it has only been tested
5d36cddfe00d5c6ad18845fcc04e6f7662050fafminfrin on actual files, but it should work for CGI scripts too.
5d36cddfe00d5c6ad18845fcc04e6f7662050fafminfrin [Ryan Bloom]
20aa41f86a5b451529d26d9b901eea69989e5c0aminfrin *) apr_putc(), apr_puts() for Unix: handle buffered files and interrupted
20aa41f86a5b451529d26d9b901eea69989e5c0aminfrin writes. apr_flush() for Unix: handle interrupted writes.
8c92aeeb75b1b393f61a3e01c495484737a0ff8cminfrin [Jeff Trawick]
8c92aeeb75b1b393f61a3e01c495484737a0ff8cminfrin *) NameVirtualHost can now take "*" as an argument instead of
1018201f5223624476334c6e23aead02db7c4040minfrin an IP address. This allows you to create a purely name-based
1018201f5223624476334c6e23aead02db7c4040minfrin virtual hosting server that does not have any IP addresses in
e5db2522dbe503cbf5399094b6239c88c246a8c5poirier the configuration file and which ignores the local address
e5db2522dbe503cbf5399094b6239c88c246a8c5poirier of any connections. PR #5595, PR #4455 [Tony Finch]
e5db2522dbe503cbf5399094b6239c88c246a8c5poirier *) Fix some compile warnings in mod_mmap_static.c
ad7e5e9fb8f63a5155bb392114162997505ff772minfrin [Mike Abbott <mja@sgi.com>]
ad7e5e9fb8f63a5155bb392114162997505ff772minfrin *) Fix chunking problem with CGI scripts. The general problem was that
ad7e5e9fb8f63a5155bb392114162997505ff772minfrin the CGI modules were adding an EOS bucket and then the core added an
ad7e5e9fb8f63a5155bb392114162997505ff772minfrin EOS bucket. The chunking filter finalizes the chunked response when it
ad7e5e9fb8f63a5155bb392114162997505ff772minfrin encounters an EOS bucket. Because two EOS buckets were sent, we
59cb8d601b8c44476e59310f68b9c373d8fc62a6minfrin finalized the response twice. The fix is to make sure we only send one
59cb8d601b8c44476e59310f68b9c373d8fc62a6minfrin EOS, by utilizing a flag in the request_rec.
59cb8d601b8c44476e59310f68b9c373d8fc62a6minfrin [Ryan Bloom]
ec8b1faa56744b338f6d6421144b56c2bb3faae6poirier *) apr_put_os_file() now sets up the unget byte appropriately on Unix
ec8b1faa56744b338f6d6421144b56c2bb3faae6poirier and Win32. Previously, the first read from an apr_file_t set up via
10abdcbd7b30d957d15c61ea8100ba97a627ac95minfrin apr_put_os_file() would return a '\0'. [Jeff Trawick]
87e0bf269cc3386ee8e6ab561ff00770151f4f53niq *) Mod_cgid now creates a single element bucket brigade, with a pipe
87e0bf269cc3386ee8e6ab561ff00770151f4f53niq bucket, instead of using BUFF's and ap_r*.
87e0bf269cc3386ee8e6ab561ff00770151f4f53niq [Ryan Bloom]
3c67b7956d44501360506a9f13a5011be73b30ecminfrin *) APRVARS.in no longer overwrites the EXTRA_LIBS variable.
3c67b7956d44501360506a9f13a5011be73b30ecminfrin [Mike Abbott <mja@sgi.com>]
97d20d37d21b8d427a920e211858172f0a82427epoirier *) Remove ap_bopenf from buff code. This required modifying the file_cache
97d20d37d21b8d427a920e211858172f0a82427epoirier code to use APR file's directly instead of going through BUFFs.
97d20d37d21b8d427a920e211858172f0a82427epoirier [Ryan Bloom]
8e04e8ec7d682bff5e6dccdd70c082971a88cb8bniq *) Fix compile break on some platforms for mod_mime_magic.c
8e04e8ec7d682bff5e6dccdd70c082971a88cb8bniq [John K. Sterling <sterling@covalent.net>]
53c999a82fcca729dabc8a512b3fb996d61fd814niq *) Fix merging of AddDefaultCharset directive.
53c999a82fcca729dabc8a512b3fb996d61fd814niq PR #5872 (1.3) [Jun Kuriyama <kuriyama@imgsrc.co.jp>]
25d0f8adcab13255494a3572edff1a25f6fbeea3rpluem *) Minor revamp of the rlimit sections of code. We now test
25d0f8adcab13255494a3572edff1a25f6fbeea3rpluem explicitly for setrlimit and getrlimit. Also, unixd_set_rlimit()
25d0f8adcab13255494a3572edff1a25f6fbeea3rpluem is now "available" even if the platform doesn't support
25d0f8adcab13255494a3572edff1a25f6fbeea3rpluem the rlimit family (it's just a noop though). [Jim Jagielski]
dd9ae259e1578c4388739c880ede97c55cec543frpluem *) Migrate the pre-selection of which MPM to use for specific
dd9ae259e1578c4388739c880ede97c55cec543frpluem platforms to hints.m4, which contains (or should contain)
0938450cadc9a083d112a86bc7dd7ae34f791364trawick all platform specific "hints". [Jim Jagielski]
0938450cadc9a083d112a86bc7dd7ae34f791364trawick *) Remove IOLs from Apache. With filtering, IOLs are no longer necessary
8bed7ee6d97933b958e97e222f37154d83e384e5jorton [Ryan Bloom]
8bed7ee6d97933b958e97e222f37154d83e384e5jorton *) Add tables with non-string/binary values to APR.
d33ddda47790d3295f4218f87e3a296cf51a9becmjc *) Fix some bad calls to ap_log_rerror() in mod_rewrite.
c7d46b58052fe666c74a47bd26b6cb1e351492adrpluem [Jeff Trawick]
7a25b029b69f169bd22718165dff3b271114f92eniq *) Update PCRE to version 3.2. [Ryan Bloom]
43d051c8401a1f3b4f7853cd897d3565ab814ea7poirier *) Change the way buckets' destroy functions are called so that
43d051c8401a1f3b4f7853cd897d3565ab814ea7poirier they can be more directly used when changing the type of a
2f34374f6e04b9094a1d13a5ed823f331ba841a3rpluem bucket in place. [Tony Finch]
2f34374f6e04b9094a1d13a5ed823f331ba841a3rpluem *) Add generic support for reference-counting the resources used by
7a25b029b69f169bd22718165dff3b271114f92eniq buckets, and alter the HEAP and MMAP buckets to use it. Change
7a25b029b69f169bd22718165dff3b271114f92eniq the way buckets are initialised to support changing the type of
7a25b029b69f169bd22718165dff3b271114f92eniq buckets in place, and use it when setting aside TRANSIENT buckets.
2f34374f6e04b9094a1d13a5ed823f331ba841a3rpluem Change the implementation of TRANSIENT buckets so that it can be
3e6a46d2fecf446daf0e280a49fa5565f5f635eajorton mostly shared with IMMORTAL buckets, which are now implemented.
3e6a46d2fecf446daf0e280a49fa5565f5f635eajorton [Tony Finch]
137e484e5f984ceff1102e1212dda8ac0413231aniqChanges with Apache 2.0a6
0df8f79d2324b131c36955d7e474a735a762f9eeniq *) Add support to Apache and APR for dsos on OS/390. [Greg Ames]
30e3e760b737f13ce800fa02c5930ade7659ba66niq *) Add a chunking filter to Apache. This brings us one step closer
30e3e760b737f13ce800fa02c5930ade7659ba66niq to removing BUFF. [Ryan Bloom]
80370e62044bea458bcd0545c59cb864ed117b04niq *) ap_add_filter now adds filters in a LIFO fashion. The first filter
e991c6fc032c59eb6cb751d9d382e933a53a2866niq added to the stack is the last filter to be called. [Ryan Bloom]
e991c6fc032c59eb6cb751d9d382e933a53a2866niq *) Apache 2.0 has been completely documented using Scandoc. The
9a00e2d46c44c111d6952e553a2f1a61b7594eb3rpluem docs can be generated by running 'make docs'. [Ryan Bloom]
9a00e2d46c44c111d6952e553a2f1a61b7594eb3rpluem *) Add filtered I/O to Apache. This is based on bucket brigades,
33d9be77cc6f5fc8734e9c1f526b82d359955152rpluem Currently the buckets still use BUFF under the covers, but that
9a00e2d46c44c111d6952e553a2f1a61b7594eb3rpluem should change quickly. The only currently written filter is the
33d9be77cc6f5fc8734e9c1f526b82d359955152rpluem core filter which just calls ap_bwrite. [The Apache Group]
172e83c0f024fe6396dd1f3ca3492fd83c304db5jim *) APR locks on Unix: Let APR_LOCKALL locks work when APR isn't
da128c59ec571c4dff70f41ecba9c8a9974c6cd6niq built with thread support. [Jeff Trawick]
45932a847f237b4d8f0667b138bd3f8a15fb53ffniq *) Abort configuration if --with-layout was specified and there's
45932a847f237b4d8f0667b138bd3f8a15fb53ffniq no layout definition file. [Ken Coar]
186e9d990f453d16826ab87a87df7b87e6e05921rpluem *) Add support for '--with-port=n' option to configure. [Ken Coar]
186e9d990f453d16826ab87a87df7b87e6e05921rpluem *) Add support for extension methods for the Allow response header
6861702c2d883e5c0744d5f7528d2060671ad24dtakashi field, and an API routine for accessing r->allowed and the
6861702c2d883e5c0744d5f7528d2060671ad24dtakashi list of extension methods in a unified manner. [Ken Coar]
6861702c2d883e5c0744d5f7528d2060671ad24dtakashi *) mod_cern_meta: fix broken file reading loop in scan_meta_file().
6861702c2d883e5c0744d5f7528d2060671ad24dtakashi [Rob Simonson <simo@us.ibm.com>]
f1f779c42f76118102fdecbe8777b47a1fc693a7rjung *) Get xlate builds working again. The apr renaming in 2.0a5 broke
f1f779c42f76118102fdecbe8777b47a1fc693a7rjung APACHE_XLATE builds. [Jeff Trawick]
292cb7b720095e7bb434d79ae53b02d332aeb99acovener *) A configuration file parsing problem was fixed. When the
292cb7b720095e7bb434d79ae53b02d332aeb99acovener configuration file started with an IfModule/IfDefine container,
292cb7b720095e7bb434d79ae53b02d332aeb99acovener only the last statement in the container would be retained.
137e484e5f984ceff1102e1212dda8ac0413231aniq [Jeff Trawick]
137e484e5f984ceff1102e1212dda8ac0413231aniqChanges with Apache 2.0a5
137e484e5f984ceff1102e1212dda8ac0413231aniq *) Perchild is serving pages after passing them to different child
137e484e5f984ceff1102e1212dda8ac0413231aniq processes. There are still a lot of bugs, but this does work. I
4e08c8c1a91e2887b41d8cacd3aa532355d0237drpluem have made requests against the same installation of Apache, and had
d0cd62f11bcd8fa9bf758c5125f55cea5d9038dfrpluem different servers use different user IDs to serve the responses.
d0cd62f11bcd8fa9bf758c5125f55cea5d9038dfrpluem This change moves to using socketpair instead of an AF_UNIX socket.
d0cd62f11bcd8fa9bf758c5125f55cea5d9038dfrpluem [Ryan Bloom]
51d55be8bbc6652c13bc80d920f4331f7152dceerjung *) Perchild MPM still doesn't work perfectly, but it is serving pages.
51d55be8bbc6652c13bc80d920f4331f7152dceerjung It can't seem to pass between child processes yet, but I think we
0af58edfee6112cc3399e0e693340e525b96ab1ctrawick are closer now than before. This moves us back to using Unix
0af58edfee6112cc3399e0e693340e525b96ab1ctrawick Domain Sockets. [Ryan Bloom]
0af58edfee6112cc3399e0e693340e525b96ab1ctrawick *) libapr functions and types renamed with apr_ prefix.
8f2700898323915da289644dc1f3ee11a5e5b4earpluem *) Fix problems with APR sockaddr handling on Win32. It didn't always
8f2700898323915da289644dc1f3ee11a5e5b4earpluem return the right information on the local socket address.
8f2700898323915da289644dc1f3ee11a5e5b4earpluem [Gregory Nicholls <gnicholls@level8.com>]
e7983ce746b0df56a1b74b42da6d82f5ecb99349covener *) ap_recv() on Win32: Set bytes-read to 0 on error.
e7983ce746b0df56a1b74b42da6d82f5ecb99349covener [Gregory Nicholls <gnicholls@level8.com>]
e7983ce746b0df56a1b74b42da6d82f5ecb99349covener *) Add an option to not detach from the controlling terminal without
77e28c16c8109d76c3b45717fa66ee74415db042rjung going into single process mode. This allows for much easier
bbcfb8ab8e22f90fdf346e9993bd58ba2203b182trawick debugging of the process startup code. [Ryan Bloom]
d1745d6933c22c807cf2388332426defd1b19f03covener *) ab: don't use perror() to report the failure of an APR function.
d1745d6933c22c807cf2388332426defd1b19f03covener [Jeff Trawick]
d1745d6933c22c807cf2388332426defd1b19f03covener *) Make dexter, mpmt_pthread, and perchild MPMs not destroy the
b20f76a400e77d3631f3507ff22d68ae6bd25323trawick scoreboard on graceful restarts.
222834d5a33b915037094af014905f3683cae78btrawick [Ryan Bloom]
2db5d76ac4c75aadecf38e20569bccbfd2360ba7rpluem *) Fix segfault/SIGSEGV when running gzip from mod_mime_magic.c.
2db5d76ac4c75aadecf38e20569bccbfd2360ba7rpluem An invalid ap_proc_t was passed to ap_create_process().
2db5d76ac4c75aadecf38e20569bccbfd2360ba7rpluem [Jeff Trawick]
7f4ac5a4cd99a9cae866b5908e358bd932736307chrisd *) Allow modules to register filters. Those filters are still
1c03114a0f0315ed19a05f654021da9f66005897rjung never called, but this is a step in the right direction.
1c03114a0f0315ed19a05f654021da9f66005897rjung [Ryan Bloom and Greg Stein]
89691c9bd17f5f53fa0aa8d3fe2e1faee5a5d984rpluem *) Register the mod_cgid daemon process for cleanup so that it is
89691c9bd17f5f53fa0aa8d3fe2e1faee5a5d984rpluem killed at termination if it does not die when the parent gets
89691c9bd17f5f53fa0aa8d3fe2e1faee5a5d984rpluem SIGTERM. This change is to fix occasional problems where the
3e9c0665b06e44cf776528c6954ed3ca34a77c7fsctemme process stays around. Bugs in similar logic in mod_rewrite and
51a475d92e7d68ee6d7b57aa7fd6e73b2712ce31sctemme mod_include were also fixed. [Jeff Trawick]
019f2b58acb34e31ea3a062bdb5e6c863cd82d66trawick *) Fix a bug in the time handling. Basically, we were imploding a time
873c287c391b0bbc4719b68bb84946515811e1batrawick in ap_parseHTTPdate, but it had bogus data in the exploded time format.
6707208ba4e9a5841ca1ab830830fd286ea5b7c5trawick Namely, tm_usec and tm_gmtoff were not filled out. ap_implode_time
6707208ba4e9a5841ca1ab830830fd286ea5b7c5trawick uses those two fields to adjust the time value. Because of the HTTP
873c287c391b0bbc4719b68bb84946515811e1batrawick spec, both of those values can be zero'ed out safely. This fixes
832853bb93c1831daf24e4727c5ca0e1b1786e83lars the bug correctly. [Ryan Bloom]
832853bb93c1831daf24e4727c5ca0e1b1786e83lars *) Fix a couple of place in the Windows code where the wrong error
d2696ac6757b3d8bdaa27634a141ac8c8a045e08fielding code was being returned. [Gregory Nicholls <gnicholls@level8.com>]
d2696ac6757b3d8bdaa27634a141ac8c8a045e08fielding *) Fix POOL_DEBUG (at least for prefork mpm). [Dean Gaudet]
1782dcd420de504978945e6b812523eeae6d56a2lars *) Added the APR_EOL_STR macro for platform dependent differences in
1782dcd420de504978945e6b812523eeae6d56a2lars logfiles and other raw text (such as all APR files). Fixes logfiles
d2696ac6757b3d8bdaa27634a141ac8c8a045e08fielding not terminated with cr/lf sequences in Win32. [William Rowe]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Move all strings functions in APR to src/lib/apr/strings and create
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem apr_strings.h for the prototypes. [Ryan Bloom]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) APR lock fixes: when using SysV sems, flock(), or fcntl(), be sure
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem to repeat the syscall until we stop getting EINTR. I noticed a
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem related problem at termination (SIGTERM) on FreeBSD when using
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem fcntl(). Apache 1.3 had these new loops too. Also, make the flock()
cf8d02ea0c91653917b044529f3133c5a1bb9200fielding implementation work properly with child init. Previously, ap_lock()
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem was essentially a no-op because all children were using different
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem locks and thus nobody ever blocked. [Jeff Trawick]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) The htdocs/ tree has been moved out of the CVS source tree into
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem a separate area for easier development. This has NO EFFECT on
9f38f3ec3e8087985d108a24ae796962fef83644takashi end-users or Apache installations. [Ken Coar]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Integrate the mod_dav module for WebDAV protocol handling. This
d4ee4552489641d35d1195bbbd6021351c4b79aarjung adds the dav and dav_fs modules, the SDBM library, and additional
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem XML handling utilities. [Greg Stein]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Clean out obsolete names (from httpd.h) for the HTTP Status Codes
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [Greg Stein]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Update the lib/expat-lite/ library (bring forward changes from
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem the Apache 1.3 repository). [Greg Stein]
382d14411b582d97075a836190d74c778977505fcovener *) If sizeof(long long) == sizeof(long), then prefer long in APR
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem configure.in. [Dave Hill <ddhill@zk3.dec.com>]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Add ap_sendfile for Tru64 Unix. Also, add an error message for
06e6657fd0f376a16db696876f9bff5927cc3cb0trawick machines where sendfile is detected, but nobody has written ap_sendfile.
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [Dave Hill <ddhill@zk3.dec.com>]
0e9dae659943679108357054e9aa7657cdc52dc4minfrin *) Compile fixes in mod_mmap_static. [Victor J. Orlikowski]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) ab would start up more connections than needed, then quit when the
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem desired number were finished. Also fixed a logic error involving
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem ab keepalives. [Victor J. Orlikowski]
d03aa31ada476d8eb97feaec2b1099809e7f3d57niq *) WinNT: Implement non-blocking pipes with timeouts to communicate
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem with CGIs. Apache 2.0a4 had non-blocking pipes but without
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem timeouts (i.e, if a timeout was specified, the pipe reverted to
a7757dd38bb2a1afc93e241b7ea67b3de85ecc8bminfrin a full blocking pipe). Now the behaviour is more in line with
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem Unix non-blocking pipes.
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [Bill Stoddard]
df46ff21c57d00f6addccaaf9b1484f2b56b8577pquerna *) WinNT: Implement accept socket reuse. Using mod_file_cache to
df46ff21c57d00f6addccaaf9b1484f2b56b8577pquerna cache open file handles along with accept socket reuse enables
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem Apache 2.0 to serve non-keepalive requests for static files at
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem 3x the rate of Apache 1.3.(e.g, Apache 1.3 will serve 400 rps
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem and Apache 2.0 will serve almost 1200 rps on my system).
a5cce34e21a5b472f3806b4526043887bcb7e9eajim [Bill Stoddard]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Merge mod_mmap_static function into mod_file_cache. mod_file_cache
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq supports two config directives, mmapfile (same behavious as
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem mod_mmap_static) and cachefile. Use the cachefile directive
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem to cache open file handles. This directive only works on systems
8c3667cd1d0db08647793137c0d1aa7f6526bebfniq that have implemented the ap_sendfile API. cachefile works today
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem on Windows NT, but has not been tested on any flavors of Unix.
6824182b3b8e045db97a228d3127bdfcbdfeb0bcniq [Bill Stoddard]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Cleanup the configuration. With the last few changes the
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem configuration process automatically:
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem inherits information about how to build from APR. Allowing
0c26d213d85bc40fc05963c63bf670b42b352d25niq APR to inform Apache that it should or should not use -ldl
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem Detects which mod_cgi should be used mod_cgi or mod_cgid,
92357fb76d3ad043e29ba2ba2041a7bdb8d13390niq based on the threading model
9f07b6dc343a4e3eba5f4c47050a77441723ce89nd Apache calls APR's configure process before finishing it's
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem configuration processing, allowing for more information flow
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem between the two.
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem [Ryan Bloom]
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem *) Change Unix and Win32 ap_setsockopt() so that APR_SO_NONBLOCK
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem with non-zero argument makes the socket non-blocking. BeOS and
abc69b39766c0de3eaf99e9016ea3f35e23c116drpluem OS/2 already worked this way. [Jeff Trawick]
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem *) ap_close() now calls ap_flush() for buffered files, so write
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem operations work a whole lot better on buffered files.
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem [Jeff Trawick]
92357fb76d3ad043e29ba2ba2041a7bdb8d13390niq *) Fix error messages issued from MPMs which explain where to change
8d574b3ac4185e4f71c8b9aae76e7122a78201c4rpluem compiled-in limits (e.g., ThreadsPerChild, MaxClients, StartTreads).
509111f5f58a9effd4c832f6a0cbd6ad9d549188jorton [Greg Ames]
509111f5f58a9effd4c832f6a0cbd6ad9d549188jorton *) ap_create_pipe() now leaves pipes in blocking state. (This helps
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrin reduce the number of syscalls on Unix.) ap_set_pipe_timeout() is
235b900b78cf6849f8344e377a91ded37d9cc9depquerna now the way that the blocking state of a pipe is manipulated.
235b900b78cf6849f8344e377a91ded37d9cc9depquerna ap_block_pipe() is gone. [Jeff Trawick]
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jorton *) Correct the problem where the only local host name that the IP stack
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jorton can discover are 'undotted' private names. If no fully qualified
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jorton domain name can be identified, the default ServerName will be set to
66b8ec445dced7a2036bcd3b87b6fc3f08a1ab24jorton the machine's IP address string. A warning is always provided if the
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrin ServerName not specified, but assumed. Solves PR6215 [William Rowe]
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrin *) Repair problems with config file processing which caused segfault
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrin at init when virtual hosts were defined and which caused ServerName to
0e2a2eae9b72ac099aa25d7419e55af13b004be9minfrin be ignored when there was no valid DNS setup. [Jeff Trawick]
6f33babce8f8bc723f0b2c755aef049cd509504fpquerna *) Removed pointless ap_is_aborted macro function. [Roy Fielding]
0a12339f39799193ac6866fce812a1deb8f4a1abpquerna *) Add ap_sendfile implementation for AIX
0a12339f39799193ac6866fce812a1deb8f4a1abpquerna [Victor J. Orlikowski]
3fb118bc4e1a634f71c1fa509819ceac36c79dcbpquerna *) Repair C++ compatibility in ap_config.h, apr_file_io.h,
3fb118bc4e1a634f71c1fa509819ceac36c79dcbpquerna [Tyler J. Brooks <tylerjbrooks@home.com>, Jeff Trawick]
fb59af4ce3fcdd314b848359faeddf1e51bb24c5jim *) Bring the allocation and pool debugging code back into a working
fb59af4ce3fcdd314b848359faeddf1e51bb24c5jim state. This will need to be tested as so far it's only been used on
fb59af4ce3fcdd314b848359faeddf1e51bb24c5jim BeOS. [David Reid]
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna *) Change configuration command setup to be properly typesafe when in
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna maintainer mode. Note that this requires a compiler that can initialise
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna unions. [Ben Laurie]
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna *) Turn on buffering for config file reads. Part of this was to
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna repair buffered I/O support in Unix and implement buffered
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna ap_fgets() for all platforms. [Brian Havard, Jeff Trawick]
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna *) Win32: Fix problem where UTC offset was not being set correctly
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna in the access log. Problem reported on news group by Jerry Baker.
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8pquerna [Bill Stoddard]
3ec1e3a35106ec4c8bcf8fae6a20cb623aed0b62pquerna *) Fix segfault when reporting this type of syntax error:
3ec1e3a35106ec4c8bcf8fae6a20cb623aed0b62pquerna "</container> without matching <container> section", where
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna container is VirtualHost or Directory or whatever.
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna [Jeff Trawick]
847db8b2f0188cd9c840acbe4fea77a32748b2edpquerna *) Prevent the source code for CGIs from being revealed when using
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna mod_vhost_alias and the CGI directory is under the document root
97f7daaffd9b6c1031302d7e551d5279fa0d0d72pquerna and a user makes a request like http://www.example.com//cgi-bin/cgi
99c8705f69fae71940ad9b091bd2f588a7b9f484minfrin as reported in <news:960999105.344321@ernani.logica.co.uk>
99c8705f69fae71940ad9b091bd2f588a7b9f484minfrin [Tony Finch]
99c8705f69fae71940ad9b091bd2f588a7b9f484minfrin *) Add support for the new Beos NetwOrking Environment (BONE)
9376e7dc573bb2721491c79b92f9c06fdfacebe6minfrin [David Reid]
9376e7dc573bb2721491c79b92f9c06fdfacebe6minfrin *) xlate: ap_xlate_conv_buffer() now tells the caller when the
9376e7dc573bb2721491c79b92f9c06fdfacebe6minfrin final input char is incomplete; ap_bwrite_xlate() now handles
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin incomplete final input chars. [Jeff Trawick]
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin *) Yet another update to saferead/halfduplex stuff -- need to ensure
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin that a bhalfduplex call occurs before logging or else DNS and
edaefb8bf78debc86ef7de441c7983d8b05517e1minfrin such can delay the last packet of the response. [Dean Gaudet]
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niq *) Some syscall reduction in APR on unix -- don't seek when setting
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niq up an mmap; and don't fcntl() more than once per socket.
b5cbd7bc65a5c0eda246b0cd32e7d9ed124d66c4niq [Dean Gaudet]
2ac474e42b9281e247e7082e30c50c5bef1f2cc3rjung *) When mod_cgid is started as root, the cgi daemon now switches
6ad55f63504cf5fe5205ed9495664519afeadcd9chrisd to the configured User/Group (like other httpd processes)
6ad55f63504cf5fe5205ed9495664519afeadcd9chrisd instead of continuing as root. [Jeff Trawick]
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd *) The prefork MPM now uses an APR lock for the accept() mutex.
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd It has not been getting a lock at all recently. httpd -V now
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd displays APR's selection of the lock mechanism instead of the
809ec9d7cc8bc12d7dc6fafba24f3acad3e49d81chrisd symbols previously respected by prefork. [Jeff Trawick]
f436f5cf34615c3c7d49dd229560ba658033f9eachrisd *) Change the mmap() feature test to check only for existence.
f436f5cf34615c3c7d49dd229560ba658033f9eachrisd The previous check required features not used by Apache.
f436f5cf34615c3c7d49dd229560ba658033f9eachrisd [Greg Ames]
ce6098001014d149e90e56ab0e89c1b4aab30136chrisd *) Fix a couple of bugs in mod_cgid: The cgi arguments were
ce6098001014d149e90e56ab0e89c1b4aab30136chrisd sometimes mangled. The len parm to accept() was not
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisd initialized, leading sometimes to an endless loop of failed
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisd accept() calls on OS/390 and anywhere else that failed the call
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisd if the len was negative. Use <sys/un.h> for struct sockaddr_un
7245e9b991db85d9d9a587fe5f4051f642ebdc3cchrisd instead of declaring it ourselves to fix a compilation problem
38b062650152074931a68e933461762c5e233cfcniq on Solaris. [Jeff Trawick]
38b062650152074931a68e933461762c5e233cfcniq *) Add Resource limiting code back into Apache 2.0. [Ryan Bloom]
63de18ba5e922ffaab500317d7d1d0ad6b27b7e2covener *) Fix zombie process problem with mod_cgi. [Jeff Trawick]
91ef999a69527d2a64983681c92aaef9270697b4rpluem *) Port mod_mmap_static to 2.0. Make it go faster. [Greg Ames]
91ef999a69527d2a64983681c92aaef9270697b4rpluem *) Fix storage overlay when loading dsos. Symptom: Apache dies at
e82c197ca8872669af89367746826fe6b9955bb3niq initialization if ALLOC_DEBUG is defined; no known symptom
e82c197ca8872669af89367746826fe6b9955bb3niq otherwise. [Jeff Trawick]
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq *) Fix typo in configure script when checking for mod_so. bash
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq doesn't seem to have a problem but /bin/sh on Solaris does.
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq Symptom: "./configure: test: unknown operator =="
baef4b5261d84ad9bacb2f4e745b33f35534c25aniq [Jeff Trawick]
9a06b6b4e83c29429c3a23d34acc41920af2024drjung *) Rebind the Win32 NT and 9x services control into the MPM.
a5e068c4aa3d0084a41e178c7c0c1b1ae2f28125jim All console, WinNT SCM and Win9x pseudo-service control code is
742ec45ed2ac00ab03080e898332352220cc1f13niq now wrapped within the WinNT MPM.
f82568a780e35e8786958c49a1259434e2088b9cniq [William Rowe]
f82568a780e35e8786958c49a1259434e2088b9cniq *) Make a copy of getenv("PATH") before storing for later use. Some
56b7c92bac48127bda06d80bf94952258f7e0bd3minfrin getenv() implementations use the same storage for successive calls.
56b7c92bac48127bda06d80bf94952258f7e0bd3minfrin CGIs on OS/390 had a bad PATH due to this. [Jeff Trawick]
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin *) Server Tokens work in 2.0 again. This also propogates the change
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin to allow just the product name in the server string using
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin PRODUCT_ONLY.
41abbbf0cbaef202fe1ba2dd671ea48990d6e012minfrin [Ryan Bloom]
6aa239b3d12f531ad9e305b1a81ad5fd671a3493minfrinChanges with Apache 2.0a4
6aa239b3d12f531ad9e305b1a81ad5fd671a3493minfrin *) EBCDIC: Rearrange calls to ap_checkconv() so that most handlers
d05e6175473332a8433e4ac85edda0d5a33c94b5minfrin won't need to call it. [Greg Ames, Jeff Trawick]
d05e6175473332a8433e4ac85edda0d5a33c94b5minfrin *) Move pre_config hook call to between configuration read and config
d05e6175473332a8433e4ac85edda0d5a33c94b5minfrin tree walk. This allows all modules to implement pre_config hooks
13d29a334cfa69f2995b70a48aeacacc1ac7125frpluem and know that they will be called at an appropriate time.
13d29a334cfa69f2995b70a48aeacacc1ac7125frpluem [Ryan Bloom]
db455cbc662c98dbbf53175393c50086ff63370cchrisd *) mod_cgi, mod_cgid: Make ScriptLog directive work again.
db455cbc662c98dbbf53175393c50086ff63370cchrisd [Jeff Trawick]
db455cbc662c98dbbf53175393c50086ff63370cchrisd *) Add pre-config hooks back to all modules.
db455cbc662c98dbbf53175393c50086ff63370cchrisd [Ryan Bloom]
7cb45b833e465d46f6b61de983cc68112587d04bchrisd *) Fix a SIGSEGV in ap_md5digest(), which is used when you have
2e242dca7111f99d54dd144b7b8418d88d560032chrisd ContentDigest enabled and we can't/don't mmap the file.
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisd [Jeff Trawick]
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisd *) We now report the correct line number for syntax errors in config
b6b1df87b7ce62620d48526a7ab630897cdaad90chrisd files. [Ryan Bloom, Greg Stein, Jeff Trawick]
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin *) Brought mod_auth_digest up to synch with 1.3, fixed ap_time_t-
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin related bugs, and changed shmem/locking to use apr API. Shared-mem
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin is currently disabled, however, because of problems with graceful
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin restarts. [Ronald Tschal�r]
4cf58054a85830c67dc23890ee613f62e1f7bdc8minfrin *) Fix corruption of IFS variable in --with-module= handling.
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin Depending on the user's shell or customization thereof, there
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin would be errors generating ap_config_auto.h later in the configure
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin procedure. [Jeff Trawick]
66a8e1cc29cc4612cd938bc8fcabc0ef569e5769rpluem *) mod_cgi: Restore logging of stderr from child process when ScriptLog
caaa32f2d2e3b28063c745c2632d3979da7f8326minfrin isn't used (as in 1.3), except that on Unix it is now logged via
e02cb8f5090d904c054633ff33dfd1111e16e404minfrin ap_log_rerror() instead of by the child having STDERR_FILENO refer
e02cb8f5090d904c054633ff33dfd1111e16e404minfrin to the error log. [Greg Ames, Jeff Trawick]
66a8e1cc29cc4612cd938bc8fcabc0ef569e5769rpluem *) Add '-D' argument processing for run time configuration defines.
e02cb8f5090d904c054633ff33dfd1111e16e404minfrin [William Rowe]
2ac474e42b9281e247e7082e30c50c5bef1f2cc3rjung *) Organize http_main.c as independent code, such that no code or
213e520edc00641400771fc8f90b37a967a2d9ebdirkx global data is exported from it. WIN32 will dynamically link it
213e520edc00641400771fc8f90b37a967a2d9ebdirkx to the server core, so this will prevent mutual dependency.
213e520edc00641400771fc8f90b37a967a2d9ebdirkx [William Rowe]
a449830d5caa5b9900fe64cc383658b3641f9810dirkx *) Add separate dynamic linkage tags APR_EXPORT(), APR_EXPORT_NONSTD()
a449830d5caa5b9900fe64cc383658b3641f9810dirkx and APR_VAR_EXPORT to correctly resolve apr functions and globals.
a449830d5caa5b9900fe64cc383658b3641f9810dirkx [William Rowe]
a449830d5caa5b9900fe64cc383658b3641f9810dirkx *) Add Win9x service execution and Ctrl+C/Ctrl+Break/Shutdown handlers.
a449830d5caa5b9900fe64cc383658b3641f9810dirkx [William Rowe, Jan Just Keijser <KEIJSERJJ@logica.com>]
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin *) Add mod_charset_lite for configuring character set translation.
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin [Jeff Trawick]
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin *) Add '-n' option to htpasswd to make it print its user:pw record
82632a19f2f9c346fee2b28a65920ba9737b3973minfrin on stdout rather than having to frob a text file. [Ken Coar]
0481ff0599c9e3c0c7ad5c1930939dcdac908582chrisd *) Fix saferead. Basically, we flush the output buffer if a read on the
0481ff0599c9e3c0c7ad5c1930939dcdac908582chrisd input will block.
835d676191444a46d695171e8760d55a66c60fecminfrin [Ryan Bloom]
835d676191444a46d695171e8760d55a66c60fecminfrin *) APR: Add ap_xlate_get_sb() so that an app can find out whether or not
835d676191444a46d695171e8760d55a66c60fecminfrin a conversion is single-byte only. [Jeff Trawick]
723f9f463f1922eaef3d24d00cb289e10daa73ffminfrin *) BEOS: ap_shutdown should return APR_SUCCESS or errno. Note that
723f9f463f1922eaef3d24d00cb289e10daa73ffminfrin the BeOS 5.0 documentation says that shutdown doesn't work yet.
723f9f463f1922eaef3d24d00cb289e10daa73ffminfrin [Roy Fielding]
c2213b3a46a2666e2e7606ceec509cc4978f187fminfrin *) Fix some minor errors where pid was being manipulated as an int
c2213b3a46a2666e2e7606ceec509cc4978f187fminfrin instead of the portable pid_t. [Roy Fielding]
d4562e99f620170ce0bedddc16887b900b34913bminfrin *) Fix some error log prints that were printing the pointer to a
d4562e99f620170ce0bedddc16887b900b34913bminfrin structure rather than the pid within the structure.
d4562e99f620170ce0bedddc16887b900b34913bminfrin [Jeff Trawick, Roy Fielding]
fd279fe992f7171dc3f6d4d40d6db5bb74f2d96eminfrin *) ab: Fix a command-line processing bug; track bad headers in
fd279fe992f7171dc3f6d4d40d6db5bb74f2d96eminfrin err_response; support reading headers up to 2K.
fd279fe992f7171dc3f6d4d40d6db5bb74f2d96eminfrin [Ask Bjoern Hansen <ask@valueclick.com>]
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrin *) Fix ap_resolve_env() so that it handles new function added in a prior
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrin alpha (see "Added the capability to do ${ENVVAR} constructs in the
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrin config file.") as well as the constructs used by mod_rewrite.
fed63d1b62cc7e56aad77b70ee5b5cc7f5c6aademinfrin [Paul Reder <rederpj@raleigh.ibm.com>]
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin *) Apache 2.0 builds and runs on OS/390. [Jeff Trawick, Greg Ames]
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin *) Change the EBCDIC support in functions for MD5, SHA1, and base 64 to use
abe0d0e38b9705f21a13ac8748bce1e3ed35e488minfrin APR to perform translation, instead of accessing the hard-coded tables
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin in 1.3's ebcdic.c. [Jeff Trawick]
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin *) Fix some bugs (mostly lost 1.3 code) in ab's command-line processing.
fb8ee8b7a3a2503b95bf47685f9083e0b9834e6fminfrin [Jeff Trawick]
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd *) Add the ability to hook into the config file reading phase. Basically
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd if a directive is specified EXEC_ON_READ, then when that directive is
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd read from the config file, the assocaited function is executed. This
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd should only be used for those directives that must muck with HOW the
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd server INTERPRETS the config. This should not be used for directives
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd that re-order or replace items in the config tree. Those changes should
a72211e92bab814bfa28ee086ca9b2a1a6095c92chrisd be made in the pre-config step.
78a20a6e7ad3a0229900ee54c7d11a65f647b663niq [Ryan Bloom]
9582ad6e149d28b118d4e8571101ecb6f85e0191niq *) Add mod_example to the build system.
9582ad6e149d28b118d4e8571101ecb6f85e0191niq [Tony Finch]
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd *) APR: Add ap_xlate_conv_byte() to convert one char between single-
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd byte character sets. [Jeff Trawick]
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd *) Pick up various EBCDIC fixes from 1.3 (from Martin
d56bacbfefa5aa883ce5162a115747372fc38d13chrisd Kraemer and Oliver Reh originally according to the change log).
d64dd2fd4516c2b1b664c5e59c0628d9aff26984covener [Jeff Trawick]
d64dd2fd4516c2b1b664c5e59c0628d9aff26984covener *) Fix a couple of problems in RFC1413 support (controlled by the
ed0d39878e79220baaa50c15b79b1fdf877cb919niq IdentityCheck directive). Apache did not build the request string
1e911973bcb9df6701a4c16c037771ecf25ade13niq properly and more importantly Apache would loop forever if the
1e911973bcb9df6701a4c16c037771ecf25ade13niq would-be ident server dropped the connection before sending a
1e911973bcb9df6701a4c16c037771ecf25ade13niq properly terminated response. [Jeff Trawick]
1e911973bcb9df6701a4c16c037771ecf25ade13niq *) apxs works in 2.0.
1e911973bcb9df6701a4c16c037771ecf25ade13niq [Ryan Bloom]
e47d58d5d983426584c8d16416c50f5c58070746dirkx *) Reliable piped logs work in 2.0.
e47d58d5d983426584c8d16416c50f5c58070746dirkx [Ryan Bloom]
33aad3911b15cb5d523075f7df829274fe298a13dirkx *) Introduce a hash table implementation into APR to be used for
33aad3911b15cb5d523075f7df829274fe298a13dirkx replacing tables and other random data structures in Apache.
76f68128bb8fcea0f772d522c05dc7ec872040c2dirkx [Tony Finch]
433dcb1fbaae82d36634f5120bff71a04296904ddirkx *) Add some more error reporting to htpasswd in the case of problems
433dcb1fbaae82d36634f5120bff71a04296904ddirkx generating or accessing the temporary file. Also, pass in a
433dcb1fbaae82d36634f5120bff71a04296904ddirkx buffer if the implementation knows how to use it (i.e., if L_tmpnam
433dcb1fbaae82d36634f5120bff71a04296904ddirkx is defined). [Ken Coar]
433dcb1fbaae82d36634f5120bff71a04296904ddirkx *) Configure creates config.nice now containing your configure
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj options. Syntax: ./config.nice [--more-options]
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj [Sascha Schumann]
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj *) Fix various return code problems in APR on Win32. For most of
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj these, APR was returning APR_EEXIST instead of GetLastError()/
d7fcc79b0bee660d71b0cccfe9bbc2765ee6420erederpj WSAGetLastError(). [Jeff Trawick]
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe *) Make piped logs work again in version 2.0
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe [Ryan Bloom]
65cb7f00eca6689c8a89dc809359991ade1285bcwrowe *) Add VPATH support to UNIX build system of Apache and APR.
39c7699ec0799d394d3f67145d4a12ed82f587b8jorton [Sascha Schumann]
39c7699ec0799d394d3f67145d4a12ed82f587b8jorton *) Fix ap_tokenize_to_argv to respect the const arguments that are
c6d33447e28403a90ad817dba4df75fae785be28pquerna passed to it.
c6d33447e28403a90ad817dba4df75fae785be28pquerna [Ryan Bloom]
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin *) Fix mm's memcpy/memset macros, pointer arithmetic was broken.
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin Patch submitted to author.
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin [Sascha Schumann]
439ccf2a084e1da566548931c585cbcc3a9e7f4cminfrin *) Fix mm configuration on Solaris 8 x86 and OS/390. Don't require
4ede070ca63bd4c48045e35a7192582769770290jorton /sbin in PATH on FreeBSD (all submitted to rse previously)
4ede070ca63bd4c48045e35a7192582769770290jorton [Jeff Trawick]
795c9499a77c25695bcb9710ed67bbe51492e181rpluem *) Fix building Pthread-based MPMs on OpenBSD
795c9499a77c25695bcb9710ed67bbe51492e181rpluem [Sascha Schumann] PR#26
a72ba68ecbbc61e4b513e50d6000245c33f753dcwrowe *) Fix ap_readdir() problem on systems where d_name[] field in
7a079e0cd696baca90ac43e325f64582e2945c68wrowe struct dirent is declared with only one byte. (This problem only
a72ba68ecbbc61e4b513e50d6000245c33f753dcwrowe affected multithreaded builds.) This caused a segfault during
62c53a0dab4c85bfc6a5ab9abfb1b269d9f7458dniq pool cleanup with mod_autoindex on Solaris (Solaris 8 x86, at
62c53a0dab4c85bfc6a5ab9abfb1b269d9f7458dniq least). [Jeff Trawick]
ecc1538af1c08282fc2773d2eb3f1a54251862f9minfrin *) Fix some make-portability problems on at least Tru64, Irix
ecc1538af1c08282fc2773d2eb3f1a54251862f9minfrin and UnixWare.
ecc1538af1c08282fc2773d2eb3f1a54251862f9minfrin [Sascha Schumann] PR#18, PR#39
9a06b6b4e83c29429c3a23d34acc41920af2024drjung *) Add ap_sigwait() to support old-style sigwait() on systems
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj like OS/390 and UnixWare.
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj [Sascha Schumann]
3f5585f7f4a7d74f2f94ec729ea8c1879d419e35rederpj *) Add POSIX-thread flags for more platforms.
e4b96ba15dc8b2b27d251d53e29b86da32cd5066pquerna [Sascha Schumann]
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme *) Fix some minor bugs in ap_strerror(). Teach ap_strerror()
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme (on Unix, at least) to handle resolver errors. Fix a bug in
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme the definition of APR_ENOMEM so that ap_strerror() can spit
108ebbb87b2a46f4416ec507824471a483c39fe1sctemme out the correct error message for it.
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjorton [Jeff Trawick]
7abe34dd5a20fc8fde09dca9116b88e6ddfd55ddjortonChanges with Apache 2.0a3
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd *) mod_so reports ap_os_dso_error() if ap_dso_load() fails
10d486b9267800c5e376c22f6c0d45dc2ae86f67chrisd [Doug MacEachern]
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd *) API: *HOOK* macros now have an AP_ prefix
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd [Doug MacEachern]
3e155218733389e7b1ea3a9ffd0aea533fd929cechrisd *) Win32: Eliminate redundant calls to initialize winsock.
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton [Tim Costello <timcostello@ozemail.com.au>]
ab43b4a17b2ac31ccb1cf280be8c42a8a314cecbjorton *) Fix bugs initializing ungetchar for pipes.
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim [Chia-liang Kao <clkao@CirX.ORG>]
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim *) The ab program in the src/support directory is now portable using
67139e2d50d1e11558d87f7042f61cb04bb0d1d2jim [Ryan Bloom]
a4ab95921be8ce5de50913cd6505d41b672eb375minfrin *) Support directory is being compiled when the server is built
a4ab95921be8ce5de50913cd6505d41b672eb375minfrin [Ryan Bloom]
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin *) The configure option --with-program-name has been added to allow
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin developers to rename the executable at configure time. This also
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin changes the name of the config files to match the executable's name.
e605dd6afa940f799c873ffeaa5e25fa4ea9a2c8minfrin [Ryan Bloom]
50c06405bc48121db2913925549407fd3e79bcedmturk *) mod_autoindex: Add `IndexOptions +VersionSort', to nicely sort filenames
50c06405bc48121db2913925549407fd3e79bcedmturk containing version numbers. [Martin Pool]
dec02391360e503cd3437d16bed765dc653b9de5minfrin *) ap_open(..,APR_OS_DEFAULT,..) uses perms 0666 instead of 0777 on
dec02391360e503cd3437d16bed765dc653b9de5minfrin Unix; access_log and error_log now created with these perms; non-
dec02391360e503cd3437d16bed765dc653b9de5minfrin Unix is unaffected [Jeff Trawick]
1b27a3a26f18191db7ecb4d536cb121ba9520a8eniq *) Finished move of ap_md5 routines to apr_md5. Removed ap_md5.h.
1b27a3a26f18191db7ecb4d536cb121ba9520a8eniq Replaced more magic numbers with MD5_DIGESTSIZE.
686ce4eade942e515b1725d0c9751da36b759a6ctrawick [William Rowe, Roy Fielding]
686ce4eade942e515b1725d0c9751da36b759a6ctrawick *) Win32: Get mod_auth_digest compiling and added to the Windows
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010trawick build environment. Not tested and I'd be suprised if it
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd actually works. [Bill Stoddard]
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd *) Revamp the Win32 make environment. Makefiles have been removed and
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd Apache.dsw created to bring together all the pieces. Create new file
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd os/win32/BaseAddr.ref to define module base addresses (to prevent
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd dll relocation at start-up).
4bd465052c4a0c8d41e573ee7a90c312d980355fchrisd [William Rowe, Greg Marr, Tim Costello, Bill Stoddard]
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem *) [EBCDIC] Port Paul Gilmartin's CRLF patch from 1.3. This replaces most
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem of the \015, \012, and \015\012 constants with macros.
534611d341a1a48b93c7a1fd5e333dbd261527d3rpluem [Greg Ames <gregames@us.ibm.com>]
79d4b708d021714647aab8b138ae671ed24765cewrowe *) Add ap_xlate_open() et al for translation of text between different
79d4b708d021714647aab8b138ae671ed24765cewrowe character sets. The initial implementation requires iconv().
79d4b708d021714647aab8b138ae671ed24765cewrowe [Jeff Trawick]
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem *) More FAQs and answers from comp.infosystems.www.servers.unix.
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem [Joshua Slive <slive@finance.commerce.ubc.ca>]
88d0e50f16b21d4d0af0a48da7ad28fb5991834crpluem *) CGI output is being timed out now.
48fa058fe468025347930610ac2473094fa0f4e4chrisd [Ryan Bloom]
48fa058fe468025347930610ac2473094fa0f4e4chrisd *) Fix the problem with dieing quietly. dupfile now takes a pool which
3ec4328f079d8867cc323155e59678ad9437914frooneg is used by the new apr file. There is no reason to create a new file
3ec4328f079d8867cc323155e59678ad9437914frooneg with the same lifetime as the original file.
3ec4328f079d8867cc323155e59678ad9437914frooneg [Ryan Bloom]
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd *) Win32: Attempt to eliminate dll relocation at start-up by specifying
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd module base addresses. This will help shooting seg faults
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd in the field. [William Rowe <wrowe@lnd.com>]
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd *) Update Apache on Windows documentation. Add new document
de0d0b50c96fae59c28e09fed61b0d15cfa4147bchrisd describing how to compile Apache on Windows.
cd59ac5e8f739afbdcd523c649550f7dce1709ceniq [William Rowe <wrowe@lnd.com>]
edf6757df85878dc8ce11fb3840ee4cde6de5b2frooneg *) ap_set_pipe_timeout(), ap_poll(), and APR_SO_TIMEOUT now take
db78659055df54243bca678c35bd2ce7e31a9237rooneg microseconds instead of seconds. Some storage leaks and other
95817edd05387a5276f51fcd5db79fc21b89b55brooneg minor bugs in related code were fixed. [Jeff Trawick]
95817edd05387a5276f51fcd5db79fc21b89b55brooneg *) Win32: First cut at getting mod_isapi working under 2.0
63689d77e084e36b8194fb6df5adfc0344965e01trawick [William Rowe <wrowe@lnd.com>]
63689d77e084e36b8194fb6df5adfc0344965e01trawick *) First stab at getting mod_auth_digest working under 2.0
63689d77e084e36b8194fb6df5adfc0344965e01trawick quick change summary:
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes - moved the random byte generation (ap_generate_random_bytes) into APR
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes - now uses ap_time_t
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes - compiles and runs on linux
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes - tested with amaya
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem [Brian Martin <bmartin@penguincomputing.com>]
8b67b9d3ce40755d1b58971198a02b2749d8e13dbnicholes *) Win32: Move the space stripping of physical service names
8b67b9d3ce40755d1b58971198a02b2749d8e13dbnicholes fix up from Apache 1.3. #include'ing "ap_mpm.h" fixes up an
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes unresolved symbol. Add dependency checking to the
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem CreateService call to ensure TCPIP and AFP (winsock) is started
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes before Apache.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [William Rowe <wrowe@lnd.com>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Win32: Add code to perform latebinding on functions that may
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem not exist on all levels of Windows where Apache runs. This
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes is needed to allow Apache to start-up on Win95/98. All calls
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes to non portable functions should be protected with
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes ap_oslevel checks to prevent runtime segfaults.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes [William Rowe <wrowe@lnd.com>]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Fix fallback default values for SHM_R and SHM_W [Martin Kraemer]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Get lingering_close() working again. [Dean Gaudet, Jeff Trawick]
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes *) Win32: Get non-blocking CGI pipe reads working under Windows NT.
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes This addresses PR 1623. Still need to address timing out runaway
69c36bbae91de0e99a682aaae9d6fa61fceb2771bnicholes CGI scripts. [Bill Stoddard]
a1a615ca49b162d71d88089210395c9a9cfeb539rpluem *) Win32: Make ap_stat Windows 95/98 friendly
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem [William Rowe <wrowe@lnd.com>]
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem *) Win32: Fix a bug in ap_get_oslevel which causes GetVersionEx() to
1b0dce86d7fc8a5aa4c89b05255be26e508c615crpluem always fail. Need to initialise the dwOSVersionInfoSize member of the
edc5389f50ce4153e6192740f3c7a188c8cf8d67niq OSVERSIONINFO struct before calling GetVersionEx, so GetVersionEx
edc5389f50ce4153e6192740f3c7a188c8cf8d67niq always fails.
6c05afd314b4ddd545d63b4ff5de822cc30eec79trawick The patch also enhances ap_get_oslevel (and the associated enum) to
6c05afd314b4ddd545d63b4ff5de822cc30eec79trawick handle selected service packs for NT4, and adds recognition for
13cd67e9c1dacbd6b9f040bda337c725cedd98f3brianp Windows 2000. This is useful, eg. if we can recognise NT4 SP2 then
13cd67e9c1dacbd6b9f040bda337c725cedd98f3brianp we can use ReadFileScatter and WriteFileGather in readwrite.c.
a623efbff95aab78da9e030524b0fa69b054f6d0brianp [Tim Costello <Tim.Costello@BTFinancialgroup.com>]
a623efbff95aab78da9e030524b0fa69b054f6d0brianp *) Get mod_rewrite building and running, and mod_status building for Win NT
a623efbff95aab78da9e030524b0fa69b054f6d0brianp [Allan Edwards <ake@raleigh.ibm.com>]
a623efbff95aab78da9e030524b0fa69b054f6d0brianp *) Patch to port mod_auth_db to the 2.0 api and also to support
0b4b04d8621478ba59f0a6ba2950ddc02ab92b58colm Berlekey DB 3.0. It works for me with both Berkeley DB 3.0.55 and
0b4b04d8621478ba59f0a6ba2950ddc02ab92b58colm 2.7.7. It should work with version 1 as well but I haven't tested it.
0b4b04d8621478ba59f0a6ba2950ddc02ab92b58colm [Brian Martin <bmartin@penguincomputing.com>]
2f1bb5376c5c4022383bb729679ca751dd75a2eabrianp *) Get APR DSO code working under Windows. Includes cross platform
ad862ab5716726a2d72a292ba1dfb29566c86153brianp [Tim.Costello@BTFinancialgroup.com]
17d53ea32c4968e47733f1c2c063ae07d280efd6jerenkrantz *) Fix some of the Windows APR time functions.
17d53ea32c4968e47733f1c2c063ae07d280efd6jerenkrantz [William Rowe]
2d5532b13110a8d85653da92e97795b09cc25cc2trawick *) FAQ changes related to tidying up historical documents on the web site.
b38565306421ff53e9f7499bc728d6df5cec294dpquerna [Joshua Slive <slive@finance.commerce.ubc.ca>]
b38565306421ff53e9f7499bc728d6df5cec294dpquerna *) Move Windows DSO code into APR.
b38565306421ff53e9f7499bc728d6df5cec294dpquerna [Bill Stoddard]
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim *) Eliminate apr_win.h and apr_winconfig.h (and the ugly #ifdefs they cause).
cfa64348224b66dd1c9979b809406c4d15b1c137fielding Now, apr.h and apr_config.h are generated from apr.hw and apr_config.hw
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim at build time. At this point, the server will not compile on Windows because
cfa64348224b66dd1c9979b809406c4d15b1c137fielding of the recent DSO commits. Fixing those next.
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim [Bill Rowe & Bill Stoddard]
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim *) Added error checking for file I/O APR routines.
cfa64348224b66dd1c9979b809406c4d15b1c137fielding [Jon Travis <jtravis@covalent.net>]
cfa64348224b66dd1c9979b809406c4d15b1c137fielding *) APR: Don't use the values of resolver error codes for the
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim corresponding APR error codes. On Unix and Win32, return the
cfa64348224b66dd1c9979b809406c4d15b1c137fielding proper APR error code after a resolver error. [Jeff Trawick]
95c95cf3925a14eb3a210dde011e33818541ac0fpctonyChanges with Apache 2.0a2
Makefile.win includes the same user interface as the old
*) Put in Korean and Norwegian index.html pages (2.0 and 1.3)
config file. E.g. 'ServerAdmin ${POSTMASTER}'. As commited
it does this on a line by line basis; i.e. if the envvar
ErrorDocument XXX /local/uri
ErrorDocument XXX http://valid/url
*) Changed 'CacheNegotiatedDocs' from its present/not-present
done with --with-module=/path/to/module. Modules can only be added
*) Enable Apache to use sendfile/TransmitFile API
*) Make file I/O and network I/O writev/sendv APIs consistent.
bytes_read/bytes_written is always valid (never -1). Plus
some fixes to buff.c to correct problems introduced by the
*) buff.c has been converted to no longer use errno.
automatically for developers from src/Configure.
*) Fixed building of src/support/htpasswd.c
*) Moved mod_auth_digest.c from experimental to standard. [Roy Fielding]
*) Support line-continuation feature in config.option file and
*) Implement WINNT Win32 MPM from original Win32 code in http_main.c
(per default used the config.option file).
calling order to be specified on a per-hook/per-module basis.
*) os/unix/unixd.[ch]: detach, setuid, setgid, stuff which will be common
*) mpm_prefork: throw away all the alarm/timeout crud; and clean up the
of alloc.c for now. [Dean Gaudet]
based on IP/port. [Ben Laurie]
*) I/O layering and BUFF revamp. See docs/buff.txt. [Dean Gaudet]
docs/initial_blurb.txt. [Dean Gaudet]
an absolute path to the ./libexec directory where the libhttp.ep file
routines are now called ap_base64* and are 'plain' (i.e., no
pool access or anything clever). Inside util.c the routines acting
*) Fixed assumption of absolute paths in binbuild.sh. [Tony Finch]
src/support/httpd.exp. [Bill Stoddard, Randy Terbush]
*) Make ap_sha1.c compile for EBCDIC platforms: replace remaining LONG
*) PORT: Improved compilation and DSO support on Sequent DYNIX/ptx.
*) Local struct mmap in http_core.c conflicted with system structure
*) Added updated mod_digest as modules/experimental/mod_auth_digest.
*) CIDR addresses such as a.b.c.d/24 where d != 0 weren't handled
*) RewriteLock/RewriteMap didn't work properly with virtual hosts.
*) PORT: Support for compaq/tandem/com.
Netscape servers. See support/SHA1 for more information.
Caused the separation of ap_md5.c into md5, sha1 and a general
ap_checkpass.c with just a validate_passwd routine. Added a
couple of flags to support/htpasswd. Some reuse of the to64()
with ASCII/EBCDIC conversions in "ident" query.
are combined, and duplicate tokens (e.g., "Vary: host, host" or
install the DSO; useful for editing httpd.conf with apxs. Fix
create duplicate LoadModule/AddModule entries; apxs can now be
used to re- enable/disable a module. [Wilfredo Sanchez]
Win 95 users may need to update their TCP/IP stack to pick up
Winsock 2. (See http://www.microsoft.com/windows95/downloads/)
error.log when CGI scripts fail. This makes Apache on Win32
*) Fix `make r' test procedure in src/regex/: ap_isprint was not found.
*) Add DSO support for DGUX 4.x using gcc. Tested on x86 platforms.
*) Add the new mass-vhost module (mod_vhost_alias.c) developed and
parent/child process management code.
*) Fix ndbm.h include problems with brain-dead glibc >= 2.1 which
has ndbm.h in a non-standard db1/ subdir. PR#4431, PR#4528
*) Determine AP_BYTE_ORDER for ap_config_auto.h and already
content-types are "text/html;parameters". PR#4524 [Ken Coar]
*void. When the OS/platform/compiler supports quads, ap_snprintf()
*) Add RULE_EXPAT, the src/lib/ directory structure, and a modified copy
(e.g., HTTP/0.9 or HTTP/1.1) of the request. [Ken Coar]
*) Switch to /bin/sh5 in APACI on Ultrix and friends to avoid problems with
their brain-dead /bin/sh. [Ralf S. Engelschall] PR#4372
*) mod_include's fsize/flastmod should allow only relative paths, just
*) Add iconsdir, htdocsdir, and cgidir to config.layout.
*) Fix minor but annoying bug with the test for Configuration.tmpl
in unix/os.c, and don't install the dyld error handlers, which
*) Add functionality to the install-bindist.sh script created by
binbuild.sh to use tar when copying distribution files to the
install-bindist.sh now detects the local perl5 path to install
src/modules/proxy_util.c where a NULL filepointer and
have assurance about how string manipulators (e.g., tr) will
*) Add "opt" (SysV-style) layout to config.layout. [Raymond S Brand
*) Fix number of bytes copied by read_connection() in src/support/ab.c
*) Make sure RewriteLock can be used only in the global context, (i.e.
uncompress/gzip, but those tools sometimes do not produce
*) PORT: deal with UTS compiler error in http_protocol.c
binary (e.g., image file) in the first place.
*) support/htpasswd now permits the password to be specified on the
apache -n apache1 -i -f c:/httpd.conf
Installs apache as service 'apache1' and associates c:/httpd.conf
Installs apache as service 'apache2'. httpd.conf is located under
the default server root (/apache/conf/httpd.conf).
apache -n apache3 -i -d c:/program files/apache
c:/program files/apache.
*) Correct the signed/unsigned character handling for the MD5 routines;
*) OS/2: Rework CGI handling to use spawn*() instead of fork/exec, achieving
*) proxy ftp: instead of using the hardwired string "text/plain" as
<Directory proxy:ftp://some.host>
DefaultType gargle/blurb
*) Be more smart in APACI's configure script when determining the UID/GID
the number of fork()s from one/request to just the odd one an hour.
*) Added proxy, auth and header support to src/support/ab.c. Added a
README file to src/support/
*) Fix sed-substitutions in `make install': path elements like `httpd/conf'
(for instance from an APACI configure --sysconfdir=/etc/httpd/conf
*) PORT: Add support for FreeBSD 4.x [Ralf S. Engelschall]
the reboot prompt (which is only given if MSVCRT.DLL system
*) WIN32: Apache.exe now contains an icon. [Paul Sutton]
*) Using APACI, the main config file (usually httpd.conf) was
*) Move the directive `ExtendedStatus' in httpd.conf-dist-win _after_ the
DSO/DLL section because it's a directive from mod_status and isn't
against libap.a and use its ap_snprintf() instead of sprintf() to avoid
*) Add Apple's Mac OS X Server Layout "Rhapsody" to config.layout.
*) Add cgidir, htdocsdir, iconsdir variables to Makefile.tmpl in order
*) Use proper pid_t type for saving PIDs in alloc.c. [John Bley]
in http_core.c. [John Bley, Roy Fielding]
*) src/support/: The ApacheBench benchmark program was overhauled by
*) Added -S option to install.sh so that options can be passed to
is *not* given in the argument list; i.e., the logical negation
*) Win32: Add global symbols missing from ApacheCore.def. [Carl Olsen]
to util.c for parsing an HTTP header field value to extract the next
code different from 500. This allows the proxy to, e.g., return
as "com.name" to be served. [Paul Sutton] PR#3769.
make subtasking easier on the OSD/POSIX mainframe environment.
ap_compat.h. [David White <david@persimmon.com>] PR#3725
*) Make NDBM file suffix determination for mod_rewrite more accurate, i.e.
*) Let src/Configure be aware of CFLAGS options starting with plus
signs as it's the case for the HP/UX compiler.
and this makes its functions available to things in src/support.
*) WIN32: Created new makefiles Makefile_win32.txt (normal build)
and Makefile_win32_debug.txt (debug build) that work on Win95.
nmake /f Makefile_win32.txt # compiles normal build
nmake /f Makefile_win32.txt install # compiles and installs
nmake /f Makefile_win32.txt clean # removes compiled junk
nmake /f Makefile_win32_debug.txt # compiles debug build
nmake /f Makefile_win32_debug.txt install
nmake /f Makefile_win32_debug.txt clean
*) Small fix for mod_env.html: The module was documented as to be _not_
*) Instead of fixing a bug in the generation procedure for config.status (a
making sure the src/support/ tools are _forced_ to be build last (they
*) Fix installation procedure: Now that os-inline.c is actually used (a
recently fixed bug prevented this) we need to also install os-include.c
`escape' and `unescape' were added which can be used to escape/unescape
to/from hex-encodings in URLs parts (this is especially useful in
*) Major overhaul of mod_negotiation.c, part 2.
- added ap_array_pstrcat() to alloc.c for efficient concatenation
*) Major overhaul of mod_negotiation.c, part 1.
revision (draft-ietf-http-v11-spec-rev-06.txt).
e.g. no feature negotiation). Removed old experimental version.
negotiation results are consistent across backup/restores and mirrors
*) RFC2396 allows the syntax http://host:/path (with no port number)
*) When modules update/modify the file name in the configfile_t structure,
*) The hashbang emulation code in ap_execve.c would interpret
#!/hashbang/scripts correctly, but failed to fall back to a
o fixed auto-suffix handling now that config.layout exists.
config.layout and every path now can be marked this way (not only the
SINGLE_LISTEN_UNSERIALIZED_ACCEPT to NetBSD/OpenBSD section
of ap_config.h to allow serialized accept for multiport listens.
*) PORT: Fixed a misplaced #endif for NetBSD/OpenBSD section
of ap_config.h that would skip several defines if DEFAULT_GROUP
strcasecmp, so allow it in ap_config.h. [Amiel Lee Yee] PR#3247
*) Fix ordering of definitions in ap_config.h so that ap_inline is
*) Make generation of src/Configuration.apaci more robust: It failed to
another (e.g. cgi vs. fastcgi). We now check for mod_XXX, libXXX and even
*) In src/Configure remove the SERVER_SUBVERSION support (already deprecated
*) Allow special options -Wc,xxx and -Wl,xxx on APXS compile/link command.
IS to the compiler/linker command. [Ralf S. Engelschall]
config.layout. Custom layouts are possible by using FILE:ID as the
The config.layout file consists of <Layout ID>..</Layout> sections
extension (e.g., .fr, .de) can be labelled as being some other
*) mod_include.c:handle_perl() now properly tests for OPT_INCNOEXEC
*) Updated mime.types to reflect current Internet media types
Improved mod_actions.c so that it can use any of the methods
defined in httpd.h. Added ap_method_number_of(method) for
*) Fix problems with handling of UNC names (e.g., \\host\path)
*) Move a typedef to fix compile problems on Linux with 1.x kernels.
*) http_config.c would respond with 501 (Method Not Implemented) if a
should have been a 500 response. Likewise, mod_proxy.c would responsd
on-the-fly/batch permute the order of two modules (mod_foo and mod_bar)
mod_foo with the begin of the module list, i.e. it `moves' the module to
which permutes mod_foo with the end of the module list, i.e. it `moves'
on container start lines (e.g., it wouldn't spot
*) Fix Berkeley-DB/2.x support in mod_auth_db: The data structures were not
httpd.conf-dist* files. The srm and access files now contain
only comments, and httpd.conf has all the combined contents in
*) PORT: DSO/ELF support for FreeBSD 3.0.
*) Fix http://localhost/ hints in top-level INSTALL document.
ap_config.h. [Brian Havard]
*) PORT: Add Pyramid DC/OSx support to configuration mechanism.
*) PORT: Fix sys/resource.h handling for Amdahl's UTS 2.1
*) Correct comment in mod_log_config.c about its internals.
handle the creation of modules.c [Jim Jagielski]
and to avoid problems under platforms where only version 2.x is present.
*) Remove redundant substitutions in top-level Makefile.tmpl.
platforms where `nogroup' exists in /etc/group. [Ralf S. Engelschall]
the possibility to override it manually via APACI or src/Configuration.
existance of the file under /usr/include, too.
*) Fix possible buffer overflow situation in suexec.c.
*) Fix documentation of ProxyPass/ProxyPassReverse according to the
in /home/user, not in /, therefore clicking on "../" in the
dump core for replies with invalid headers (e.g., duplicate
plop gmon.out profile data for each child [Doug MacEachern]
config.status script to be immune against arguments with whitespaces.
script `buildinfo.sh' which is both more flexible and already proofed to
*) Make ab.c again pass ``gcc -Wall -Wshadow -Wpointer-arith -Wcast-align
*) Remove bad reference to non-existing SERVER_VERSION in mod_rewrite.html
*) Bump up MAX_ENV_FLAGS in mod_rewrite.h from the too conservatice limit of
variables in one RewriteRule and had to patch mod_rewrite.h for every
*) Make sure the config.status file is not overridden when just
See include/ap_mmn.h for more details. [Randy Terbush]
*) Cleanup of the PrintPath/PrintPathOS2 helper functions. Avoid
following the same idea as "MSVC vs WIN32". Additionally the src/os/emx/
directory was renamed to src/os/os2/ for consistency.
linking the DSOs, i.e. PIC libs and shared libs. Currently the rule is
*) Add correct `model' MIME types from RFC2077 to mime.types file.
*) Fixed examples in mod_rewrite.html document.
*) Update the mod_rewrite.html document to correctly reflect the situation
Makefile.tmpl: The umask+cp approach didn't work as expected (especially
*) Fix `distclean' and `clean' targets in src/Makefile.tmpl to have same
src/helper/mkdir.sh script. [Ralf S. Engelschall]
`search' entries in /etc/resolv.conf.
INSTALL file because a lot of users don't read htdocs/manual/dso.html
[Knut A.Syed <Knut.Syed@nhh.no>] PR#2674
(compilers complained) and the .so.V.R.P filename extension was adjusted
*) Disable the incorrect entry for application/msword in the
*) Fix broken RANLIB handling in src/Configure (the entry from
src/Configuration.tmpl was ignored) and additionally force RANLIB to
*) Autogenerate some HAVE_XXXXX_H defines in conf_auto.h (determined via
TestCompile) instead of defining them manually in conf.h based on less
OS-type and/or OS-version identifiers to discover whether a system header
required by HTML 3.2 and later) to mod_mime_magic's conf/magic.
*) Add Dynamic Shared Object (DSO) support for SCO5 (OpenServer 5.0.x).
*) Fix the Guess-DSO-flags-from-Perl stuff in src/Configure: "perl" was
*) PORT: remove broken test for MAP_FILE in http_main.c.
*) PORT: Change support/apachectl to use "kill -0 $pid" to test if the
but case-insensitive platforms). New #define for this added to conf.h
*) Enable DSO support for OpenBSD in general, not only for 2.x, because it
also works for OpenBSD 1.x. [Ralf S. Engelschall]
of a config.status script (as GNU Autoconf does) which remembers the used
*) Correct initialization of variable `allowed_globals' in http_main.c
multipart/x-mixed-replace;boundary=ThisRandomString.
modules/xxx/Makefile's to avoid problems with SVR4 Make under "full-DSO"
<Directory /> section of the default access.conf-dist
*) Fix symbol export list (src/support/httpd.exp) after recent
solved by another helper script findprg.sh which searches for Perl and
*) Remove the system() call from htpasswd.c, which eliminates a system
dependancy. ["M.D.Parker" <mdpc@netcom.com>] PR#2332
*) PORT: helpers/GuessOS updates for various versions for NCR SVR4.
*) Fix recently introduced Win32 child spawning code in mod_rewrite.c which
configure and src/Configure depend on this.
*) Changes usage of perror/fprintf to stderr to more proper ap_log_error
*) PORT: QNX needed a #include <sys/mman.h>; and now it uses flock
spawn_child was obsoleted and moved to compat.h
*) Fix src/support/httpd.exp (DSO export file which is currently only
``RewriteRule ^myscript$ - [T=application/x-httpd-cgi]'' This was often
*) Fix discrepancy in proxy_ftp.c which was causing failures when
*) Support for the NCR MP/RAS 3.0
*) The LDFLAGS_SHLIB_EXPORT variable of src/Configuration[.tmpl] was
not retrieved in src/Configure and thus was not useable.
- SUBDIRS is now generated in src/Makefile only and not in
Makefile.config because it is a local define for this location.
- update the "depend" targets in Makefile.tmpl files to use $(OSDIR), too.
- replaced SHLIB_OBJS/SHLIBS_OBJ consistently with OBJS_PIC because OBJS
- replaced ugly xx-so.o/xx.so-o hack with a clean and consistent usage
of xxx.lo as GNU libtool does with its PIC objects
- reduce local complexity in modules Makefile.tmpl by moving the last
*) WIN32: Make Win32 work again after the /dev/null DoS fix.
*) When opening "configuration" files (like httpd.conf, htaccess
and htpasswd), Apache will not allow them to be non-/dev/null
necessary. Long-term fix is to either serialize the chdir/spawn combo
htdocs/manual/suexec.html document before using the suexec-related
and htdocs/manual/suexec.html documents.
UID/GID and safe PATH, too.
- overhauled mkshadow.sh script: now its more IFS-safe and approx. twice
*) Add a note to httpd.conf-dist that apache will on some systems fail
and not the original statically list from modules.c
confusion with the next point and reduces the Makefile.tmpl complexity
6. The modules.c generation was extended to now contain two
of loading/linking (we use load=link+load & link=activate instead of
*) Fix the generated mod_xxx.c from "apxs -g -f xxx" after the
*) Add a comment to mod_example.c showing the format of a FLAG command
places in the code (e.g. DATE_GMT). PR#1551
*) get/set_module_config are trivial enough to be better off inline. Worth
*) Fix off-by-one error in ap_proxy_date_canon() in proxy_util.c
*) Fix debug log messages for BS2000/OSD: instead of logging the whole
*) Make sure the referer_log and agent_log entries in the default httpd.conf
*) WIN32: Make roots of filesystems (e.g. c:/) work. [Ben Laurie]
from mod_so.c to Configure because first it needs $PLAT etc. and second
AIX variants should work fine, too. Even AIX 3.x should work). This is
which we put into a os/unix/os-dso-aix.c file.
*) Fix two bugs in select() handling in http_main.c.
side-effect this reduces some subdir fiddling in configure+Makefile.tmpl.
"make root=/tmp/apache install" for rolling the package without bristling
*) Workaround braindead AWK's when generating ap_config.h: The split() and
*) Fix DEBUG_CGI situation in mod_cgi.c [David MacKenzie] PR#2114
*) Make sure that "make install" doesn't overwrite the `mime.types' and
*) PORT: Dynamic Shared Object (DSO) support for OpenBSD 2.x
variables) to avoid side-effects in "src/Configure" when the user
*) Provide backward compatibility from some old src/Configuration.tmpl
*) NeXT required strdup() in support/logresolve.c
ap_snprintf, and ap_psprintf). See include/ap.h for docs.
*) Because /usr/local/apache is the default prefix the ``configure
to `char *' under OSF1 and FreeBSD 2.x where it is defined this way
*) PORT: Make sure some AWK's don't fail in src/Configure with "string too
long" errors when generating the MODULES entry for src/Makefile
*) Make sure src/Configure doesn't complain about the old directory
/usr/local/etc/httpd/ when APACI is used. [Lars Eilebrecht]
*) Adding DSO support for the HP/UX platform by emulating the dlopen-style
interface via the similar but proprietary HP/UX shl_xxx-style system
APACI Makefile.tmpl "install" target more robust for sensible UnixWare
- Apache provided general functions (e.g., ap_cpystrn)
- Public API functions (e.g., palloc, bgets)
cross-object usage) but should be (e.g., new_connection)
For backward source compatibility a new header file named compat.h was
dummy.so file (containing dummy references to all global symbols) the
Placing the Apache core code itself into a DSO library named libhttpd.so.
where we perhaps exploit this libhttpd.so mechanism for providing nifty
inside the src subtree (i.e. for non-APACI users). Following GNU Makefile
to the mak/dsp files. [Alexei Kosut]
*) Add documentation file and src/Configuration.tmpl entry for the
*) Now src/Configure uses a fallback strategy for the shared object support
and installation of the support tools from the src/support/ area.
dynamic shared object (DSO) mechanism [mod_so.c]. The trick here is that
Apache C header files (PREFIX/include) and the new APXS tool
(SBINDIR/apxs). The intend is to provide a handy tool for third-party
modules, from trivial ones (single mod_foo.c) to complex ones (like PHP3
*) Modify the log directives in httpd.conf-dist files to use CustomLog
script and a corresponding top-level "Makefile.tmpl" file. The goal is
the old src/Configure stuff in batch and additionally installs the
routines. Use this to replace http_bprintf.c. Add new routines
is necessary on at least Solaris where the /etc/rc?.d scripts
http://.../cgi-bin/...?http%3A%2F%2F... references) [Martin Kraemer]
the mod_proxy.html and corrected the hyperlink to it in the
new_features_1.3.html document. [Ralf S. Engelschall] PR#1348
*) Fix a bug in the src/helpers/fp2rp script and make it a little bit
*) Add the new ApacheBench program "ab" to src/support/: This is derived
*) src/include/ap_config.h now wraps it's #define's with #ifndef/#endif's
*) [PORT] For A/UX change the OS-#define for -DAUX to -DAUX3.
the ugly export kludge, makes the one-liner file mod_mime.h obsolete, and
*) util.c cleanup and speedup. [Dean Gaudet]
modules as shared objects. Especially Solaris 2.x, SunOS 4.1, IRIX and
*) The Configure script now generates src/include/ap_config.h which
"http://host" url is treated as if a similar "Host:" header had been
supplied. This change was made to support future HTTP/1.x protocols
*) API: Cleanup of code in http_vhost.c, and remove vhost matching
*) API: A new source module main/util_uri.c; It contains a routine
user; /* user name, as in http://user:passwd@host:port/ */
password; /* password, as in http://user:passwd@host:port/ */
a username can contain when trying to expand it via /etc/passwd.
*) Hide Proxy-Authorization from CGI/SSI/etc just like Authorization is
reads fail. ["M.D.Parker" <mdpc@netcom.com>] PR#1827
*) Source file dependencies in Makefile.tmpl files throughout the
htdocs/manual/known_client_problems.html are in the default
(like mod_dld for Win32). This replaces mod_dld.c. Use SharedModule
header files are in the src/include directory. The -Imain -Iap
and mod_rewrite) have not been moved to src/include; nor have
calls that use too small an initial guess, see alloc.c.
because the key/value is a constant, or the value has been built
Note that it is easy to get code subtly wrong if you pass a key/value
safe thing to do is to pass key/values which are in the pool of
i.e. if the table is part of a subrequest, a value from the main
usage, enabled by defining POOL_DEBUG. See alloc.c for more details.
*) API: "typedef array_header table" removed from alloc.h, folks should
HAVE_MMAP/SHMGET #defines strictly are informational that the
Unixware 1.x appears to have the same SIGHUP bug as solaris does with
*) PORT: A/UX can handle single-listen accepts without mutex
*) suexec errors now include the errno/description. [Marc Slemko] PR#1543
*) Some const declarations in mod_imap.c that were added for debugging
*) The src/main/*.h header files have had #ifndef wrappers added to
multiple paths (e.g., in .c files as well as other .h files).
src/ap/ap.h, to ease their use in non-httpd applications. [Ken Coar]
set with SetEnv/BrowserMatch and similar directives.
(the Siemens BS2000/OSD family) in the POSIX subsystem
Located in libap.a. [Jim Jagielski]
alloc.c (affects win32 only). [Ben Hyde]
server itself (like the src/support tools). [Ken Coar]
It also wouldn't handle "AddIconByType (TXT,/icons/text.gif text/*"
htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
can be used by items in src/support among other things.
(e.g., <Directory>) where they're invalid. [Martin Kraemer]
for fgetc() and fgets() on SunOS 4.x. [Martin Kraemer, Ben Hyde]
subdirectory htdocs/manual/vhost/. [Lars Eilebrecht <sfx@unix-ag.org>]
[M.D.Parker] PR#1352
*) Inherit a bugfix to fnmatch.c from FreeBSD sources.
breaking on some systems. [Bhaba R.Misra <system@vt.edu>] PR#1368
*) A mild SIGTERM/SIGALRM race condition was eliminated.
*) Warn user that default path has changed if /usr/local/etc/httpd
*) PORT: On AIX 1.x files can't be named '@', fix the proxy cache
Document this a bit more in src/PORTING. [Dean Gaudet] PR#467
*) WIN32: Make index.html and friends work under Win95. [Ben Laurie]
*) Default pathname has been changed everywhere to /usr/local/apache
*) PORT: UnixWare 2.x requires -lgen for syslog.
[M.D.Parker <mdpc@netcom.com>] PR#1284
*) New support tool: src/support/split-logfile, a sample Perl script which
*) Makefile.tmpl was not using $CFLAGS in the link phase.
*) Add debugging code to alloc.c. Defining ALLOC_DEBUG provides a
Purify. See main/alloc.c for more details. [Dean Gaudet]
be used for whatever reason is appropriate (i.e. format() warnings
gcc >= 2.7.x (so that we have fewer support issues with older
Also removed the auto-generated link to www.apache.org that was the
*) suexec.c wouldn't build without -DLOG_EXEC. [Jason A. Dour]
*) Fixed error in proxy_util.c when looping through multiple host IP
buffered writes -- that is, it will buffer up to PIPE_BUF (i.e. 4k)
*) API: New register_other_child() API (see http_main.h) which allows
*) API: New piped_log API (see http_log.h) which implements piped logs,
Some things (like RewriteMaps) were checked/performed even if they
*) Removal of mod_auth_msql.c from the distribution. There are many
http://modules.apache.org/ It would be nice to offer a generic
Makefile on the fly based on Makefile.tmpl and Configuration.
*) support/httpd_monitor is no longer distributed because the
the headers/contents of the request. It does not run during subrequests
USE_xxx_SERIALIZED_ACCEPT in conf.h. xxx is FCNTL for fcntl(),
- Linux 2.x uses flock instead of fcntl
- Solaris 2.x uses pthreads
*) PORT: The semantics of accept/select make it very desirable to use
Modules can be dropped into modules/extra, or in their own
modules/standard. All other source code is in main. OS-specific
match "/home/a/andrew/public_html", now it only matches things
/dev/tty, etc.)
and cidr syntax (i.e. 10.1.0.0/16). PR#762
Apache would omit the chunk header/footer on the next block. Cleaned
e.g. when max_requests_per_child is reached, etc.
*) PORT: QNX mmap() support for faster/more reliable scoreboard handling.
setting. The define MAX_SPAWN_RATE can be used to raise/lower
in a language that by default does buffering (e.g. perl) this
*) PORT: Allow for use of n32bit libraries under IRIX 6.x
*) PORT: Linux: Attempt to detect glibc based systems and include crypt.h
*) PORT: QNX doesn't have initgroups() which support/suexec.c uses.
rect /url.hrm 10 20 30 40
braindead SunOS 4.1.x, allow env variables to be set even on rules with
i.e. now mod_rewrite no longer has a shared copyright. Instead is is
See http_config.h for more details. [Dean Gaudet]
LoadModule/LoadFile directives. Note that module DLLs must be
Module autoindex_module mod_autoindex.o
*) popendir/pclosedir created to properly protect directory scanning.
*) Makefile.nt added - to build all the bits from the command line:
nmake -f Makefile.nt
httpd.h. [Dean Gaudet]
the SFIO library calls sfread/sfwrite if B_SFIO is defined at
*) Turn off chunked encoding after sending terminating chunk/footer
*) SECURITY: When a client connects to a particular port/addr, and
actually be reached via that port/addr. [Ed Korthof <ed@organic.com>]
*) Support virtual hosts with wildcard port and/or multiple ports
and mod_include.c. [Dean Gaudet]
Also removed the auto-generated link to www.apache.org that was the
htdocs/manual/misc/known_client_problems.html#257th-byte) can happen
*) #ifdef wrap a few #defines in httpd.h to make life easier on
*) Fix MPE compilation error in mod_usertrack.c. [Mark Bixby]
should consider comparing against src/modules/standard/mod_include.c
*) suexec.c wouldn't build without -DLOG_EXEC. [Jason A. Dour]
minus WIN32/NT stuff, but plus copyright removement.
under Solaris 2.x (up through 2.5.1). It has been fixed.
lockfile in any location. It previously defaulted to /usr/tmp/htlock.
*) Add a placeholder in modules/Makefile to avoid errors with certain
*) USE_FLOCK_SERIALIZED_ACCEPT is now default for FreeBSD, A/UX, and
redirect flag, e.g. R=permanent, the permanent status was lost.
*) PORT: Support for Maxion/OS SVR4.2 Real Time Unix. [no name given] PR#383
*) PORT: fix problem compiling http_bprintf.c with gcc under SCO
*) Fixed open timestamp fd in proxy_cache.c [Chuck Murcko]
directive and the DEFAULT_TYPE symbol in httpd.h. Changed the value
of DEFAULT_TYPE to match the documented default (text/plain).
*) In mod_proxy.c, check return values for proxy_host2addr() when reading
the connection (e.g., when user presses Stop). Apache will now stop
*) Rearrange Configuration.tmpl so that mod_rewrite has higher priority
htdocs/manual/stopping.html for details on stopping and
*) The default handler now logs invalid methods or URIs (i.e. PUT on an
buffer or write inside buff.c or fread'ing from a CGI's output,
*) Use /bin/sh5 on ULTRIX. [P. Alejandro Lopez-Valencia] PR#369
*) Add UnixWare compile/install instructions. [Chuck Murcko]
*) Add macro for memmove to conf.h for SUNOS4. [Marc Slemko]
*) More signed/unsigned port fixes. [Dean Gaudet]
*) suexec.c doesn't close the log file, allowing CGIs to continue writing
*) Improved generation of modules/Makefile to be more generic for
*) Fixed overlaying of request/sub-request notes and headers in
*) Port to UXP/DS(V20) [Toshiaki Nomura <nom@yk.fujitsu.co.jp>]
*) changed status check mask in proxy_http.c from "HTTP/#.# ### *" to
- Changed send_dir() to remove user/passwd from displayed URL.
select/accept and keep-alive requests, fixed several bugs regarding
*) Tweak byteserving code (e.g. serving PDF files) to work around
Emit Content-Length header when sending multipart/byteranges.
*) Port to HI-UX/WE2. [Nick Maclaren]
regex/regcomp.c since that file also used a NEXT define.
*) Portability Fix: NeXT lacks unistd.h so we wrap it's inclusion
*) Remove mod_fastcgi.c from the distribution. This module appears
continue to be easily available at http://www.fastcgi.com/
*) Fixed bug in modules/Makefile that wouldn't allow building in more
- execution restricted to UID/GID > 100
*) Replace references to make in Makefile.tmpl with $(MAKE).
*) Add ProxyBlock directive w/IP address caching. Add IP address
*) Remove requirement for ResourceConfig/AccessConfig if not using
2. initgroups() on Linux 2.0.x clobbers gr->grid.
*) Reset timeout while reading via get_client_block() in mod_cgi.c
*) Add the ability to pass different Makefile.tmpl files to Configure
*) proxy_http.c bugfixes: [Chuck Murcko]
1) fixes possible NULL pointer reference w/NoCache
*) mod_include.c bugfixes:
*) Added definitions for S_IWGRP and S_IWOTH to conf.h [Ben Laurie]
http_protocol.c [Roy Fielding]
*) Replaced use of index() in mod_expires.c with more appropriate
*) In helpers/CutRule, replaced "cut" invocation with "awk" invocation
*) Updated helpers/GuessOS for ...
SCO UnixWare 2.1.1 (requires a separate set of #defines in conf.h)
and fixed something in helpers/PrintPath [Ben Laurie]
*) Not listed. See <http://www.apache.org/docs/new_features_1_2.html>
*) mod_env now turned on by default in Configuration.tmpl.
b) truncated hostnames/ip address in the logs
*) Not listed. See <http://www.apache.org/docs/new_features_1_1.html>
*) Internal redirects which occur in mod_dir.c now preserve the
*) Fix for POSIX compliance in waiting for processes in alloc.c.
which works similar to PidFile (in httpd.conf) [Rob Hartill]
*) Include sys/resource.h in the correct place for SunOS4 [Sameer Parekh]
*) the pstrcat call in mod_cookies.c didn't have an ending NULL,
*) Add strerror function to util.c for SunOS4 [Randy Terbush]
*) patch to get Apache compiled on UnixWare 2.x, recommended as
a temporary measure, pending rewrite of rfc931.c. [Chuck Murcko]
*) past changes to http_config.c to only use the
*) Remove uses of MAX_STRING_LEN/HUGE_STRING_LEN from several routines.
and the server provider uses relative links; as file.html
*) Not listed. See <http://www.apache.org/docs/new_features_1_0.html>
*) Fixed potential FILE* leak in http_main.c [Ben Laurie]
*) Eliminated some bogus Linux-only #defines in conf.h [Aram Mirzadeh]
*) Nuked bogus #define in httpd.h [David Robinson]
*) gcc -Wall no longer complains about an unused variable when util.c
*) Rationalize handling of BSD in conf.h and elsewhere [Randy Terbush,
*) Suppress -Wall warning by casting const away in util.c [Aram Mirzadeh]
subprocesses, including the SIGTERM/pause/SIGKILL routine, until
causing certain extremely marginal cases (e.g., ScriptAlias of a
*particular* index.html file) to fail. [David Robinson]
*) Cleaned up compiler warning from mod_access.c [Robert Thau]
*) Cleaned up comments in mod_cgi.c [Robert Thau]
"/path/to/some/link/" follows the link. [Thau, Fielding]
*) Doesn't reset DirectoryIndex to 'index.html' when
*) Clarified init code and nuked bogus warning in mod_access.c
*) Corrected several directives in sample srm.conf
*) Fixed ScriptAlias/Alias interaction by moving ScriptAlias handling to
mod_alias.c, merging it almost completely with handling of Alias, and
using a special file created for the purpose in /usr/tmp, and
which try to print out the last-modified date). [Eric Hagberg/Robert
*) <!--exec cgi="/some/uri/here"--> always treats the item named by the
*) POST to CGI works on A/UX [Jim Jagielski]
it seems to work well enough without it (even in a 10 hits/sec
workout), and the overhead for the locking under A/UX is
*) Fixed portability problems with mod_cookies.c [Cliff Skolnick]
*) Further de-Berklize mod_cookies.c; change the bogus #include. [Brian
Behlendorf/Eric Hagberg]
*) More improvements to default Configuration for A/UX [Jim Jagielski]
*) SunOS lib-function prototypes in conf.h conditionalized on __GNUC__,
*) Scoreboard file (/tmp/htstatus.*) no longer publically writable.
properly. (One-line fix to http_protocol.c).
*) Corrected cgi-src/Makefile entry for new imagemap script. [Alexei Kosut]
*) Nuked Shambhala name from src/README; had already cleaned it out
*) Set config file locations properly if not set in httpd.conf
*) Fixed mod_imap.c --- relative paths with base_uri referer don't
be nice if mod_dir.c was robust enough to handle that, but for now,
/tmp/htstatus.*, on which each process has an independent file
*) Moved FCNTL_SERIALIZED_ACCEPT defines into conf.h (that's what
*) Incidental code cleanups in http_main.c --- stop dragging
*) Fixed auth_name-related typos in http_core.c [Brian Behlendorf]
Also, fixed auth typo in http_protocol.c unmasked by this fix.
*) Reordered modules in modules.c so that Redirect takes priority
the same SIGTERM/pause/SIGKILL routine used to ding an errant CGI
*) Fixed silly typo in http_main.c which was suddenly fatal in HP-UX.
*) mod_core.c --- default_type returns DEFAULT_TYPE (the compile-time
memory area every time). Fix is in mod_dir.c. [Paul Sutton]
*) Changes to http_main.c --- root server no longer plays silly
*) mod_dir.c bug fixes: ReadmeName and HeaderName
*) http_request.c now calls unescape_url() more places where it
*) Generalized cleanup interface in alloc.c --- any function can be
registered with alloc.c as a cleanup for a resource pool;
*) More changes in alloc.c --- new cleanup_for_exec() function,
registered with the alloc.c machinery before the server exec()s a
*) Fixed basic thinkos in mod_dbm_auth.c [rst, reported by Mark Cox]
in alloc.c [rst]