Skip to content
CHANGES 385 KiB
Newer Older
Changes with Apache 2.0a9

  *) Distribution directory structure reorganized to reflect a
     normal source distribution with external install targets.
     [Roy Fielding]

  *) The MPMs that need multiple segments of shared memory now create
     two apr_shmem_t variables, one for each shared memory allocation.
     the problem is that we can't determine how much memory will be required
     for shared memory allocations once we try to allocate more than one
     variable.  The MM code automatically aligns the shared memory allocations,
     so we end up needing to pad the amount of shared memory we want based
     on how many variables will be allocated out of the shared memory segment.
     It is just easier to create a second apr_shmem_t variable, and two
     shmem memory blocks.
     [Ryan Bloom]

  *) Cleanup the export list a bit.  This creates a single unified list of
     functions exported by APR.  The export list is generated at configure
     time, and that list is then used to generate the exports.c file.
     Because of the way the export list is generated, we only export those
     functions that are valid on the platform we are building on.
     [Ryan Bloom]

  *) Enable logging the cookie with mod_log_config
     [Sander van Zoest <sander@covalent.net>]

  *) Fix a segfault in mod_info when it reaches the end of the configuration.
     [Jeff Trawick]

  *) Added lib/aputil/ as a placeholder for utility functions which are not
     specific to the Apache HTTP Server (but do not make sense with APR).
     The first utility is "apu_dbm": a set of functions to work with DBM
     files. This first version can be compiled for SDBM or GDBM databases.
     [Greg Stein]

  *) Complete re-write of mod_include.  This makes mod_include a filter that
     uses buckets directly.  This has now served the FAQ correctly.
     [Paul Reder <rederpj@raleigh.ibm.com>]

  *) Allow modules to specify the first filter in a sub_request when
     making the sub_request.  This keeps modules from having to change the
     output_filter immediately after creating the sub-request, and therefore
     skip the sub_req_output_filter.  [Ryan Bloom]

  *) Update ab to accept URLs with IPv6 literal address strings (in the
     format described in RFC 2732), and to build Host header fields in
     the same format.  This allows IPv6 literal address strings to be
     used with ab.  This support has been tested against Apache 1.3 with 
     the KAME patch, but Apache 2.0 does not yet work with this format
     of the Host header field.  [Jeff Trawick]

  *) Accomodate an out-of-space condition in the piped logs and the
     rotatelogs.c code, and no longer churn log processes for this
     condition.  [Victor J. Orlikowski]

  *) Add support for partial writes with apr_sendfile() to core_output_filter.
     [Greg Ames] 

