Apache 2.0 alpha 8 released! Page 9
used to always return APR_SUCCESS, and nobody ever checked its return value anyway. [Cliff Woolley
] *) Remove the index into the bucket-type table from the buckets structure. This has now been replaced with a pointer to the bucket_type. Also add some macros to test the bucket-type. [Ryan Bloom] *) Renamed all MODULE_EXPORT symbols to AP_MODULE_DECLARE and all symbols for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper) and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE. All _VAR_ flavors changes to _DATA to be absolutely clear. [William Rowe] *) Add support for /, //, //servername and //server/sharename parsing of blocks under Win32 and OS2. [Tim Costello, William Rowe, Brian Harvard] *) Remove the function pointers from the ap_bucket type. They have been replaced with a global table. Modules are allowed to register bucket types and use then use those buckets. [Ryan Bloom] *) mod_cgid: In the handler, shut down the Unix socket (only for write) once we finish writing the request body to the cgi child process; otherwise, the client doesn't hit EOF on stdin. Small request bodies worked without this change (for reasons I don't understand), but large ones didn't. [Jeff Trawick] *) Remove file bucket specific information from the ap_bucket type. This has been moved to a file_bucket specific type that hangs off the data pointer in the ap_bucket type. [Ryan Bloom] *) Input filtering now has a third argument. This is the amount of data to read from lower filters. This argument can be -1, 0, or a positive number. -1 means give me all the data you have, I'll deal with it and let you know if I need more. 0 means give me one line and one line only. A positive number means I want no more than this much data.
Currently, only 0 and a positive number are implemented. This allows us to remove the remaining field from the conn_rec structure, which has also been done. [Ryan Bloom] *) Big cleanup of the input filtering. The goal is that http_filter understands two conditions, headers and body. It knows where it is based on c->remaining. If c->remaining is 0, then we are in headers, and http_filter returns a line at a time. If it is not 0, then we are in body, and http_filter returns raw data, but only up to c->remaining bytes. It can return less, but never more. [Greg Ames, Ryan Bloom, Jeff Trawick] *) mod_cgi: Write all of the request body to the child, not just what the kernel would accept on the first write. [Jeff Trawick] *) Back out the change that moved the brigade from the core_output_filters ctx to the conn_rec. Since all requests over a given connection go through the same core_output_filter, the ctx pointer has the correct lifetime. [Ryan Bloom] *) Fix another bug in the send_the_file() read/write loop. A partial send by apr_send would cause unsent data in the read buffer to get clobbered. Complete making send_the_file handle partial writes to the network. [Bill Stoddard] *) Fix a couple of type fixes to allow compilation on AIX again [Victor J. Orlikowski
] *) Fix bug in send_the_file() which causes offset to be ignored if there are no headers to send. [Bill Stoddard] *) Handle APR_ENOTIMPL returned from apr_sendfile in the core filter. Useful for supporting Windows 9* with a binary compiled on Windows NT. [Bill Stoddard]