Skip to content
CHANGES 405 KiB
Newer Older
  *) Add a couple of GCC attribute tags to printf style functions.
     [Jon Travis <jtravis@covalent.net>]

  *) Add the correct language tag for interoperation with the Taiwanese
     versions of MSIE and Netscape. [Clive Lin <clive@CirX.ORG>] PR#7142

  *) Migrate the perchild MPM to use the new apr signal child, and 
     APR thread functions.  [Ryan Bloom]

  *) Close one copy of the CGI's stdout before creating the new process.
     The CGI will still have stdout, because we have already dup'ed it.
     This keeps Apache from waiting forever to send the results of a CGI
     process that has forked a long-lived child process.
     [Taketo Kabe <kabe@sra-tohoku.co.jp>]

  *) Remove the rest of the pthreads functions from the threaded MPM.
     This requires the APR support for a signal thread that was just
     added.  [Ryan Bloom]

  *) Make mod_dir use a fixup for sending a redirect to the browser.
     Before this, we were using a handler, which doesn't make much
     sense, because the handler wasn't generating any data, it would
     either return a redirect error code, or DECLINED.  This fits the
     current hooks better.  [Ryan Morgan <rmorgan@covalent.net>]

  *) Make the threaded MPM use APR threads instead of pthreads.
     [Ryan Bloom]

Ben Laurie's avatar
Ben Laurie committed
  *) Get mod_tls to the point where it actually appears to work in all cases.
     [Ben Laurie]

  *) implement --enable-modules and --enable-mods-shared for "all" and
     "most".  [Greg Stein]

  *) Move the threaded MPM to use APR locks instead of pthread locks.
     [Ryan Bloom]

  *) Rename mpmt_pthread to threaded.  This is more in line with the
     fact that mpmt_pthread shouldn't be using pthreads directly, and
     it is a smaller name that doesn't tie into anything.
     [Ryan Bloom]

  *) Rename the module structures so that the exported symbol matches
     the file name, and it is easier to automate the installation
     process (generating LoadModule directives from the module filenames).
     [Martin Kraemer]

  *) Remove the coalesce filter.  With the ap_f* functions, this filter
     is no longer needed. [Ryan Bloom]

Changes with Apache 2.0.11
  *) Remove the dexter MPM.  Perchild is the same basic idea, but it has the
     added feature of allowing a uid/gid per child process.  If no
     uid/gid is specified, then Perchild behaves exactly like dexter.
     [Ryan Bloom]

Ryan Bloom's avatar
Ryan Bloom committed
  *) Get perchild building again. [Ryan Bloom]

  *) Don't disable threads just because we are using the prefork MPM.
     If somebody wants to compile without threads, they must now add
     --disable-threads to the configure command line.  [Ryan Bloom]

  *) Begin to move the calls to update_child_status into common code, so
     that each individual MPM does not need to update the scoreboard itself.
     [Ryan Bloom]

  *) Allow mod_tls to compile under Unix boxes where openssl has been
     installed to the system include files.
     [Gomez Henri <new-httpd@slib.fr>]

  *) Cleanup the mod_tls configure process.  This should remove any need
     to hand-edit any files.  We require OpenSSL 0.9.6 or later, but 
     configure doesn't check that yet.  [Ryan Bloom]