Changes with Apache 2.0a8

  *) Add a directive to mod_mime so that filters can be associated with
     a given mime-type.
     [Ryan Bloom]

  *) Get multi-views working again.  We were setting the path_info
     field incorrectly if we couldn't find the specified file.
     [Ryan Bloom]

  *) Fix 304 processing.  The core should never try to send the headers
     down the filter stack.  Always, just setup the table in the request
     record, and let the header filter convert it to data that is ready
     for the network.
     [Ryan Bloom]

  *) More fixes for the proxy.  There are still bugs in the proxy code,
     but this has now proxied www.yahoo.com and www.ntrnet.net (my ISP)
     successfully.
     [Ryan Bloom]

  *) Fix params for apr_getaddrinfo() call in connect proxy handler.
     [Chuck Murcko]

  *) APR: Add new apr_getopt_long function to handle long options.
     [B. W. Fitzpatrick <fitz@red-bean.com>]

  *) APR: Change apr_connect() to take apr_sockaddr_t instead of hostname.
     Add generic apr_create_socket().  Add apr_getaddrinfo() for doing
     hostname resolution/address string parsing and building
     apr_sockaddr_t.  Add apr_get_sockaddr() for getting the address
     of one of the apr_sockaddr_t structures for a socket.  Change
     apr_bind() to take apr_sockaddr_t.  [David Reid and Jeff Trawick]

  *) Remove the BUFF from the HTTP proxy.  This is still a bit ugly, but
     I have proxied pages with it, cleanup will commence soon.
     [Ryan Bloom]

  *) Make the proxy work with filters.  This isn't perfect, because we
     aren't dealing with the headers properly.  [Ryan Bloom]

  *) Do not send a content-length iff the C-L is 0 and this is a head
     request.  [Ryan Bloom]

  *) Make cgi-bin work as a regular directory when using mod_vhost_alias
     with no VirtualScriptAlias directives. PR#6829 [Tony Finch]

  *) Remove BUFF from the PROXY connect handling. [Ryan Bloom]

  *) Get the default_handler to stop trying to deal with HEAD requests.
     The idea is to let the content-length filter compute the C-L before
     we try to send the data.  If we can get the C-L correctly, then we
     should send it in the HEAD response.
     [Ryan Bloom]
     
  *) The Header filter can now determine if a body should be sent based
     on r->header_only.  The general idea of this is that if we delay
     deciding to send the body, then we might be able to compute the
     content-length correctly, which will help caching proxies to cache
     our data better.  Any handler that doesn't want to try to compute
     the content-length can just send an EOS bucket without data and
     everything will just work.
     [Ryan Bloom]

  *) Add the referer to the error log if one is available.
     [Markus Gyger <mgyger@itr.ch>]

  *) Mod_info.c has now been ported to Apache 2.0.  As a part of this
     change, the root of the configuration tree has been exposed to modules
     as ap_conftree.
     [Ryan Morgan <rmorgan@covalent.net>]

  *) Get the core_output_filter to use the bucket interface directly.
     This keeps us from calling the content-length filter multiple times
     for a simple static request.
     [Ryan Bloom]

  *) We are sending the content-type correctly now.
     [Ryan Bloom and Will Rowe]

  *) APR on FreeBSD: Fix a bug in apr_sendfile() which caused us to report
     a bogus bytes-sent value when the only thing being sent was trailers
     and writev() returned an error (or EAGAIN).  [Jeff Trawick]

  *) Get SINGLE_LISTEN_UNSERIALIZED_ACCEPT working again.  This uses the
     hints file to determine which platforms define 
     SINGLE_LISTEN_UNSERIALIZED_ACCEPT.
     [Ryan Bloom]

  *) APR: add apr_get_home_directory()  [Jeff Trawick]

  *) Initial import of 1.3-current mod_proxy. [Chuck Murcko]

  *) Not all platforms have INADDR_NONE defined by default.  Apache
     used to make this check and define INADDR_NONE if appropriate,
     but APR needs the check too, and I suspect other applications will
     as well.  APR now defines APR_INADDR_NONE, which is always a valid
     value on all platforms.
     [Branko Èibej <brane@xbc.nu>]

  *) Destroy the pthread mutex in lock_intra_cleanup() for PR#6824.
     [Shuichi Kitaguchi <ki@hh.iij4u.or.jp>] 

  *) Relax the syntax checking of Host: headers in order to support
     iDNS. PR#6635 [Tony Finch]

  *) When reading from file buckets we convert to an MMAP if it makes
     sense.  This also simplifies the default handler because the
     default handler no longer needs to try to create MMAPs.
     [Ryan Bloom]

  *) BUFF has been removed from the main server.  The BUFF code will remain
     in the code until it has been purged from the proxy module as well.
     [Ryan Bloom]

  *) Byteranges have been completely re-written to be a filter.  This
     has been tested, and I believe it is working correctly, but it could
     doesn't work for the Adobe Acrobat plug-in.  The output almost matches
     the output from 1.3, the only difference being that 1.3 includes
     a content-length in the response, and this does not.
     [Ryan Bloom]

  *) APR read/write functions and bucket read functions now operate
     on unsigned integers, instead of signed ones.  It doesn't make
     any sense to use signed ints, because we return the error codes,
     so if we have an error we should report 0 bytes read or written.
     [Ryan Bloom]

  *) Always compute the content length, whether it is sent or not.
     The reason for this, is that it allows us to correctly report
     the bytes_sent when logging the request.  This also simplifies
     content-length filter a bit, and fixes the actual byte-reporing
     code in mod_log_config.c
     [Ryan Bloom]

  *) Remove AP_END_OF_BRIGADE definition.  This does not signify what
     it says, because it was only used by EOS and FLUSH buckets.  Since
     neither of those are required at the end of a brigade, this was
     really signifying FLUSH_THE_DATA, but that can be determined better
     by checking AP_BUCKET_IS_EOS() or AP_BUCKET_IS_FLUSH.  EOS and FLUSH
     buckets now return a length of 0, which is actually the amount of data
Loading full blame...