You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by pq...@apache.org on 2008/04/07 18:31:24 UTC
svn commit: r645594 [2/28] - in /httpd/sandbox/amsterdam/d: ./ build/
docs/conf/ docs/conf/extra/ docs/man/ docs/manual/ docs/manual/developer/
docs/manual/faq/ docs/manual/howto/ docs/manual/misc/ docs/manual/mod/
docs/manual/platform/ docs/manual/pro...
Propchange: httpd/sandbox/amsterdam/d/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Apr 7 09:28:58 2008
@@ -1 +1 @@
-/httpd/httpd/trunk:1-594794
+/httpd/httpd/trunk:1-645544
Modified: httpd/sandbox/amsterdam/d/Apache.dsw
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/Apache.dsw?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/Apache.dsw (original)
+++ httpd/sandbox/amsterdam/d/Apache.dsw Mon Apr 7 09:28:58 2008
@@ -66,7 +66,7 @@
Project_Dep_Name mod_echo
End Project Dependency
Begin Project Dependency
- Project_Dep_Name mod_example
+ Project_Dep_Name mod_example_hooks
End Project Dependency
}}}
@@ -420,6 +420,24 @@
###############################################################################
+Project: "fcgistarter"=.\support\fcgistarter.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name apr
+ End Project Dependency
+ Begin Project Dependency
+ Project_Dep_Name aprutil
+ End Project Dependency
+}}}
+
+###############################################################################
+
Project: "gen_test_char"=.\server\gen_test_char.dsp - Package Owner=<4>
Package=<5>
@@ -1213,7 +1231,7 @@
###############################################################################
-Project: "mod_case_filter"=.\modules\experimental\mod_case_filter.dsp - Package Owner=<4>
+Project: "mod_case_filter"=.\modules\examples\mod_case_filter.dsp - Package Owner=<4>
Package=<5>
{{{
@@ -1234,7 +1252,7 @@
###############################################################################
-Project: "mod_case_filter_in"=.\modules\experimental\mod_case_filter_in.dsp - Package Owner=<4>
+Project: "mod_case_filter_in"=.\modules\examples\mod_case_filter_in.dsp - Package Owner=<4>
Package=<5>
{{{
@@ -1537,7 +1555,7 @@
###############################################################################
-Project: "mod_example"=.\modules\experimental\mod_example.dsp - Package Owner=<4>
+Project: "mod_example_hooks"=.\modules\examples\mod_example_hooks.dsp - Package Owner=<4>
Package=<5>
{{{
@@ -2210,7 +2228,7 @@
###############################################################################
-Project: "mod_substitute"=.\modules\experimental\mod_substitute.dsp - Package Owner=<4>
+Project: "mod_substitute"=.\modules\filters\mod_substitute.dsp - Package Owner=<4>
Package=<5>
{{{
Modified: httpd/sandbox/amsterdam/d/CHANGES
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/CHANGES?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/CHANGES [utf-8] (original)
+++ httpd/sandbox/amsterdam/d/CHANGES [utf-8] Mon Apr 7 09:28:58 2008
@@ -2,10 +2,160 @@
Changes with Apache 2.3.0
[ When backported to 2.2.x, remove entry from this file ]
- *) mod_serf: New module for Reverse Proxying. [Paul Querna]
+ *) mod_session_crypto: Initialise SSL in the post config hook.
+ [Ruediger Pluem, Graham Leggett]
+
+ *) mod_session_dbd: Add a session implementation capable of storing
+ session information in a SQL database via the dbd interface. Useful
+ for sites where session privacy is important. [Graham Leggett]
+
+ *) mod_session_crypto: Add a session encoding implementation capable
+ of encrypting and decrypting sessions wherever they may be stored.
+ Introduces a level of privacy when sessions are stored on the
+ browser. [Graham Leggett]
+
+ *) mod_session_cookie: Add a session implementation capable of storing
+ session information within cookies on the browser. Useful for high
+ volume sites where server bound sessions are too resource intensive.
+ [Graham Leggett]
+
+ *) mod_session: Add a generic session interface to unify the different
+ attempts at saving persistent sessions across requests.
+ [Graham Leggett]
+
+ *) core, authn/z: Avoid calling access control hooks for internal requests
+ with configurations which match those of initial request. Revert to
+ original behaviour (call access control hooks for internal requests
+ with URIs different from initial request) if any access control hooks or
+ providers are not registered as permitting this optimization.
+ Introduce wrappers for access control hook and provider registration
+ which can accept additional mode and flag data. [Chris Darroch]
+
+ *) http_filters: Don't spin if get an error when reading the
+ next chunk. PR 44381 [Ruediger Pluem]
+
+ *) mod_dav: Return "method not allowed" if the destination URI of a WebDAV
+ copy / move operation is no DAV resource. PR 44734 [Ruediger Pluem]
+
+ *) Introduced ap_expr API for expression evaluation.
+ This is adapted from mod_include, which is the first module
+ to use the new API.
+ [Nick Kew]
+
+ *) mod_authz_dbd: When redirecting after successful login/logout per
+ AuthzDBDRedirectQuery, do not report authorization failure, and use
+ first row returned by database query instead of last row.
+ [Chris Darroch]
+
+ *) mod_rewrite: Initialize hash needed by ap_register_rewrite_mapfunc early
+ enough. PR 44641 [Daniel Lescohier <daniel.lescohier cnet.com>]
+
+ *) mod_authn_dbd: Disambiguate and tidy database authentication
+ error messages. PR 43210. [Chris Darroch, Phil Endecott
+ <spam_from_apache_bugzilla chezphil.org>]
+
+ *) mod_cache: Handle If-Range correctly if the cached resource was stale.
+ PR 44579 [Ruediger Pluem]
+
+ *) mod_speling: remove regression from 1.3/2.0 behavior and
+ drop dependency between mod_speling and AcceptPathInfo.
+ PR 43562 [Jose Kahan <jose w3.org>]
+
+ *) mod_ldap: Correctly return all requested attribute values
+ when some attributes have a null value.
+ PR 44560 [Anders Kaseorg <anders kaseorg.com>]
+
+ *) core: check symlink ownership if both FollowSymlinks and
+ SymlinksIfOwnerMatch are set [Nick Kew]
+
+ *) core: fix origin checking in SymlinksIfOwnerMatch
+ PR 36783 [Robert L Mathews <rob-apache.org.bugs tigertech.net>]
+
+ *) rotatelogs: Added '-f' option to force rotatelogs to create the
+ logfile as soon as started, and not wait until it reads the
+ first entry. [Jim Jagielski]
+
+ *) mod_proxy: Do not try a direct connection if the connection via a
+ remote proxy failed before and the request has a request body.
+ [Ruediger Pluem]
+
+ *) mod_substitute: The default is now flattening the buckets after
+ each substitution. This was mostly done to abide by the
+ Principle Of Least Astonishment. The newly added 'q' flag allows for
+ the quicker, more efficient bucket-splitting if the user so
+ desires. [Jim Jagielski]
+
+ *) Added 'disablereuse' option for ProxyPass which, essentially,
+ disables connection pooling for the backend servers.
+ [Jim Jagielski]
+
+ *) Activate mod_cache, mod_file_cache and mod_disc_cache as part of the
+ 'most' set for '--enable-modules' and '--enable-shared-mods'. Include
+ mod_mem_cache in 'all' as well. [Dirk-Willem van Gulik]
+
+ *) Also install mod_so.h, mod_rewrite.h and mod_cache.h; as these
+ contain public function declarations which are useful for
+ third party module authors. PR 42431 [Dirk-Willem van Gulik].
+
+ *) mod_dir, mod_negotiation: pass the output filter information
+ to newly created sub requests; as these are later on used
+ as true requests with an internal redirect. This allows for
+ mod_cache et.al. to trap the results of the redirect.
+ [Dirk-Willem van Gulik, Ruediger Pluem]
+
+ *) ab: Use a 64 bit unsigned int instead of a signed long to count the
+ bytes transferred to avoid integer overflows. PR 44346 [Ruediger Pluem]
+
+ *) mod_proxy_ajp: Do not retry request in the case that we either failed to
+ sent a part of the request body or if the request is not idempotent.
+ PR 44334 [Ruediger Pluem]
+
+ *) ProxyPassReverse is now balancer aware. [Jim Jagielski]
+
+ *) rotatelogs: Don't leak memory when reopening the logfile.
+ PR 40183 [Ruediger Pluem, Takashi Sato <serai lans-tv.com>]
+
+ *) mod_ldap: Add support (taking advantage of the new APR capability)
+ for ldap rebind callback while chasing referrals. This allows direct
+ searches on LDAP servers (in particular MS Active Directory 2003+)
+ using referrals without the use of the global catalog.
+ PRs 26538, 40268, and 42557 [Paul J. Reder]
+
+ *) ab: Do not try to read non existing response bodies of HEAD requests.
+ PR 34275 [Takashi Sato <serai lans-tv.com>]
+
+ *) Support chroot on Unix-family platforms
+ PR 43596 [Dimitar Pashev <mitko banksoft-bg.com>]
+
+ *) mod_proxy_http: Return HTTP status codes instead of apr_status_t
+ values for errors encountered while forwarding the request body
+ PR 44165 [Eric Covener]
+
+ *) mod_ssl: Added server name indication support (SNI, RFC 4366).
+ PR 34607. [Kaspar Brand <asfbugz velox.ch>]. A test configuration
+ can be created with test/make_sni.sh [Dirk-Willem van Gulik].
+
+ *) ApacheMonitor.exe: Introduce --kill argument for use by the
+ installer. This will permit the installation tool to remove
+ all running instances before attempting to remove the .exe.
+ [William Rowe]
- *) mod_autoindex: Generate valid XHTML output by adding the xhtml
- namespace. PR 43649 [Jose Kahan <jose w3.org>]
+ *) mod_proxy: Lower memory consumption for short lived connections.
+ PR 44026. [Ruediger Pluem]
+
+ *) mod_proxy: Keep connections to the backend persistent in the HTTPS case.
+ [Ruediger Pluem]
+
+ *) rotatelogs: Improve atomicity when using -l and cleaup code.
+ PR 44004 [Rainer Jung]
+
+ *) mod_ssl: Add support for OCSP validation of client certificates.
+ PR 41123. [Marc Stern <marc.stern approach.be>, Joe Orton]
+
+ *) mod_unique_id: Fix timestamp value in UNIQUE_ID.
+ PR 37064 [Kobayashi <kobayashi firstserver.co.jp>]
+
+ *) mod_serf: New module for Reverse Proxying. [Paul Querna]
*) core: Add the option to keep aside a request body up to a certain
size that would otherwise be discarded, to be consumed by filters
@@ -18,43 +168,13 @@
*) scoreboard: Correctly declare ap_time_process_request.
PR 43789 [Tom Donovan <Tom.Donovan acm.org>]
- *) mod_ldap: Give callers a reference to data copied into the request
- pool instead of references directly into the cache
- PR 43786 [Eric Covener]
-
- *) mod_ldap: Stop passing a reference to pconf around for
- (limited) use during request processing, avoiding possible
- memory corruption and crashes. [Eric Covener]
-
- *) mod_status: Add SeeRequestTail directive, which determines if
- ExtendedStatus displays the 1st 63 characters of the request
- or the last 63. Useful for those requests with large string
- lengths and which only vary with the last several characters.
- [Jim Jagielski]
-
- *) mod_proxy: add "nocanon" keyword to ProxyPass, to suppress
- URI-canonicalisation in a reverse proxy.
- PR 41798 [Nick Kew]
-
*) core; scoreboard: ap_get_scoreboard_worker(sbh) now takes the sbh member
from the connection rec, ap_get_scoreboard_worker(proc, thread) will now
provide the unusual legacy lookup. [William Rowe]
- *) mod_proxy_http: Don't escape/unescape forward-proxied URLs
- PR 42592 [Nick Kew]
-
*) mpm winnt: fix null pointer dereference
PR 42572 [Davi Arnaut]
- *) mod_proxy_http: Correctly forward unexpected interim (HTTP 1xx)
- responses from the backend according to RFC2616. But make it
- configurable in case something breaks on it.
- PR 16518 [Nick Kew]
-
- *) mod_deflate: Don't leave a strong ETag in place while transforming
- the entity.
- PR 39727 [Nick Kew]
-
*) core: reinstate location walk to fix config for subrequests
PR 41960 [Jose Kahan <jose w3.org>]
@@ -62,14 +182,6 @@
or remote port can be logged. PR 43415. [Adam Hasselbalch Hansen
<ah...@one.com>, Ruediger Pluem, Jeff Trawick]
- *) mod_rewrite: Add the novary flag to RewriteCond.
- [Ruediger Pluem]
-
- *) mod_include: Add an "if" directive syntax to test whether an URL
- is accessible, and if so, conditionally display content. This
- allows a webmaster to hide a link to a private page when the user
- has no access to that page. [Graham Leggett]
-
*) mod_authnz_ldap, mod_authn_dbd: Tidy up the code to expose authn
parameters to the environment. Improve portability to
EBCDIC machines by using apr_toupper(). [Martin Kraemer]
@@ -79,34 +191,14 @@
where the user is not in group X, but is in a subgroup contained in X.
PR 42891 [Paul J. Reder]
- *) Event MPM: Add support for running under mod_ssl, by reverting to the
- Worker MPM behaviors, when run under an input filter that buffers
- its own data. [Paul Querna]
-
*) mod_ssl: Add support for caching SSL Sessions in memcached. [Paul Querna]
- *) mod_substitute: Added a new experimental output filter, which
- performs inline response content pattern matching (including
- regex) and substitution. [Jim Jagielski]
-
- *) core: Change etag generation to produce identical results on
- 32-bit and 64-bit platforms. PR 40064. [Joe Orton]
-
*) ab: Add -r option to continue after socket receive errors.
[Filip Hanik <devlist hanik.com>]
*) mod_ldap: Fix the search limit parameter to ldap_search_ext_s()
for SDKs that define LDAP_NO_LIMIT to something other than -1.
[David Jones <oscaremma gmail.com>]
-
- *) mod_dbd: Introduce configuration groups to allow inheritance by virtual
- hosts of database configurations from the main server. Determine the
- minimal set of distinct configurations and share connection pools
- whenever possible. Allow virtual hosts to override inherited SQL
- statements. PR 41302. [Chris Darroch]
-
- *) core: Fix broken chunk filtering that causes all non blocking reads to be
- converted into blocking reads. PR 41056. [Jean-Frederic Clere, Jim Jagielski]
*) apxs: Enhance -q flag to print all known variables and their values
when invoked without variable name(s).
Modified: httpd/sandbox/amsterdam/d/INSTALL
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/INSTALL?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/INSTALL (original)
+++ httpd/sandbox/amsterdam/d/INSTALL Mon Apr 7 09:28:58 2008
@@ -5,7 +5,7 @@
------------------
For complete installation documentation, see [ht]docs/manual/install.html or
- http://httpd.apache.org/docs/trunk/install.html
+ http://httpd.apache.org/docs/2.3/install.html
$ ./configure --prefix=PREFIX
$ make
@@ -56,7 +56,7 @@
---------------------
For complete documentation, see [ht]docs/manual/platform/windows.html or
- http://httpd.apache.org/docs/trunk/platform/windows.html.
+ http://httpd.apache.org/docs/2.3/platform/windows.html.
The Apache/Win32 binaries are primarily distributed as a Windows Installer
package (.msi), and may be available as a .zip file as well. These packages
@@ -77,8 +77,8 @@
the text "@@" to discover what you must edit. To install and start the
service after you have corrected the httpd.conf file, use the command
- bin\Apache -k install
- bin\Apache -k start
+ bin\httpd.exe -k install
+ bin\httpd.exe -k start
The .msi package configures the httpd.conf file, and installs and starts
the Apache2 service for you. It also installs plenty of useful shortcuts
Modified: httpd/sandbox/amsterdam/d/LICENSE
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/LICENSE?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/LICENSE (original)
+++ httpd/sandbox/amsterdam/d/LICENSE Mon Apr 7 09:28:58 2008
@@ -454,68 +454,6 @@
*/
-For the srclib\apr-util\test\testdbm.c component:
-
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2000-2002 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- * This file came from the SDBM package (written by oz@nexus.yorku.ca).
- * That package was under public domain. This file has been ported to
- * APR, updated to ANSI C and other, newer idioms, and added to the Apache
- * codebase under the above copyright and license.
- */
-
-
For the srclib\apr-util\test\testmd4.c component:
*
Modified: httpd/sandbox/amsterdam/d/Makefile.in
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/Makefile.in?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/Makefile.in (original)
+++ httpd/sandbox/amsterdam/d/Makefile.in Mon Apr 7 09:28:58 2008
@@ -47,12 +47,14 @@
if test $$n_lm -eq 0 -o "x$(DSO_MODULES)" = "x"; then \
sed -e 's#@@ServerRoot@@#$(prefix)#g' \
-e 's#@@Port@@#$(PORT)#g' \
+ -e 's#@@SSLPort@@#$(SSLPORT)#g' \
-e '/@@LoadModule@@/d' \
< $$i; \
else \
sed -n -e '/@@LoadModule@@/q' \
-e 's#@@ServerRoot@@#$(prefix)#g' \
-e 's#@@Port@@#$(PORT)#g' \
+ -e 's#@@SSLPort@@#$(SSLPORT)#g' \
-e 'p' \
< $$i; \
for j in $(DSO_MODULES) "^EOL^"; do \
@@ -64,6 +66,7 @@
-e '/@@LoadModule@@/d' \
-e 's#@@ServerRoot@@#$(prefix)#g' \
-e 's#@@Port@@#$(PORT)#g' \
+ -e 's#@@SSLPort@@#$(SSLPORT)#g' \
< $$i; \
fi \
) > $(DESTDIR)$(sysconfdir)/original/$$i; \
@@ -189,6 +192,9 @@
$(srcdir)/modules/http/mod_core.h \
$(srcdir)/modules/proxy/mod_proxy.h \
$(srcdir)/modules/ssl/mod_ssl.h \
+ $(srcdir)/modules/mappers/mod_so.h \
+ $(srcdir)/modules/mappers/mod_rewrite.h \
+ $(srcdir)/modules/cache/mod_cache.h \
$(srcdir)/os/$(OS_DIR)/*.h
install-include:
Modified: httpd/sandbox/amsterdam/d/Makefile.win
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/Makefile.win?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/Makefile.win (original)
+++ httpd/sandbox/amsterdam/d/Makefile.win Mon Apr 7 09:28:58 2008
@@ -13,10 +13,12 @@
# The following install defaults may be customized;
#
# Option Default
-# INSTDIR /Apache23
+# INSTDIR /Apache2x
# PORT 80
# SSLPORT 443
-# SERVERNAME localhost
+# DOMAINNAME example.com
+# SERVERNAME www.example.com
+# SERVERNAME admin@example.com
#
# ALL (unset) Includes additional modules for build testing
#
@@ -124,8 +126,14 @@
!IF "$(INSTDIR)" == ""
INSTDIR=\Apache2x
!ENDIF
+!IF "$(DOMAINNAME)" == ""
+DOMAINNAME=example.com
+!ENDIF
!IF "$(SERVERNAME)" == ""
-SERVERNAME=localhost
+SERVERNAME=www.$(DOMAINNAME)
+!ENDIF
+!IF "$(SERVERADMIN)" == ""
+SERVERADMIN=admin@$(DOMAINNAME)
!ENDIF
!IF "$(PORT)" == ""
PORT=80
@@ -136,11 +144,13 @@
!IF "$(LONG)" == ""
!MESSAGE
-!MESSAGE INSTDIR = $(INSTDIR)
-!MESSAGE SERVERNAME = $(SERVERNAME)
-!MESSAGE PORT = $(PORT)
+!MESSAGE INSTDIR = $(INSTDIR)
+!MESSAGE DOMAINNAME = $(DOMAINNAME)
+!MESSAGE SERVERNAME = $(SERVERNAME)
+!MESSAGE SERVERADMIN = $(SERVERADMIN)
+!MESSAGE PORT = $(PORT)
!IF EXIST("srclib\openssl")
-!MESSAGE SSLPORT = $(SSLPORT)
+!MESSAGE SSLPORT = $(SSLPORT)
!ENDIF
!MESSAGE
!MESSAGE To change these options use 'nmake -f Makefile.win [option=value]'
@@ -285,14 +295,13 @@
$(MAKE) $(MAKEOPT) -f mod_echo.mak CFG="mod_echo - Win32 $(LONG)" RECURSE=0 $(CTARGET)
!ENDIF
cd ..\..
- cd modules\experimental
!IFDEF ALL
+ cd modules\examples
$(MAKE) $(MAKEOPT) -f mod_case_filter.mak CFG="mod_case_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
$(MAKE) $(MAKEOPT) -f mod_case_filter_in.mak CFG="mod_case_filter_in - Win32 $(LONG)" RECURSE=0 $(CTARGET)
- $(MAKE) $(MAKEOPT) -f mod_example.mak CFG="mod_example - Win32 $(LONG)" RECURSE=0 $(CTARGET)
-!ENDIF
- $(MAKE) $(MAKEOPT) -f mod_substitute.mak CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_example_hooks.mak CFG="mod_example_hooks - Win32 $(LONG)" RECURSE=0 $(CTARGET)
cd ..\..
+!ENDIF
cd modules\filters
$(MAKE) $(MAKEOPT) -f mod_charset_lite.mak CFG="mod_charset_lite - Win32 $(LONG)" RECURSE=0 $(CTARGET)
!IF EXIST("srclib\zlib")
@@ -301,6 +310,7 @@
$(MAKE) $(MAKEOPT) -f mod_ext_filter.mak CFG="mod_ext_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
$(MAKE) $(MAKEOPT) -f mod_filter.mak CFG="mod_filter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
$(MAKE) $(MAKEOPT) -f mod_include.mak CFG="mod_include - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f mod_substitute.mak CFG="mod_substitute - Win32 $(LONG)" RECURSE=0 $(CTARGET)
cd ..\..
cd modules\generators
$(MAKE) $(MAKEOPT) -f mod_asis.mak CFG="mod_asis - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -359,6 +369,7 @@
!ENDIF
cd support
$(MAKE) $(MAKEOPT) -f ab.mak CFG="ab - Win32 $(LONG)" RECURSE=0 $(CTARGET)
+# $(MAKE) $(MAKEOPT) -f fcgistarter.mak CFG="fcgistarter - Win32 $(LONG)" RECURSE=0 $(CTARGET)
$(MAKE) $(MAKEOPT) -f htcacheclean.mak CFG="htcacheclean - Win32 $(LONG)" RECURSE=0 $(CTARGET)
$(MAKE) $(MAKEOPT) -f htdbm.mak CFG="htdbm - Win32 $(LONG)" RECURSE=0 $(CTARGET)
$(MAKE) $(MAKEOPT) -f htdigest.mak CFG="htdigest - Win32 $(LONG)" RECURSE=0 $(CTARGET)
@@ -471,11 +482,10 @@
copy modules\debugging\$(LONG)\mod_dumpio.$(src_so) "$(inst_so)" <.y
!IFDEF ALL
copy modules\echo\$(LONG)\mod_echo.$(src_so) "$(inst_so)" <.y
- copy modules\experimental\$(LONG)\mod_case_filter.$(src_so) "$(inst_so)" <.y
- copy modules\experimental\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
- copy modules\experimental\$(LONG)\mod_example.$(src_so) "$(inst_so)" <.y
+ copy modules\examples\$(LONG)\mod_case_filter.$(src_so) "$(inst_so)" <.y
+ copy modules\examples\$(LONG)\mod_case_filter_in.$(src_so) "$(inst_so)" <.y
+ copy modules\examples\$(LONG)\mod_example_hooks.$(src_so) "$(inst_so)" <.y
!ENDIF
- copy modules\experimental\$(LONG)\mod_substitute.$(src_so) "$(inst_so)" <.y
copy modules\filters\$(LONG)\mod_charset_lite.$(src_so) "$(inst_so)" <.y
!IF EXIST("srclib\zlib")
copy modules\filters\$(LONG)\mod_deflate.$(src_so) "$(inst_so)" <.y
@@ -486,6 +496,7 @@
copy modules\filters\$(LONG)\mod_ext_filter.$(src_so) "$(inst_so)" <.y
copy modules\filters\$(LONG)\mod_filter.$(src_so) "$(inst_so)" <.y
copy modules\filters\$(LONG)\mod_include.$(src_so) "$(inst_so)" <.y
+ copy modules\filters\$(LONG)\mod_substitute.$(src_so) "$(inst_so)" <.y
copy modules\generators\$(LONG)\mod_asis.$(src_so) "$(inst_so)" <.y
copy modules\generators\$(LONG)\mod_autoindex.$(src_so) "$(inst_so)" <.y
copy modules\generators\$(LONG)\mod_cgi.$(src_so) "$(inst_so)" <.y
@@ -523,14 +534,14 @@
copy modules\proxy\$(LONG)\mod_proxy_ftp.$(src_so) "$(inst_so)" <.y
copy modules\proxy\$(LONG)\mod_proxy_http.$(src_so) "$(inst_so)" <.y
!IF EXIST("srclib\openssl")
- copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
- $(quiet)copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
- $(quiet)copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
- $(quiet)copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
- copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)\ab.$(src_exe)" <.y
-!ELSE
- copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
+ copy modules\ssl\$(LONG)\mod_ssl.$(src_so) "$(inst_so)" <.y
+ -copy srclib\openssl\$(SSLBIN)\libeay32.$(src_dll) "$(inst_dll)" <.y
+ -copy srclib\openssl\$(SSLBIN)\ssleay32.$(src_dll) "$(inst_dll)" <.y
+ -copy srclib\openssl\$(SSLBIN)\openssl.$(src_exe) "$(inst_exe)" <.y
+ copy support\$(LONG)\abs.$(src_exe) "$(inst_exe)" <.y
!ENDIF
+ copy support\$(LONG)\ab.$(src_exe) "$(inst_exe)" <.y
+# copy support\$(LONG)\fcgistarter.$(src_exe) "$(inst_exe)" <.y
copy support\$(LONG)\htcacheclean.$(src_exe) "$(inst_exe)" <.y
copy support\$(LONG)\htdbm.$(src_exe) "$(inst_exe)" <.y
copy support\$(LONG)\htdigest.$(src_exe) "$(inst_exe)" <.y
@@ -558,6 +569,8 @@
-mkdir "$(INSTDIR)\cgi-bin"
-mkdir "$(INSTDIR)\conf"
-mkdir "$(INSTDIR)\conf\extra"
+ -mkdir "$(INSTDIR)\conf\original"
+ -mkdir "$(INSTDIR)\conf\original\extra"
-mkdir "$(INSTDIR)\error"
-mkdir "$(INSTDIR)\htdocs"
-mkdir "$(INSTDIR)\manual"
@@ -566,7 +579,6 @@
-mkdir "$(INSTDIR)\lib"
-mkdir "$(INSTDIR)\logs"
-mkdir "$(INSTDIR)\modules"
- -mkdir "$(INSTDIR)\proxy"
-mkdir "$(INSTDIR)\symbols"
-mkdir "$(INSTDIR)\symbols\exe"
-mkdir "$(INSTDIR)\symbols\dll"
@@ -578,7 +590,7 @@
copy NOTICE "$(INSTDIR)\NOTICE.txt" <.y
copy README "$(INSTDIR)\README.txt" <.y
!IF EXIST("srclib\openssl")
- copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
+ -copy srclib\openssl\apps\openssl.cnf "$(INSTDIR)\conf\openssl.cnf" <.y
type << >> "$(INSTDIR)\NOTICE.txt"
This binary distribution includes cryptographic software written by
@@ -589,14 +601,14 @@
-awk -f <<script.awk < "srclib\openssl\LICENSE" >> "$(INSTDIR)\LICENSE.txt"
BEGIN {
print "";
- print "For the libeay32.dll, ssleay32.dll and certtool.exe components:";
+ print "For the libeay32.dll, ssleay32.dll and openssl.exe components:";
print "";
while ( getline > 0 ) {
print $$0;
}
}
<<
- copy << + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
+ copy << "$(INSTDIR)\OPENSSL-NEWS.txt" <.y
Apache HTTP Server 2.3 Limited OpenSSL Distribution
@@ -612,14 +624,16 @@
--------------------------------------------------------------------------------
<<
- copy << + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt" <.y
+ -copy "$(INSTDIR)\OPENSSL-NEWS.txt" \
+ + srclib\openssl\NEWS "$(INSTDIR)\OPENSSL-NEWS.txt"
+ copy << "$(INSTDIR)\OPENSSL-README.txt" <.y
Apache HTTP Server 2.3 Limited OpenSSL Distribution
This binary installation of OpenSSL is a limited distribution of the
files derived from the OpenSSL project:
- OPENSSL-LICENSE.txt
+ LICENSE.txt (includes openssl LICENSE)
OPENSSL-NEWS.txt
OPENSSL-README.txt
conf\openssl.cnf
@@ -645,7 +659,10 @@
OpenSSL support page.
--------------------------------------------------------------------------------
+
<<
+ -copy "$(INSTDIR)\OPENSSL-README.txt" \
+ + srclib\openssl\README "$(INSTDIR)\OPENSSL-README.txt"
!ENDIF
!IF EXIST("srclib\zlib")
type << >> "$(INSTDIR)\NOTICE.txt"
@@ -662,9 +679,9 @@
print "For the mod_deflate zlib compression component:";
while ( getline > 0 && $$0 !~ /^[^ ]/ ) {
print $$0;
- }
- exit 0;
- }
+ }
+ exit 0;
+ }
}
exit 1;
}
@@ -676,7 +693,7 @@
inst_dll="$(INSTDIR)\bin" \
inst_so="$(INSTDIR)\modules"
$(MAKE) $(MAKEOPT) -f Makefile.win SHORT=$(SHORT) LONG=$(LONG) \
- _copybin src_exe=pdb src_dll=pdb src_so=pdb quiet="-" \
+ _copybin src_exe=pdb src_dll=pdb src_so=pdb \
inst_exe="$(INSTDIR)\bin" \
inst_dll="$(INSTDIR)\bin" \
inst_so="$(INSTDIR)\modules"
@@ -703,16 +720,33 @@
xcopy docs\docroot "$(INSTDIR)\htdocs" /d < .a
xcopy docs\icons "$(INSTDIR)\icons" /s /d < .a
xcopy docs\manual "$(INSTDIR)\manual" /s /d < .a
- xcopy srclib\apr-util\xml\expat\lib\expat.h "$(INSTDIR)\include" /d < .a
- xcopy srclib\apr\include\*.h "$(INSTDIR)\include" /d < .a
- xcopy srclib\apr-util\include\*.h "$(INSTDIR)\include" /d < .a
- xcopy include\*.h "$(INSTDIR)\include" /d < .a
- copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
- copy srclib\apr\Lib$(SHORT)\apr_src.pdb "$(INSTDIR)\lib" <.y
- copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
- copy srclib\apr-util\Lib$(SHORT)\aprutil_src.pdb "$(INSTDIR)\lib" <.y
+ for %f in ( \
+ srclib\apr-util\xml\expat\lib\expat.h \
+ srclib\apr\include\*.h \
+ srclib\apr-util\include\*.h \
+ include\*.h \
+ os\win32\os.h \
+ server\mpm\winnt\mpm*.h \
+ modules\aaa\mod_auth.h \
+ modules\database\mod_dbd.h \
+ modules\dav\main\mod_dav.h \
+ modules\filters\mod_include.h \
+ modules\generators\mod_cgi.h \
+ modules\generators\mod_status.h \
+ modules\loggers\mod_log_config.h \
+ modules\http\mod_core.h \
+ modules\proxy\mod_proxy.h \
+ modules\ssl\mod_ssl.h \
+ modules\mappers\mod_so.h \
+ modules\mappers\mod_rewrite.h \
+ modules\cache\mod_cache.h ) do \
+ @copy %f "$(INSTDIR)\include" < .y > nul
+ copy srclib\apr\Lib$(SHORT)\apr-1.lib "$(INSTDIR)\lib" <.y
+ copy srclib\apr\Lib$(SHORT)\apr-1.pdb "$(INSTDIR)\lib" <.y
+ copy srclib\apr-util\Lib$(SHORT)\aprutil-1.lib "$(INSTDIR)\lib" <.y
+ copy srclib\apr-util\Lib$(SHORT)\aprutil-1.pdb "$(INSTDIR)\lib" <.y
copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.lib "$(INSTDIR)\lib" <.y
- copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml_src.pdb "$(INSTDIR)\lib" <.y
+ copy srclib\apr-util\xml\expat\lib\Lib$(SHORT)\xml.pdb "$(INSTDIR)\lib" <.y
copy srclib\apr\$(LONG)\libapr-1.lib "$(INSTDIR)\lib" <.y
copy srclib\apr\$(LONG)\libapr-1.exp "$(INSTDIR)\lib" <.y
copy srclib\apr-iconv\$(LONG)\libapriconv-1.lib "$(INSTDIR)\lib" <.y
@@ -723,65 +757,10 @@
copy $(LONG)\libhttpd.lib "$(INSTDIR)\lib" <.y
copy modules\dav\main\$(LONG)\mod_dav.exp "$(INSTDIR)\lib" <.y
copy modules\dav\main\$(LONG)\mod_dav.lib "$(INSTDIR)\lib" <.y
- echo Y >.y
for %f in ( charset.conv magic mime.types ) do ( \
- copy docs\conf\%f "$(INSTDIR)\conf\%f.default" <.y && \
- if not exist "$(INSTDIR)\conf\%f" \
- copy "$(INSTDIR)\conf\%f.default" "$(INSTDIR)\conf\%f" \
- )
- copy docs\conf\httpd-win.conf "$(INSTDIR)\conf\httpd.conf.default" <.y
- -awk -f <<script.awk "docs/conf/httpd-win.conf" "$(INSTDIR)" > "$(INSTDIR)\conf\httpd.conf.default"
- BEGIN {
- serverroot = ARGV[2];
- delete ARGV[2];
- gsub( /\\/, "/", serverroot );
- "cd" | getline root;
- gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
- }
- {
- gsub( /@@ServerRoot@@/, serverroot );
- gsub( /@@ServerName@@/, "$(SERVERNAME)" );
- gsub( /@@Port@@/, "$(PORT)" );
- print $$0;
- }
-<<
- if not exist "$(INSTDIR)\conf\httpd.conf" \
- copy "$(INSTDIR)\conf\httpd.conf.default" "$(INSTDIR)\conf\httpd.conf"
- for %f in ( docs\conf\extra\*.in ) do ( \
- copy %f "$(INSTDIR)\conf\extra\%~nf.default" <.y && \
- awk -f <<script.awk "docs/conf/extra/%~nf.in" "$(INSTDIR)" > "$(INSTDIR)\conf\extra\%~nf.default" )
- BEGIN {
- serverroot = ARGV[2];
- delete ARGV[2];
- gsub( /\\/, "/", serverroot );
- "cd" | getline root;
- gsub( /^\//, substr( root, 1, 2 ) "/", serverroot );
- }
- {
- gsub( /SSLMutex file:@exp_runtimedir@\/ssl_mutex/, "SSLMutex default" );
- gsub( /@@ServerRoot@@/, serverroot );
- gsub( /@exp_cgidir@/, serverroot "/cgi-bin" );
- gsub( /@exp_sysconfdir@/, serverroot "/conf" );
- gsub( /@exp_errordir@/, serverroot "/error" );
- gsub( /@exp_htdocsdir@/, serverroot "/htdocs" );
- gsub( /@exp_iconsdir@/, serverroot "/icons" );
- gsub( /@exp_logfiledir@/, serverroot "/logs" );
- gsub( /@exp_runtimedir@/, serverroot "/logs" );
- gsub( /@exp_manualdir@/, serverroot "/manual" );
- gsub( /@rel_runtimedir@/, "logs" );
- gsub( /@rel_logfiledir@/, "logs" );
- gsub( /\/home\/\*\/public_html/, "\"C:/Documents and Settings/*/My Documents/My Website\"" );
- gsub( /UserDir public_html/, "UserDir \"My Documents/My Website\"" );
- gsub( /@@ServerName@@/, "$(SERVERNAME)" );
- gsub( /@@Port@@/, "$(PORT)" );
- gsub( /443/, "$(SSLPORT)" );
- print $$0;
- }
-<<
- for %f in ( docs\conf\extra\*.in ) do ( \
- if not exist "$(INSTDIR)\conf\extra\%~nf" \
- copy "$(INSTDIR)\conf\extra\%~nf.default" "$(INSTDIR)\conf\extra\%~nf" \
- )
+ copy docs\conf\%f "$(INSTDIR)\conf\original\%f" <.y )
+ awk -f build\installwinconf.awk $(DOMAINNAME) $(SERVERNAME) \
+ $(SERVERADMIN) $(PORT) $(SSLPORT) "$(INSTDIR) " docs/conf/
copy "support\dbmmanage.in" "$(INSTDIR)\bin\dbmmanage.pl"
-awk -f <<script.awk "support/dbmmanage.in" >"$(INSTDIR)\bin\dbmmanage.pl"
{ if ( $$0 ~ /^BEGIN \{ @AnyDBM_File::/ ) {
Modified: httpd/sandbox/amsterdam/d/NOTICE
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/NOTICE?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/NOTICE (original)
+++ httpd/sandbox/amsterdam/d/NOTICE Mon Apr 7 09:28:58 2008
@@ -1,5 +1,5 @@
Apache HTTP Server
-Copyright 2007 The Apache Software Foundation.
+Copyright 2008 The Apache Software Foundation.
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Modified: httpd/sandbox/amsterdam/d/NWGNUmakefile
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/NWGNUmakefile?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/NWGNUmakefile (original)
+++ httpd/sandbox/amsterdam/d/NWGNUmakefile Mon Apr 7 09:28:58 2008
@@ -237,6 +237,7 @@
$(OBJDIR)/util_cfgtree.o \
$(OBJDIR)/util_charset.o \
$(OBJDIR)/util_debug.o \
+ $(OBJDIR)/util_expr.o \
$(OBJDIR)/util_filter.o \
$(OBJDIR)/util_md5.o \
$(OBJDIR)/util_mutex.o \
Modified: httpd/sandbox/amsterdam/d/README.platforms
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/README.platforms?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/README.platforms (original)
+++ httpd/sandbox/amsterdam/d/README.platforms Mon Apr 7 09:28:58 2008
@@ -48,6 +48,14 @@
this affects you, downgrading to autoconf 2.13 (which is installed
on Darwin) will help.
+ With Leopard (at least up to 10.5.2), when running configure
+ you will likely see errors such as:
+
+ rm: conftest.dSYM: is a directory
+
+ This is a known issue and will be fixed in a later version of the
+ autoconf suite. These errors can be safely ignored.
+
==========
FreeBSD:
autoconf 2.52 creates scripts that are incompatible with the Posix
Modified: httpd/sandbox/amsterdam/d/STATUS
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/STATUS?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/STATUS (original)
+++ httpd/sandbox/amsterdam/d/STATUS Mon Apr 7 09:28:58 2008
@@ -31,17 +31,17 @@
Contributors looking for a mission:
- * Just do an egrep on "TODO" or "XXX" in the source.
+ * Just do an egrep on "TODO" or "XXX" in the source.
- * Review the bug database at: http://issues.apache.org/bugzilla/
+ * Review the bug database at: http://issues.apache.org/bugzilla/
- * Review the "PatchAvailable" bugs in the bug database:
+ * Review the "PatchAvailable" bugs in the bug database:
- https://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable
+ https://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable
- After testing, you can append a comment saying "Reviewed and tested".
+ After testing, you can append a comment saying "Reviewed and tested".
- * Open bugs in the bug database.
+ * Open bugs in the bug database.
CURRENT RELEASE NOTES:
@@ -49,402 +49,401 @@
RELEASE SHOWSTOPPERS:
- * Handling of non-trailing / config by non-default handler is broken
- http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105451701628081&w=2
- jerenkrantz asks: Why should this block a release?
- wsanchez agrees: this may be a change in behavior, but isn't
- clearly wrong, and even if so, it doesn't seem like a
- showstopper.
-
- * the edge connection filter cannot be removed
- http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105366252619530&w=2
-
- jerenkrantz asks: Why should this block a release?
-
- stas replies: because it requires a rewrite of the filters stack
- implementation (you have suggested that) and once 2.2 is
- released you can't do that anymore.
+ * Handling of non-trailing / config by non-default handler is broken
+ http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105451701628081&w=2
+ jerenkrantz asks: Why should this block a release?
+ wsanchez agrees: this may be a change in behavior, but isn't
+ clearly wrong, and even if so, it doesn't seem like a
+ showstopper.
+
+ * the edge connection filter cannot be removed
+ http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105366252619530&w=2
+
+ jerenkrantz asks: Why should this block a release?
+
+ stas replies: because it requires a rewrite of the filters stack
+ implementation (you have suggested that) and once 2.2 is
+ released you can't do that anymore.
CURRENT VOTES:
- * If the parent process dies, should the remaining child processes
- "gracefully" self-terminate. Or maybe we should make it a runtime
- option, or have a concept of 2 parent processes (one being a
- "hot spare").
- See: Message-ID: <3C...@Golux.Com>
-
- Self-destruct: Ken, Martin, Lars
- Not self-destruct: BrianP, Ian, Cliff, BillS
- Make it runtime configurable: Aaron, jim, Justin, wrowe, rederpj, nd
-
- /* The below was a concept on *how* to handle the problem */
- Have 2 parents: +1: jim
- -1: Justin, wrowe, rederpj, nd
- +0: Lars, Martin (while standing by, could it do
- something useful?)
-
- * Make the worker MPM the default MPM for threaded Unix boxes.
- +1: Justin, Ian, Cliff, BillS, striker, wrowe, nd
- +0: BrianP, Aaron (mutex contention is looking better with the
- latest code, let's continue tuning and testing), rederpj, jim
- -0: Lars
-
- pquerna: Do we want to change this for 2.2?
+ * If the parent process dies, should the remaining child processes
+ "gracefully" self-terminate. Or maybe we should make it a runtime
+ option, or have a concept of 2 parent processes (one being a
+ "hot spare").
+ See: Message-ID: <3C...@Golux.Com>
+
+ Self-destruct: Ken, Martin, Lars
+ Not self-destruct: BrianP, Ian, Cliff, BillS
+ Make it runtime configurable: Aaron, jim, Justin, wrowe, rederpj, nd
+
+ /* The below was a concept on *how* to handle the problem */
+ Have 2 parents: +1: jim
+ -1: Justin, wrowe, rederpj, nd
+ +0: Lars, Martin (while standing by, could it do
+ something useful?)
+
+ * Make the worker MPM the default MPM for threaded Unix boxes.
+ +1: Justin, Ian, Cliff, BillS, striker, wrowe, nd
+ +0: BrianP, Aaron (mutex contention is looking better with the
+ latest code, let's continue tuning and testing), rederpj, jim
+ -0: Lars
+ pquerna: Do we want to change this for *2.4*?
+ wrowe: Replies "yes"
RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
- * Patches submitted to the bug database:
- http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable
+ * Patches submitted to the bug database:
+ http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable
- * Filter stacks and subrequests, redirects and fast redirects.
- There's at least one PR that suffers from the current unclean behaviour
- (which lets the server send garbage): PR 17629
- nd says: Every subrequest should get its own filter stack with the
- subreq_core filter as bottom-most. That filter does two things:
- - swallow EOS buckets
- - redirect the data stream to the upper request's (rr->main)
- filter chain directly after the subrequest's starting
- point.
- Once we have a clean solution, we can try to optimize
- it, so that the server won't be slow down too much.
-
- * RFC 2616 violations.
- Closed PRs: 15857.
- Open PRs: 15852, 15859, 15861, 15864, 15865, 15866, 15868, 15869,
- 15870, 16120, 16125, 16126, 16133, 16135, 16136, 16137,
- 16138, 16139, 16140, 16142, 16518, 16520, 16521,
- jerenkrantz says: need to decide how many we need to backport and/or
- if these rise to showstopper status.
- wrowe suggests: it would be nice to see "MUST" v.s. "SHOULD" v.s. "MAY"
- out of this list, without reviewing them individually.
-
- * There is a bug in how we sort some hooks, at least the pre-config
- hook. The first time we call the hooks, they are in the correct
- order, but the second time, we don't sort them correctly. Currently,
- the modules/http/config.m4 file has been renamed to
- modules/http/config2.m4 to work around this problem, it should moved
- back when this is fixed.
-
- OtherBill offers that this is a SERIOUS problem. We do not sort
- correctly by the ordering arguments passed to the register hook
- functions. This was proven when I reordered the open_logs hook
- to attempt to open the error logs prior to the access logs. Possibly
- the entire sorting code needs to be refactored.
-
- * pipes deadlock on all platforms with limited pipe buffers (e.g. both
- Linux and Win32, as opposed to only Win32 on 1.3). The right solution
- is either GStein's proposal for a "CGI Brigade", or OtherBill's proposal
- for "Poll Buckets" for "Polling Filter Chains". Or maybe both :-)
-
- * All handlers should always send content down even if r->header_only
- is set. If not, it means that the HEAD requests don't generate the
- same headers as a GET which is wrong.
-
- * exec cmd and suexec arg-passing enhancements
- Status: Patches proposed
- Message-ID: <20...@prodigy.Redbrick.DCU.IE>
- (see the "proc.patch" and "suexec-shell.patch" links in this message)
-
- * The 2.0.36 worker MPM graceless shutdown changes work but are
- a bit clunky on some platforms; eg, on Linux, the loop to
- join each worker thread seems to hang, and the parent ends up
- killing off the child with SIGKILL. But at least it shuts down.
-
- chrisd: Has this been fixed by the changes for PR 38737?
-
- * --enable-mods-shared="foo1 foo2" is busted on Darwin. Pier
- posted a patch (Message-ID: <B8...@betaversion.org>).
-
- * We do not properly substitute the prefix-variables in the configuration
- scripts or generated-configs. (i.e. if sysconfdir is etc,
- httpd-std.conf points to conf.)
-
- * If any request gets through ap_process_request_internal() and is
- scheduled to be served by the core handler, without a flag that this
- r->filename was tested by dir/file_walk, we need to 500 at the very
- end of the ap_process_request_internal() processing so sub_req-esters
- know this request cannot be run. This provides authors of older
- modules better compatibility, while still improving the security and
- robustness of 2.0.
-
- Status: still need to decide where this goes, OtherBill comments...
- Message-ID: <06...@roweclan.net>
- [Deleted comments regarding the ap_run_handler phase, as irrelevant
- as BillS points out that "common case will be caught in
- default_handler already (with the r->finfo.filetype == 0 check)"
- and the issue is detecting this -before- we try to run the req.]
-
- gregames says: can this happen somehow without a broken module
- being involved? If not, why waste cycles trying to defend against
- potential broken modules? It seems futile.
- wrowe counters: no, it shouldn't happen unless the module is broken.
- But the right answer is to fail the request up-front in dir/file
- walk if the path was entirely invalid; and we can't do that either
- UNTIL 2.1 or we break modules that haven't hooked map_to_storage.
-
- * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
- how the Perchild MPM should be re-written. It hasn't worked
- correctly since filters were added because it wasn't possible to
- get the content that had already been written and the socket at
- the same time. This mode lets us do that, so the MPM can be
- fixed.
-
- * Can a static httpd be built reliably?
- Message-ID: <20...@clove.org>
-
- * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
- removed if possible.
- Message-ID: <Pi...@deepthought.cs.virginia.edu>
- Jeff wonders if we still care about this. It is no longer an
- API issue but simply an extra trip through the brigade.
-
- * Get perchild to work on platforms other than Linux. This
- will require a portable mechanism to pass data and file/socket
- descriptors between vhost child groups. An API was proposed
- on dev@apr:
- Message-ID: <20...@clove.org>
-
- * Try to get libtool inter-library dependency code working on AIX.
- Message-ID: <cm...@rdu163-40-092.nc.rr.com>
-
- Justin says: If we get it working on AIX, we can enable this
- on all platforms and clean up our build system
- somewhat.
- Jeff says: I thought I tested a patch for you sometime in
- January that you were going to commit within a few
- days.
-
- * Handling of %2f in URIs. Currently both 1.3 and 2.0
- completely disallow %2f in the request URI path (see
- ap_unescape_url() in util.c). It's permitted and passed
- through in the query string, however. Roy says the
- original reason for disallowing it, from five years ago,
- was to protect CGI scripts that applied PATH_INFO to
- a filesystem location and which might be tricked by
- ..%2f..%2f(...). We *should* allow path-info of the
- form 'http://foo.com/index.cgi/path/to/path%2finfo'.
- Since we've revamped a lot of our processing of path
- segments, it would be nice to allow this, or at least
- allow it conditionally with a directive.
-
- OtherBill adds that %2f as the SECOND character of a multibyte
- sequence causes the request to fail! This happens notably in
- the ja-jis encoding.
-
- * FreeBSD, threads, and worker MPM. All seems to work fine
- if you only have one worker process with many threads. Add
- a second worker process and the accept lock seems to be
- lost. This might be an APR issue with how it deals with
- the child_init hook (i.e. the fcntl lock needs to be resynced).
- More examination and analysis is required.
- Status: Works with FreeBSD 5.3. Does not work in previous versions.
- This has also been reported on Cygwin.
-
- * There is increasing demand from module writers for an API
- that will allow them to control the server à la apachectl.
- Reasons include sole-function servers that need to die if
- an external dependency (e.g., a database) fails, et cetera.
- Perhaps something in the (ever more abused) scoreboard?
-
- On the other hand, we already have a pipe that goes between parent
- and child for graceful shutdown events, along with an API that
- can be used to send a message down that pipe. In threaded MPMs,
- it is easy enough to make that one pipe be used for graceful
- and graceless events, and it is also easy to open that pipe
- to both parent and child for writing. Then we just need to
- figure out how to do graceless on non-threaded MPMs.
-
- * Allow the DocumentRoot directive within <Location > scopes? This
- allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
- by a <Directory /somepath/foo> to become simply
- <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
- and in-your-face.) DocumentRoot unset would be accepted [and would
- not permit content to be served, only virtual resources such as
- server-info or server-status.
- This proposed change would _not_ depricate Alias.
- striker: See the thread starting with Message-ID:
- JLEGKKNELMHCJPNMOKHOGEEJFBAA.striker@apache.org.
-
- * Win32: Rotatelogs sometimes is not terminated when Apache
- goes down hard. FirstBill was looking at possibly tracking the
- child's-child processes in the parent process.
- stoddard: Shared scoreboard might offer a good way for the parent
- to keep track of 'other child' processes and whack them if the child
- goes down.
- Other thoughts on walking the process chain using the NT kernel
- have also been proposed on APR.
-
- * Eliminate unnecessary creation of pipes in mod_cgid
-
- * Combine log_child and piped_log_spawn. Clean up http_log.c.
- Common logging API.
-
- * Platforms that do not support fork (primarily Win32 and AS/400)
- Architect start-up code that avoids initializing all the modules
- in the parent process on platforms that do not support fork.
-
- * There are still a number of places in the code where we are
- losing error status (i.e. throwing away the error returned by a
- system call and replacing it with a generic error code)
-
- * Mass vhosting version of suEXEC.
-
- * All DBMs suffer from confusion in support/dbmmanage (perl script) since
- the dbmmanage employs the first-matched dbm format. This is not
- necessarily the library that Apache was built with. Aught to
- rewrite dbmmanage upon installation to bin/ with the proper library
- for predictable mod_auth_dbm administration.
- Questions; htdbm exists, time to kill dbmmanage, or does it remain
- useful as a perl dbm management example? If we keep it,
- do we address the issue above?
-
- * Integrate mod_dav.
- Some additional items remaining:
- - case_preserved_filename stuff
- (use the new canonical name stuff?)
- - find a new home for ap_text(_header)
- - is it possible to remove the DAV: namespace stuff from util_xml?
-
- * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
- are a bit wonky. The function should probably be exposed as a utility
- function (such as ap_translate_url2fs() or ap_validate_fs_url() or
- something). Another approach would be a new hook phase after
- "translate" which would allow the module to munge what the
- translation has decided to do.
- Status: Greg +1 (volunteers)
-
- * Explore use of a post-config hook for the code in http_main.c which
- calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
- ap_sort_hooks() [to reduce the logic in main()]
-
- * read the config tree just once, and process N times (as necessary)
-
- * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
-
- * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
- into a VirtualHost container) to 2.0.
-
- * shift stuff to mod_core.h
-
- * callers of ap_run_create_request() should check the return value
- for failure (Doug volunteers)
-
- * Fix the worker MPM to use POD to kill child processes instead
- of ap_os_killpg, regardless of how they should die.
-
- chrisd: Is this done, by any chance? See r92598 and r93358.
-
- * Scoreboard structures could be changed in the future such that
- proper alignment is not maintained, leading to segfaults on
- some systems. Cliff posted a patch to deal with this issue but
- later recanted. See this message to dev@apr.apache.org:
- Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
- .cs.virginia.edu>
-
- * APXS either needs to be fixed completely for use when apr is out of tree,
- or it should drop query mode altogether, and we just grow an
- httpd-config or similar arrangement.
- To quote a discussion in STATUS earlier:
-
- thommay: this doesn't fix all the problems with apxs and out of
- tree apr/apr-util, but it's a good start. There's still the
- query cases; but I'm beginning to think that in these cases
- the app should be querying ap{r,u}-config directly
- gstein: agreed. apxs should deprecate the -q flag
- pquerna: I vote for a httpd-config, and to deprecate the -q flag.
- minfrin: +1 for httpd-config, and to deprecate -q.
+ * Filter stacks and subrequests, redirects and fast redirects.
+ There's at least one PR that suffers from the current unclean behaviour
+ (which lets the server send garbage): PR 17629
+ nd says: Every subrequest should get its own filter stack with the
+ subreq_core filter as bottom-most. That filter does two things:
+ - swallow EOS buckets
+ - redirect the data stream to the upper request's (rr->main)
+ filter chain directly after the subrequest's starting
+ point.
+ Once we have a clean solution, we can try to optimize
+ it, so that the server won't be slow down too much.
+
+ * RFC 2616 violations.
+ Closed PRs: 15857.
+ Open PRs: 15852, 15859, 15861, 15864, 15865, 15866, 15868, 15869,
+ 15870, 16120, 16125, 16126, 16133, 16135, 16136, 16137,
+ 16138, 16139, 16140, 16142, 16518, 16520, 16521,
+ jerenkrantz says: need to decide how many we need to backport and/or
+ if these rise to showstopper status.
+ wrowe suggests: it would be nice to see "MUST" v.s. "SHOULD" v.s. "MAY"
+ out of this list, without reviewing them individually.
+
+ * There is a bug in how we sort some hooks, at least the pre-config
+ hook. The first time we call the hooks, they are in the correct
+ order, but the second time, we don't sort them correctly. Currently,
+ the modules/http/config.m4 file has been renamed to
+ modules/http/config2.m4 to work around this problem, it should moved
+ back when this is fixed.
+
+ OtherBill offers that this is a SERIOUS problem. We do not sort
+ correctly by the ordering arguments passed to the register hook
+ functions. This was proven when I reordered the open_logs hook
+ to attempt to open the error logs prior to the access logs. Possibly
+ the entire sorting code needs to be refactored.
+
+ * pipes deadlock on all platforms with limited pipe buffers (e.g. both
+ Linux and Win32, as opposed to only Win32 on 1.3). The right solution
+ is either GStein's proposal for a "CGI Brigade", or OtherBill's proposal
+ for "Poll Buckets" for "Polling Filter Chains". Or maybe both :-)
+
+ * All handlers should always send content down even if r->header_only
+ is set. If not, it means that the HEAD requests don't generate the
+ same headers as a GET which is wrong.
+
+ * exec cmd and suexec arg-passing enhancements
+ Status: Patches proposed
+ Message-ID: <20...@prodigy.Redbrick.DCU.IE>
+ (see the "proc.patch" and "suexec-shell.patch" links in this message)
+
+ * The 2.0.36 worker MPM graceless shutdown changes work but are
+ a bit clunky on some platforms; eg, on Linux, the loop to
+ join each worker thread seems to hang, and the parent ends up
+ killing off the child with SIGKILL. But at least it shuts down.
+
+ chrisd: Has this been fixed by the changes for PR 38737?
+
+ * --enable-mods-shared="foo1 foo2" is busted on Darwin. Pier
+ posted a patch (Message-ID: <B8...@betaversion.org>).
+
+ * We do not properly substitute the prefix-variables in the configuration
+ scripts or generated-configs. (i.e. if sysconfdir is etc,
+ httpd-std.conf points to conf.)
+
+ * If any request gets through ap_process_request_internal() and is
+ scheduled to be served by the core handler, without a flag that this
+ r->filename was tested by dir/file_walk, we need to 500 at the very
+ end of the ap_process_request_internal() processing so sub_req-esters
+ know this request cannot be run. This provides authors of older
+ modules better compatibility, while still improving the security and
+ robustness of 2.0.
+
+ Status: still need to decide where this goes, OtherBill comments...
+ Message-ID: <06...@roweclan.net>
+ [Deleted comments regarding the ap_run_handler phase, as irrelevant
+ as BillS points out that "common case will be caught in
+ default_handler already (with the r->finfo.filetype == 0 check)"
+ and the issue is detecting this -before- we try to run the req.]
+
+ gregames says: can this happen somehow without a broken module
+ being involved? If not, why waste cycles trying to defend against
+ potential broken modules? It seems futile.
+ wrowe counters: no, it shouldn't happen unless the module is broken.
+ But the right answer is to fail the request up-front in dir/file
+ walk if the path was entirely invalid; and we can't do that either
+ UNTIL 2.1 or we break modules that haven't hooked map_to_storage.
+
+ * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
+ how the Perchild MPM should be re-written. It hasn't worked
+ correctly since filters were added because it wasn't possible to
+ get the content that had already been written and the socket at
+ the same time. This mode lets us do that, so the MPM can be
+ fixed.
+
+ * Can a static httpd be built reliably?
+ Message-ID: <20...@clove.org>
+
+ * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
+ removed if possible.
+ Message-ID:
+ <Pi...@deepthought.cs.virginia.edu>
+ Jeff wonders if we still care about this. It is no longer an
+ API issue but simply an extra trip through the brigade.
+
+ * Get perchild to work on platforms other than Linux. This
+ will require a portable mechanism to pass data and file/socket
+ descriptors between vhost child groups. An API was proposed
+ on dev@apr:
+ Message-ID: <20...@clove.org>
+
+ * Try to get libtool inter-library dependency code working on AIX.
+ Message-ID: <cm...@rdu163-40-092.nc.rr.com>
+
+ Justin says: If we get it working on AIX, we can enable this
+ on all platforms and clean up our build system somewhat.
+ Jeff says: I thought I tested a patch for you sometime in
+ January that you were going to commit within a few days.
+
+ * Handling of %2f in URIs. Currently both 1.3 and 2.0
+ completely disallow %2f in the request URI path (see
+ ap_unescape_url() in util.c). It's permitted and passed
+ through in the query string, however. Roy says the
+ original reason for disallowing it, from five years ago,
+ was to protect CGI scripts that applied PATH_INFO to
+ a filesystem location and which might be tricked by
+ ..%2f..%2f(...). We *should* allow path-info of the
+ form 'http://foo.com/index.cgi/path/to/path%2finfo'.
+ Since we've revamped a lot of our processing of path
+ segments, it would be nice to allow this, or at least
+ allow it conditionally with a directive.
+
+ OtherBill adds that %2f as the SECOND character of a multibyte
+ sequence causes the request to fail! This happens notably in
+ the ja-jis encoding.
+
+ * FreeBSD, threads, and worker MPM. All seems to work fine
+ if you only have one worker process with many threads. Add
+ a second worker process and the accept lock seems to be
+ lost. This might be an APR issue with how it deals with
+ the child_init hook (i.e. the fcntl lock needs to be resynced).
+ More examination and analysis is required.
+ Status: Works with FreeBSD 5.3. Does not work in previous versions.
+ This has also been reported on Cygwin.
+
+ * There is increasing demand from module writers for an API
+ that will allow them to control the server à la apachectl.
+ Reasons include sole-function servers that need to die if
+ an external dependency (e.g., a database) fails, et cetera.
+ Perhaps something in the (ever more abused) scoreboard?
+
+ On the other hand, we already have a pipe that goes between parent
+ and child for graceful shutdown events, along with an API that
+ can be used to send a message down that pipe. In threaded MPMs,
+ it is easy enough to make that one pipe be used for graceful
+ and graceless events, and it is also easy to open that pipe
+ to both parent and child for writing. Then we just need to
+ figure out how to do graceless on non-threaded MPMs.
+
+ * Allow the DocumentRoot directive within <Location > scopes? This
+ allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
+ by a <Directory /somepath/foo> to become simply
+ <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
+ and in-your-face.) DocumentRoot unset would be accepted [and would
+ not permit content to be served, only virtual resources such as
+ server-info or server-status.
+ This proposed change would _not_ depricate Alias.
+ striker: See the thread starting with Message-ID:
+ JLEGKKNELMHCJPNMOKHOGEEJFBAA.striker@apache.org.
+
+ * Win32: Rotatelogs sometimes is not terminated when Apache
+ goes down hard. FirstBill was looking at possibly tracking the
+ child's-child processes in the parent process.
+ stoddard: Shared scoreboard might offer a good way for the parent
+ to keep track of 'other child' processes and whack them if the child
+ goes down.
+ Other thoughts on walking the process chain using the NT kernel
+ have also been proposed on APR.
+
+ * Eliminate unnecessary creation of pipes in mod_cgid
+
+ * Combine log_child and piped_log_spawn. Clean up http_log.c.
+ Common logging API.
+
+ * Platforms that do not support fork (primarily Win32 and AS/400)
+ Architect start-up code that avoids initializing all the modules
+ in the parent process on platforms that do not support fork.
+
+ * There are still a number of places in the code where we are
+ losing error status (i.e. throwing away the error returned by a
+ system call and replacing it with a generic error code)
+
+ * Mass vhosting version of suEXEC.
+
+ * All DBMs suffer from confusion in support/dbmmanage (perl script) since
+ the dbmmanage employs the first-matched dbm format. This is not
+ necessarily the library that Apache was built with. Aught to
+ rewrite dbmmanage upon installation to bin/ with the proper library
+ for predictable mod_auth_dbm administration.
+ Questions; htdbm exists, time to kill dbmmanage, or does it remain
+ useful as a perl dbm management example? If we keep it,
+ do we address the issue above?
+
+ * Integrate mod_dav.
+ Some additional items remaining:
+ - case_preserved_filename stuff
+ (use the new canonical name stuff?)
+ - find a new home for ap_text(_header)
+ - is it possible to remove the DAV: namespace stuff from util_xml?
+
+ * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
+ are a bit wonky. The function should probably be exposed as a utility
+ function (such as ap_translate_url2fs() or ap_validate_fs_url() or
+ something). Another approach would be a new hook phase after
+ "translate" which would allow the module to munge what the
+ translation has decided to do.
+ Status: Greg +1 (volunteers)
+
+ * Explore use of a post-config hook for the code in http_main.c which
+ calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
+ ap_sort_hooks() [to reduce the logic in main()]
+
+ * read the config tree just once, and process N times (as necessary)
+
+ * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
+
+ * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
+ into a VirtualHost container) to 2.0.
+
+ * shift stuff to mod_core.h
+
+ * callers of ap_run_create_request() should check the return value
+ for failure (Doug volunteers)
+
+ * Fix the worker MPM to use POD to kill child processes instead
+ of ap_os_killpg, regardless of how they should die.
+
+ chrisd: Is this done, by any chance? See r92598 and r93358.
+
+ * Scoreboard structures could be changed in the future such that
+ proper alignment is not maintained, leading to segfaults on
+ some systems. Cliff posted a patch to deal with this issue but
+ later recanted. See this message to dev@apr.apache.org:
+ Message-ID:
+ <Pi...@deepthought.cs.virginia.edu>
+
+ * APXS either needs to be fixed completely for use when apr is out of tree,
+ or it should drop query mode altogether, and we just grow an
+ httpd-config or similar arrangement.
+ To quote a discussion in STATUS earlier:
+
+ thommay: this doesn't fix all the problems with apxs and out of
+ tree apr/apr-util, but it's a good start. There's still the
+ query cases; but I'm beginning to think that in these cases
+ the app should be querying ap{r,u}-config directly
+ gstein: agreed. apxs should deprecate the -q flag
+ pquerna: I vote for a httpd-config, and to deprecate the -q flag.
+ minfrin: +1 for httpd-config, and to deprecate -q.
TODO ISSUES REMAINING IN MOD_SSL:
- * Do we need SSL_set_read_ahead()?
+ * Do we need SSL_set_read_ahead()?
- * the ssl_expr api is NOT THREAD SAFE. race conditions exist:
- -in ssl_expr_comp() if SSLRequire is used in .htaccess
- (ssl_expr_info is global)
- -is ssl_expr_eval() if there is an error
- (ssl_expr_error is global)
+ * the ssl_expr api is NOT THREAD SAFE. race conditions exist:
+ -in ssl_expr_comp() if SSLRequire is used in .htaccess
+ (ssl_expr_info is global)
+ -is ssl_expr_eval() if there is an error
+ (ssl_expr_error is global)
- * SSLRequire directive (parsing of) leaks memory
+ * SSLRequire directive (parsing of) leaks memory
- * Diffie-Hellman-Parameters for temporary keys are hardcoded in
- ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
- "it is suggested that keys be changed daily or every 500
- transactions, and more often if possible."
+ * Diffie-Hellman-Parameters for temporary keys are hardcoded in
+ ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
+ "it is suggested that keys be changed daily or every 500
+ transactions, and more often if possible."
- * ssl_var_lookup could be rewritten to be MUCH faster
+ * ssl_var_lookup could be rewritten to be MUCH faster
- * CRL callback should be pluggable
+ * CRL callback should be pluggable
- * session cache store should be pluggable
+ * session cache store should be pluggable
- * init functions should return status code rather than ssl_die()
+ * init functions should return status code rather than ssl_die()
- * ssl_engine_pphrase.c needs to be reworked so it is generic enough
- to also decrypt proxy keys
+ * ssl_engine_pphrase.c needs to be reworked so it is generic enough
+ to also decrypt proxy keys
WISH LIST
- * mod_proxy: Ability to run SSL over proxy gateway connections,
- encrypting (or reencrypting) at the proxy.
+ * mod_proxy: Ability to run SSL over proxy gateway connections,
+ encrypting (or reencrypting) at the proxy.
- * mod_cache: Handle ESI tags.
+ * mod_cache: Handle ESI tags.
- * mod_cache: Resolve issue of how to cache page fragements (or perhaps
- -if- we want to cache page fragements). Today, mod_cache/mod_mem_cache
- will cache #include 'virtual' requests (but not #include 'file'
- requests). This was accomplished by making CACHE_IN a
- CONTENT_SET-1 filter to force it to run before the SUBREQ_CORE
- filter. But now responses cannot be cached that include the
- effects of having been run through CONTENT_SET filters
- (mod_deflate, mod_expires, etc). We could rerun all the
- CONTENT_SET filters on the cached response, but this will not
- work in all cases. For example, mod_expires relies on installing
- the EXPIRATION filter during fixups. Contents served out of
- mod_cache (out of the quick_handler) bypass -all- the request
- line server hooks (Ryan really hated this. It is great for
- performance, but bad because of the complications listed above).
+ * mod_cache: Resolve issue of how to cache page fragements (or perhaps
+ -if- we want to cache page fragements). Today, mod_cache/mod_mem_cache
+ will cache #include 'virtual' requests (but not #include 'file'
+ requests). This was accomplished by making CACHE_IN a
+ CONTENT_SET-1 filter to force it to run before the SUBREQ_CORE
+ filter. But now responses cannot be cached that include the
+ effects of having been run through CONTENT_SET filters
+ (mod_deflate, mod_expires, etc). We could rerun all the
+ CONTENT_SET filters on the cached response, but this will not
+ work in all cases. For example, mod_expires relies on installing
+ the EXPIRATION filter during fixups. Contents served out of
+ mod_cache (out of the quick_handler) bypass -all- the request
+ line server hooks (Ryan really hated this. It is great for
+ performance, but bad because of the complications listed above).
mod_cache/mod_mem_cache/mod_disk_cache:
- * mod_mem_cache: Consider adding a RevalidateTimeout directive to
- specify time at which local cached content is to be revalidated
- (ie, underlying file stat'ed to see if it has changed).
-
- * mod_cache: CacheEnable/CacheDisable should accept regular expressions.
- jerenkrantz says: Too slow. Get regexs away from speedy caches by
- default. Introduce a new CacheEnableRegex if you want.
-
- * mod_mem_cache/mod_disk_cache: Need to be able to query cache
- status (num of entries, cache object properties, etc.).
- mod_status could be extended to query optional hooks defined
- by modules for the purpose of reporting module status.
- mod_cache (et. al.) could define optional hooks that are called
- to collect status. Status should be queryable by
- HTTP or SNMP?
- jerenkrantz says: Yawn. Who cares.
-
- * MaxRequestsPerChild measures connections, not requests.
- Until someone has a better way, we'll probably just rename it
- "MaxConnectionsPerChild".
+ * mod_mem_cache: Consider adding a RevalidateTimeout directive to
+ specify time at which local cached content is to be revalidated
+ (ie, underlying file stat'ed to see if it has changed).
+
+ * mod_cache: CacheEnable/CacheDisable should accept regular expressions.
+ jerenkrantz says: Too slow. Get regexs away from speedy caches by
+ default. Introduce a new CacheEnableRegex if you want.
+
+ * mod_mem_cache/mod_disk_cache: Need to be able to query cache
+ status (num of entries, cache object properties, etc.).
+ mod_status could be extended to query optional hooks defined
+ by modules for the purpose of reporting module status.
+ mod_cache (et. al.) could define optional hooks that are called
+ to collect status. Status should be queryable by
+ HTTP or SNMP?
+ jerenkrantz says: Yawn. Who cares.
+
+ * MaxRequestsPerChild measures connections, not requests.
+ Until someone has a better way, we'll probably just rename it
+ "MaxConnectionsPerChild".
- * Regex containers don't work in an intutive way
- Status: No one has come up with an efficient way to fix this
- behavior. Dean has suggested getting rid of regex containers
- completely.
- OtherBill suggests: We at least seem to agree on eliminating
- the <Container ~ foo> forms, and using only
- <ContainerMatch foo> semantics.
-
- * orig_ct in the byterange/multipart handling may not be
- needed. Apache 1.3 just never stashed "multipart" into
- r->content_type. We should probably follow suit since the
- byterange stuff doesn't want the rest of the code to see the
- multipart content-type; the other code should still think it is
- dealing with the <orig_ct> stuff.
- Status: Greg volunteers to investigate (esp. since he was most
- likely the one to break it :-)
+ * Regex containers don't work in an intutive way
+ Status: No one has come up with an efficient way to fix this
+ behavior. Dean has suggested getting rid of regex containers
+ completely.
+ OtherBill suggests: We at least seem to agree on eliminating
+ the <Container ~ foo> forms, and using only
+ <ContainerMatch foo> semantics.
+
+ * orig_ct in the byterange/multipart handling may not be
+ needed. Apache 1.3 just never stashed "multipart" into
+ r->content_type. We should probably follow suit since the
+ byterange stuff doesn't want the rest of the code to see the
+ multipart content-type; the other code should still think it is
+ dealing with the <orig_ct> stuff.
+ Status: Greg volunteers to investigate (esp. since he was most
+ likely the one to break it :-)
EXPERIMENTAL MODULES:
Modified: httpd/sandbox/amsterdam/d/acinclude.m4
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/acinclude.m4?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/acinclude.m4 (original)
+++ httpd/sandbox/amsterdam/d/acinclude.m4 Mon Apr 7 09:28:58 2008
@@ -79,6 +79,7 @@
APACHE_SUBST(MODULE_DIRS)
APACHE_SUBST(MODULE_CLEANDIRS)
APACHE_SUBST(PORT)
+ APACHE_SUBST(SSLPORT)
APACHE_SUBST(nonssl_listen_stmt_1)
APACHE_SUBST(nonssl_listen_stmt_2)
APACHE_SUBST(CORE_IMPLIB_FILE)
Modified: httpd/sandbox/amsterdam/d/build/build-modules-c.awk
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/build/build-modules-c.awk?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/build/build-modules-c.awk (original)
+++ httpd/sandbox/amsterdam/d/build/build-modules-c.awk Mon Apr 7 09:28:58 2008
@@ -33,7 +33,6 @@
print ""
print "#include \"ap_config.h\""
print "#include \"httpd.h\""
- print "#define CORE_PRIVATE"
print "#include \"http_config.h\""
print ""
for (i = 0; i < pn; ++i) {
Modified: httpd/sandbox/amsterdam/d/build/config_vars.sh.in
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/build/config_vars.sh.in?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/build/config_vars.sh.in (original)
+++ httpd/sandbox/amsterdam/d/build/config_vars.sh.in Mon Apr 7 09:28:58 2008
@@ -49,6 +49,7 @@
/^DSO_MODULES/d
/^MODULE_/d
/^PORT/d
+/^SSLPORT/d
/^nonssl_/d
/^CORE_IMPLIB/d
/^rel_/d
Modified: httpd/sandbox/amsterdam/d/build/make_exports.awk
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/build/make_exports.awk?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/build/make_exports.awk (original)
+++ httpd/sandbox/amsterdam/d/build/make_exports.awk Mon Apr 7 09:28:58 2008
@@ -23,8 +23,6 @@
printf(" * uses them.\n")
printf(" */\n")
printf("\n")
- printf("#define CORE_PRIVATE\n")
- printf("\n")
for (i = 1; i < ARGC; i++) {
file = ARGV[i]
Modified: httpd/sandbox/amsterdam/d/build/mkconfNW.awk
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/build/mkconfNW.awk?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/build/mkconfNW.awk (original)
+++ httpd/sandbox/amsterdam/d/build/mkconfNW.awk Mon Apr 7 09:28:58 2008
@@ -94,10 +94,6 @@
next
}
-match ($0,/443/) {
- sub(/443/, SSLPORT)
-}
-
match ($0,/^#SSLSessionCache +"dbm:/) {
sub(/^#/, "")
}
Modified: httpd/sandbox/amsterdam/d/build/nw_export.inc
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/build/nw_export.inc?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/build/nw_export.inc (original)
+++ httpd/sandbox/amsterdam/d/build/nw_export.inc Mon Apr 7 09:28:58 2008
@@ -24,6 +24,7 @@
#include "ap_mpm.h"
#include "ap_provider.h"
#include "ap_release.h"
+#include "ap_expr.h"
#include "http_config.h"
#include "http_connection.h"
#include "http_core.h"
Modified: httpd/sandbox/amsterdam/d/build/nw_ver.awk
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/build/nw_ver.awk?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/build/nw_ver.awk (original)
+++ httpd/sandbox/amsterdam/d/build/nw_ver.awk Mon Apr 7 09:28:58 2008
@@ -18,7 +18,12 @@
# fetch Apache version numbers from input file and writes them to STDOUT
while ((getline < ARGV[1]) > 0) {
- if (match ($0, /^#define AP_SERVER_MAJORVERSION_NUMBER /)) {
+ if (match ($0, /^#define AP_SERVER_COPYRIGHT \\/)) {
+ if (((getline < ARGV[1]) > 0) && (split($0, c, "\"") == 3)) {
+ copyright_str = c[2];
+ }
+ }
+ else if (match ($0, /^#define AP_SERVER_MAJORVERSION_NUMBER /)) {
ver_major = $3;
}
else if (match ($0, /^#define AP_SERVER_MINORVERSION_NUMBER /)) {
@@ -36,6 +41,7 @@
print "VERSION = " ver_nlm "";
print "VERSION_STR = " ver_str "";
+ print "COPYRIGHT_STR = " copyright_str "";
}
Modified: httpd/sandbox/amsterdam/d/build/prebuildNW.bat
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/build/prebuildNW.bat?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/build/prebuildNW.bat (original)
+++ httpd/sandbox/amsterdam/d/build/prebuildNW.bat Mon Apr 7 09:28:58 2008
@@ -37,7 +37,7 @@
@echo Generating the import lists...
set MWCIncludes=..\include;..\modules\http;..\modules\aaa;..\os\netware;..\server\mpm\netware;..\srclib\apr\include;..\srclib\apr-util\include;+%NovellLibC%
-mwccnlm -P nw_export.inc -d NETWARE -d CORE_PRIVATE -EP
+mwccnlm -P nw_export.inc -d NETWARE -EP
awk -f make_nw_export.awk nw_export.i |sort >..\os\netware\httpd.imp
rem cd ..\srclib\apr\build
Modified: httpd/sandbox/amsterdam/d/configure.in
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/configure.in?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/configure.in (original)
+++ httpd/sandbox/amsterdam/d/configure.in Mon Apr 7 09:28:58 2008
@@ -204,7 +204,7 @@
APR_ADDTO(INCLUDES, [-I\$(top_builddir)/include])
fi
-APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/os/\$(OS_DIR) -I\$(top_srcdir)/server/mpm/\$(MPM_SUBDIR_NAME) -I\$(top_srcdir)/modules/http -I\$(top_srcdir)/modules/filters -I\$(top_srcdir)/modules/proxy -I\$(top_srcdir)/include -I\$(top_srcdir)/modules/generators -I\$(top_srcdir)/modules/mappers -I\$(top_srcdir)/modules/database])
+APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/os/\$(OS_DIR) -I\$(top_srcdir)/server/mpm/\$(MPM_SUBDIR_NAME) -I\$(top_srcdir)/modules/http -I\$(top_srcdir)/modules/filters -I\$(top_srcdir)/modules/proxy -I\$(top_srcdir)/modules/session -I\$(top_srcdir)/include -I\$(top_srcdir)/modules/generators -I\$(top_srcdir)/modules/mappers -I\$(top_srcdir)/modules/database])
# apr/apr-util --includes may pick up system paths for dependent
# libraries, so ensure these are later in INCLUDES than local source
@@ -444,6 +444,10 @@
AC_ARG_WITH(port,APACHE_HELP_STRING(--with-port=PORT,Port on which to listen (default is 80)),
[if test "$withval" = "yes"; then AC_MSG_ERROR('option --with-port requires a value (the TCP port number)'); else PORT="$withval"; fi],
[PORT=80])
+
+AC_ARG_WITH(sslport,APACHE_HELP_STRING(--with-sslport=SSLPORT,Port on which to securelisten (default is 443)),
+ [if test "$withval" = "yes"; then AC_MSG_ERROR('option --with-sslport requires a value (the SSL TCP port number)'); else SSLPORT="$withval"; fi],
+ [SSLPORT=443])
APR_CHECK_APR_DEFINE(APR_HAVE_IPV6)
Modified: httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-languages.conf.in
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-languages.conf.in?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-languages.conf.in (original)
+++ httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-languages.conf.in Mon Apr 7 09:28:58 2008
@@ -38,7 +38,8 @@
# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn)
# Norwegian (no) - Polish (pl) - Portugese (pt)
# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv)
-# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW)
+# Turkish (tr) - Simplified Chinese (zh-CN) - Spanish (es)
+# Traditional Chinese (zh-TW)
#
AddLanguage ca .ca
AddLanguage cs .cz .cs
@@ -64,6 +65,7 @@
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
+AddLanguage tr .tr
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
@@ -73,7 +75,7 @@
# Just list the languages in decreasing order of preference. We have
# more or less alphabetized them here. You probably want to change this.
#
-LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
+LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW
#
# ForceLanguagePriority allows you to serve a result page rather than
@@ -136,4 +138,4 @@
AddCharset gb2312 .gb2312 .gb
AddCharset iso-10646-ucs-2 .ucs-2 .iso-10646-ucs-2
AddCharset iso-10646-ucs-4 .ucs-4 .iso-10646-ucs-4
-AddCharset shift_jis .shift_jis .sjis
\ No newline at end of file
+AddCharset shift_jis .shift_jis .sjis
Modified: httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-manual.conf.in
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-manual.conf.in?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-manual.conf.in (original)
+++ httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-manual.conf.in Mon Apr 7 09:28:58 2008
@@ -7,7 +7,7 @@
# Required modules: mod_alias, mod_setenvif, mod_negotiation
#
-AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|pt-br|ru))?(/.*)?$ "@exp_manualdir@$1"
+AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|pt-br|ru|tr))?(/.*)?$ "@exp_manualdir@$1"
<Directory "@exp_manualdir@">
Options Indexes
@@ -17,10 +17,14 @@
<Files *.html>
SetHandler type-map
</Files>
+ # .tr is text/troff in mime.types!
+ <Files *.html.tr.utf8>
+ ForceType text/html
+ </Files>
- SetEnvIf Request_URI ^/manual/(de|en|es|fr|ja|ko|pt-br|ru)/ prefer-language=$1
- RedirectMatch 301 ^/manual(?:/(de|en|es|fr|ja|ko|pt-br|ru)){2,}(/.*)?$ /manual/$1$2
+ SetEnvIf Request_URI ^/manual/(de|en|es|fr|ja|ko|pt-br|ru|tr)/ prefer-language=$1
+ RedirectMatch 301 ^/manual(?:/(de|en|es|fr|ja|ko|pt-br|ru|tr)){2,}(/.*)?$ /manual/$1$2
- LanguagePriority en de es fr ja ko pt-br ru
+ LanguagePriority en de es fr ja ko pt-br ru tr
ForceLanguagePriority Prefer Fallback
</Directory>
Modified: httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-mpm.conf.in
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-mpm.conf.in?rev=645594&r1=645593&r2=645594&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-mpm.conf.in (original)
+++ httpd/sandbox/amsterdam/d/docs/conf/extra/httpd-mpm.conf.in Mon Apr 7 09:28:58 2008
@@ -104,7 +104,7 @@
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_winnt_module>
- ThreadsPerChild 250
+ ThreadsPerChild 150
MaxRequestsPerChild 0
</IfModule>