Ben Laurie's avatar
Ben Laurie committed
  *) Add a very early prototype of SSL support (in mod_tls.c). It is
     vital that you read modules/tls/README before attempting to build
     it. [Ben Laurie]

  *) Fix a potential seg fault on all platforms.  David Reid fixed this
     on BEOS, but the problem could happen anywhere, so we don't want
     to #ifdef it. [Cliff Woolley <cliffwoolley@yahoo.com>]
 
  *) Add new LogFormat directive, %D, to log time it takes to serve a
     request in microseconds. [Bill Stoddard]
  *) Change AddInputFilter and AddOutputFilter to SetInputFilter and
     SetOutputFilter.  This corresponds nicely with the other Set 
     directives, which operate on containers while the Add* directives
     tend to work directly on extensions.  [Ryan Bloom]

  *) Cleanup the header handling a bit.  This uses the apr_brigade_*
     functions for the buffering so that we don't need to compute
     the length of the headers before we actually create the header
     buffer.  [Ryan Bloom]

  *) Allow filters to buffer data using the ap_f* functions.  These have
     become macros that resolve directly to apr_brigade_*.  
     [Ryan Bloom]

  *) Get the Unix MPM's to do a graceful restart again.  If we are going
     to register a cleanup with ap_cleanup_scoreboard, then we have to
     kill the cleanup with the same function,  and that function can't be
     static.  [Ryan Bloom]

  *) Install all required header files.  Without these, it was not
     possible to compile some modules outside of the server.
     [Ryan Bloom]

  *) Fix the AliasMatch directive in Apache 2.0.  When we brought a patch
     forward from 1.3 to 2.0, we missed a single line, which broke regex
     aliases.  [Ryan Bloom]

  *) We have a poor abstraction in the protocol.  This is a temporary
     hack to fix the bug, but it will need to be fixed for real.  If
     we find an error while sending out a custom error response, we back
     up to the first non-OK request and send the data.  Then, when we send
     the EOS from finalize_request_protocol, we go to the last request,
     to ensure that we aren't sending an EOS to a request that has already
     received one.  Because the data is sent on a different request than
     the EOS, the error text never gets sent down the filter stack.  This
     fixes the problem by finding the last request, and sending the data
     with that request.  [Ryan Bloom]

  *) Make the server status page show the correct restart time, and
     thus the proper uptime. [Ryan Bloom]

  *) Move the CGI creation logic from mod_include to mod_cgi(d).  This
     should reduce the amount of duplicate code that is required to
     create CGI processes.
     [Paul J. Reder <rederpj@raleigh.ibm.com>]

  *) ap_new_connection() closes the socket and returns NULL if a socket
     call fails.  Usually this is due to a connection which has been 
     reset.  [Jeff Trawick]

  *) Move the Apache version information out of httpd.h and into release.h.
     This is in preparation for the first tag with the new tag and release
     system.  [Ryan Bloom]

  *) Begin restructuring scoreboard code to enable adding back in
     the ability to use IPC other than shared memory.
     Get mod_status working on Windows again. [Bill Stoddard]
  *) Make mod_status work with 2.0.  This will work for prefork,
     mpmt_pthread, and dexter.  [Ryan Bloom]

  *) Correct a typo in httpd.conf.
     [Kunihiro Tanaka <tanaka@apache.or.jp>] PR#7154 

  *) Really fix mod_rewrite map lookups this time. [Tony Finch]

  *) Get the correct IP address if ServerName isn't set and we can't
     find a fully-qualified domain name at startup.
     PR#7170 [Danek Duvall <dduvall@eng.sun.com>]

  *) Make mod_cgid work with SuExec.  [Ryan Bloom]
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Adopt apr user/group name features for mod_rewrite.  Eliminates some
     'extra' stat's for user/group since they should never occur, and now
     resolves the SCRIPT_USER and SCRIPT_GROUP, including on WinNT NTFS
     volumes.  [William Rowe]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Adopt apr features to simplify mod_includes.  This changes the
     behavior of the USER_NAME variable, unknown uid's are now reported
     as USER_NAME="<unknown>" rather than the old user#000 result.
     WinNT now resolves USER_NAME on NTFS volumes.  [William Rowe]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Adopt apr features for simplifing mod_userdir, and accept the new
     Win32/OS2 exceptions without hiccuping.  [William Rowe]
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed

  *) Replace configure --with-optim option by using and saving the
     environment variable OPTIM instead.  This is needed because configure
     options do not support multiple flags separated by spaces.
     [Roy Fielding]

  *) Fix some byterange handling.  If we get a byte range that looks like
     "-999999" where that is past the end of the file, we should return 
     a PARTIAL CONTENT status code, and return the whole file as one big
     byterange.  This matches the 1.3 handling now.  [Ryan Bloom]

  *) Make the error bucket a real meta-data bucket.  This means that the
     bucket length is 0, and a read returns NULL data.  If one of these
     buckets is passed down after the headers are sent, this data will
     just be ignored.  [Greg Stein]

  *) The prefork MPM wasn't killing child processes correctly if a restart
     signal was received while the process was serving a request.  The child
     process would become the equivalent of a second parent process.  If
     we break out of the accept loop, then we need to do die after cleaning
     up after ourselves.  [Ryan Bloom]

  *) Change the Prefork MPM to use SIGWINCH instead of SIGUSR1 for graceful
     restarts.  [Ryan Bloom]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Modify the apr_stat/lstat/getfileinfo calls within apache to use
     the most optimal APR_FINFO_wanted bits.  This spares Win32 from
     performing very expensive owner, group and permission lookups
Loading full blame...