diff options
Diffstat (limited to '')
52 files changed, 0 insertions, 4585 deletions
diff --git a/www/apache20/Makefile b/www/apache20/Makefile deleted file mode 100644 index 7b99379b9406..000000000000 --- a/www/apache20/Makefile +++ /dev/null @@ -1,231 +0,0 @@ -# New ports collection makefile for: apache2 -# Date created: 7 April 2001 -# Whom: Hye-Shik Chang <perky@fallin.lv> -# -# $FreeBSD$ -# -# For more information, please read Makefile.doc -# - -PORTNAME= apache -PORTVERSION= 2.0.64 -PORTREVISION= 3 -CATEGORIES= www -MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD} \ - ${MASTER_SITE_LOCAL:S/$/:powerlogo/} -MASTER_SITE_SUBDIR= clement/:powerlogo -DISTNAME= httpd-${PORTVERSION} -DISTFILES= ${DISTNAME}.tar.bz2 powerlogo.gif:powerlogo -DIST_SUBDIR= apache2 -EXTRACT_ONLY= ${DISTNAME}.tar.bz2 - -MAINTAINER?= apache@FreeBSD.org -COMMENT?= Version 2.0.x of Apache web server with ${WITH_MPM:L} MPM. - -LIB_DEPENDS= expat:${PORTSDIR}/textproc/expat2 \ - pcre:${PORTSDIR}/devel/pcre \ - apr-0:${PORTSDIR}/devel/apr0 - -USERS= www -GROUPS= www - -MAKE_JOBS_SAFE= yes - -DEPRECATED= will be unsupported by ASF when 2.4.0 is release, migrate to 2.2.x+ now -EXPIRATION_DATE= 2012-01-01 - -LATEST_LINK= apache20 - -CONFLICTS= apache-2.2.* apache-*-2.2.* \ - caudium14-1.* - -## XXX: Every possible option for things in Makefile.modules needs to be -## XXX: in OPTIONS too, or its not passed to make. -#OPTIONS= \ -# IPV6 "Enable IPv6 support" On \ -# BDB "Enable BerkeleyDB dbm" Off \ -# KQUEUE_SUPPORT "Enable kqueue in bundled apr" Off \ -# SSL "Enable SSL support" On \ -# SSL_EXPERIMENTAL_ENGINE "Use Experimental SSL engine" Off \ -# DEBUG "Enable debugging" Off \ -# EXCEPTION_HOOK "Enable Exception Hook" On \ -# LDAP "Enable LDAP Support" Off \ -# THREADS "Enable threads in apr" Off - -USE_ICONV= yes -USE_AUTOTOOLS= autoconf libtool -USE_PERL5= yes -USE_RC_SUBR= apache2 -USE_APACHE= common20 -LIBTOOLFILES= configure.in -USE_BZIP2= yes - -MPM_ITK_VERSION?= 20061030-01 - -.if defined(WITH_SUEXEC_RSRCLIMIT) -EXTRA_PATCHES+= ${FILESDIR}/extra-patch-suexec_rsrclimit -.if !defined(WITH_SUEXEC) -IGNORE= suEXEC resource limit patch requires mod_suexec.\ - Please add 'WITH_SUEXEC=YES' to you /etc/make.conf -.endif -.endif - -CONFIGURE_ARGS= --prefix=${PREFIX_RELDEST} \ - --enable-layout=FreeBSD \ - --with-perl=${PERL5} \ - --with-port=${WITH_HTTP_PORT} \ - --with-expat=${LOCALBASE} \ - --with-iconv=${LOCALBASE} \ - --with-apr=${LOCALBASE}/bin/apr-config \ - --with-apr-util=${LOCALBASE}/bin/apu-config \ - --libdir=${PREFIX_RELDEST}/lib/apache2 \ - --includedir=${PREFIX_RELDEST}/include/apache2 - -CONFIGURE_ENV= \ - CONFIG_SHELL="${SH}" \ - LOCALBASE="${LOCALBASE}" - -PREFIX_RELDEST= ${PREFIX:S,^${DESTDIR},,} - -MAKE_ENV+= EXPR_COMPAT=yes - -WITH_MPM?= prefork # or worker, perchild, threadpool - -WITH_HTTP_PORT?= 80 - -.if defined(WITHOUT_IPV6) -CONFIGURE_ARGS+= --disable-ipv6 -.else -CATEGORIES+= ipv6 -. if defined(WITH_IPV6_V6ONLY) || defined(WITHOUT_V4MAPPED) -CONFIGURE_ARGS+= --disable-v4-mapped -. else -CONFIGURE_ARGS+= --enable-v4-mapped -. endif -.endif - -#backward compatibility -.if defined(WITHOUT_SSL) -WITHOUT_SSL_MODULES= YES -.endif - -.if !defined(WITHOUT_SSL_MODULES) -USE_OPENSSL= yes -.endif - -.if defined(WITH_STATIC_SUPPORT) -CONFIGURE_ARGS+= --enable-static-support -.endif - -.if defined(WITH_SSL_EXPERIMENTAL_ENGINE) -CFLAGS+= -DSSL_EXPERIMENTAL_ENGINE -.endif - -# debug overrides CFLAGS -.if defined(WITH_DEBUG) -DEBUG_FLAGS?= -O0 -g -ggdb3 -CFLAGS= ${DEBUG_FLAGS} -CONFIGURE_ARGS+= --enable-maintainer-mode -WITH_EXCEPTION_HOOK= YES -.endif - -.if defined(WITH_EXCEPTION_HOOK) -CONFIGURE_ARGS+= --enable-exception-hook -.endif - -# for slave ports -.if !defined(MASTERDIR) -APACHEDIR= ${.CURDIR} -.else -APACHEDIR= ${MASTERDIR} -.endif - -.if defined (WITH_LDAP) || defined (WITH_LDAP_MODULES) -USE_OPENLDAP= YES -CONFIGURE_ARGS+= --enable-ldap=shared --enable-auth-ldap=shared --with-ldap \ - --with-ldap-lib="${LOCALBASE}/lib" \ - --with-ldap-include="${LOCALBASE}/include" -.endif - -.include "${APACHEDIR}/Makefile.doc" -.include "${APACHEDIR}/Makefile.modules" -.include <bsd.port.pre.mk> - -.if defined(WITH_OPENSSL_PORT) -EXTRA_PATCHES+= ${FILESDIR}/extra-openssl-9.8up.patch -.endif - -.if ${OSVERSION} < 700014 && ${ARCH} == i386 -USE_PKGCONFIG= yes -.endif - -.if defined(WITH_THREADS) -CONFIGURE_ARGS+= --enable-threads -. if ${ARCH} == i386 -CONFIGURE_ARGS+= --enable-nonportable-atomics -. endif -.endif - -CONFIGURE_ARGS+= --with-mpm=${WITH_MPM:L} - -show-options: - @${SED} -ne 's/^##//p' ${APACHEDIR}/Makefile.doc - -pre-everything:: - @${ECHO_MSG} "" - @${ECHO_MSG} " To enable a module category: WITH_<CATEGORY>_MODULES" - @${ECHO_MSG} " To disable a module category: WITHOUT_<CATEGORY>_MODULES" - @${ECHO_MSG} "" - @${ECHO_MSG} " Per default categories are:" - @${ECHO_MSG} " ${DEFAULT_MODULES_CATEGORIES}" - @${ECHO_MSG} " Categories available:" - @${ECHO_MSG} " ${ALL_MODULES_CATEGORIES}" - @${ECHO_MSG} "" - @${ECHO_MSG} " To see all available knobs, type make show-options" - @${ECHO_MSG} " To see all modules in different categories, type make show-categories" - @${ECHO_MSG} " You can check your modules configuration by using make show-modules" - @${ECHO_MSG} "" - @${ECHO_MSG} "To save apache.org bandwidth, please use the closest" - @${ECHO_MSG} "mirror. Hit Ctrl+C now and do a \"make print-closest-mirrors\"." - @${ECHO_MSG} "To automatically update /etc/make.conf do:" - @${ECHO_MSG} "make print-closest-mirrors >> /etc/make.conf" - @${ECHO_MSG} "" - -post-extract: - @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/powerlogo.gif ${WRKSRC}/docs/icons/freebsd.gif - -post-patch: - @cd ${WRKSRC}/docs/docroot && \ - for f in index.html.*; do (\ - ${REINPLACE_CMD} -e 's,apache_pb,icons/freebsd.gif"\ - ALT="[Powered by FreeBSD]"><IMG SRC="apache_pb2_ani,g' $$f \ - ); done - @${RM} -f ${WRKSRC}/docs/docroot/*.bak - @${RM} -f ${WRKSRC}/docs/manual/index.html.ko.euc-kr - @${RM} -f ${WRKSRC}/docs/conf/highperformance-std.conf - @${RM} -rf ${WRKSRC}/srclib/pcre ${WRKSRC}/include/pcreposix.h - @${RM} -rf ${WRKSRC}/srclib/apr ${WRKSRC}/srclib/apr-util - @${REINPLACE_CMD} -e 's," PLATFORM ",FreeBSD,' ${WRKSRC}/server/core.c - @${REINPLACE_CMD} -e "s,\$abs_builddir/srclib/pcre/libpcre.la,${LOCALBASE}/lib/libpcre.la," ${WRKSRC}/configure.in - @${INSTALL_DATA} ${WRKSRC}/NOTICE ${WRKSRC}/docs/manual - -post-configure: - @FTPUSERS=`${EGREP} -v '^#' /etc/ftpusers| ${TR} -s "\n" " "` ;\ - ${REINPLACE_CMD} -e "s,%%FTPUSERS%%,$${FTPUSERS}, ; \ - s,%%WWWOWN%%,${WWWOWN}, ; \ - s,%%WWWGRP%%,${WWWGRP}, ; \ - s,%%WWWBASEDIR%%,${PREFIX}/www," \ - ${WRKSRC}/docs/conf/httpd-std.conf - @${REINPLACE_CMD} -e "s,%%PREFIX%%,${PREFIX}," \ - ${WRKSRC}/support/envvars-std - -post-install: - @${MKDIR} ${PREFIX}/etc/apache2/envvars.d - @${MKDIR} ${PREFIX}/etc/apache2/Includes - @${ECHO_CMD} "" - @${CAT} ${PKGMESSAGE} -.if !defined(NOPORTDOCS) - @[ -d ${DOCSDIR}/style/lang/ ] && ${TOUCH} ${DOCSDIR}/style/lang/.keepme -.endif - -.include <bsd.port.post.mk> diff --git a/www/apache20/Makefile.doc b/www/apache20/Makefile.doc deleted file mode 100644 index 622f94389e7d..000000000000 --- a/www/apache20/Makefile.doc +++ /dev/null @@ -1,150 +0,0 @@ -# Makefile.doc -# Author: Clement Laforet <clement@FreeBSD.org> -# -# This files contains: -# - make options output -# - apache2 man/docs routines -# -# $FreeBSD$ -# - -## Available knobs: -## By default, modules are compiled as dynamically loadable (DSO) modules. -## -## Modules knobs philosophy: -## Modules are split in categories, "make show-categories" shows you -## which modules they contain. You can enable/disable/customize a category: -## - To enable a category: WITH_<CATEGORY>_MODULES=yes -## [WITH_PROXY_MODULES=yes] -## - To disable a category: WITHOUT_<CATEGORY>_MODULES=yes -## [WITHOUT_DAV_MODULES=yes] -## - To customize a category: WITH_CUSTOM_<CATEGORY> -## [WITH_CUSTOM_PROXY="proxy proxy_http"] -## -## Apache-related -## WITH_MPM: prefork (default) -## worker -## perchild (deprecated) -## threadpool (testing purpose only) -## WITH_HTTP_PORT: default: 80 -## WITH_LDAP: Enable LDAP support (mod_auth_ldap) (implies WITH_LDAP_MODULES) -## WITHOUT_V4MAPPED -## WITH_IPV6_V6ONLY: Don't allow IPv6 sockets to handle IPv4 -## connections -## WITHOUT_SSL: Disable SSL support -## WITH_THREADS: Enable threads support !! USE IT WITH CARE !! -## WITH_DBM: Choose your DBM: bdb (Berkeley DB), gdbm or -## ndbm (default) -## WITH_BDB: Define to select bdb via bsd.database.mk -## desired version may be set with -## WITH_BDB_VER or APACHE22_WITH_BDB_VER -## WITH_BDB_BASE: Define to use bdb from base (1.85) -## WITH_STATIC_SUPPORT: Build statically linked support binaries -## WITH_STATIC_APACHE: Build a static version of httpd (implies -## WITH_STATIC_MODULES) -## WITH_ALL_STATIC_MODULES: All modules will be statically linked. -## WITH_STATIC_MODULES: List of modules to build modules statics -## (usefull for slave ports) -## (They must be already enabled (i.e. -## WITH_MODULES or with default configuration -## use 'make show-modules', to check if they are -## enabled) -## WITH_MODULES: List of modules you choose -## WITHOUT_MODULES: Disable selected modules -## WITH_SUEXEC: Enable suExec support -## SUEXEC_DOCROOT: SuExec root directory -## SUEXEC_USERDIR: User subdirectory (default public_html) -## SUEXEC_SAFEPATH: Set the safepath -## SUEXEC_LOGFILE: Set log file for suexec (default: /var/log/httpd-suexec.log) -## SUEXEC_UIDMIN: Minimal allowed UID (default 1000) -## SUEXEC_GIDMIN: Minimal allowed GID (default 1000) -## SUEXEC_CALLER: User allowed to call SuExec (default -## ${WWWOWN} (www)) -## SUEXEC_UMASK: Defines umask for suexec'd process(default: -## unset) -## WITH_DEBUG: Build a debug versoin of apache (set CFLAGS -## to "-O0 -g -ggdb3" or ${DEBUG_FLAGS} and -## defines WITH_EXCEPTION_HOOK too) -## WITH_EXCEPTION_HOOK: Enable fatal exception hook -## -## Port-related: -## WITHOUT_WWW: Implies NO_CGI, NO_WWWDATA, NO_ICONS and -## NO_ERROR -## WITH_CUSTOM_WWW: Let you choose your ${PREFIX}/www components -## [cgi|errordocs|icons|wwwdata] -## -## Available make targets: -## show-options: prints this message -## show-modules: prints list of available modules -## show-categories: prints list of modules sorted by category -## -## Examples: -## make WITH_STATIC_MODULES="SSL REWRITE INCLUDE" WITH_EXPERIMENTAL_MODULES=yes \ -## WITH_CUSTOM_AUTH="AUTH AUTH_DBM" -## make WITHOUT_MODULES="ACCESS SPELING STATUS" WITH_PROXY_MODULES=yes -## make WITH_MODULES="INCLUDE REWRITE AUTH" -## -## Note: If you define your custom options in /etc/make.conf, don't forget -## to do not use quotes. -## - -DOCSDIR= ${PREFIX}/share/doc/apache2 -EXAMPLESDIR= ${PREFIX}/share/examples/apache2 -MAKE_ENV+= EXAMPLESDIR=${EXAMPLESDIR} - -.if defined(NOPORTDOCS) -MAKE_ENV+= NOPORTDOCS=yes -.endif - -MAN1= dbmmanage.1 htdigest.1 htpasswd.1 htdbm.1 -MAN8= ab.8 apachectl.8 apxs.8 httpd.8 logresolve.8 rotatelogs.8 suexec.8 - -.if defined(WITHOUT_WWW) -NO_CGI= YES -NO_WWWDATA= YES -NO_ICONS= YES -NO_ERROR= YES -.elif defined(WITH_CUSTOM_WWW) -. if ${WITH_CUSTOM_WWW:Mcgi} == "" -NO_CGI= YES -. endif -. if ${WITH_CUSTOM_WWW:Mwwwdata} == "" -NO_WWWDATA= YES -. endif -. if ${WITH_CUSTOM_WWW:Merrordocs} == "" -NO_ERROR= YES -. endif -. if ${WITH_CUSTOM_WWW:Micons} == "" -NO_ICONS= YES -. endif -.endif - -.if defined(NO_CGI) -MAKE_ENV+= NO_CGI=yes -PLIST_SUB+= CGI="@comment " -.else -PLIST_SUB+= CGI="" -.endif - -.if defined(NO_ICONS) -MAKE_ENV+= NO_ICONS=yes -PLIST_SUB+= ICONS="@comment " -.else -PLIST_SUB+= ICONS="" -.endif - -.if defined(NO_WWWDATA) -MAKE_ENV+= NO_WWWDATA=yes -PLIST_SUB+= WWWDATA="@comment " -.else -PLIST_SUB+= WWWDATA="" -.endif - -.if defined(NO_ERROR) -MAKE_ENV+= NO_ERROR=yes -PLIST_SUB+= ERROR="@comment " -.else -PLIST_SUB+= ERROR="" -.endif - -PORTDOCS= * #don't blame me ;-) diff --git a/www/apache20/Makefile.modules b/www/apache20/Makefile.modules deleted file mode 100644 index 009a0d3ba607..000000000000 --- a/www/apache20/Makefile.modules +++ /dev/null @@ -1,117 +0,0 @@ -# Makefile.modules -# Author: Clement Laforet <clement@FreeBSD.org> -# -# This file is used to build modules list, DBM dependencies and MPM selection. -# I hope it can easily handle external modules (such as mod_perl) or MPMs, like -# muxmpm. -# -# Note to myself: (to generate PLIST_SUB entries for modules) -# gsed 's/^\(.*\)mod\(.*\)\.so/%%\MOD\U\2%%\L\1mod\2\.so/' pkg-plist > tmp -# mv tmp pkg-plist -# -# $FreeBSD$ -# - -# MPM section: -# WITH_MPM: prefork worker perchild threadpool itk - -.if ${WITH_MPM:L} == "prefork" -PLIST_SUB+= WORKER="@comment " THREADPOOL="@comment " - -.elif ${WITH_MPM:L} == "worker" -PLIST_SUB+= WORKER="" THREADPOOL="@comment " - -.elif ${WITH_MPM:L} == "threadpool" -PLIST_SUB+= WORKER="@comment " THREADPOOL="" - -.elif ${WITH_MPM:L} == "perchild" -PLIST_SUB+= WORKER="@comment " THREADPOOL="@comment " - -.elif ${WITH_MPM:L} == "itk" -PLIST_SUB+= WORKER="@comment " THREADPOOL="@comment " -EXTRA_PATCHES+= ${PATCHDIR}/mpm-itk-${MPM_ITK_VERSION} - -.else -IGNORE= "Unknown MPM: ${WITH_MPM}" -.endif # MPM prefork - -.if ${WITH_MPM:L} != "prefork" -PKGNAMESUFFIX= -${WITH_MPM:L} -.endif - -.if ${WITH_MPM:L} == "worker" || ${WITH_MPM:L} == "perchild" || ${WITH_MPM:L} == "threadpool" -WITH_THREADS= yes -WITH_THREADS_MODULES= yes -WITHOUT_MODULES+= CGI -.endif - -# xDBM section -# -.if !defined(WITH_DBM) -. if defined(WITH_BDB) || defined(WITH_BDB_BASE) || defined(WITH_BERKELEYDB) -WITH_DBM= bdb -. endif -.endif - -.if defined(WITH_BERKELEYDB) && !defined(WITH_BDB_VER) -. if ${WITH_BERKELEYDB} == "FreeBSD" -WITH_BDB_BASE= yes -. else -WITH_BDB_VER= ${WITH_BERKELEYDB:S/db//} -. endif -.endif - -.if defined(WITH_DBM) -. if ${WITH_DBM:L} == "sdbm" -CONFIGURE_ARGS+= --with-dbm=sdbm -. elif ${WITH_DBM:L} == "ndbm" -CONFIGURE_ARGS+= --with-ndbm -. elif ${WITH_DBM:L} == "gdbm" -LIB_DEPENDS+= gdbm:${PORTSDIR}/databases/gdbm -CONFIGURE_ARGS+= --with-gdbm=${LOCALBASE} -. elif ${WITH_DBM:L} == "db" || ${WITH_DBM:L} == "bdb" -. if defined(WITH_BDB_BASE) -CONFIGURE_ARGS+= --with-dbm=db185 \ - --with-berkeley-db=/usr -. else -USE_BDB= yes -INVALID_BDB_VER= 46 47 -CONFIGURE_ARGS+= --with-dbm=db${BDB_VER:S/40/4/} \ - --with-berkeley-db=${LOCALBASE} -. endif -. else -. else -IGNORE= "Unknown DBM" -. endif -.else -CONFIGURE_ARGS+= --with-dbm=sdbm -.endif - -.if !defined(WITHOUT_SSL) -WITH_SSL_MODULES= yes -CONFIGURE_ARGS+= --with-ssl=${OPENSSLBASE} -.endif - -AUTH_MODULES= ACCESS AUTH AUTH_ANON AUTH_DBM AUTH_DIGEST -DAV_MODULES= DAV DAV_FS -EXPERIMENTAL_MODULES= BUCKETEER CASE_FILTER CASE_FILTER_IN EXT_FILTER CHARSET_LITE \ - OPTIONAL_HOOK_EXPORT OPTIONAL_HOOK_IMPORT \ - OPTIONAL_FN_IMPORT OPTIONAL_FN_EXPORT \ - CACHE FILE_CACHE DISK_CACHE MEM_CACHE \ - DUMPIO -LDAP_MODULES= LDAP AUTH_LDAP -MISC_MODULES= ACTIONS ALIAS ASIS AUTOINDEX CACHE CERN_META \ - CGI CHARSET_LITE DEFLATE DIR DISK_CACHE ENV EXPIRES \ - FILE_CACHE HEADERS IMAP INCLUDE INFO LOG_CONFIG LOGIO MIME \ - MIME_MAGIC NEGOTIATION REWRITE SETENVIF SPELING STATUS \ - UNIQUE_ID USERDIR USERTRACK VHOST_ALIAS -PROXY_MODULES= PROXY PROXY_CONNECT PROXY_FTP PROXY_HTTP -SSL_MODULES= SSL -SUEXEC_MODULES= SUEXEC -THREADS_MODULES= CGID - -DEFAULT_MODULES_CATEGORIES= \ - AUTH DAV MISC - -ALL_MODULES_CATEGORIES= AUTH DAV EXPERIMENTAL LDAP MISC PROXY SSL \ - SUEXEC THREADS diff --git a/www/apache20/distinfo b/www/apache20/distinfo deleted file mode 100644 index 57e88aac38cd..000000000000 --- a/www/apache20/distinfo +++ /dev/null @@ -1,4 +0,0 @@ -SHA256 (apache2/httpd-2.0.64.tar.bz2) = f7a4eb022eaa5f2d84e558b526481c599a42415817547aacb9abc758428114a7 -SIZE (apache2/httpd-2.0.64.tar.bz2) = 4954766 -SHA256 (apache2/powerlogo.gif) = 0144675a80761b9660bdb652d331d9ba3bebdff89c0fa35a56aa463662a53254 -SIZE (apache2/powerlogo.gif) = 5279 diff --git a/www/apache20/files/apache2.in b/www/apache20/files/apache2.in deleted file mode 100644 index d6309468c26f..000000000000 --- a/www/apache20/files/apache2.in +++ /dev/null @@ -1,128 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -# PROVIDE: apache2 -# REQUIRE: LOGIN cleanvar -# KEYWORD: shutdown - -# -# Add the following lines to /etc/rc.conf to enable apache2: -# apache2_enable (bool): Set to "NO" by default. -# Set it to "YES" to enable apache2 -# apache2_profiles (str): Set to "" by default. -# Define your profiles here. -# apache2ssl_enable (bool): Set to "NO" by default. -# Set it to "YES" to start apache with SSL -# (if <IfDefined SSL> exists in httpd.conf) -# apache2limits_enable (bool):Set to "NO" by default. -# Set it to yes to run `limits $limits_args` -# just before apache starts. -# apache2_flags (str): Set to "" by default. -# Extra flags passed to start command. -# apache2limits_args (str): Default to "-e -C daemon" -# Arguments of pre-start limits run. - -. /etc/rc.subr - -name="apache2" -rcvar=apache2_enable - -start_precmd="apache2_precmd" -restart_precmd="apache2_checkconfig" -reload_precmd="apache2_checkconfig" -reload_cmd="apache2_graceful" -graceful_cmd="apache2_graceful" -configtest_cmd="apache2_checkconfig" -command="%%PREFIX%%/sbin/httpd" -_pidprefix="/var/run/httpd" -pidfile="${_pidprefix}.pid" -required_files=%%PREFIX%%/etc/apache2/httpd.conf - -[ -z "$apache2_enable" ] && apache2_enable="NO" -[ -z "${apache2ssl_enable}" ] && apache2ssl_enable="NO" -[ -z "$apache2limits_enable" ] && apache2limits_enable="NO" -[ -z "$apache2limits_args" ] && apache2limits_args="-e -C daemon" - -load_rc_config $name - -if [ -n "$2" ]; then - profile="$2" - if [ "x${apache2_profiles}" != "x" ]; then - pidfile="${_pidprefix}.${profile}.pid" - eval apache2_configfile="\${apache2_${profile}_configfile:-}" - if [ "x${apache2_configfile}" = "x" ]; then - echo "You must define a configuration file (apache2_${profile}_configfile)" - exit 1 - fi - required_files="${apache2_configfile}" - eval apache2_enable="\${apache2_${profile}_enable:-${apache2_enable}}" - eval apache2ssl_enable=\${apache2ssl_${profile}_enable:-NO} - eval apache2_flags="\${apache2_${profile}_flags:-${apache2_flags}}" - eval apache2_http_accept_enable="\${apache2_${profile}_http_accept_enable:-${apache2_http_accept_enable}}" - eval apache2limits_enable="\${apache2limits_${profile}_enable:-${apache2limits_enable}}" - eval apache2limits_args="\${apache2limits_${profile}_args:-${apache2limits_args}}" - apache2_flags="-f ${apache2_configfile} -c \"PidFile ${pidfile}\" ${apache2_flags}" - else - echo "$0: extra argument ignored" - fi -else - if [ "x${apache2_profiles}" != "x" -a "x$1" != "x" ]; then - for profile in ${apache2_profiles}; do - echo "===> apache2 profile: ${profile}" - %%PREFIX%%/etc/rc.d/apache2 $1 ${profile} - retcode="$?" - if [ "0${retcode}" -ne 0 ]; then - failed="${profile} (${retcode}) ${failed:-}" - else - success="${profile} ${success:-}" - fi - done - exit 0 - fi -fi - -checkyesno apache2ssl_enable && \ - apache2_flags="-DSSL $apache2_flags" - -apache2_requirepidfile() -{ - if [ ! "0`check_pidfile ${pidfile} ${command}`" -gt 1 ]; then - echo "${name} not running? (check $pidfile)." - exit 1 - fi -} - -apache2_checkconfig() -{ - if test -f %%PREFIX%%/sbin/envvars - then - . %%PREFIX%%/sbin/envvars - fi - - echo "Performing sanity check on apache2 configuration:" - eval ${command} ${apache2_flags} -t -} - -apache2_graceful() { - apache2_requirepidfile - - echo "Performing a graceful restart" - eval ${command} ${apache2_flags} -k graceful -} - -apache2_precmd() -{ - apache2_checkconfig - - if checkyesno apache2limits_enable - then - eval `/usr/bin/limits ${apache2limits_args}` 2>/dev/null - else - return 0 - fi -} - -extra_commands="reload graceful configtest" -run_rc_command "$1" diff --git a/www/apache20/files/extra-openssl-9.8up.patch b/www/apache20/files/extra-openssl-9.8up.patch deleted file mode 100644 index fb8bf993d92c..000000000000 --- a/www/apache20/files/extra-openssl-9.8up.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- ./modules/ssl/ssl_engine_init.c.orig 2010-05-06 16:52:31.600756207 -0400 -+++ ./modules/ssl/ssl_engine_init.c 2010-05-06 16:53:33.937798326 -0400 -@@ -531,7 +531,7 @@ - ssl_die(); - } - -- SSL_CTX_set_client_CA_list(ctx, (STACK *)ca_list); -+ SSL_CTX_set_client_CA_list(ctx, ca_list); - } - - /* ---- ./modules/ssl/ssl_util_ssl.c.orig 2010-05-06 16:52:50.473746445 -0400 -+++ ./modules/ssl/ssl_util_ssl.c 2010-05-06 16:54:44.811924436 -0400 -@@ -291,7 +291,7 @@ - #ifdef HAVE_SSL_X509V3_EXT_d2i - X509_EXTENSION *ext; - int ext_nid; -- STACK *sk; -+ STACK_OF(SSL_CIPHER) *sk; - BOOL is_sgc; - int idx; - int i; -@@ -300,7 +300,7 @@ - idx = X509_get_ext_by_NID(cert, NID_ext_key_usage, -1); - if (idx >= 0) { - ext = X509_get_ext(cert, idx); -- if ((sk = (STACK *)X509V3_EXT_d2i(ext)) != NULL) { -+ if ((sk = X509V3_EXT_d2i(ext)) != NULL) { - for (i = 0; i < sk_num(sk); i++) { - ext_nid = OBJ_obj2nid((ASN1_OBJECT *)sk_value(sk, i)); - if (ext_nid == NID_ms_sgc || ext_nid == NID_ns_sgc) { -@@ -466,7 +466,7 @@ - X509 *x509; - unsigned long err; - int n; -- STACK *extra_certs; -+ STACK_OF(X509) *extra_certs; - - if ((bio = BIO_new(BIO_s_file_internal())) == NULL) - return -1; diff --git a/www/apache20/files/extra-patch-suexec_rsrclimit b/www/apache20/files/extra-patch-suexec_rsrclimit deleted file mode 100644 index f6ef9d765cf5..000000000000 --- a/www/apache20/files/extra-patch-suexec_rsrclimit +++ /dev/null @@ -1,50 +0,0 @@ -diff -Nru support/Makefile.in.orig1 support/Makefile.in ---- support/Makefile.in.orig1 2010-05-14 10:05:11.000000000 +0400 -+++ support/Makefile.in 2010-05-14 10:05:41.000000000 +0400 -@@ -57,7 +57,7 @@ - - suexec_OBJECTS = suexec.lo - suexec: $(suexec_OBJECTS) -- $(LINK) $(suexec_OBJECTS) -+ $(LINK) -lutil $(suexec_OBJECTS) - - httxt2dbm_OBJECTS = httxt2dbm.lo - httxt2dbm: $(httxt2dbm_OBJECTS) -diff -Nru support/suexec.c.orig1 support/suexec.c ---- support/suexec.c.orig1 2006-07-12 11:40:55.000000000 +0400 -+++ support/suexec.c 2010-05-14 10:05:41.000000000 +0400 -@@ -37,6 +37,7 @@ - #include <sys/param.h> - #include <sys/stat.h> - #include <sys/types.h> -+#include <login_cap.h> - #include <string.h> - #include <time.h> - #if APR_HAVE_UNISTD_H -@@ -242,6 +243,7 @@ - char *cmd; /* command to be executed */ - char cwd[AP_MAXPATH]; /* current working directory */ - char dwd[AP_MAXPATH]; /* docroot working directory */ -+ login_cap_t *lc; /* user resource limits */ - struct passwd *pw; /* password entry holder */ - struct group *gr; /* group entry holder */ - struct stat dir_info; /* directory info holder */ -@@ -448,6 +450,18 @@ - } - - /* -+ * Apply user resource limits based on login class. -+ */ -+ if ((lc = login_getclassbyname(pw->pw_class, pw)) == NULL) { -+ log_err("failed to login_getclassbyname()\n"); -+ exit(109); -+ } -+ if ((setusercontext(lc, pw, uid, LOGIN_SETRESOURCES)) != 0) { -+ log_err("failed to setusercontext()\n"); -+ exit(109); -+ } -+ -+ /* - * Change UID/GID here so that the following tests work over NFS. - * - * Initialize the group access list for the target user, diff --git a/www/apache20/files/mpm-itk-20061030-01 b/www/apache20/files/mpm-itk-20061030-01 deleted file mode 100644 index 09c645e65640..000000000000 --- a/www/apache20/files/mpm-itk-20061030-01 +++ /dev/null @@ -1,1673 +0,0 @@ -diff -Nur server/mpm/config.m4 server/mpm/config.m4 ---- server/mpm/config.m4 2004-11-24 20:31:09.000000000 +0100 -+++ server/mpm/config.m4 2006-10-30 11:58:33.000000000 +0100 -@@ -1,7 +1,7 @@ - AC_MSG_CHECKING(which MPM to use) - AC_ARG_WITH(mpm, - APACHE_HELP_STRING(--with-mpm=MPM,Choose the process model for Apache to use. -- MPM={beos|worker|prefork|mpmt_os2|perchild|leader|threadpool}),[ -+ MPM={beos|worker|prefork|mpmt_os2|perchild|leader|threadpool|itk}),[ - APACHE_MPM=$withval - ],[ - if test "x$APACHE_MPM" = "x"; then -@@ -12,7 +12,7 @@ - - apache_cv_mpm=$APACHE_MPM - --if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "perchild" -o "$apache_cv_mpm" = "leader" -o "$apache_cv_mpm" = "threadpool" ; then -+if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "perchild" -o "$apache_cv_mpm" = "leader" -o "$apache_cv_mpm" = "threadpool" -o "$apache_cv_mpm" = "itk"; then - APR_CHECK_APR_DEFINE(APR_HAS_THREADS) - - if test "x$ac_cv_define_APR_HAS_THREADS" = "xno"; then -@@ -26,7 +26,7 @@ - APACHE_FAST_OUTPUT(server/mpm/Makefile) - - MPM_NAME=$apache_cv_mpm --if test "$MPM_NAME" = "leader" -o "$MPM_NAME" = "threadpool" -o "$MPM_NAME" = "perchild"; then -+if test "$MPM_NAME" = "leader" -o "$MPM_NAME" = "threadpool" -o "$MPM_NAME" = "perchild" -o "$MPM_NAME" = "itk"; then - AC_MSG_WARN(You have selected an EXPERIMENTAL MPM. Be warned!) - MPM_SUBDIR_NAME=experimental/$MPM_NAME - else -diff -Nur server/mpm/experimental/itk/Makefile.in server/mpm/experimental/itk/Makefile.in ---- server/mpm/experimental/itk/Makefile.in 1970-01-01 01:00:00.000000000 +0100 -+++ server/mpm/experimental/itk/Makefile.in 2006-10-29 22:39:54.000000000 +0100 -@@ -0,0 +1,5 @@ -+ -+LTLIBRARY_NAME = libitk.la -+LTLIBRARY_SOURCES = itk.c -+ -+include $(top_srcdir)/build/ltlib.mk -diff -Nur server/mpm/experimental/itk/config5.m4 server/mpm/experimental/itk/config5.m4 ---- server/mpm/experimental/itk/config5.m4 1970-01-01 01:00:00.000000000 +0100 -+++ server/mpm/experimental/itk/config5.m4 2006-10-29 22:39:54.000000000 +0100 -@@ -0,0 +1,4 @@ -+ if test "$MPM_NAME" = "itk" ; then -+ AC_CHECK_FUNCS(pthread_kill) -+ APACHE_FAST_OUTPUT(server/mpm/$MPM_SUBDIR_NAME/Makefile) -+ fi -diff -Nur server/mpm/experimental/itk/itk.c server/mpm/experimental/itk/itk.c ---- server/mpm/experimental/itk/itk.c 1970-01-01 01:00:00.000000000 +0100 -+++ server/mpm/experimental/itk/itk.c 2006-10-30 18:51:03.000000000 +0100 -@@ -0,0 +1,1500 @@ -+/* Copyright 1999-2004 The Apache Software Foundation -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+#include "apr.h" -+#include "apr_portable.h" -+#include "apr_strings.h" -+#include "apr_thread_proc.h" -+#include "apr_signal.h" -+ -+# define _DBG(text,par...) \ -+ ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL, \ -+ "(itkmpm: pid=%d uid=%d) %s(): " text, \ -+ getpid(), getuid(), __FUNCTION__, ##par, 0) -+ -+#define APR_WANT_STDIO -+#define APR_WANT_STRFUNC -+#include "apr_want.h" -+ -+#if APR_HAVE_UNISTD_H -+#include <unistd.h> -+#endif -+#if APR_HAVE_SYS_TYPES_H -+#include <sys/types.h> -+#endif -+ -+#define CORE_PRIVATE -+ -+#include "ap_config.h" -+#include "httpd.h" -+#include "mpm_default.h" -+#include "http_main.h" -+#include "http_log.h" -+#include "http_config.h" -+#include "http_core.h" /* for get_remote_host */ -+#include "http_connection.h" -+#include "scoreboard.h" -+#include "ap_mpm.h" -+#include "unixd.h" -+#include "mpm_common.h" -+#include "ap_listen.h" -+#include "ap_mmn.h" -+#include "apr_poll.h" -+ -+#ifdef HAVE_BSTRING_H -+#include <bstring.h> /* for IRIX, FD_SET calls bzero() */ -+#endif -+#ifdef HAVE_TIME_H -+#include <time.h> -+#endif -+#ifdef HAVE_SYS_PROCESSOR_H -+#include <sys/processor.h> /* for bindprocessor() */ -+#endif -+ -+#include <signal.h> -+#include <sys/times.h> -+ -+/* Limit on the total --- clients will be locked out if more servers than -+ * this are needed. It is intended solely to keep the server from crashing -+ * when things get out of hand. -+ * -+ * We keep a hard maximum number of servers, for two reasons --- first off, -+ * in case something goes seriously wrong, we want to stop the fork bomb -+ * short of actually crashing the machine we're running on by filling some -+ * kernel table. Secondly, it keeps the size of the scoreboard file small -+ * enough that we can read the whole thing without worrying too much about -+ * the overhead. -+ */ -+#ifndef DEFAULT_SERVER_LIMIT -+#define DEFAULT_SERVER_LIMIT 256 -+#endif -+ -+/* Admin can't tune ServerLimit beyond MAX_SERVER_LIMIT. We want -+ * some sort of compile-time limit to help catch typos. -+ */ -+#ifndef MAX_SERVER_LIMIT -+#define MAX_SERVER_LIMIT 20000 -+#endif -+ -+#ifndef HARD_THREAD_LIMIT -+#define HARD_THREAD_LIMIT 1 -+#endif -+ -+/* config globals */ -+ -+int ap_threads_per_child=0; /* Worker threads per child */ -+static apr_proc_mutex_t *accept_mutex; -+static int ap_daemons_to_start=0; -+static int ap_daemons_min_free=0; -+static int ap_daemons_max_free=0; -+static int ap_daemons_limit=0; /* MaxClients */ -+static int server_limit = DEFAULT_SERVER_LIMIT; -+static int first_server_limit; -+static int changed_limit_at_restart; -+static int mpm_state = AP_MPMQ_STARTING; -+static ap_pod_t *pod; -+ -+/* -+ * The max child slot ever assigned, preserved across restarts. Necessary -+ * to deal with MaxClients changes across AP_SIG_GRACEFUL restarts. We -+ * use this value to optimize routines that have to scan the entire scoreboard. -+ */ -+int ap_max_daemons_limit = -1; -+server_rec *ap_server_conf; -+ -+/* one_process --- debugging mode variable; can be set from the command line -+ * with the -X flag. If set, this gets you the child_main loop running -+ * in the process which originally started up (no detach, no make_child), -+ * which is a pretty nice debugging environment. (You'll get a SIGHUP -+ * early in standalone_main; just continue through. This is the server -+ * trying to kill off any child processes which it might have lying -+ * around --- Apache doesn't keep track of their pids, it just sends -+ * SIGHUP to the process group, ignoring it in the root process. -+ * Continue through and you'll be fine.). -+ */ -+ -+static int one_process = 0; -+ -+static apr_pool_t *pconf; /* Pool for config stuff */ -+static apr_pool_t *pchild; /* Pool for httpd child stuff */ -+ -+static pid_t ap_my_pid; /* it seems silly to call getpid all the time */ -+static pid_t parent_pid; -+#ifndef MULTITHREAD -+static int my_child_num; -+#endif -+ap_generation_t volatile ap_my_generation=0; -+ -+#ifdef TPF -+int tpf_child = 0; -+char tpf_server_name[INETD_SERVNAME_LENGTH+1]; -+#endif /* TPF */ -+ -+static int die_now = 0; -+ -+typedef struct -+{ -+ uid_t uid; -+ gid_t gid; -+ char *username; -+ int max_clients_vhost; -+} itk_server_conf; -+ -+module AP_MODULE_DECLARE_DATA mpm_itk_module; -+ -+#ifdef GPROF -+/* -+ * change directory for gprof to plop the gmon.out file -+ * configure in httpd.conf: -+ * GprofDir $RuntimeDir/ -> $ServerRoot/$RuntimeDir/gmon.out -+ * GprofDir $RuntimeDir/% -> $ServerRoot/$RuntimeDir/gprof.$pid/gmon.out -+ */ -+static void chdir_for_gprof(void) -+{ -+ core_server_config *sconf = -+ ap_get_module_config(ap_server_conf->module_config, &core_module); -+ char *dir = sconf->gprof_dir; -+ const char *use_dir; -+ -+ if(dir) { -+ apr_status_t res; -+ char buf[512]; -+ int len = strlen(sconf->gprof_dir) - 1; -+ if(*(dir + len) == '%') { -+ dir[len] = '\0'; -+ apr_snprintf(buf, sizeof(buf), "%sgprof.%d", dir, (int)getpid()); -+ } -+ use_dir = ap_server_root_relative(pconf, buf[0] ? buf : dir); -+ res = apr_dir_make(use_dir, 0755, pconf); -+ if(res != APR_SUCCESS && !APR_STATUS_IS_EEXIST(res)) { -+ ap_log_error(APLOG_MARK, APLOG_ERR, errno, ap_server_conf, -+ "gprof: error creating directory %s", dir); -+ } -+ } -+ else { -+ use_dir = ap_server_root_relative(pconf, DEFAULT_REL_RUNTIMEDIR); -+ } -+ -+ chdir(use_dir); -+} -+#else -+#define chdir_for_gprof() -+#endif -+ -+/* XXX - I don't know if TPF will ever use this module or not, so leave -+ * the ap_check_signals calls in but disable them - manoj */ -+#define ap_check_signals() -+ -+/* a clean exit from a child with proper cleanup */ -+static void clean_child_exit(int code) __attribute__ ((noreturn)); -+static void clean_child_exit(int code) -+{ -+ mpm_state = AP_MPMQ_STOPPING; -+ -+ if (pchild) { -+ apr_pool_destroy(pchild); -+ } -+ ap_mpm_pod_close(pod); -+ chdir_for_gprof(); -+ exit(code); -+} -+ -+static void accept_mutex_on(void) -+{ -+ apr_status_t rv = apr_proc_mutex_lock(accept_mutex); -+ if (rv != APR_SUCCESS) { -+ const char *msg = "couldn't grab the accept mutex"; -+ -+ if (ap_my_generation != -+ ap_scoreboard_image->global->running_generation) { -+ ap_log_error(APLOG_MARK, APLOG_DEBUG, rv, NULL, msg); -+ clean_child_exit(0); -+ } -+ else { -+ ap_log_error(APLOG_MARK, APLOG_EMERG, rv, NULL, msg); -+ exit(APEXIT_CHILDFATAL); -+ } -+ } -+} -+ -+static void accept_mutex_off(void) -+{ -+ apr_status_t rv = apr_proc_mutex_unlock(accept_mutex); -+ if (rv != APR_SUCCESS) { -+ const char *msg = "couldn't release the accept mutex"; -+ -+ if (ap_my_generation != -+ ap_scoreboard_image->global->running_generation) { -+ ap_log_error(APLOG_MARK, APLOG_DEBUG, rv, NULL, msg); -+ /* don't exit here... we have a connection to -+ * process, after which point we'll see that the -+ * generation changed and we'll exit cleanly -+ */ -+ } -+ else { -+ ap_log_error(APLOG_MARK, APLOG_EMERG, rv, NULL, msg); -+ exit(APEXIT_CHILDFATAL); -+ } -+ } -+} -+ -+/* On some architectures it's safe to do unserialized accept()s in the single -+ * Listen case. But it's never safe to do it in the case where there's -+ * multiple Listen statements. Define SINGLE_LISTEN_UNSERIALIZED_ACCEPT -+ * when it's safe in the single Listen case. -+ */ -+#ifdef SINGLE_LISTEN_UNSERIALIZED_ACCEPT -+#define SAFE_ACCEPT(stmt) do {if (ap_listeners->next) {stmt;}} while(0) -+#else -+#define SAFE_ACCEPT(stmt) do {stmt;} while(0) -+#endif -+ -+AP_DECLARE(apr_status_t) ap_mpm_query(int query_code, int *result) -+{ -+ switch(query_code){ -+ case AP_MPMQ_MAX_DAEMON_USED: -+ *result = ap_daemons_limit; -+ return APR_SUCCESS; -+ case AP_MPMQ_IS_THREADED: -+ *result = AP_MPMQ_NOT_SUPPORTED; -+ return APR_SUCCESS; -+ case AP_MPMQ_IS_FORKED: -+ *result = AP_MPMQ_DYNAMIC; -+ return APR_SUCCESS; -+ case AP_MPMQ_HARD_LIMIT_DAEMONS: -+ *result = server_limit; -+ return APR_SUCCESS; -+ case AP_MPMQ_HARD_LIMIT_THREADS: -+ *result = HARD_THREAD_LIMIT; -+ return APR_SUCCESS; -+ case AP_MPMQ_MAX_THREADS: -+ *result = 0; -+ return APR_SUCCESS; -+ case AP_MPMQ_MIN_SPARE_DAEMONS: -+ *result = ap_daemons_min_free; -+ return APR_SUCCESS; -+ case AP_MPMQ_MIN_SPARE_THREADS: -+ *result = 0; -+ return APR_SUCCESS; -+ case AP_MPMQ_MAX_SPARE_DAEMONS: -+ *result = ap_daemons_max_free; -+ return APR_SUCCESS; -+ case AP_MPMQ_MAX_SPARE_THREADS: -+ *result = 0; -+ return APR_SUCCESS; -+ case AP_MPMQ_MAX_REQUESTS_DAEMON: -+ *result = ap_max_requests_per_child; -+ return APR_SUCCESS; -+ case AP_MPMQ_MAX_DAEMONS: -+ *result = server_limit; -+ return APR_SUCCESS; -+ case AP_MPMQ_MPM_STATE: -+ *result = mpm_state; -+ return APR_SUCCESS; -+ } -+ return APR_ENOTIMPL; -+} -+ -+#if defined(NEED_WAITPID) -+/* -+ Systems without a real waitpid sometimes lose a child's exit while waiting -+ for another. Search through the scoreboard for missing children. -+ */ -+int reap_children(int *exitcode, apr_exit_why_e *status) -+{ -+ int n, pid; -+ -+ for (n = 0; n < ap_max_daemons_limit; ++n) { -+ if (ap_scoreboard_image->servers[n][0].status != SERVER_DEAD && -+ kill((pid = ap_scoreboard_image->parent[n].pid), 0) == -1) { -+ ap_update_child_status_from_indexes(n, 0, SERVER_DEAD, NULL); -+ /* just mark it as having a successful exit status */ -+ *status = APR_PROC_EXIT; -+ *exitcode = 0; -+ return(pid); -+ } -+ } -+ return 0; -+} -+#endif -+ -+/***************************************************************** -+ * Connection structures and accounting... -+ */ -+ -+static void just_die(int sig) -+{ -+ clean_child_exit(0); -+} -+ -+/* volatile just in case */ -+static int volatile shutdown_pending; -+static int volatile restart_pending; -+static int volatile is_graceful; -+ -+static void sig_term(int sig) -+{ -+ if (shutdown_pending == 1) { -+ /* Um, is this _probably_ not an error, if the user has -+ * tried to do a shutdown twice quickly, so we won't -+ * worry about reporting it. -+ */ -+ return; -+ } -+ shutdown_pending = 1; -+} -+ -+/* restart() is the signal handler for SIGHUP and AP_SIG_GRACEFUL -+ * in the parent process, unless running in ONE_PROCESS mode -+ */ -+static void restart(int sig) -+{ -+ if (restart_pending == 1) { -+ /* Probably not an error - don't bother reporting it */ -+ return; -+ } -+ restart_pending = 1; -+ is_graceful = (sig == AP_SIG_GRACEFUL); -+} -+ -+static void set_signals(void) -+{ -+#ifndef NO_USE_SIGACTION -+ struct sigaction sa; -+#endif -+ -+ if (!one_process) { -+ ap_fatal_signal_setup(ap_server_conf, pconf); -+ } -+ -+#ifndef NO_USE_SIGACTION -+ sigemptyset(&sa.sa_mask); -+ sa.sa_flags = 0; -+ -+ sa.sa_handler = sig_term; -+ if (sigaction(SIGTERM, &sa, NULL) < 0) -+ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(SIGTERM)"); -+#ifdef SIGINT -+ if (sigaction(SIGINT, &sa, NULL) < 0) -+ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(SIGINT)"); -+#endif -+#ifdef SIGXCPU -+ sa.sa_handler = SIG_DFL; -+ if (sigaction(SIGXCPU, &sa, NULL) < 0) -+ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(SIGXCPU)"); -+#endif -+#ifdef SIGXFSZ -+ sa.sa_handler = SIG_DFL; -+ if (sigaction(SIGXFSZ, &sa, NULL) < 0) -+ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(SIGXFSZ)"); -+#endif -+#ifdef SIGPIPE -+ sa.sa_handler = SIG_IGN; -+ if (sigaction(SIGPIPE, &sa, NULL) < 0) -+ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(SIGPIPE)"); -+#endif -+ -+ /* we want to ignore HUPs and AP_SIG_GRACEFUL while we're busy -+ * processing one */ -+ sigaddset(&sa.sa_mask, SIGHUP); -+ sigaddset(&sa.sa_mask, AP_SIG_GRACEFUL); -+ sa.sa_handler = restart; -+ if (sigaction(SIGHUP, &sa, NULL) < 0) -+ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(SIGHUP)"); -+ if (sigaction(AP_SIG_GRACEFUL, &sa, NULL) < 0) -+ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "sigaction(" AP_SIG_GRACEFUL_STRING ")"); -+#else -+ if (!one_process) { -+#ifdef SIGXCPU -+ apr_signal(SIGXCPU, SIG_DFL); -+#endif /* SIGXCPU */ -+#ifdef SIGXFSZ -+ apr_signal(SIGXFSZ, SIG_DFL); -+#endif /* SIGXFSZ */ -+ } -+ -+ apr_signal(SIGTERM, sig_term); -+#ifdef SIGHUP -+ apr_signal(SIGHUP, restart); -+#endif /* SIGHUP */ -+#ifdef AP_SIG_GRACEFUL -+ apr_signal(AP_SIG_GRACEFUL, restart); -+#endif /* AP_SIG_GRACEFUL */ -+#ifdef SIGPIPE -+ apr_signal(SIGPIPE, SIG_IGN); -+#endif /* SIGPIPE */ -+ -+#endif -+} -+ -+/***************************************************************** -+ * Child process main loop. -+ * The following vars are static to avoid getting clobbered by longjmp(); -+ * they are really private to child_main. -+ */ -+ -+static int requests_this_child; -+static int num_listensocks = 0; -+static ap_listen_rec *listensocks; -+ -+int ap_graceful_stop_signalled(void) -+{ -+ /* not ever called anymore... */ -+ return 0; -+} -+ -+ -+static void child_main(int child_num_arg) -+{ -+ apr_pool_t *ptrans; -+ apr_allocator_t *allocator; -+ conn_rec *current_conn; -+ apr_status_t status = APR_EINIT; -+ int i; -+ ap_listen_rec *lr; -+ int curr_pollfd, last_pollfd = 0; -+ apr_pollfd_t *pollset; -+ int offset; -+ void *csd; -+ ap_sb_handle_t *sbh; -+ apr_status_t rv; -+ apr_bucket_alloc_t *bucket_alloc; -+ -+ mpm_state = AP_MPMQ_STARTING; /* for benefit of any hooks that run as this -+ * child initializes -+ */ -+ -+ my_child_num = child_num_arg; -+ ap_my_pid = getpid(); -+ csd = NULL; -+ requests_this_child = 0; -+ -+ ap_fatal_signal_child_setup(ap_server_conf); -+ -+ /* Get a sub context for global allocations in this child, so that -+ * we can have cleanups occur when the child exits. -+ */ -+ apr_allocator_create(&allocator); -+ apr_allocator_max_free_set(allocator, ap_max_mem_free); -+ apr_pool_create_ex(&pchild, pconf, NULL, allocator); -+ apr_allocator_owner_set(allocator, pchild); -+ -+ apr_pool_create(&ptrans, pchild); -+ apr_pool_tag(ptrans, "transaction"); -+ -+ /* needs to be done before we switch UIDs so we have permissions */ -+ ap_reopen_scoreboard(pchild, NULL, 0); -+ rv = apr_proc_mutex_child_init(&accept_mutex, ap_lock_fname, pchild); -+ if (rv != APR_SUCCESS) { -+ ap_log_error(APLOG_MARK, APLOG_EMERG, rv, ap_server_conf, -+ "Couldn't initialize cross-process lock in child"); -+ clean_child_exit(APEXIT_CHILDFATAL); -+ } -+ -+/* if (unixd_setup_child()) { -+ clean_child_exit(APEXIT_CHILDFATAL); -+ } */ -+ -+ ap_run_child_init(pchild, ap_server_conf); -+ -+ ap_create_sb_handle(&sbh, pchild, my_child_num, 0); -+ -+ (void) ap_update_child_status(sbh, SERVER_READY, (request_rec *) NULL); -+ -+ /* Set up the pollfd array */ -+ listensocks = apr_pcalloc(pchild, -+ sizeof(*listensocks) * (num_listensocks)); -+ for (lr = ap_listeners, i = 0; i < num_listensocks; lr = lr->next, i++) { -+ listensocks[i].accept_func = lr->accept_func; -+ listensocks[i].sd = lr->sd; -+ } -+ -+ pollset = apr_palloc(pchild, sizeof(*pollset) * num_listensocks); -+ pollset[0].p = pchild; -+ for (i = 0; i < num_listensocks; i++) { -+ pollset[i].desc.s = listensocks[i].sd; -+ pollset[i].desc_type = APR_POLL_SOCKET; -+ pollset[i].reqevents = APR_POLLIN; -+ } -+ -+ mpm_state = AP_MPMQ_RUNNING; -+ -+ bucket_alloc = apr_bucket_alloc_create(pchild); -+ -+ while (!die_now) { -+ /* -+ * (Re)initialize this child to a pre-connection state. -+ */ -+ -+ current_conn = NULL; -+ -+ apr_pool_clear(ptrans); -+ -+ if ((ap_max_requests_per_child > 0 -+ && requests_this_child++ >= ap_max_requests_per_child)) { -+ clean_child_exit(0); -+ } -+ -+ (void) ap_update_child_status(sbh, SERVER_READY, (request_rec *) NULL); -+ -+ /* -+ * Wait for an acceptable connection to arrive. -+ */ -+ -+ /* Lock around "accept", if necessary */ -+ SAFE_ACCEPT(accept_mutex_on()); -+ -+ if (num_listensocks == 1) { -+ offset = 0; -+ } -+ else { -+ /* multiple listening sockets - need to poll */ -+ for (;;) { -+ apr_status_t ret; -+ apr_int32_t n; -+ -+ ret = apr_poll(pollset, num_listensocks, &n, -1); -+ if (ret != APR_SUCCESS) { -+ if (APR_STATUS_IS_EINTR(ret)) { -+ continue; -+ } -+ /* Single Unix documents select as returning errnos -+ * EBADF, EINTR, and EINVAL... and in none of those -+ * cases does it make sense to continue. In fact -+ * on Linux 2.0.x we seem to end up with EFAULT -+ * occasionally, and we'd loop forever due to it. -+ */ -+ ap_log_error(APLOG_MARK, APLOG_ERR, ret, ap_server_conf, -+ "apr_poll: (listen)"); -+ clean_child_exit(1); -+ } -+ /* find a listener */ -+ curr_pollfd = last_pollfd; -+ do { -+ curr_pollfd++; -+ if (curr_pollfd >= num_listensocks) { -+ curr_pollfd = 0; -+ } -+ /* XXX: Should we check for POLLERR? */ -+ if (pollset[curr_pollfd].rtnevents & APR_POLLIN) { -+ last_pollfd = curr_pollfd; -+ offset = curr_pollfd; -+ goto got_fd; -+ } -+ } while (curr_pollfd != last_pollfd); -+ -+ continue; -+ } -+ } -+ got_fd: -+ /* if we accept() something we don't want to die, so we have to -+ * defer the exit -+ */ -+ status = listensocks[offset].accept_func(&csd, -+ &listensocks[offset], ptrans); -+ SAFE_ACCEPT(accept_mutex_off()); /* unlock after "accept" */ -+ -+ if (status == APR_EGENERAL) { -+ /* resource shortage or should-not-occur occured */ -+ clean_child_exit(1); -+ } -+ else if (status != APR_SUCCESS) { -+ continue; -+ } -+ -+ /* -+ * We now have a connection, so set it up with the appropriate -+ * socket options, file descriptors, and read/write buffers. -+ */ -+ { -+ pid_t pid = fork(); -+ int status; -+ switch (pid) { -+ case -1: -+ ap_log_error(APLOG_MARK, APLOG_ERR, errno, NULL, "fork: Unable to fork new process"); -+ break; -+ case 0: /* child */ -+ apr_proc_mutex_child_init(&accept_mutex, ap_lock_fname, pchild); -+ current_conn = ap_run_create_connection(ptrans, ap_server_conf, csd, my_child_num, sbh, bucket_alloc); -+ if (current_conn) { -+ ap_process_connection(current_conn, csd); -+ ap_lingering_close(current_conn); -+ } -+ exit(0); -+ default: /* parent; just wait for child to be done */ -+ if (waitpid(pid, &status, 0) != pid || !WIFEXITED(status)) { -+ if (WIFSIGNALED(status)) { -+ ap_log_error(APLOG_MARK, APLOG_ERR, 0, ap_server_conf, "child died with signal %u", WTERMSIG(status)); -+ } else if (WEXITSTATUS(status) != 0) { -+ ap_log_error(APLOG_MARK, APLOG_ERR, 0, ap_server_conf, "child exited with non-zero exit status %u", WEXITSTATUS(status)); -+ } else { -+ ap_log_error(APLOG_MARK, APLOG_ERR, errno, NULL, "waitpid() failed"); -+ } -+ clean_child_exit(1); -+ } -+ break; -+ } -+ } -+ -+ /* Check the pod and the generation number after processing a -+ * connection so that we'll go away if a graceful restart occurred -+ * while we were processing the connection or we are the lucky -+ * idle server process that gets to die. -+ */ -+ if (ap_mpm_pod_check(pod) == APR_SUCCESS) { /* selected as idle? */ -+ die_now = 1; -+ } -+ else if (ap_my_generation != -+ ap_scoreboard_image->global->running_generation) { /* restart? */ -+ /* yeah, this could be non-graceful restart, in which case the -+ * parent will kill us soon enough, but why bother checking? -+ */ -+ die_now = 1; -+ } -+ -+ /* if we have already setuid(), die (we can't be used anyhow) */ -+ if (getuid()) -+ die_now = 1; -+ } -+ clean_child_exit(0); -+} -+ -+ -+static int make_child(server_rec *s, int slot) -+{ -+ int pid; -+ -+ if (slot + 1 > ap_max_daemons_limit) { -+ ap_max_daemons_limit = slot + 1; -+ } -+ -+ if (one_process) { -+ apr_signal(SIGHUP, just_die); -+ /* Don't catch AP_SIG_GRACEFUL in ONE_PROCESS mode :) */ -+ apr_signal(SIGINT, just_die); -+#ifdef SIGQUIT -+ apr_signal(SIGQUIT, SIG_DFL); -+#endif -+ apr_signal(SIGTERM, just_die); -+ child_main(slot); -+ } -+ -+ (void) ap_update_child_status_from_indexes(slot, 0, SERVER_STARTING, -+ (request_rec *) NULL); -+ -+ -+#ifdef _OSD_POSIX -+ /* BS2000 requires a "special" version of fork() before a setuid() call */ -+ if ((pid = os_fork(unixd_config.user_name)) == -1) { -+#elif defined(TPF) -+ if ((pid = os_fork(s, slot)) == -1) { -+#else -+ if ((pid = fork()) == -1) { -+#endif -+ ap_log_error(APLOG_MARK, APLOG_ERR, errno, s, "fork: Unable to fork new process"); -+ -+ /* fork didn't succeed. Fix the scoreboard or else -+ * it will say SERVER_STARTING forever and ever -+ */ -+ (void) ap_update_child_status_from_indexes(slot, 0, SERVER_DEAD, -+ (request_rec *) NULL); -+ -+ /* In case system resources are maxxed out, we don't want -+ Apache running away with the CPU trying to fork over and -+ over and over again. */ -+ sleep(10); -+ -+ return -1; -+ } -+ -+ if (!pid) { -+#ifdef HAVE_BINDPROCESSOR -+ /* by default AIX binds to a single processor -+ * this bit unbinds children which will then bind to another cpu -+ */ -+ int status = bindprocessor(BINDPROCESS, (int)getpid(), -+ PROCESSOR_CLASS_ANY); -+ if (status != OK) { -+ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, -+ ap_server_conf, "processor unbind failed %d", status); -+ } -+#endif -+ RAISE_SIGSTOP(MAKE_CHILD); -+ AP_MONCONTROL(1); -+ /* Disable the parent's signal handlers and set up proper handling in -+ * the child. -+ */ -+ apr_signal(SIGHUP, just_die); -+ apr_signal(SIGTERM, just_die); -+ /* The child process doesn't do anything for AP_SIG_GRACEFUL. -+ * Instead, the pod is used for signalling graceful restart. -+ */ -+ apr_signal(AP_SIG_GRACEFUL, SIG_IGN); -+ child_main(slot); -+ } -+ -+ ap_scoreboard_image->parent[slot].pid = pid; -+ -+ return 0; -+} -+ -+ -+/* start up a bunch of children */ -+static void startup_children(int number_to_start) -+{ -+ int i; -+ -+ for (i = 0; number_to_start && i < ap_daemons_limit; ++i) { -+ if (ap_scoreboard_image->servers[i][0].status != SERVER_DEAD) { -+ continue; -+ } -+ if (make_child(ap_server_conf, i) < 0) { -+ break; -+ } -+ --number_to_start; -+ } -+} -+ -+ -+/* -+ * idle_spawn_rate is the number of children that will be spawned on the -+ * next maintenance cycle if there aren't enough idle servers. It is -+ * doubled up to MAX_SPAWN_RATE, and reset only when a cycle goes by -+ * without the need to spawn. -+ */ -+static int idle_spawn_rate = 1; -+#ifndef MAX_SPAWN_RATE -+#define MAX_SPAWN_RATE (32) -+#endif -+static int hold_off_on_exponential_spawning; -+ -+static void perform_idle_server_maintenance(apr_pool_t *p) -+{ -+ int i; -+ int to_kill; -+ int idle_count; -+ worker_score *ws; -+ int free_length; -+ int free_slots[MAX_SPAWN_RATE]; -+ int last_non_dead; -+ int total_non_dead; -+ -+ /* initialize the free_list */ -+ free_length = 0; -+ -+ to_kill = -1; -+ idle_count = 0; -+ last_non_dead = -1; -+ total_non_dead = 0; -+ -+ for (i = 0; i < ap_daemons_limit; ++i) { -+ int status; -+ -+ if (i >= ap_max_daemons_limit && free_length == idle_spawn_rate) -+ break; -+ ws = &ap_scoreboard_image->servers[i][0]; -+ status = ws->status; -+ if (status == SERVER_DEAD) { -+ /* try to keep children numbers as low as possible */ -+ if (free_length < idle_spawn_rate) { -+ free_slots[free_length] = i; -+ ++free_length; -+ } -+ } -+ else { -+ /* We consider a starting server as idle because we started it -+ * at least a cycle ago, and if it still hasn't finished starting -+ * then we're just going to swamp things worse by forking more. -+ * So we hopefully won't need to fork more if we count it. -+ * This depends on the ordering of SERVER_READY and SERVER_STARTING. -+ */ -+ if (status <= SERVER_READY) { -+ ++ idle_count; -+ /* always kill the highest numbered child if we have to... -+ * no really well thought out reason ... other than observing -+ * the server behaviour under linux where lower numbered children -+ * tend to service more hits (and hence are more likely to have -+ * their data in cpu caches). -+ */ -+ to_kill = i; -+ } -+ -+ ++total_non_dead; -+ last_non_dead = i; -+ } -+ } -+ ap_max_daemons_limit = last_non_dead + 1; -+ if (idle_count > ap_daemons_max_free) { -+ /* kill off one child... we use the pod because that'll cause it to -+ * shut down gracefully, in case it happened to pick up a request -+ * while we were counting -+ */ -+ ap_mpm_pod_signal(pod); -+ idle_spawn_rate = 1; -+ } -+ else if (idle_count < ap_daemons_min_free) { -+ /* terminate the free list */ -+ if (free_length == 0) { -+ /* only report this condition once */ -+ static int reported = 0; -+ -+ if (!reported) { -+ ap_log_error(APLOG_MARK, APLOG_ERR, 0, ap_server_conf, -+ "server reached MaxClients setting, consider" -+ " raising the MaxClients setting"); -+ reported = 1; -+ } -+ idle_spawn_rate = 1; -+ } -+ else { -+ if (idle_spawn_rate >= 8) { -+ ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf, -+ "server seems busy, (you may need " -+ "to increase StartServers, or Min/MaxSpareServers), " -+ "spawning %d children, there are %d idle, and " -+ "%d total children", idle_spawn_rate, -+ idle_count, total_non_dead); -+ } -+ for (i = 0; i < free_length; ++i) { -+#ifdef TPF -+ if (make_child(ap_server_conf, free_slots[i]) == -1) { -+ if(free_length == 1) { -+ shutdown_pending = 1; -+ ap_log_error(APLOG_MARK, APLOG_EMERG, 0, ap_server_conf, -+ "No active child processes: shutting down"); -+ } -+ } -+#else -+ make_child(ap_server_conf, free_slots[i]); -+#endif /* TPF */ -+ } -+ /* the next time around we want to spawn twice as many if this -+ * wasn't good enough, but not if we've just done a graceful -+ */ -+ if (hold_off_on_exponential_spawning) { -+ --hold_off_on_exponential_spawning; -+ } -+ else if (idle_spawn_rate < MAX_SPAWN_RATE) { -+ idle_spawn_rate *= 2; -+ } -+ } -+ } -+ else { -+ idle_spawn_rate = 1; -+ } -+} -+ -+/***************************************************************** -+ * Executive routines. -+ */ -+ -+int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s) -+{ -+ int index; -+ int remaining_children_to_start; -+ apr_status_t rv; -+ -+ ap_log_pid(pconf, ap_pid_fname); -+ -+ first_server_limit = server_limit; -+ if (changed_limit_at_restart) { -+ ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s, -+ "WARNING: Attempt to change ServerLimit " -+ "ignored during restart"); -+ changed_limit_at_restart = 0; -+ } -+ -+ /* Initialize cross-process accept lock */ -+ ap_lock_fname = apr_psprintf(_pconf, "%s.%" APR_PID_T_FMT, -+ ap_server_root_relative(_pconf, ap_lock_fname), -+ ap_my_pid); -+ -+ rv = apr_proc_mutex_create(&accept_mutex, ap_lock_fname, -+ ap_accept_lock_mech, _pconf); -+ if (rv != APR_SUCCESS) { -+ ap_log_error(APLOG_MARK, APLOG_EMERG, rv, s, -+ "Couldn't create accept lock"); -+ mpm_state = AP_MPMQ_STOPPING; -+ return 1; -+ } -+ -+#if APR_USE_SYSVSEM_SERIALIZE -+ if (ap_accept_lock_mech == APR_LOCK_DEFAULT || -+ ap_accept_lock_mech == APR_LOCK_SYSVSEM) { -+#else -+ if (ap_accept_lock_mech == APR_LOCK_SYSVSEM) { -+#endif -+ rv = unixd_set_proc_mutex_perms(accept_mutex); -+ if (rv != APR_SUCCESS) { -+ ap_log_error(APLOG_MARK, APLOG_EMERG, rv, s, -+ "Couldn't set permissions on cross-process lock; " -+ "check User and Group directives"); -+ mpm_state = AP_MPMQ_STOPPING; -+ return 1; -+ } -+ } -+ -+ if (!is_graceful) { -+ if (ap_run_pre_mpm(s->process->pool, SB_SHARED) != OK) { -+ mpm_state = AP_MPMQ_STOPPING; -+ return 1; -+ } -+ /* fix the generation number in the global score; we just got a new, -+ * cleared scoreboard -+ */ -+ ap_scoreboard_image->global->running_generation = ap_my_generation; -+ } -+ -+ set_signals(); -+ -+ if (one_process) { -+ AP_MONCONTROL(1); -+ } -+ -+ if (ap_daemons_max_free < ap_daemons_min_free + 1) /* Don't thrash... */ -+ ap_daemons_max_free = ap_daemons_min_free + 1; -+ -+ /* If we're doing a graceful_restart then we're going to see a lot -+ * of children exiting immediately when we get into the main loop -+ * below (because we just sent them AP_SIG_GRACEFUL). This happens pretty -+ * rapidly... and for each one that exits we'll start a new one until -+ * we reach at least daemons_min_free. But we may be permitted to -+ * start more than that, so we'll just keep track of how many we're -+ * supposed to start up without the 1 second penalty between each fork. -+ */ -+ remaining_children_to_start = ap_daemons_to_start; -+ if (remaining_children_to_start > ap_daemons_limit) { -+ remaining_children_to_start = ap_daemons_limit; -+ } -+ if (!is_graceful) { -+ startup_children(remaining_children_to_start); -+ remaining_children_to_start = 0; -+ } -+ else { -+ /* give the system some time to recover before kicking into -+ * exponential mode */ -+ hold_off_on_exponential_spawning = 10; -+ } -+ -+ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf, -+ "%s configured -- resuming normal operations", -+ ap_get_server_version()); -+ ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf, -+ "Server built: %s", ap_get_server_built()); -+#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH -+ ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf, -+ "AcceptMutex: %s (default: %s)", -+ apr_proc_mutex_name(accept_mutex), -+ apr_proc_mutex_defname()); -+#endif -+ restart_pending = shutdown_pending = 0; -+ -+ mpm_state = AP_MPMQ_RUNNING; -+ -+ while (!restart_pending && !shutdown_pending) { -+ int child_slot; -+ apr_exit_why_e exitwhy; -+ int status, processed_status; -+ /* this is a memory leak, but I'll fix it later. */ -+ apr_proc_t pid; -+ -+ ap_wait_or_timeout(&exitwhy, &status, &pid, pconf); -+ -+ /* XXX: if it takes longer than 1 second for all our children -+ * to start up and get into IDLE state then we may spawn an -+ * extra child -+ */ -+ if (pid.pid != -1) { -+ processed_status = ap_process_child_status(&pid, exitwhy, status); -+ if (processed_status == APEXIT_CHILDFATAL) { -+ mpm_state = AP_MPMQ_STOPPING; -+ return 1; -+ } -+ -+ /* non-fatal death... note that it's gone in the scoreboard. */ -+ child_slot = find_child_by_pid(&pid); -+ if (child_slot >= 0) { -+ (void) ap_update_child_status_from_indexes(child_slot, 0, SERVER_DEAD, -+ (request_rec *) NULL); -+ if (processed_status == APEXIT_CHILDSICK) { -+ /* child detected a resource shortage (E[NM]FILE, ENOBUFS, etc) -+ * cut the fork rate to the minimum -+ */ -+ idle_spawn_rate = 1; -+ } -+ else if (remaining_children_to_start -+ && child_slot < ap_daemons_limit) { -+ /* we're still doing a 1-for-1 replacement of dead -+ * children with new children -+ */ -+ make_child(ap_server_conf, child_slot); -+ --remaining_children_to_start; -+ } -+#if APR_HAS_OTHER_CHILD -+ } -+ else if (apr_proc_other_child_read(&pid, status) == 0) { -+ /* handled */ -+#endif -+ } -+ else if (is_graceful) { -+ /* Great, we've probably just lost a slot in the -+ * scoreboard. Somehow we don't know about this -+ * child. -+ */ -+ ap_log_error(APLOG_MARK, APLOG_WARNING, -+ 0, ap_server_conf, -+ "long lost child came home! (pid %ld)", (long)pid.pid); -+ } -+ /* Don't perform idle maintenance when a child dies, -+ * only do it when there's a timeout. Remember only a -+ * finite number of children can die, and it's pretty -+ * pathological for a lot to die suddenly. -+ */ -+ continue; -+ } -+ else if (remaining_children_to_start) { -+ /* we hit a 1 second timeout in which none of the previous -+ * generation of children needed to be reaped... so assume -+ * they're all done, and pick up the slack if any is left. -+ */ -+ startup_children(remaining_children_to_start); -+ remaining_children_to_start = 0; -+ /* In any event we really shouldn't do the code below because -+ * few of the servers we just started are in the IDLE state -+ * yet, so we'd mistakenly create an extra server. -+ */ -+ continue; -+ } -+ -+ perform_idle_server_maintenance(pconf); -+#ifdef TPF -+ shutdown_pending = os_check_server(tpf_server_name); -+ ap_check_signals(); -+ sleep(1); -+#endif /*TPF */ -+ } -+ -+ mpm_state = AP_MPMQ_STOPPING; -+ -+ if (shutdown_pending) { -+ /* Time to gracefully shut down: -+ * Kill child processes, tell them to call child_exit, etc... -+ */ -+ if (unixd_killpg(getpgrp(), SIGTERM) < 0) { -+ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "killpg SIGTERM"); -+ } -+ ap_reclaim_child_processes(1); /* Start with SIGTERM */ -+ -+ /* cleanup pid file on normal shutdown */ -+ { -+ const char *pidfile = NULL; -+ pidfile = ap_server_root_relative (pconf, ap_pid_fname); -+ if ( pidfile != NULL && unlink(pidfile) == 0) -+ ap_log_error(APLOG_MARK, APLOG_INFO, -+ 0, ap_server_conf, -+ "removed PID file %s (pid=%ld)", -+ pidfile, (long)getpid()); -+ } -+ -+ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf, -+ "caught SIGTERM, shutting down"); -+ return 1; -+ } -+ -+ /* we've been told to restart */ -+ apr_signal(SIGHUP, SIG_IGN); -+ if (one_process) { -+ /* not worth thinking about */ -+ return 1; -+ } -+ -+ /* advance to the next generation */ -+ /* XXX: we really need to make sure this new generation number isn't in -+ * use by any of the children. -+ */ -+ ++ap_my_generation; -+ ap_scoreboard_image->global->running_generation = ap_my_generation; -+ -+ if (is_graceful) { -+ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf, -+ "Graceful restart requested, doing restart"); -+ -+ /* kill off the idle ones */ -+ ap_mpm_pod_killpg(pod, ap_max_daemons_limit); -+ -+ /* This is mostly for debugging... so that we know what is still -+ * gracefully dealing with existing request. This will break -+ * in a very nasty way if we ever have the scoreboard totally -+ * file-based (no shared memory) -+ */ -+ for (index = 0; index < ap_daemons_limit; ++index) { -+ if (ap_scoreboard_image->servers[index][0].status != SERVER_DEAD) { -+ ap_scoreboard_image->servers[index][0].status = SERVER_GRACEFUL; -+ } -+ } -+ } -+ else { -+ /* Kill 'em off */ -+ if (unixd_killpg(getpgrp(), SIGHUP) < 0) { -+ ap_log_error(APLOG_MARK, APLOG_WARNING, errno, ap_server_conf, "killpg SIGHUP"); -+ } -+ ap_reclaim_child_processes(0); /* Not when just starting up */ -+ ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf, -+ "SIGHUP received. Attempting to restart"); -+ } -+ -+ return 0; -+} -+ -+/* This really should be a post_config hook, but the error log is already -+ * redirected by that point, so we need to do this in the open_logs phase. -+ */ -+static int itk_open_logs(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s) -+{ -+ apr_status_t rv; -+ -+ pconf = p; -+ ap_server_conf = s; -+ -+ if ((num_listensocks = ap_setup_listeners(ap_server_conf)) < 1) { -+ ap_log_error(APLOG_MARK, APLOG_ALERT|APLOG_STARTUP, 0, -+ NULL, "no listening sockets available, shutting down"); -+ return DONE; -+ } -+ -+ if ((rv = ap_mpm_pod_open(pconf, &pod))) { -+ ap_log_error(APLOG_MARK, APLOG_CRIT|APLOG_STARTUP, rv, NULL, -+ "Could not open pipe-of-death."); -+ return DONE; -+ } -+ return OK; -+} -+ -+static int itk_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp) -+{ -+ static int restart_num = 0; -+ int no_detach, debug, foreground; -+ apr_status_t rv; -+ -+ mpm_state = AP_MPMQ_STARTING; -+ -+ debug = ap_exists_config_define("DEBUG"); -+ -+ if (debug) { -+ foreground = one_process = 1; -+ no_detach = 0; -+ } -+ else -+ { -+ no_detach = ap_exists_config_define("NO_DETACH"); -+ one_process = ap_exists_config_define("ONE_PROCESS"); -+ foreground = ap_exists_config_define("FOREGROUND"); -+ } -+ -+ /* sigh, want this only the second time around */ -+ if (restart_num++ == 1) { -+ is_graceful = 0; -+ -+ if (!one_process && !foreground) { -+ rv = apr_proc_detach(no_detach ? APR_PROC_DETACH_FOREGROUND -+ : APR_PROC_DETACH_DAEMONIZE); -+ if (rv != APR_SUCCESS) { -+ ap_log_error(APLOG_MARK, APLOG_CRIT, rv, NULL, -+ "apr_proc_detach failed"); -+ return HTTP_INTERNAL_SERVER_ERROR; -+ } -+ } -+ -+ parent_pid = ap_my_pid = getpid(); -+ } -+ -+ unixd_pre_config(ptemp); -+ ap_listen_pre_config(); -+ ap_daemons_to_start = DEFAULT_START_DAEMON; -+ ap_daemons_min_free = DEFAULT_MIN_FREE_DAEMON; -+ ap_daemons_max_free = DEFAULT_MAX_FREE_DAEMON; -+ ap_daemons_limit = server_limit; -+ ap_pid_fname = DEFAULT_PIDLOG; -+ ap_lock_fname = DEFAULT_LOCKFILE; -+ ap_max_requests_per_child = DEFAULT_MAX_REQUESTS_PER_CHILD; -+ ap_extended_status = 0; -+#ifdef AP_MPM_WANT_SET_MAX_MEM_FREE -+ ap_max_mem_free = APR_ALLOCATOR_MAX_FREE_UNLIMITED; -+#endif -+ -+ apr_cpystrn(ap_coredump_dir, ap_server_root, sizeof(ap_coredump_dir)); -+ -+ return OK; -+} -+ -+static int itk_post_read(request_rec *r) -+{ -+ uid_t wanted_uid; -+ gid_t wanted_gid; -+ const char *wanted_username; -+ -+ itk_server_conf *sconf = -+ (itk_server_conf *) ap_get_module_config(r->server->module_config, &mpm_itk_module); -+ -+ /* Enforce MaxClientsVhost. */ -+ if (sconf->max_clients_vhost > 0) { -+ int i, num_other_servers = 0; -+ for (i = 0; i < ap_daemons_limit; ++i) { -+ worker_score *ws = &ap_scoreboard_image->servers[i][0]; -+ if (ws->status >= SERVER_BUSY_READ && strncmp(ws->vhost, r->server->server_hostname, 31) == 0) -+ ++num_other_servers; -+ } -+ -+ if (num_other_servers > sconf->max_clients_vhost) { -+ ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL, \ -+ "MaxClientsVhost reached for %s, refusing client.", -+ r->server->server_hostname); -+ return HTTP_SERVICE_UNAVAILABLE; -+ } -+ } -+ strncpy(ap_scoreboard_image->servers[my_child_num][0].vhost, r->server->server_hostname, 31); -+ ap_scoreboard_image->servers[my_child_num][0].vhost[31] = 0; -+ -+ wanted_uid = sconf->uid; -+ wanted_gid = sconf->gid; -+ wanted_username = sconf->username; -+ -+ if (wanted_uid == -1 || wanted_gid == -1) { -+ wanted_uid = unixd_config.user_id; -+ wanted_gid = unixd_config.group_id; -+ wanted_username = unixd_config.user_name; -+ } -+ -+ if (wanted_uid != -1 && wanted_gid != -1 && (getuid() != wanted_uid || getgid() != wanted_gid)) { -+ int err = 0; -+ if (setgid(wanted_gid)) { -+ _DBG("setgid(): %s", strerror(errno)); -+ err = 1; -+ } else if (initgroups(wanted_username, wanted_gid)) { -+ _DBG("initgroups(): %s", strerror(errno)); -+ err = 1; -+ } else if (setuid(wanted_uid)) { -+ _DBG("setuid(): %s", strerror(errno)); -+ err = 1; -+ } -+ -+ /* -+ * Most likely a case of switching uid/gid within a persistent -+ * connection; the RFCs allow us to just close the connection -+ * at anytime, so we excercise our right. :-) -+ */ -+ if (err) { -+ ap_log_error(APLOG_MARK, APLOG_WARNING, 0, NULL, \ -+ "Couldn't set uid/gid, closing connection."); -+ ap_lingering_close(r->connection); -+ exit(0); -+ } -+ } -+ return OK; -+} -+ -+static void itk_hooks(apr_pool_t *p) -+{ -+ /* The itk open_logs phase must run before the core's, or stderr -+ * will be redirected to a file, and the messages won't print to the -+ * console. -+ */ -+ static const char *const aszSucc[] = {"core.c", NULL}; -+ -+#ifdef AUX3 -+ (void) set42sig(); -+#endif -+ -+ ap_hook_open_logs(itk_open_logs, NULL, aszSucc, APR_HOOK_MIDDLE); -+ /* we need to set the MPM state before other pre-config hooks use MPM query -+ * to retrieve it, so register as REALLY_FIRST -+ */ -+ ap_hook_pre_config(itk_pre_config, NULL, NULL, APR_HOOK_REALLY_FIRST); -+ -+ /* set the uid as fast as possible */ -+ ap_hook_post_read_request(itk_post_read, NULL, NULL, APR_HOOK_REALLY_FIRST); -+ -+} -+ -+static const char *set_daemons_to_start(cmd_parms *cmd, void *dummy, const char *arg) -+{ -+ const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); -+ if (err != NULL) { -+ return err; -+ } -+ -+ ap_daemons_to_start = atoi(arg); -+ return NULL; -+} -+ -+static const char *set_min_free_servers(cmd_parms *cmd, void *dummy, const char *arg) -+{ -+ const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); -+ if (err != NULL) { -+ return err; -+ } -+ -+ ap_daemons_min_free = atoi(arg); -+ if (ap_daemons_min_free <= 0) { -+ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, -+ "WARNING: detected MinSpareServers set to non-positive."); -+ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, -+ "Resetting to 1 to avoid almost certain Apache failure."); -+ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, -+ "Please read the documentation."); -+ ap_daemons_min_free = 1; -+ } -+ -+ return NULL; -+} -+ -+static const char *set_max_free_servers(cmd_parms *cmd, void *dummy, const char *arg) -+{ -+ const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); -+ if (err != NULL) { -+ return err; -+ } -+ -+ ap_daemons_max_free = atoi(arg); -+ return NULL; -+} -+ -+static const char *set_max_clients (cmd_parms *cmd, void *dummy, const char *arg) -+{ -+ const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); -+ if (err != NULL) { -+ return err; -+ } -+ -+ ap_daemons_limit = atoi(arg); -+ if (ap_daemons_limit > server_limit) { -+ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, -+ "WARNING: MaxClients of %d exceeds ServerLimit value " -+ "of %d servers,", ap_daemons_limit, server_limit); -+ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, -+ " lowering MaxClients to %d. To increase, please " -+ "see the ServerLimit", server_limit); -+ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, -+ " directive."); -+ ap_daemons_limit = server_limit; -+ } -+ else if (ap_daemons_limit < 1) { -+ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, -+ "WARNING: Require MaxClients > 0, setting to 1"); -+ ap_daemons_limit = 1; -+ } -+ return NULL; -+} -+ -+static const char *set_server_limit (cmd_parms *cmd, void *dummy, const char *arg) -+{ -+ int tmp_server_limit; -+ -+ const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); -+ if (err != NULL) { -+ return err; -+ } -+ -+ tmp_server_limit = atoi(arg); -+ /* you cannot change ServerLimit across a restart; ignore -+ * any such attempts -+ */ -+ if (first_server_limit && -+ tmp_server_limit != server_limit) { -+ /* how do we log a message? the error log is a bit bucket at this -+ * point; we'll just have to set a flag so that ap_mpm_run() -+ * logs a warning later -+ */ -+ changed_limit_at_restart = 1; -+ return NULL; -+ } -+ server_limit = tmp_server_limit; -+ -+ if (server_limit > MAX_SERVER_LIMIT) { -+ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, -+ "WARNING: ServerLimit of %d exceeds compile time limit " -+ "of %d servers,", server_limit, MAX_SERVER_LIMIT); -+ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, -+ " lowering ServerLimit to %d.", MAX_SERVER_LIMIT); -+ server_limit = MAX_SERVER_LIMIT; -+ } -+ else if (server_limit < 1) { -+ ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL, -+ "WARNING: Require ServerLimit > 0, setting to 1"); -+ server_limit = 1; -+ } -+ return NULL; -+} -+ -+static const char *assign_user_id (cmd_parms *cmd, void *dummy, const char *user_name, const char *group_name) -+{ -+ itk_server_conf *sconf = -+ (itk_server_conf *) ap_get_module_config(cmd->server->module_config, &mpm_itk_module); -+ sconf->username = strdup(user_name); -+ sconf->uid = ap_uname2id(user_name); -+ sconf->gid = ap_gname2id(group_name); -+ return NULL; -+} -+ -+static const char *set_max_clients_vhost (cmd_parms *cmd, void *dummy, const char *arg) -+{ -+ itk_server_conf *sconf = -+ (itk_server_conf *) ap_get_module_config(cmd->server->module_config, &mpm_itk_module); -+ sconf->max_clients_vhost = atoi(arg); -+ return NULL; -+} -+ -+ -+static const command_rec itk_cmds[] = { -+UNIX_DAEMON_COMMANDS, -+LISTEN_COMMANDS, -+AP_INIT_TAKE1("StartServers", set_daemons_to_start, NULL, RSRC_CONF, -+ "Number of child processes launched at server startup"), -+AP_INIT_TAKE1("MinSpareServers", set_min_free_servers, NULL, RSRC_CONF, -+ "Minimum number of idle children, to handle request spikes"), -+AP_INIT_TAKE1("MaxSpareServers", set_max_free_servers, NULL, RSRC_CONF, -+ "Maximum number of idle children"), -+AP_INIT_TAKE1("MaxClients", set_max_clients, NULL, RSRC_CONF, -+ "Maximum number of children alive at the same time"), -+AP_INIT_TAKE1("ServerLimit", set_server_limit, NULL, RSRC_CONF, -+ "Maximum value of MaxClients for this run of Apache"), -+AP_INIT_TAKE2("AssignUserID", assign_user_id, NULL, RSRC_CONF, -+ "Tie a virtual host to a specific child process."), -+AP_INIT_TAKE1("MaxClientsVHost", set_max_clients_vhost, NULL, RSRC_CONF, -+ "Maximum number of children alive at the same time for this virtual host."), -+{ NULL } -+}; -+ -+/* == allocate an private server config structure == */ -+static void *itk_create_config(apr_pool_t *p, server_rec *s) -+{ -+ itk_server_conf *c = (itk_server_conf *) -+ apr_pcalloc(p, sizeof(itk_server_conf)); -+ c->uid = c->gid = -1; -+ c->max_clients_vhost = -1; -+ return c; -+} -+ -+ -+module AP_MODULE_DECLARE_DATA mpm_itk_module = { -+ MPM20_MODULE_STUFF, -+ ap_mpm_rewrite_args, /* hook to run before apache parses args */ -+ NULL, /* create per-directory config structure */ -+ NULL, /* merge per-directory config structures */ -+ itk_create_config, /* create per-server config structure */ -+ NULL, /* merge per-server config structures */ -+ itk_cmds, /* command apr_table_t */ -+ itk_hooks, /* register hooks */ -+}; -diff -Nur server/mpm/experimental/itk/mpm.h server/mpm/experimental/itk/mpm.h ---- server/mpm/experimental/itk/mpm.h 1970-01-01 01:00:00.000000000 +0100 -+++ server/mpm/experimental/itk/mpm.h 2006-10-29 22:39:54.000000000 +0100 -@@ -0,0 +1,50 @@ -+/* Copyright 2000-2004 The Apache Software Foundation -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+#include "httpd.h" -+#include "mpm_default.h" -+#include "scoreboard.h" -+#include "unixd.h" -+ -+#ifndef APACHE_MPM_PREFORK_H -+#define APACHE_MPM_PREFORK_H -+ -+#define PREFORK_MPM -+ -+#define MPM_NAME "Prefork" -+ -+#define AP_MPM_WANT_RECLAIM_CHILD_PROCESSES -+#define AP_MPM_WANT_WAIT_OR_TIMEOUT -+#define AP_MPM_WANT_PROCESS_CHILD_STATUS -+#define AP_MPM_WANT_SET_PIDFILE -+#define AP_MPM_WANT_SET_SCOREBOARD -+#define AP_MPM_WANT_SET_LOCKFILE -+#define AP_MPM_WANT_SET_MAX_REQUESTS -+#define AP_MPM_WANT_SET_COREDUMPDIR -+#define AP_MPM_WANT_SET_ACCEPT_LOCK_MECH -+#define AP_MPM_WANT_SIGNAL_SERVER -+#define AP_MPM_WANT_SET_MAX_MEM_FREE -+#define AP_MPM_WANT_FATAL_SIGNAL_HANDLER -+#define AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK -+ -+#define AP_MPM_USES_POD 1 -+#define MPM_CHILD_PID(i) (ap_scoreboard_image->parent[i].pid) -+#define MPM_NOTE_CHILD_KILLED(i) (MPM_CHILD_PID(i) = 0) -+#define MPM_ACCEPT_FUNC unixd_accept -+ -+extern int ap_threads_per_child; -+extern int ap_max_daemons_limit; -+extern server_rec *ap_server_conf; -+#endif /* APACHE_MPM_PREFORK_H */ -diff -Nur server/mpm/experimental/itk/mpm_default.h server/mpm/experimental/itk/mpm_default.h ---- server/mpm/experimental/itk/mpm_default.h 1970-01-01 01:00:00.000000000 +0100 -+++ server/mpm/experimental/itk/mpm_default.h 2006-10-29 22:39:54.000000000 +0100 -@@ -0,0 +1,64 @@ -+/* Copyright 1999-2004 The Apache Software Foundation -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+#ifndef APACHE_MPM_DEFAULT_H -+#define APACHE_MPM_DEFAULT_H -+ -+/* Number of servers to spawn off by default --- also, if fewer than -+ * this free when the caretaker checks, it will spawn more. -+ */ -+#ifndef DEFAULT_START_DAEMON -+#define DEFAULT_START_DAEMON 5 -+#endif -+ -+/* Maximum number of *free* server processes --- more than this, and -+ * they will die off. -+ */ -+ -+#ifndef DEFAULT_MAX_FREE_DAEMON -+#define DEFAULT_MAX_FREE_DAEMON 10 -+#endif -+ -+/* Minimum --- fewer than this, and more will be created */ -+ -+#ifndef DEFAULT_MIN_FREE_DAEMON -+#define DEFAULT_MIN_FREE_DAEMON 5 -+#endif -+ -+/* File used for accept locking, when we use a file */ -+#ifndef DEFAULT_LOCKFILE -+#define DEFAULT_LOCKFILE DEFAULT_REL_RUNTIMEDIR "/accept.lock" -+#endif -+ -+/* Where the main/parent process's pid is logged */ -+#ifndef DEFAULT_PIDLOG -+#define DEFAULT_PIDLOG DEFAULT_REL_RUNTIMEDIR "/httpd.pid" -+#endif -+ -+/* -+ * Interval, in microseconds, between scoreboard maintenance. -+ */ -+#ifndef SCOREBOARD_MAINTENANCE_INTERVAL -+#define SCOREBOARD_MAINTENANCE_INTERVAL 1000000 -+#endif -+ -+/* Number of requests to try to handle in a single process. If <= 0, -+ * the children don't die off. -+ */ -+#ifndef DEFAULT_MAX_REQUESTS_PER_CHILD -+#define DEFAULT_MAX_REQUESTS_PER_CHILD 10000 -+#endif -+ -+#endif /* AP_MPM_DEFAULT_H */ diff --git a/www/apache20/files/patch-Makefile.in b/www/apache20/files/patch-Makefile.in deleted file mode 100644 index cedb391b4b33..000000000000 --- a/www/apache20/files/patch-Makefile.in +++ /dev/null @@ -1,166 +0,0 @@ ---- ./Makefile.in.orig 2010-05-23 19:54:31.000000000 -0400 -+++ ./Makefile.in 2010-05-23 19:54:22.083759943 -0400 -@@ -31,15 +31,21 @@ - if [ ! -d $(DESTDIR)$(sysconfdir) ]; then \ - $(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir) ; \ - fi ; \ -+ if [ ! -d $(DESTDIR)$(EXAMPLESDIR) ]; then \ -+ $(MKINSTALLDIRS) $(DESTDIR)$(EXAMPLESDIR) ; \ -+ fi ; \ - cd $(top_srcdir)/docs/conf; \ - for i in mime.types magic; do \ - if test ! -f $(DESTDIR)$(sysconfdir)/$$i; then \ - $(INSTALL_DATA) $$i $(DESTDIR)$(sysconfdir); \ - fi; \ -+ cp -f $$i $$i-dist; \ -+ $(INSTALL_DATA) $$i-dist $(DESTDIR)$(EXAMPLESDIR); \ - done; \ - for j in $(top_srcdir)/docs/conf $(top_builddir)/docs/conf ; do \ - cd $$j ; \ - for i in *-std*.conf; do \ -+ [ -f `echo "$$i"|sed 's,\.in$$,_nonex,g'` ] || continue; \ - ( \ - n_lm=`awk 'BEGIN {n=0} /@@LoadModule@@/ {n+=1} END {print n}' < $$i`; \ - if test $$n_lm -eq 0 -o "x$(DSO_MODULES)" = "x"; then \ -@@ -57,6 +63,9 @@ - if test "x$$j" = "xssl"; then \ - echo "<IfDefine SSL>"; \ - fi; \ -+ if [ `echo "$$j" | egrep 'cgid|cache|dav|digest|proxy'` ]; then \ -+ echo -n "#"; \ -+ fi; \ - if test $$j != "^EOL^"; then \ - echo "LoadModule $${j}_module $(rel_libexecdir)/mod_$${j}.so"; \ - fi; \ -@@ -70,31 +79,23 @@ - -e 's#@@Port@@#$(PORT)#g' \ - < $$i; \ - fi \ -- ) > $(DESTDIR)$(sysconfdir)/$$i; \ -- chmod 0644 $(DESTDIR)$(sysconfdir)/$$i; \ -+ ) > $(DESTDIR)$(EXAMPLESDIR)/$$i; \ -+ chmod 0644 $(DESTDIR)$(EXAMPLESDIR)/$$i; \ - file=`echo $$i|sed s/-std//`; \ - if [ "$$file" = "httpd.conf" ]; then \ - file=`echo $$file|sed s/.*.conf/$(PROGRAM_NAME).conf/`; \ - fi; \ - if test "$$file" != "$$i" && test ! -f $(DESTDIR)$(sysconfdir)/$$file; then \ -- $(INSTALL_DATA) $(DESTDIR)$(sysconfdir)/$$i $(DESTDIR)$(sysconfdir)/$$file; \ -+ $(INSTALL_DATA) $(DESTDIR)$(EXAMPLESDIR)/$$i $(DESTDIR)$(sysconfdir)/$$file; \ - fi; \ - done ; \ -- done ; \ -- if test -f "$(builddir)/envvars-std"; then \ -- cp -p envvars-std $(DESTDIR)$(sbindir); \ -- if test ! -f $(DESTDIR)$(sbindir)/envvars; then \ -- cp -p envvars-std $(DESTDIR)$(sbindir)/envvars ; \ -- fi ; \ -- fi -+ done ; - - install-build: - @echo Installing build system files - @test -d $(DESTDIR)$(installbuilddir) || $(MKINSTALLDIRS) $(DESTDIR)$(installbuilddir) - @cp $(top_srcdir)/build/*.mk $(DESTDIR)$(installbuilddir); \ - cp build/*.mk $(DESTDIR)$(installbuilddir); \ -- sed 's#LIBTOOL = \(.*\)#LIBTOOL = $(SHELL) $(installbuilddir)/libtool $(LTFLAGS)#' \ -- build/config_vars.mk > $(DESTDIR)$(installbuilddir)/config_vars.mk; \ - cp $(top_srcdir)/build/instdso.sh $(DESTDIR)$(installbuilddir); \ - cp $(top_builddir)/config.nice $(DESTDIR)$(installbuilddir); - -@@ -108,44 +109,40 @@ - doxygen $(top_srcdir)/docs/doxygen.conf - - install-htdocs: -- -@if [ -d $(DESTDIR)$(htdocsdir) ]; then \ -- echo "[PRESERVING EXISTING HTDOCS SUBDIR: $(DESTDIR)$(htdocsdir)]"; \ -- else \ -- echo Installing HTML documents ; \ -- $(MKINSTALLDIRS) $(DESTDIR)$(htdocsdir) ; \ -- test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp * $(DESTDIR)$(htdocsdir)) ; \ -- cd $(DESTDIR)$(htdocsdir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \ -- fi -- -+.if !defined(NO_WWWDATA) -+ @echo Installing HTML documents -+ @test -d $(DESTDIR)$(htdocsdir)-dist || $(MKINSTALLDIRS) $(DESTDIR)$(htdocsdir)-dist -+ @test -d $(htdocs-srcdir) && (cd $(htdocs-srcdir) && cp -rp * $(DESTDIR)$(htdocsdir)-dist) -+ @test -e $(DESTDIR)$(htdocsdir) || ln -sf $(DESTDIR)$(htdocsdir)-dist $(DESTDIR)$(htdocsdir) -+ -@test "x$(htdocsdir)" != "x" && cd $(DESTDIR)$(htdocsdir)-dist && find . -name ".svn" -print | xargs rm -rf -+.endif -+ - install-error: -- -@if [ -d $(DESTDIR)$(errordir) ]; then \ -- echo "[PRESERVING EXISTING ERROR SUBDIR: $(DESTDIR)$(errordir)]"; \ -- else \ -- echo Installing error documents ; \ -- $(MKINSTALLDIRS) $(DESTDIR)$(errordir) ; \ -- cd $(top_srcdir)/docs/error && cp -rp * $(DESTDIR)$(errordir) ; \ -- test "x$(errordir)" != "x" && cd $(DESTDIR)$(errordir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \ -- fi -- -+.if !defined(NO_ERROR) -+ @echo Installing error documents -+ @test -d $(DESTDIR)$(errordir)-dist || $(MKINSTALLDIRS) $(DESTDIR)$(errordir)-dist -+ cd $(top_srcdir)/docs/error && cp -rp * $(DESTDIR)$(errordir)-dist -+ -@test "x$(errordir)" != "x" && cd $(DESTDIR)$(errordir)-dist && find . -name ".svn" -print | xargs rm -rf -+ @test -e $(DESTDIR)$(errordir) || ln -sf $(DESTDIR)$(errordir)-dist $(DESTDIR)$(errordir) -+.endif -+ - install-icons: -- -@if [ -d $(DESTDIR)$(iconsdir) ]; then \ -- echo "[PRESERVING EXISTING ICONS SUBDIR: $(DESTDIR)$(iconsdir)]"; \ -- else \ -- echo Installing icons ; \ -- $(MKINSTALLDIRS) $(DESTDIR)$(iconsdir) ; \ -- cd $(top_srcdir)/docs/icons && cp -rp * $(DESTDIR)$(iconsdir) ; \ -- test "x$(iconsdir)" != "x" && cd $(DESTDIR)$(iconsdir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \ -- fi -- -+.if !defined(NO_ICONS) -+ @echo Installing icons -+ @test -d $(DESTDIR)$(iconsdir)-dist || $(MKINSTALLDIRS) $(DESTDIR)$(iconsdir)-dist -+ cd $(top_srcdir)/docs/icons && cp -rp * $(DESTDIR)$(iconsdir)-dist -+ -@test "x$(iconsdir)" != "x" && cd $(DESTDIR)$(iconsdir)-dist && find . -name ".svn" -print | xargs rm -rf -+ @test -e $(DESTDIR)$(iconsdir) || ln -sf $(DESTDIR)$(iconsdir)-dist $(DESTDIR)$(iconsdir) -+.endif -+ - install-cgi: -- -@if [ -d $(DESTDIR)$(cgidir) ];then \ -- echo "[PRESERVING EXISTING CGI SUBDIR: $(DESTDIR)$(cgidir)]"; \ -- else \ -- echo Installing CGIs ; \ -- $(MKINSTALLDIRS) $(DESTDIR)$(cgidir) ; \ -- cd $(top_srcdir)/docs/cgi-examples && cp -rp * $(DESTDIR)$(cgidir) ; \ -- test "x$(cgidir)" != "x" && cd $(DESTDIR)$(cgidir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \ -- fi -+.if !defined(NO_CGI) -+ @echo Installing CGIs -+ @test -d $(DESTDIR)$(cgidir)-dist || $(MKINSTALLDIRS) $(DESTDIR)$(cgidir)-dist -+ cd $(top_srcdir)/docs/cgi-examples && cp -rp * $(DESTDIR)$(cgidir)-dist -+ -@test "x$(cgidir)" != "x" && cd $(DESTDIR)$(cgidir)-dist && find . -name ".svn" -print | xargs rm -rf -+ @test -e $(DESTDIR)$(cgidir) || ln -sf $(DESTDIR)$(cgidir)-dist $(DESTDIR)$(cgidir) -+.endif - - install-other: - @test -d $(DESTDIR)$(logfiledir) || $(MKINSTALLDIRS) $(DESTDIR)$(logfiledir) -@@ -179,7 +176,6 @@ - @cp -p $(srcdir)/modules/http/mod_core.h $(DESTDIR)$(includedir) - @cp -p $(srcdir)/modules/proxy/mod_proxy.h $(DESTDIR)$(includedir) - @cp -p $(srcdir)/modules/ssl/*.h $(DESTDIR)$(includedir) -- @cp -p $(srcdir)/srclib/pcre/pcre*.h $(DESTDIR)$(includedir) - @cp -p $(srcdir)/os/$(OS_DIR)/*.h $(DESTDIR)$(includedir) - @chmod 644 $(DESTDIR)$(includedir)/*.h - -@@ -191,8 +187,11 @@ - @test -d $(DESTDIR)$(manualdir) || $(MKINSTALLDIRS) $(DESTDIR)$(manualdir) - @cp -p $(top_srcdir)/docs/man/*.1 $(DESTDIR)$(mandir)/man1 - @cp -p $(top_srcdir)/docs/man/*.8 $(DESTDIR)$(mandir)/man8 -+.if !defined(NOPORTDOCS) -+ @test -d $(DESTDIR)$(manualdir) || $(MKINSTALLDIRS) $(DESTDIR)$(manualdir) - @(cd $(top_srcdir)/docs/manual && cp -rp * $(DESTDIR)$(manualdir)) - @(cd $(DESTDIR)$(manualdir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null ) || true -+.endif - - install-suexec: - @if test -f $(builddir)/support/suexec; then \ diff --git a/www/apache20/files/patch-acinclude.m4 b/www/apache20/files/patch-acinclude.m4 deleted file mode 100644 index 25b723322636..000000000000 --- a/www/apache20/files/patch-acinclude.m4 +++ /dev/null @@ -1,21 +0,0 @@ ---- ./acinclude.m4.orig 2008-01-07 10:01:56.000000000 -0500 -+++ ./acinclude.m4 2010-05-06 16:06:03.732834004 -0400 -@@ -169,13 +169,17 @@ - - if test -z "$module_standalone"; then - if test -z "$2"; then -- libname="mod_$1.la" -+ # The filename of a convenience library must have a "lib" prefix: -+ libname="libmod_$1.la" - BUILTIN_LIBS="$BUILTIN_LIBS $modpath_current/$libname" - modpath_static="$modpath_static $libname" - cat >>$modpath_current/modules.mk<<EOF - $libname: $objects - \$(MOD_LINK) $objects $5 - EOF -+ if test ! -z "$5"; then -+ APR_ADDTO(AP_LIBS, [$5]) -+ fi - else - apache_need_shared=yes - libname="mod_$1.la" diff --git a/www/apache20/files/patch-build__library.mk b/www/apache20/files/patch-build__library.mk deleted file mode 100644 index e049a9301716..000000000000 --- a/www/apache20/files/patch-build__library.mk +++ /dev/null @@ -1,8 +0,0 @@ ---- ./build/library.mk.orig 2006-07-12 03:40:55.000000000 -0400 -+++ ./build/library.mk 2010-05-06 16:06:03.733831899 -0400 -@@ -19,4 +19,4 @@ - LTLIBRARY_OBJECTS = $(LTLIBRARY_SOURCES:.c=.lo) $(LTLIBRARY_OBJECTS_X) - - $(LTLIBRARY_NAME): $(LTLIBRARY_OBJECTS) $(LTLIBRARY_DEPENDENCIES) -- $(LINK) $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_LIBADD) -+ $(LINK) -static $(LTLIBRARY_LDFLAGS) $(LTLIBRARY_OBJECTS) $(LTLIBRARY_LIBADD) diff --git a/www/apache20/files/patch-build__rules.mk.in b/www/apache20/files/patch-build__rules.mk.in deleted file mode 100644 index 6af84302564a..000000000000 --- a/www/apache20/files/patch-build__rules.mk.in +++ /dev/null @@ -1,11 +0,0 @@ ---- ./build/rules.mk.in.orig 2006-07-12 03:40:55.000000000 -0400 -+++ ./build/rules.mk.in 2010-05-06 16:06:03.734831750 -0400 -@@ -45,7 +45,7 @@ - - LINK = $(LIBTOOL) --mode=link $(COMPILE) $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ - SH_LINK = $(SH_LIBTOOL) --mode=link $(COMPILE) $(LT_LDFLAGS) $(ALL_LDFLAGS) $(SH_LDFLAGS) $(CORE_IMPLIB) $(SH_LIBS) -o $@ --MOD_LINK = $(LIBTOOL) --mode=link $(COMPILE) -module $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ -+MOD_LINK = $(LIBTOOL) --mode=link $(COMPILE) -static $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ - - # Cross compile commands - diff --git a/www/apache20/files/patch-build__special.mk b/www/apache20/files/patch-build__special.mk deleted file mode 100644 index 5496b05daa85..000000000000 --- a/www/apache20/files/patch-build__special.mk +++ /dev/null @@ -1,11 +0,0 @@ ---- ./build/special.mk.orig 2006-07-12 03:40:55.000000000 -0400 -+++ ./build/special.mk 2010-05-06 16:06:03.734831750 -0400 -@@ -26,7 +26,7 @@ - install-modules: - @test -d $(DESTDIR)$(libexecdir) || $(MKINSTALLDIRS) $(DESTDIR)$(libexecdir); - @builtin='$(BUILTIN_LIBS)'; \ -- has_mod_so=`echo $$builtin|sed 's/^.*mod_so.*$$/has_mod_so/'`; \ -+ has_mod_so=`echo $$builtin|sed 's/^.*libmod_so.*$$/has_mod_so/'`; \ - if [ "x$$has_mod_so" = "xhas_mod_so" ]; then \ - list='$(shared)'; \ - for i in $$list; do \ diff --git a/www/apache20/files/patch-configure.in b/www/apache20/files/patch-configure.in deleted file mode 100644 index d2559f229614..000000000000 --- a/www/apache20/files/patch-configure.in +++ /dev/null @@ -1,41 +0,0 @@ ---- ./configure.in.orig 2009-05-29 14:44:26.000000000 +0000 -+++ ./configure.in 2010-10-21 05:40:35.808628475 +0000 -@@ -124,11 +124,6 @@ - AC_PROG_CC - AC_PROG_CPP - --echo $ac_n "${nl}Configuring PCRE regular expression library ...${nl}" -- --APR_SUBDIR_CONFIG(srclib/pcre, -- [--prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir]) -- - echo $ac_n "${nl}Configuring Apache httpd ...${nl}" - - dnl Absolute source/build directory -@@ -172,7 +167,7 @@ - LIBTOOL="$my_libtool \$(LTFLAGS)" - libtoolversion=`$my_libtool --version` - case $libtoolversion in -- *1.[[45]]*) -+ *1.[[45]]* | *[[2-9]].[[0-9]]*) - SH_LIBTOOL='$(LIBTOOL)' - SHLTCFLAGS="-prefer-pic" - LTCFLAGS="-prefer-non-pic -static" -@@ -490,7 +485,7 @@ - AC_DEFINE_UNQUOTED(AP_SUEXEC_UMASK, 0$withval, [umask for suexec'd process] ) ] ) - - dnl AP_LIBS specifies the actual libraries. note we have some required libs. --AP_LIBS="$abs_builddir/srclib/pcre/libpcre.la $AP_LIBS" -+AP_LIBS="$a/usr/local/lib/libpcre.la $AP_LIBS" - - dnl APR should go after the other libs, so the right symbols can be picked up - AP_LIBS="$AP_LIBS `$apu_config --link-libtool --libs` `$apr_config --link-libtool --libs`" -@@ -531,7 +526,7 @@ - APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile) - APACHE_FAST_OUTPUT(os/beos/Makefile os/os2/Makefile os/Makefile) - APACHE_FAST_OUTPUT(os/unix/Makefile server/Makefile) --APACHE_FAST_OUTPUT(support/Makefile srclib/pcre/Makefile) -+APACHE_FAST_OUTPUT(support/Makefile) - - if test -d ./test; then - APACHE_FAST_OUTPUT(test/Makefile) diff --git a/www/apache20/files/patch-docs__conf__httpd-std.conf.in b/www/apache20/files/patch-docs__conf__httpd-std.conf.in deleted file mode 100644 index c308f029469f..000000000000 --- a/www/apache20/files/patch-docs__conf__httpd-std.conf.in +++ /dev/null @@ -1,127 +0,0 @@ ---- ./docs/conf/httpd-std.conf.in.orig 2008-03-22 00:00:26.000000000 +0000 -+++ ./docs/conf/httpd-std.conf.in 2010-10-21 05:40:35.666621609 +0000 -@@ -68,7 +68,7 @@ - # - <IfModule !mpm_netware.c> - <IfModule !perchild.c> --#ScoreBoardFile @rel_logfiledir@/apache_runtime_status -+#ScoreBoardFile @rel_runtimedir@/apache_runtime_status - </IfModule> - </IfModule> - -@@ -265,8 +265,8 @@ - # when the value of (unsigned)Group is above 60000; - # don't use Group #-1 on these systems! - # --User nobody --Group #-1 -+User %%WWWOWN%% -+Group %%WWWGRP%% - </IfModule> - </IfModule> - -@@ -314,10 +314,11 @@ - # - # First, we configure the "default" to be a very restrictive set of - # features. --# -+# - <Directory /> -- Options FollowSymLinks - AllowOverride None -+ Order Deny,Allow -+ Deny from all - </Directory> - - # -@@ -330,7 +331,7 @@ - # - # This should be changed to whatever you set DocumentRoot to. - # --<Directory "@exp_htdocsdir@"> -+<Directory "%%WWWBASEDIR%%"> - - # - # Possible values for the Options directive are "None", "All", -@@ -365,24 +366,29 @@ - # UserDir: The name of the directory that is appended onto a user's home - # directory if a ~user request is received. - # -+<IfModule mod_userdir.c> - UserDir public_html - -+UserDir disabled %%FTPUSERS%% -+ - # - # Control access to UserDir directories. The following is an example - # for a site where these directories are restricted to read-only. - # --#<Directory /home/*/public_html> --# AllowOverride FileInfo AuthConfig Limit Indexes --# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec --# <Limit GET POST OPTIONS PROPFIND> --# Order allow,deny --# Allow from all --# </Limit> --# <LimitExcept GET POST OPTIONS PROPFIND> --# Order deny,allow --# Deny from all --# </LimitExcept> --#</Directory> -+<Directory /home/*/public_html> -+ AllowOverride FileInfo AuthConfig Limit Indexes -+ Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec -+ <Limit GET POST OPTIONS PROPFIND> -+ Order allow,deny -+ Allow from all -+ </Limit> -+ <LimitExcept GET POST OPTIONS PROPFIND> -+ Order deny,allow -+ Deny from all -+ </LimitExcept> -+</Directory> -+ -+</IfModule> - - # - # DirectoryIndex: sets the file that Apache will serve if a directory -@@ -472,7 +478,7 @@ - # logged here. If you *do* define an error logfile for a <VirtualHost> - # container, that host's errors will be logged there and not here. - # --ErrorLog @rel_logfiledir@/error_log -+ErrorLog @rel_logfiledir@/httpd-error.log - - # - # LogLevel: Control the number of messages logged to the error_log. -@@ -500,20 +506,20 @@ - # define per-<VirtualHost> access logfiles, transactions will be - # logged therein and *not* in this file. - # --CustomLog @rel_logfiledir@/access_log common -+#CustomLog @rel_logfiledir@/httpd-access.log common - - # - # If you would like to have agent and referer logfiles, uncomment the - # following directives. - # --#CustomLog @rel_logfiledir@/referer_log referer --#CustomLog @rel_logfiledir@/agent_log agent -+#CustomLog @rel_logfiledir@/httpd-referer.log referer -+#CustomLog @rel_logfiledir@/httpd-agent.log agent - - # - # If you prefer a single logfile with access, agent, and referer information - # (Combined Logfile Format) you can use the following directive. - # --#CustomLog @rel_logfiledir@/access_log combined -+CustomLog @rel_logfiledir@/httpd-access.log combined - - # - # ServerTokens -@@ -1040,3 +1046,5 @@ - # ErrorLog @rel_logfiledir@/dummy-host.example.com-error_log - # CustomLog @rel_logfiledir@/dummy-host.example.com-access_log common - #</VirtualHost> -+ -+Include @rel_sysconfdir@/Includes/*.conf diff --git a/www/apache20/files/patch-docs__conf__ssl-std.conf.in b/www/apache20/files/patch-docs__conf__ssl-std.conf.in deleted file mode 100644 index 057e844fa8e5..000000000000 --- a/www/apache20/files/patch-docs__conf__ssl-std.conf.in +++ /dev/null @@ -1,22 +0,0 @@ ---- ./docs/conf/ssl-std.conf.in.orig 2005-11-13 12:13:06.000000000 -0500 -+++ ./docs/conf/ssl-std.conf.in 2010-05-06 16:06:03.726831828 -0400 -@@ -86,8 +86,8 @@ - DocumentRoot "@exp_htdocsdir@" - ServerName www.example.com:443 - ServerAdmin you@example.com --ErrorLog @exp_logfiledir@/error_log --TransferLog @exp_logfiledir@/access_log -+ErrorLog @exp_logfiledir@/httpd-error.log -+TransferLog @exp_logfiledir@/httpd-access.log - - # SSL Engine Switch: - # Enable/Disable SSL for this virtual host. -@@ -238,7 +238,7 @@ - # Per-Server Logging: - # The home of a custom SSL log file. Use this when you want a - # compact non-error SSL logfile on a virtual host basis. --CustomLog @exp_logfiledir@/ssl_request_log \ -+CustomLog @exp_logfiledir@/httpd-ssl_request.log \ - "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" - - </VirtualHost> diff --git a/www/apache20/files/patch-include__ap_mmn.h b/www/apache20/files/patch-include__ap_mmn.h deleted file mode 100644 index fc9dc41e11e4..000000000000 --- a/www/apache20/files/patch-include__ap_mmn.h +++ /dev/null @@ -1,19 +0,0 @@ ---- ./include/ap_mmn.h.orig 2010-10-21 05:47:06.975621911 +0000 -+++ ./include/ap_mmn.h 2010-10-21 05:48:25.311622079 +0000 -@@ -88,12 +88,15 @@ - * 20020903.12 (2.0.56-dev) added ap_get_server_revision / ap_version_t - * 20020903.13 (2.0.62-dev) Add *ftp_directory_charset to proxy_dir_conf - * 20020903.14 (2.0.64-dev) added ap_vhost_iterate_given_conn -+ * 20050127.0 (2.1.3-dev) renamed regex_t->ap_regex_t, regmatch_t->ap_regmatch_t, -+ * REG_*->AP_REG_*, removed reg* in place of ap_reg*; -+ * added ap_regex.h - */ - - #define MODULE_MAGIC_COOKIE 0x41503230UL /* "AP20" */ - - #ifndef MODULE_MAGIC_NUMBER_MAJOR --#define MODULE_MAGIC_NUMBER_MAJOR 20020903 -+#define MODULE_MAGIC_NUMBER_MAJOR 20050127 - #endif - #define MODULE_MAGIC_NUMBER_MINOR 14 /* 0...n */ - diff --git a/www/apache20/files/patch-include__ap_regex.h b/www/apache20/files/patch-include__ap_regex.h deleted file mode 100644 index 9e5e969d9706..000000000000 --- a/www/apache20/files/patch-include__ap_regex.h +++ /dev/null @@ -1,148 +0,0 @@ ---- ./include/ap_regex.h.orig 2010-10-21 05:40:53.671621395 +0000 -+++ ./include/ap_regex.h 2010-10-21 05:40:53.672627949 +0000 -@@ -0,0 +1,145 @@ -+/* Copyright 1999-2005 The Apache Software Foundation or its licensors, as -+ * applicable. -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+/* This is the header for the POSIX wrapper interface to the PCRE Perl- -+Compatible Regular Expression library. It defines the things POSIX says should -+be there. I hope. -+ -+ Copyright (c) 1997-2004 University of Cambridge -+ -+----------------------------------------------------------------------------- -+Redistribution and use in source and binary forms, with or without -+modification, are permitted provided that the following conditions are met: -+ -+ * Redistributions of source code must retain the above copyright notice, -+ this list of conditions and the following disclaimer. -+ -+ * 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. -+ -+ * Neither the name of the University of Cambridge nor the names of its -+ contributors may be used to endorse or promote products derived from -+ this software without specific prior written permission. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -+AND ANY EXPRESS 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 COPYRIGHT OWNER OR 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. -+----------------------------------------------------------------------------- -+*/ -+ -+#ifndef AP_REGEX_H -+#define AP_REGEX_H -+ -+/* Have to include stdlib.h in order to ensure that size_t is defined. */ -+ -+#include <stdlib.h> -+ -+/* Allow for C++ users */ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+/* Options for ap_regexec: */ -+ -+#define AP_REG_ICASE 0x01 /** use a case-insensitive match */ -+#define AP_REG_NEWLINE 0x02 /** don't match newlines against '.' etc */ -+#define AP_REG_NOTBOL 0x04 /** ^ will not match against start-of-string */ -+#define AP_REG_NOTEOL 0x08 /** $ will not match against end-of-string */ -+ -+#define AP_REG_EXTENDED (0) /** unused */ -+#define AP_REG_NOSUB (0) /** unused */ -+ -+/* Error values: */ -+enum { -+ AP_REG_ASSERT = 1, /** internal error ? */ -+ AP_REG_ESPACE, /** failed to get memory */ -+ AP_REG_INVARG, /** invalid argument */ -+ AP_REG_NOMATCH /** match failed */ -+}; -+ -+/* The structure representing a compiled regular expression. */ -+typedef struct { -+ void *re_pcre; -+ size_t re_nsub; -+ size_t re_erroffset; -+} ap_regex_t; -+ -+typedef int regoff_t; -+ -+/* The structure in which a captured offset is returned. */ -+typedef struct { -+ regoff_t rm_so; -+ regoff_t rm_eo; -+} ap_regmatch_t; -+ -+#ifndef AP_DECLARE -+#define AP_DECLARE(x) x -+#endif /* AP_DECLARE */ -+ -+/* The functions */ -+ -+/** -+ * Compile a regeular expression. -+ * @param preg Returned compiled regex -+ * @param regex The regular expression string -+ * @param cflags Must be zero (currently). -+ * @return Zero on success or non-zero on error -+ */ -+AP_DECLARE(int) ap_regcomp(ap_regex_t *preg, const char *regex, int cflags); -+ -+/** -+ * Match a null-terminated string against a pre-compiled regex. -+ * @param preg The pre-compiled regex -+ * @param string The string to match -+ * @param nmatch Provide information regarding the location of any matches -+ * @param pmatch Provide information regarding the location of any matches -+ * @param eflags Bitwise OR of any of AP_REG_* flags -+ * @return 0 for successful match, #REG_NOMATCH otherwise -+ */ -+AP_DECLARE(int) ap_regexec(const ap_regex_t *preg, const char *string, -+ size_t nmatch, ap_regmatch_t *pmatch, int eflags); -+ -+/** -+ * Return the error code returned by regcomp or regexec into error messages -+ * @param errcode the error code returned by regexec or regcomp -+ * @param preg The precompiled regex -+ * @param errbuf A buffer to store the error in -+ * @param errbuf_size The size of the buffer -+ */ -+AP_DECLARE(size_t) ap_regerror(int errcode, const ap_regex_t *preg, -+ char *errbuf, size_t errbuf_size); -+ -+/** Destroy a pre-compiled regex. -+ * @param preg The pre-compiled regex to free. -+ */ -+AP_DECLARE(void) ap_regfree(ap_regex_t *preg); -+ -+#ifdef __cplusplus -+} /* extern "C" */ -+#endif -+ -+#endif /* AP_REGEX_T */ -+ diff --git a/www/apache20/files/patch-include__http_core.h b/www/apache20/files/patch-include__http_core.h deleted file mode 100644 index a2c600e4acc7..000000000000 --- a/www/apache20/files/patch-include__http_core.h +++ /dev/null @@ -1,11 +0,0 @@ ---- ./include/http_core.h.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./include/http_core.h 2010-10-21 05:40:55.842621572 +0000 -@@ -493,7 +493,7 @@ - - /* Access control */ - apr_array_header_t *sec_file; -- regex_t *r; -+ ap_regex_t *r; - - const char *mime_type; /* forced with ForceType */ - const char *handler; /* forced with SetHandler */ diff --git a/www/apache20/files/patch-include__httpd.h b/www/apache20/files/patch-include__httpd.h deleted file mode 100644 index 99c412724240..000000000000 --- a/www/apache20/files/patch-include__httpd.h +++ /dev/null @@ -1,65 +0,0 @@ ---- ./include/httpd.h.orig 2010-10-07 22:24:15.000000000 +0000 -+++ ./include/httpd.h 2010-10-21 05:40:55.841622281 +0000 -@@ -41,7 +41,7 @@ - - #include "os.h" - --#include "pcreposix.h" -+#include "ap_regex.h" - - /* Note: util_uri.h is also included, see below */ - -@@ -1523,40 +1523,15 @@ - * @li #REG_NEWLINE - Match-any-character operators don't match new-line - * @return The compiled regular expression - */ --AP_DECLARE(regex_t *) ap_pregcomp(apr_pool_t *p, const char *pattern, -- int cflags); -- -+AP_DECLARE(ap_regex_t *) ap_pregcomp(apr_pool_t *p, const char *pattern, -+ int cflags); -+ - /** - * Free the memory associated with a compiled regular expression - * @param p The pool the regex was allocated from - * @param reg The regular expression to free - */ --AP_DECLARE(void) ap_pregfree(apr_pool_t *p, regex_t *reg); -- --/** -- * Match a null-terminated string against a pre-compiled regex. -- * @param preg The pre-compiled regex -- * @param string The string to match -- * @param nmatch Provide information regarding the location of any matches -- * @param pmatch Provide information regarding the location of any matches -- * @param eflags Bitwise or of any of: -- * @li #REG_NOTBOL - match-beginning-of-line operator always -- * fails to match -- * @li #REG_NOTEOL - match-end-of-line operator always fails to match -- * @return 0 for successful match, #REG_NOMATCH otherwise -- */ --AP_DECLARE(int) ap_regexec(regex_t *preg, const char *string, -- size_t nmatch, regmatch_t pmatch[], int eflags); -- --/** -- * Return the error code returned by regcomp or regexec into error messages -- * @param errcode the error code returned by regexec or regcomp -- * @param preg The precompiled regex -- * @param errbuf A buffer to store the error in -- * @param errbuf_size The size of the buffer -- */ --AP_DECLARE(size_t) ap_regerror(int errcode, const regex_t *preg, -- char *errbuf, size_t errbuf_size); -+AP_DECLARE(void) ap_pregfree(apr_pool_t *p, ap_regex_t *reg); - - /** - * After performing a successful regex match, you may use this function to -@@ -1570,7 +1545,7 @@ - * @param pmatch the pmatch array returned from ap_pregex - */ - AP_DECLARE(char *) ap_pregsub(apr_pool_t *p, const char *input, const char *source, -- size_t nmatch, regmatch_t pmatch[]); -+ size_t nmatch, ap_regmatch_t pmatch[]); - - /** - * We want to downcase the type/subtype for comparison purposes diff --git a/www/apache20/files/patch-modules__experimental__config.m4 b/www/apache20/files/patch-modules__experimental__config.m4 deleted file mode 100644 index 20e2c435d597..000000000000 --- a/www/apache20/files/patch-modules__experimental__config.m4 +++ /dev/null @@ -1,11 +0,0 @@ ---- modules/experimental/config.m4.orig 2010-05-07 00:41:44.796911069 -0400 -+++ modules/experimental/config.m4 2010-05-07 00:41:27.000000000 -0400 -@@ -33,7 +33,7 @@ - ldap_objects="util_ldap.lo util_ldap_cache.lo util_ldap_cache_mgr.lo" - APACHE_MODULE(ldap, LDAP caching and connection pooling services, $ldap_objects, , no) - --auth_ldap_objects="mod_auth_ldap.lo" -+auth_ldap_objects="mod_auth_ldap.lo $ldap_objects" - APACHE_MODULE(auth_ldap, LDAP based authentication, $auth_ldap_objects, , no) - - APACHE_MODPATH_FINISH diff --git a/www/apache20/files/patch-modules__filters__mod_include.c b/www/apache20/files/patch-modules__filters__mod_include.c deleted file mode 100644 index 03f6d753324a..000000000000 --- a/www/apache20/files/patch-modules__filters__mod_include.c +++ /dev/null @@ -1,17 +0,0 @@ ---- ./modules/filters/mod_include.c.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./modules/filters/mod_include.c 2010-10-21 05:40:53.670622104 +0000 -@@ -1173,11 +1173,11 @@ - static int re_check(request_rec *r, include_ctx_t *ctx, - char *string, char *rexp) - { -- regex_t *compiled; -- const apr_size_t nres = sizeof(*ctx->re_result) / sizeof(regmatch_t); -+ ap_regex_t *compiled; -+ const apr_size_t nres = sizeof(*ctx->re_result) / sizeof(ap_regmatch_t); - int regex_error; - -- compiled = ap_pregcomp(r->pool, rexp, REG_EXTENDED | REG_NOSUB); -+ compiled = ap_pregcomp(r->pool, rexp, AP_REG_EXTENDED | AP_REG_NOSUB); - if (compiled == NULL) { - ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, - "unable to compile pattern \"%s\"", rexp); diff --git a/www/apache20/files/patch-modules__filters__mod_include.h b/www/apache20/files/patch-modules__filters__mod_include.h deleted file mode 100644 index 059b9a9c9f9d..000000000000 --- a/www/apache20/files/patch-modules__filters__mod_include.h +++ /dev/null @@ -1,11 +0,0 @@ ---- ./modules/filters/mod_include.h.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./modules/filters/mod_include.h 2010-10-21 05:40:55.843621981 +0000 -@@ -140,7 +140,7 @@ - int start_seq_len; - char *end_seq; - char *re_string; -- regmatch_t (*re_result)[10]; -+ ap_regmatch_t (*re_result)[10]; - } include_ctx_t; - - /* These flags are used to set flag bits. */ diff --git a/www/apache20/files/patch-modules__mappers__mod_alias.c b/www/apache20/files/patch-modules__mappers__mod_alias.c deleted file mode 100644 index 3385b5b90db9..000000000000 --- a/www/apache20/files/patch-modules__mappers__mod_alias.c +++ /dev/null @@ -1,47 +0,0 @@ ---- ./modules/mappers/mod_alias.c.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./modules/mappers/mod_alias.c 2010-10-21 05:40:53.667623114 +0000 -@@ -40,7 +40,7 @@ - const char *real; - const char *fake; - char *handler; -- regex_t *regexp; -+ ap_regex_t *regexp; - int redir_status; /* 301, 302, 303, 410, etc */ - } alias_entry; - -@@ -112,7 +112,7 @@ - /* XX r can NOT be relative to DocumentRoot here... compat bug. */ - - if (use_regex) { -- new->regexp = ap_pregcomp(cmd->pool, f, REG_EXTENDED); -+ new->regexp = ap_pregcomp(cmd->pool, f, AP_REG_EXTENDED); - if (new->regexp == NULL) - return "Regular expression could not be compiled."; - new->real = r; -@@ -176,7 +176,7 @@ - alias_server_conf *serverconf = ap_get_module_config(s->module_config, - &alias_module); - int status = (int) (long) cmd->info; -- regex_t *r = NULL; -+ ap_regex_t *r = NULL; - const char *f = arg2; - const char *url = arg3; - -@@ -196,7 +196,7 @@ - } - - if (use_regex) { -- r = ap_pregcomp(cmd->pool, f, REG_EXTENDED); -+ r = ap_pregcomp(cmd->pool, f, AP_REG_EXTENDED); - if (r == NULL) - return "Regular expression could not be compiled."; - } -@@ -314,7 +314,7 @@ - int doesc, int *status) - { - alias_entry *entries = (alias_entry *) aliases->elts; -- regmatch_t regm[AP_MAX_REG_MATCH]; -+ ap_regmatch_t regm[AP_MAX_REG_MATCH]; - char *found = NULL; - int i; - diff --git a/www/apache20/files/patch-modules__mappers__mod_rewrite.c b/www/apache20/files/patch-modules__mappers__mod_rewrite.c deleted file mode 100644 index c782bdf46f0e..000000000000 --- a/www/apache20/files/patch-modules__mappers__mod_rewrite.c +++ /dev/null @@ -1,66 +0,0 @@ ---- ./modules/mappers/mod_rewrite.c.orig 2006-07-27 17:07:21.000000000 +0000 -+++ ./modules/mappers/mod_rewrite.c 2010-10-21 05:40:53.666621309 +0000 -@@ -552,7 +552,7 @@ - char *str = apr_pstrdup(cmd->pool, in_str); - rewrite_server_conf *sconf; - rewritecond_entry *newcond; -- regex_t *regexp; -+ ap_regex_t *regexp; - char *a1; - char *a2; - char *a3; -@@ -602,11 +602,11 @@ - we can compile the pattern for case insensitive matching, - under the old V8 library we have to do it self via a hack */ - if (newcond->flags & CONDFLAG_NOCASE) { -- rc = ((regexp = ap_pregcomp(cmd->pool, cp, REG_EXTENDED|REG_ICASE)) -+ rc = ((regexp = ap_pregcomp(cmd->pool, cp, AP_REG_EXTENDED|AP_REG_ICASE)) - == NULL); - } - else { -- rc = ((regexp = ap_pregcomp(cmd->pool, cp, REG_EXTENDED)) == NULL); -+ rc = ((regexp = ap_pregcomp(cmd->pool, cp, AP_REG_EXTENDED)) == NULL); - } - if (rc) { - return apr_pstrcat(cmd->pool, -@@ -697,7 +697,7 @@ - char *str = apr_pstrdup(cmd->pool, in_str); - rewrite_server_conf *sconf; - rewriterule_entry *newrule; -- regex_t *regexp; -+ ap_regex_t *regexp; - char *a1; - char *a2; - char *a3; -@@ -743,9 +743,9 @@ - newrule->flags |= RULEFLAG_NOTMATCH; - cp++; - } -- mode = REG_EXTENDED; -+ mode = AP_REG_EXTENDED; - if (newrule->flags & RULEFLAG_NOCASE) { -- mode |= REG_ICASE; -+ mode |= AP_REG_ICASE; - } - if ((regexp = ap_pregcomp(cmd->pool, cp, mode)) == NULL) { - return apr_pstrcat(cmd->pool, -@@ -1945,8 +1945,8 @@ - char *output; - const char *vary; - char newuri[MAX_STRING_LEN]; -- regex_t *regexp; -- regmatch_t regmatch[AP_MAX_REG_MATCH]; -+ ap_regex_t *regexp; -+ ap_regmatch_t regmatch[AP_MAX_REG_MATCH]; - backrefinfo *briRR = NULL; - backrefinfo *briRC = NULL; - int failed; -@@ -2303,7 +2303,7 @@ - char input[MAX_STRING_LEN]; - apr_finfo_t sb; - request_rec *rsub; -- regmatch_t regmatch[AP_MAX_REG_MATCH]; -+ ap_regmatch_t regmatch[AP_MAX_REG_MATCH]; - int rc; - - /* diff --git a/www/apache20/files/patch-modules__mappers__mod_rewrite.h b/www/apache20/files/patch-modules__mappers__mod_rewrite.h deleted file mode 100644 index 33fac9455bc9..000000000000 --- a/www/apache20/files/patch-modules__mappers__mod_rewrite.h +++ /dev/null @@ -1,28 +0,0 @@ ---- ./modules/mappers/mod_rewrite.h.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./modules/mappers/mod_rewrite.h 2010-10-21 05:40:53.667623114 +0000 -@@ -199,14 +199,14 @@ - typedef struct { - char *input; /* Input string of RewriteCond */ - char *pattern; /* the RegExp pattern string */ -- regex_t *regexp; -+ ap_regex_t *regexp; - int flags; /* Flags which control the match */ - } rewritecond_entry; - - typedef struct { - apr_array_header_t *rewriteconds; /* the corresponding RewriteCond entries */ - char *pattern; /* the RegExp pattern string */ -- regex_t *regexp; /* the RegExp pattern compilation */ -+ ap_regex_t *regexp; /* the RegExp pattern compilation */ - char *output; /* the Substitution string */ - int flags; /* Flags which control the substitution */ - char *forced_mimetype; /* forced MIME type of substitution */ -@@ -290,7 +290,7 @@ - typedef struct backrefinfo { - char *source; - int nsub; -- regmatch_t regmatch[AP_MAX_REG_MATCH]; -+ ap_regmatch_t regmatch[AP_MAX_REG_MATCH]; - } backrefinfo; - - diff --git a/www/apache20/files/patch-modules__metadata__mod_headers.c b/www/apache20/files/patch-modules__metadata__mod_headers.c deleted file mode 100644 index daad09077266..000000000000 --- a/www/apache20/files/patch-modules__metadata__mod_headers.c +++ /dev/null @@ -1,27 +0,0 @@ ---- ./modules/metadata/mod_headers.c.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./modules/metadata/mod_headers.c 2010-10-21 05:40:53.655623801 +0000 -@@ -113,7 +113,7 @@ - hdr_actions action; - char *header; - apr_array_header_t *ta; /* Array of format_tag structs */ -- regex_t *regex; -+ ap_regex_t *regex; - const char *condition_var; - } header_entry; - -@@ -344,13 +344,13 @@ - return "header unset takes two arguments"; - } - else if (new->action == hdr_echo) { -- regex_t *regex; -+ ap_regex_t *regex; - if (value) - return "Header echo takes two arguments"; - else if (cmd->info == &hdr_in) - return "Header echo only valid on Header directive"; - else { -- regex = ap_pregcomp(cmd->pool, hdr, REG_EXTENDED | REG_NOSUB); -+ regex = ap_pregcomp(cmd->pool, hdr, AP_REG_EXTENDED | AP_REG_NOSUB); - if (regex == NULL) { - return "Header echo regex could not be compiled"; - } diff --git a/www/apache20/files/patch-modules__metadata__mod_setenvif.c b/www/apache20/files/patch-modules__metadata__mod_setenvif.c deleted file mode 100644 index a7edb293dc0c..000000000000 --- a/www/apache20/files/patch-modules__metadata__mod_setenvif.c +++ /dev/null @@ -1,63 +0,0 @@ ---- ./modules/metadata/mod_setenvif.c.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./modules/metadata/mod_setenvif.c 2010-10-21 05:40:53.656624209 +0000 -@@ -106,9 +106,9 @@ - }; - typedef struct { - char *name; /* header name */ -- regex_t *pnamereg; /* compiled header name regex */ -+ ap_regex_t *pnamereg; /* compiled header name regex */ - char *regex; /* regex to match against */ -- regex_t *preg; /* compiled regex */ -+ ap_regex_t *preg; /* compiled regex */ - const apr_strmatch_pattern *pattern; /* non-regex pattern to match */ - apr_table_t *features; /* env vars to set (or unset) */ - enum special special_type; /* is it a "special" header ? */ -@@ -159,7 +159,7 @@ - } - - /* -- * any non-NULL magic constant will do... used to indicate if REG_ICASE should -+ * any non-NULL magic constant will do... used to indicate if AP_REG_ICASE should - * be used - */ - #define ICASE_MAGIC ((void *)(&setenvif_module)) -@@ -171,8 +171,8 @@ - * -,_,[A-Z\, [a-z] and [0-9]. - * assume the header name is a regular expression. - */ -- regex_t *preg = ap_pregcomp(p, "^[-A-Za-z0-9_]*$", -- (REG_EXTENDED | REG_NOSUB )); -+ ap_regex_t *preg = ap_pregcomp(p, "^[-A-Za-z0-9_]*$", -+ (AP_REG_EXTENDED | AP_REG_NOSUB )); - ap_assert(preg != NULL); - - if (ap_regexec(preg, name, 0, NULL, 0)) { -@@ -318,7 +318,7 @@ - } - else { - new->preg = ap_pregcomp(cmd->pool, regex, -- (REG_EXTENDED | (icase ? REG_ICASE : 0))); -+ (AP_REG_EXTENDED | (icase ? AP_REG_ICASE : 0))); - if (new->preg == NULL) { - return apr_pstrcat(cmd->pool, cmd->cmd->name, - " regex could not be compiled.", NULL); -@@ -354,8 +354,8 @@ - */ - if (is_header_regex(cmd->pool, fname)) { - new->pnamereg = ap_pregcomp(cmd->pool, fname, -- (REG_EXTENDED | REG_NOSUB -- | (icase ? REG_ICASE : 0))); -+ (AP_REG_EXTENDED | AP_REG_NOSUB -+ | (icase ? AP_REG_ICASE : 0))); - if (new->pnamereg == NULL) - return apr_pstrcat(cmd->pool, cmd->cmd->name, - "Header name regex could not be " -@@ -453,7 +453,7 @@ - apr_size_t val_len = 0; - int i, j; - char *last_name; -- regmatch_t regm[AP_MAX_REG_MATCH]; -+ ap_regmatch_t regm[AP_MAX_REG_MATCH]; - - if (!ap_get_module_config(r->request_config, &setenvif_module)) { - ap_set_module_config(r->request_config, &setenvif_module, diff --git a/www/apache20/files/patch-modules__metadata__mod_usertrack.c b/www/apache20/files/patch-modules__metadata__mod_usertrack.c deleted file mode 100644 index 43b2a88472dc..000000000000 --- a/www/apache20/files/patch-modules__metadata__mod_usertrack.c +++ /dev/null @@ -1,29 +0,0 @@ ---- ./modules/metadata/mod_usertrack.c.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./modules/metadata/mod_usertrack.c 2010-10-21 05:40:53.653628850 +0000 -@@ -84,7 +84,7 @@ - char *cookie_name; - char *cookie_domain; - char *regexp_string; /* used to compile regexp; save for debugging */ -- regex_t *regexp; /* used to find usertrack cookie in cookie header */ -+ ap_regex_t *regexp; /* used to find usertrack cookie in cookie header */ - } cookie_dir_rec; - - /* Make Cookie: Now we have to generate something that is going to be -@@ -201,7 +201,7 @@ - cookie_name, - "=([^;]+)", NULL); - -- dcfg->regexp = ap_pregcomp(p, dcfg->regexp_string, REG_EXTENDED); -+ dcfg->regexp = ap_pregcomp(p, dcfg->regexp_string, AP_REG_EXTENDED); - ap_assert(dcfg->regexp != NULL); - } - -@@ -210,7 +210,7 @@ - cookie_dir_rec *dcfg = ap_get_module_config(r->per_dir_config, - &usertrack_module); - const char *cookie_header; -- regmatch_t regm[NUM_SUBS]; -+ ap_regmatch_t regm[NUM_SUBS]; - - /* Do not run in subrequests */ - if (!dcfg->enabled || r->main) { diff --git a/www/apache20/files/patch-modules__metadata__mod_version.c b/www/apache20/files/patch-modules__metadata__mod_version.c deleted file mode 100644 index 2c62ea57ccc3..000000000000 --- a/www/apache20/files/patch-modules__metadata__mod_version.c +++ /dev/null @@ -1,16 +0,0 @@ ---- ./modules/metadata/mod_version.c.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./modules/metadata/mod_version.c 2010-10-21 05:40:53.654632332 +0000 -@@ -142,11 +142,11 @@ - static int match_version(apr_pool_t *pool, char *version_string, - const char **error) - { -- regex_t *compiled; -+ ap_regex_t *compiled; - const char *to_match; - int rc; - -- compiled = ap_pregcomp(pool, version_string, REG_EXTENDED); -+ compiled = ap_pregcomp(pool, version_string, AP_REG_EXTENDED); - if (!compiled) { - *error = "Unable to compile regular expression"; - return 0; diff --git a/www/apache20/files/patch-modules__proxy__mod_proxy.c b/www/apache20/files/patch-modules__proxy__mod_proxy.c deleted file mode 100644 index 2de4b6adc11d..000000000000 --- a/www/apache20/files/patch-modules__proxy__mod_proxy.c +++ /dev/null @@ -1,47 +0,0 @@ ---- ./modules/proxy/mod_proxy.c.orig 2008-01-03 13:42:06.000000000 +0000 -+++ ./modules/proxy/mod_proxy.c 2010-10-21 05:40:53.657622382 +0000 -@@ -573,7 +573,7 @@ - struct proxy_remote *new; - char *p, *q; - char *r, *f, *scheme; -- regex_t *reg = NULL; -+ ap_regex_t *reg = NULL; - int port; - - r = apr_pstrdup(cmd->pool, r1); -@@ -603,7 +603,7 @@ - port = -1; - *p = '\0'; - if (regex) { -- reg = ap_pregcomp(cmd->pool, f, REG_EXTENDED); -+ reg = ap_pregcomp(cmd->pool, f, AP_REG_EXTENDED); - if (!reg) - return "Regular expression for ProxyRemoteMatch could not be compiled."; - } -@@ -970,7 +970,7 @@ - char *old_path = cmd->path; - proxy_dir_conf *conf; - ap_conf_vector_t *new_dir_conf = ap_create_per_dir_config(cmd->pool); -- regex_t *r = NULL; -+ ap_regex_t *r = NULL; - const command_rec *thiscmd = cmd->cmd; - - const char *err = ap_check_cmd_context(cmd, -@@ -1004,7 +1004,7 @@ - * scheme? See proxy_fixup() - */ - if (thiscmd->cmd_data) { /* <ProxyMatch> */ -- r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED); -+ r = ap_pregcomp(cmd->pool, cmd->path, AP_REG_EXTENDED); - if (!r) { - return "Regex could not be compiled"; - } -@@ -1015,7 +1015,7 @@ - return "<Proxy ~ > block must specify a path"; - if (strncasecmp(cmd->path, "proxy:", 6)) - cmd->path += 6; -- r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED); -+ r = ap_pregcomp(cmd->pool, cmd->path, AP_REG_EXTENDED); - if (!r) { - return "Regex could not be compiled"; - } diff --git a/www/apache20/files/patch-modules__proxy__mod_proxy.h b/www/apache20/files/patch-modules__proxy__mod_proxy.h deleted file mode 100644 index 44f249893db2..000000000000 --- a/www/apache20/files/patch-modules__proxy__mod_proxy.h +++ /dev/null @@ -1,30 +0,0 @@ ---- ./modules/proxy/mod_proxy.h.orig 2008-01-03 13:42:06.000000000 +0000 -+++ ./modules/proxy/mod_proxy.h 2010-10-21 05:40:53.658621114 +0000 -@@ -90,12 +90,12 @@ - - /* static information about a remote proxy */ - struct proxy_remote { -- const char *scheme; /* the schemes handled by this proxy, or '*' */ -- const char *protocol; /* the scheme used to talk to this proxy */ -- const char *hostname; /* the hostname of this proxy */ -- apr_port_t port; /* the port for this proxy */ -- regex_t *regexp; /* compiled regex (if any) for the remote */ -- int use_regex; /* simple boolean. True if we have a regex pattern */ -+ const char *scheme; /* the schemes handled by this proxy, or '*' */ -+ const char *protocol; /* the scheme used to talk to this proxy */ -+ const char *hostname; /* the hostname of this proxy */ -+ apr_port_t port; /* the port for this proxy */ -+ ap_regex_t *regexp; /* compiled regex (if any) for the remote */ -+ int use_regex; /* simple boolean. True if we have a regex pattern */ - }; - - struct proxy_alias { -@@ -165,7 +165,7 @@ - typedef struct { - const char *p; /* The path */ - int p_is_fnmatch; /* Is this path an fnmatch candidate? */ -- regex_t *r; /* Is this a regex? */ -+ ap_regex_t *r; /* Is this a regex? */ - const char *ftp_directory_charset; - } proxy_dir_conf; - diff --git a/www/apache20/files/patch-modules__proxy__proxy_ftp.c b/www/apache20/files/patch-modules__proxy__proxy_ftp.c deleted file mode 100644 index e772648804f7..000000000000 --- a/www/apache20/files/patch-modules__proxy__proxy_ftp.c +++ /dev/null @@ -1,17 +0,0 @@ ---- ./modules/proxy/proxy_ftp.c.orig 2010-05-13 19:18:50.000000000 +0000 -+++ ./modules/proxy/proxy_ftp.c 2010-10-21 05:40:53.660623887 +0000 -@@ -426,11 +426,11 @@ - int found = 0; - int eos = 0; - -- regex_t *re = NULL; -- regmatch_t re_result[LS_REG_MATCH]; -+ ap_regex_t *re = NULL; -+ ap_regmatch_t re_result[LS_REG_MATCH]; - - /* Compile the output format of "ls -s1" as a fallback for non-unix ftp listings */ -- re = ap_pregcomp(p, LS_REG_PATTERN, REG_EXTENDED); -+ re = ap_pregcomp(p, LS_REG_PATTERN, AP_REG_EXTENDED); - ap_assert(re != NULL); - - /* get a complete line */ diff --git a/www/apache20/files/patch-modules__ssl__mod_ssl.h b/www/apache20/files/patch-modules__ssl__mod_ssl.h deleted file mode 100644 index 5ab89afb1a3a..000000000000 --- a/www/apache20/files/patch-modules__ssl__mod_ssl.h +++ /dev/null @@ -1,11 +0,0 @@ ---- ./modules/ssl/mod_ssl.h.orig 2007-05-08 19:08:47.000000000 -0400 -+++ ./modules/ssl/mod_ssl.h 2010-05-06 16:06:03.737831861 -0400 -@@ -90,7 +90,7 @@ - #else /* !HAVE_SSLC (implicit HAVE_OPENSSL) */ - - #include <ssl.h> --#include <err.h> -+#include <openssl/err.h> - #include <x509.h> - #include <pem.h> - #include <crypto.h> diff --git a/www/apache20/files/patch-modules__ssl__ssl_expr_eval.c b/www/apache20/files/patch-modules__ssl__ssl_expr_eval.c deleted file mode 100644 index 0276ce2efc02..000000000000 --- a/www/apache20/files/patch-modules__ssl__ssl_expr_eval.c +++ /dev/null @@ -1,31 +0,0 @@ ---- ./modules/ssl/ssl_expr_eval.c.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./modules/ssl/ssl_expr_eval.c 2010-10-21 05:40:53.660623887 +0000 -@@ -126,24 +126,24 @@ - ssl_expr *e1; - ssl_expr *e2; - char *word; -- regex_t *regex; -+ ap_regex_t *regex; - - e1 = (ssl_expr *)node->node_arg1; - e2 = (ssl_expr *)node->node_arg2; - word = ssl_expr_eval_word(r, e1); -- regex = (regex_t *)(e2->node_arg1); -+ regex = (ap_regex_t *)(e2->node_arg1); - return (ap_regexec(regex, word, 0, NULL, 0) == 0); - } - case op_NRE: { - ssl_expr *e1; - ssl_expr *e2; - char *word; -- regex_t *regex; -+ ap_regex_t *regex; - - e1 = (ssl_expr *)node->node_arg1; - e2 = (ssl_expr *)node->node_arg2; - word = ssl_expr_eval_word(r, e1); -- regex = (regex_t *)(e2->node_arg1); -+ regex = (ap_regex_t *)(e2->node_arg1); - return !(ap_regexec(regex, word, 0, NULL, 0) == 0); - } - default: { diff --git a/www/apache20/files/patch-modules__ssl__ssl_expr_parse.c b/www/apache20/files/patch-modules__ssl__ssl_expr_parse.c deleted file mode 100644 index cc2b2c9a549f..000000000000 --- a/www/apache20/files/patch-modules__ssl__ssl_expr_parse.c +++ /dev/null @@ -1,26 +0,0 @@ ---- ./modules/ssl/ssl_expr_parse.c.orig 2010-10-14 18:00:30.000000000 +0000 -+++ ./modules/ssl/ssl_expr_parse.c 2010-10-21 05:40:53.661622060 +0000 -@@ -818,9 +818,9 @@ - case 24: - #line 148 "ssl_expr_parse.y" - { -- regex_t *regex; -+ ap_regex_t *regex; - if ((regex = ap_pregcomp(ssl_expr_info.pool, ssl_expr_yyvsp[0].cpVal, -- REG_EXTENDED|REG_NOSUB)) == NULL) { -+ AP_REG_EXTENDED|AP_REG_NOSUB)) == NULL) { - ssl_expr_error = "Failed to compile regular expression"; - YYERROR; - regex = NULL; -@@ -831,9 +831,9 @@ - case 25: - #line 158 "ssl_expr_parse.y" - { -- regex_t *regex; -+ ap_regex_t *regex; - if ((regex = ap_pregcomp(ssl_expr_info.pool, ssl_expr_yyvsp[0].cpVal, -- REG_EXTENDED|REG_NOSUB|REG_ICASE)) == NULL) { -+ AP_REG_EXTENDED|AP_REG_NOSUB|AP_REG_ICASE)) == NULL) { - ssl_expr_error = "Failed to compile regular expression"; - YYERROR; - regex = NULL; diff --git a/www/apache20/files/patch-modules__ssl__ssl_expr_parse.y b/www/apache20/files/patch-modules__ssl__ssl_expr_parse.y deleted file mode 100644 index e96ad34ebd9d..000000000000 --- a/www/apache20/files/patch-modules__ssl__ssl_expr_parse.y +++ /dev/null @@ -1,25 +0,0 @@ ---- ./modules/ssl/ssl_expr_parse.y.orig 2010-10-14 18:00:24.000000000 +0000 -+++ ./modules/ssl/ssl_expr_parse.y 2010-10-21 05:40:53.662624424 +0000 -@@ -113,18 +113,18 @@ - ; - - regex : T_REGEX { -- regex_t *regex; -+ ap_regex_t *regex; - if ((regex = ap_pregcomp(ssl_expr_info.pool, $1, -- REG_EXTENDED|REG_NOSUB)) == NULL) { -+ AP_REG_EXTENDED|AP_REG_NOSUB)) == NULL) { - ssl_expr_error = "Failed to compile regular expression"; - YYERROR; - } - $$ = ssl_expr_make(op_Regex, regex, NULL); - } - | T_REGEX_I { -- regex_t *regex; -+ ap_regex_t *regex; - if ((regex = ap_pregcomp(ssl_expr_info.pool, $1, -- REG_EXTENDED|REG_NOSUB|REG_ICASE)) == NULL) { -+ AP_REG_EXTENDED|AP_REG_NOSUB|AP_REG_ICASE)) == NULL) { - ssl_expr_error = "Failed to compile regular expression"; - YYERROR; - } diff --git a/www/apache20/files/patch-modules__ssl__ssl_toolkit_compat.h b/www/apache20/files/patch-modules__ssl__ssl_toolkit_compat.h deleted file mode 100644 index bce46dccdfd1..000000000000 --- a/www/apache20/files/patch-modules__ssl__ssl_toolkit_compat.h +++ /dev/null @@ -1,16 +0,0 @@ ---- ./modules/ssl/ssl_toolkit_compat.h.orig 2006-07-12 03:40:55.000000000 -0400 -+++ ./modules/ssl/ssl_toolkit_compat.h 2010-05-06 16:43:34.888290876 -0400 -@@ -121,6 +121,13 @@ - #endif - #endif - -+#ifndef PEM_F_DEF_CALLBACK -+#ifdef PEM_F_PEM_DEF_CALLBACK -+/* In OpenSSL 0.9.8 PEM_F_DEF_CALLBACK was renamed */ -+#define PEM_F_DEF_CALLBACK PEM_F_PEM_DEF_CALLBACK -+#endif -+#endif -+ - #elif defined (SSLC_VERSION_NUMBER) /* RSA */ - - /* sslc does not support this function, OpenSSL has since 9.5.1 */ diff --git a/www/apache20/files/patch-server__Makefile.in b/www/apache20/files/patch-server__Makefile.in deleted file mode 100644 index b741bc1c0a15..000000000000 --- a/www/apache20/files/patch-server__Makefile.in +++ /dev/null @@ -1,11 +0,0 @@ ---- ./server/Makefile.in.orig 2006-03-09 21:30:38.000000000 +0000 -+++ ./server/Makefile.in 2010-10-21 05:40:53.644623499 +0000 -@@ -13,7 +13,7 @@ - util_script.c util_md5.c util_cfgtree.c util_ebcdic.c util_time.c \ - rfc1413.c connection.c listen.c \ - mpm_common.c util_charset.c util_debug.c util_xml.c \ -- util_filter.c exports.c buildmark.c \ -+ util_filter.c util_pcre.c buildmark.c exports.c \ - scoreboard.c error_bucket.c protocol.c core.c request.c provider.c \ - eoc_bucket.c - diff --git a/www/apache20/files/patch-server__core.c b/www/apache20/files/patch-server__core.c deleted file mode 100644 index 1c6cd4fa55a8..000000000000 --- a/www/apache20/files/patch-server__core.c +++ /dev/null @@ -1,88 +0,0 @@ ---- ./server/core.c.orig 2010-10-21 05:40:35.805621104 +0000 -+++ ./server/core.c 2010-10-21 05:40:53.651624122 +0000 -@@ -1624,7 +1624,7 @@ - */ - - #ifdef WIN32 --#define USE_ICASE REG_ICASE -+#define USE_ICASE AP_REG_ICASE - #else - #define USE_ICASE 0 - #endif -@@ -1646,7 +1646,7 @@ - char *old_path = cmd->path; - core_dir_config *conf; - ap_conf_vector_t *new_dir_conf = ap_create_per_dir_config(cmd->pool); -- regex_t *r = NULL; -+ ap_regex_t *r = NULL; - const command_rec *thiscmd = cmd->cmd; - - const char *err = ap_check_cmd_context(cmd, -@@ -1675,13 +1675,13 @@ - cmd->path = ap_getword_conf(cmd->pool, &arg); - if (!cmd->path) - return "<Directory ~ > block must specify a path"; -- r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE); -+ r = ap_pregcomp(cmd->pool, cmd->path, AP_REG_EXTENDED|USE_ICASE); - if (!r) { - return "Regex could not be compiled"; - } - } - else if (thiscmd->cmd_data) { /* <DirectoryMatch> */ -- r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE); -+ r = ap_pregcomp(cmd->pool, cmd->path, AP_REG_EXTENDED|USE_ICASE); - if (!r) { - return "Regex could not be compiled"; - } -@@ -1746,7 +1746,7 @@ - int old_overrides = cmd->override; - char *old_path = cmd->path; - core_dir_config *conf; -- regex_t *r = NULL; -+ ap_regex_t *r = NULL; - const command_rec *thiscmd = cmd->cmd; - ap_conf_vector_t *new_url_conf = ap_create_per_dir_config(cmd->pool); - const char *err = ap_check_cmd_context(cmd, -@@ -1765,14 +1765,14 @@ - cmd->override = OR_ALL|ACCESS_CONF; - - if (thiscmd->cmd_data) { /* <LocationMatch> */ -- r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED); -+ r = ap_pregcomp(cmd->pool, cmd->path, AP_REG_EXTENDED); - if (!r) { - return "Regex could not be compiled"; - } - } - else if (!strcmp(cmd->path, "~")) { - cmd->path = ap_getword_conf(cmd->pool, &arg); -- r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED); -+ r = ap_pregcomp(cmd->pool, cmd->path, AP_REG_EXTENDED); - if (!r) { - return "Regex could not be compiled"; - } -@@ -1810,7 +1810,7 @@ - int old_overrides = cmd->override; - char *old_path = cmd->path; - core_dir_config *conf; -- regex_t *r = NULL; -+ ap_regex_t *r = NULL; - const command_rec *thiscmd = cmd->cmd; - core_dir_config *c = mconfig; - ap_conf_vector_t *new_file_conf = ap_create_per_dir_config(cmd->pool); -@@ -1833,14 +1833,14 @@ - } - - if (thiscmd->cmd_data) { /* <FilesMatch> */ -- r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE); -+ r = ap_pregcomp(cmd->pool, cmd->path, AP_REG_EXTENDED|USE_ICASE); - if (!r) { - return "Regex could not be compiled"; - } - } - else if (!strcmp(cmd->path, "~")) { - cmd->path = ap_getword_conf(cmd->pool, &arg); -- r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE); -+ r = ap_pregcomp(cmd->pool, cmd->path, AP_REG_EXTENDED|USE_ICASE); - if (!r) { - return "Regex could not be compiled"; - } diff --git a/www/apache20/files/patch-server__main.c b/www/apache20/files/patch-server__main.c deleted file mode 100644 index 5a90f78e18ec..000000000000 --- a/www/apache20/files/patch-server__main.c +++ /dev/null @@ -1,36 +0,0 @@ ---- ./server/main.c.orig 2007-08-28 01:23:46.000000000 -0400 -+++ ./server/main.c 2010-05-06 16:06:03.772831938 -0400 -@@ -40,6 +40,11 @@ - #include "ap_mpm.h" - #include "mpm_common.h" - -+#ifdef FREEBSD_THREAD_HACK -+#include <unistd.h> -+AP_DECLARE(int) ap_exists_config_define(const char *name); -+#endif -+ - /* WARNING: Win32 binds http_main.c dynamically to the server. Please place - * extern functions and global data in another appropriate module. - * -@@ -554,6 +559,21 @@ - destroy_and_exit_process(process, 1); - } - -+#ifdef FREEBSD_THREAD_HACK -+ { -+ int r; -+ -+ if (! ap_exists_config_define("NO_DETACH")) { -+ if ((r = fork()) > 0) -+ return 0; -+ if (r == -1) { -+ perror("fork"); -+ return 0; -+ } -+ setsid(); -+ } -+ } -+#endif - ap_process_config_tree(server_conf, ap_conftree, process->pconf, ptemp); - ap_fixup_virtual_hosts(pconf, server_conf); - ap_fini_vhost_config(pconf, server_conf); diff --git a/www/apache20/files/patch-server__request.c b/www/apache20/files/patch-server__request.c deleted file mode 100644 index 5e90dfad5a6b..000000000000 --- a/www/apache20/files/patch-server__request.c +++ /dev/null @@ -1,11 +0,0 @@ ---- ./server/request.c.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./server/request.c 2010-10-21 05:40:53.653628850 +0000 -@@ -1040,7 +1040,7 @@ - continue; - } - -- if (ap_regexec(entry_core->r, r->filename, 0, NULL, REG_NOTEOL)) { -+ if (ap_regexec(entry_core->r, r->filename, 0, NULL, AP_REG_NOTEOL)) { - continue; - } - diff --git a/www/apache20/files/patch-server__util.c b/www/apache20/files/patch-server__util.c deleted file mode 100644 index ec641bfdaefe..000000000000 --- a/www/apache20/files/patch-server__util.c +++ /dev/null @@ -1,88 +0,0 @@ ---- ./server/util.c.orig 2006-07-12 07:40:55.000000000 +0000 -+++ ./server/util.c 2010-10-21 05:40:53.646625433 +0000 -@@ -247,25 +247,25 @@ - } - - /* -- * Here's a pool-based interface to POSIX regex's regcomp(). -- * Note that we return regex_t instead of being passed one. -- * The reason is that if you use an already-used regex_t structure, -+ * Here's a pool-based interface to the POSIX-esque ap_regcomp(). -+ * Note that we return ap_regex_t instead of being passed one. -+ * The reason is that if you use an already-used ap_regex_t structure, - * the memory that you've already allocated gets forgotten, and - * regfree() doesn't clear it. So we don't allow it. - */ - - static apr_status_t regex_cleanup(void *preg) - { -- regfree((regex_t *) preg); -+ ap_regfree((ap_regex_t *) preg); - return APR_SUCCESS; - } - --AP_DECLARE(regex_t *) ap_pregcomp(apr_pool_t *p, const char *pattern, -- int cflags) -+AP_DECLARE(ap_regex_t *) ap_pregcomp(apr_pool_t *p, const char *pattern, -+ int cflags) - { -- regex_t *preg = apr_palloc(p, sizeof(regex_t)); -+ ap_regex_t *preg = apr_palloc(p, sizeof *preg); - -- if (regcomp(preg, pattern, cflags)) { -+ if (ap_regcomp(preg, pattern, cflags)) { - return NULL; - } - -@@ -275,9 +275,9 @@ - return preg; - } - --AP_DECLARE(void) ap_pregfree(apr_pool_t *p, regex_t * reg) -+AP_DECLARE(void) ap_pregfree(apr_pool_t *p, ap_regex_t *reg) - { -- regfree(reg); -+ ap_regfree(reg); - apr_pool_cleanup_kill(p, (void *) reg, regex_cleanup); - } - -@@ -344,29 +344,10 @@ - return bigstring; - } - --/* -- * Apache stub function for the regex libraries regexec() to make sure the -- * whole regex(3) API is available through the Apache (exported) namespace. -- * This is especially important for the DSO situations of modules. -- * DO NOT MAKE A MACRO OUT OF THIS FUNCTION! -- */ --AP_DECLARE(int) ap_regexec(regex_t *preg, const char *string, -- size_t nmatch, regmatch_t pmatch[], int eflags) --{ -- return regexec(preg, string, nmatch, pmatch, eflags); --} -- --AP_DECLARE(size_t) ap_regerror(int errcode, const regex_t *preg, char *errbuf, -- size_t errbuf_size) --{ -- return regerror(errcode, preg, errbuf, errbuf_size); --} -- -- - /* This function substitutes for $0-$9, filling in regular expression - * submatches. Pass it the same nmatch and pmatch arguments that you - * passed ap_regexec(). pmatch should not be greater than the maximum number -- * of subexpressions - i.e. one more than the re_nsub member of regex_t. -+ * of subexpressions - i.e. one more than the re_nsub member of ap_regex_t. - * - * input should be the string with the $-expressions, source should be the - * string that was matched against. -@@ -379,7 +360,7 @@ - - AP_DECLARE(char *) ap_pregsub(apr_pool_t *p, const char *input, - const char *source, size_t nmatch, -- regmatch_t pmatch[]) -+ ap_regmatch_t pmatch[]) - { - const char *src = input; - char *dest, *dst; diff --git a/www/apache20/files/patch-server__util_pcre.c b/www/apache20/files/patch-server__util_pcre.c deleted file mode 100644 index c47d1a4f1bbb..000000000000 --- a/www/apache20/files/patch-server__util_pcre.c +++ /dev/null @@ -1,228 +0,0 @@ ---- ./server/util_pcre.c.orig 2010-10-21 05:40:53.646625433 +0000 -+++ ./server/util_pcre.c 2010-10-21 05:40:53.647626679 +0000 -@@ -0,0 +1,225 @@ -+/************************************************* -+* Perl-Compatible Regular Expressions * -+*************************************************/ -+ -+/* -+This is a library of functions to support regular expressions whose syntax -+and semantics are as close as possible to those of the Perl 5 language. See -+the file Tech.Notes for some information on the internals. -+ -+This module is a wrapper that provides a POSIX API to the underlying PCRE -+functions. -+ -+Written by: Philip Hazel <ph10@cam.ac.uk> -+ -+ Copyright (c) 1997-2004 University of Cambridge -+ -+----------------------------------------------------------------------------- -+Redistribution and use in source and binary forms, with or without -+modification, are permitted provided that the following conditions are met: -+ -+ * Redistributions of source code must retain the above copyright notice, -+ this list of conditions and the following disclaimer. -+ -+ * 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. -+ -+ * Neither the name of the University of Cambridge nor the names of its -+ contributors may be used to endorse or promote products derived from -+ this software without specific prior written permission. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -+AND ANY EXPRESS 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 COPYRIGHT OWNER OR 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. -+----------------------------------------------------------------------------- -+*/ -+ -+#include "apr.h" -+#include "apr_strings.h" -+ -+#define APR_WANT_STRFUNC -+#include "apr_want.h" -+ -+#include "ap_regex.h" -+#include "pcre.h" -+ -+#ifndef POSIX_MALLOC_THRESHOLD -+#define POSIX_MALLOC_THRESHOLD (10) -+#endif -+ -+/* Table of error strings corresponding to POSIX error codes; must be -+ * kept in synch with include/ap_regex.h's AP_REG_E* definitions. */ -+ -+static const char *const pstring[] = { -+ "", /* Dummy for value 0 */ -+ "internal error", /* AP_REG_ASSERT */ -+ "failed to get memory", /* AP_REG_ESPACE */ -+ "bad argument", /* AP_REG_INVARG */ -+ "match failed" /* AP_REG_NOMATCH */ -+}; -+ -+AP_DECLARE(size_t) ap_regerror(int errcode, const ap_regex_t *preg, -+ char *errbuf, size_t errbuf_size) -+{ -+const char *message, *addmessage; -+size_t length, addlength; -+ -+message = (errcode >= (int)(sizeof(pstring)/sizeof(char *)))? -+ "unknown error code" : pstring[errcode]; -+length = strlen(message) + 1; -+ -+addmessage = " at offset "; -+addlength = (preg != NULL && (int)preg->re_erroffset != -1)? -+ strlen(addmessage) + 6 : 0; -+ -+if (errbuf_size > 0) -+ { -+ if (addlength > 0 && errbuf_size >= length + addlength) -+ apr_snprintf(errbuf, sizeof errbuf, -+ "%s%s%-6d", message, addmessage, (int)preg->re_erroffset); -+ else -+ { -+ strncpy(errbuf, message, errbuf_size - 1); -+ errbuf[errbuf_size-1] = 0; -+ } -+ } -+ -+return length + addlength; -+} -+ -+ -+ -+ -+/************************************************* -+* Free store held by a regex * -+*************************************************/ -+ -+AP_DECLARE(void) ap_regfree(ap_regex_t *preg) -+{ -+(pcre_free)(preg->re_pcre); -+} -+ -+ -+ -+ -+/************************************************* -+* Compile a regular expression * -+*************************************************/ -+ -+/* -+Arguments: -+ preg points to a structure for recording the compiled expression -+ pattern the pattern to compile -+ cflags compilation flags -+ -+Returns: 0 on success -+ various non-zero codes on failure -+*/ -+ -+AP_DECLARE(int) ap_regcomp(ap_regex_t *preg, const char *pattern, int cflags) -+{ -+const char *errorptr; -+int erroffset; -+int options = 0; -+ -+if ((cflags & AP_REG_ICASE) != 0) options |= PCRE_CASELESS; -+if ((cflags & AP_REG_NEWLINE) != 0) options |= PCRE_MULTILINE; -+ -+preg->re_pcre = pcre_compile(pattern, options, &errorptr, &erroffset, NULL); -+preg->re_erroffset = erroffset; -+ -+if (preg->re_pcre == NULL) return AP_REG_INVARG; -+ -+pcre_fullinfo((const pcre *)preg->re_pcre, NULL, -+ PCRE_INFO_CAPTURECOUNT, &(preg->re_nsub)); -+return 0; -+} -+ -+ -+ -+/************************************************* -+* Match a regular expression * -+*************************************************/ -+ -+/* Unfortunately, PCRE requires 3 ints of working space for each captured -+substring, so we have to get and release working store instead of just using -+the POSIX structures as was done in earlier releases when PCRE needed only 2 -+ints. However, if the number of possible capturing brackets is small, use a -+block of store on the stack, to reduce the use of malloc/free. The threshold is -+in a macro that can be changed at configure time. */ -+ -+AP_DECLARE(int) ap_regexec(const ap_regex_t *preg, const char *string, size_t nmatch, -+ ap_regmatch_t pmatch[], int eflags) -+{ -+int rc; -+int options = 0; -+int *ovector = NULL; -+int small_ovector[POSIX_MALLOC_THRESHOLD * 3]; -+int allocated_ovector = 0; -+ -+if ((eflags & AP_REG_NOTBOL) != 0) options |= PCRE_NOTBOL; -+if ((eflags & AP_REG_NOTEOL) != 0) options |= PCRE_NOTEOL; -+ -+((ap_regex_t *)preg)->re_erroffset = (size_t)(-1); /* Only has meaning after compile */ -+ -+if (nmatch > 0) -+ { -+ if (nmatch <= POSIX_MALLOC_THRESHOLD) -+ { -+ ovector = &(small_ovector[0]); -+ } -+ else -+ { -+ ovector = (int *)malloc(sizeof(int) * nmatch * 3); -+ if (ovector == NULL) return AP_REG_ESPACE; -+ allocated_ovector = 1; -+ } -+ } -+ -+rc = pcre_exec((const pcre *)preg->re_pcre, NULL, string, (int)strlen(string), -+ 0, options, ovector, nmatch * 3); -+ -+if (rc == 0) rc = nmatch; /* All captured slots were filled in */ -+ -+if (rc >= 0) -+ { -+ size_t i; -+ for (i = 0; i < (size_t)rc; i++) -+ { -+ pmatch[i].rm_so = ovector[i*2]; -+ pmatch[i].rm_eo = ovector[i*2+1]; -+ } -+ if (allocated_ovector) free(ovector); -+ for (; i < nmatch; i++) pmatch[i].rm_so = pmatch[i].rm_eo = -1; -+ return 0; -+ } -+ -+else -+ { -+ if (allocated_ovector) free(ovector); -+ switch(rc) -+ { -+ case PCRE_ERROR_NOMATCH: return AP_REG_NOMATCH; -+ case PCRE_ERROR_NULL: return AP_REG_INVARG; -+ case PCRE_ERROR_BADOPTION: return AP_REG_INVARG; -+ case PCRE_ERROR_BADMAGIC: return AP_REG_INVARG; -+ case PCRE_ERROR_UNKNOWN_NODE: return AP_REG_ASSERT; -+ case PCRE_ERROR_NOMEMORY: return AP_REG_ESPACE; -+ case PCRE_ERROR_MATCHLIMIT: return AP_REG_ESPACE; -+ case PCRE_ERROR_BADUTF8: return AP_REG_INVARG; -+ case PCRE_ERROR_BADUTF8_OFFSET: return AP_REG_INVARG; -+ default: return AP_REG_ASSERT; -+ } -+ } -+} -+ -+/* End of pcreposix.c */ diff --git a/www/apache20/files/patch-support__Makefile.in b/www/apache20/files/patch-support__Makefile.in deleted file mode 100644 index 73a12565c61a..000000000000 --- a/www/apache20/files/patch-support__Makefile.in +++ /dev/null @@ -1,14 +0,0 @@ ---- ./support/Makefile.in.orig 2007-12-28 10:11:51.000000000 -0500 -+++ ./support/Makefile.in 2010-05-06 16:06:03.790832322 -0400 -@@ -23,10 +23,7 @@ - fi ; \ - done - @if test -f "$(builddir)/envvars-std"; then \ -- cp -p envvars-std $(DESTDIR)$(sbindir); \ -- if test ! -f $(DESTDIR)$(sbindir)/envvars; then \ -- cp -p envvars-std $(DESTDIR)$(sbindir)/envvars ; \ -- fi ; \ -+ cp -p envvars-std $(DESTDIR)$(sbindir)/envvars; \ - fi - - htpasswd_OBJECTS = htpasswd.lo diff --git a/www/apache20/files/patch-support__apachectl.in b/www/apache20/files/patch-support__apachectl.in deleted file mode 100644 index 8c09faf38e7c..000000000000 --- a/www/apache20/files/patch-support__apachectl.in +++ /dev/null @@ -1,11 +0,0 @@ ---- ./support/apachectl.in.orig 2006-07-12 03:40:55.000000000 -0400 -+++ ./support/apachectl.in 2010-05-06 16:06:03.793831873 -0400 -@@ -64,7 +64,7 @@ - ULIMIT_MAX_FILES="@APACHECTL_ULIMIT@" - # -------------------- -------------------- - # |||||||||||||||||||| END CONFIGURATION SECTION |||||||||||||||||||| -- -+eval `limits -e -C daemon` >/dev/null 2>&1 - # Set the maximum number of file descriptors allowed per child process. - if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then - $ULIMIT_MAX_FILES diff --git a/www/apache20/files/patch-support__apxs.in b/www/apache20/files/patch-support__apxs.in deleted file mode 100644 index 239a385cf4bf..000000000000 --- a/www/apache20/files/patch-support__apxs.in +++ /dev/null @@ -1,35 +0,0 @@ ---- ./support/apxs.in.orig 2010-05-07 20:43:34.000000000 +0000 -+++ ./support/apxs.in 2010-10-21 05:40:35.682625070 +0000 -@@ -83,7 +83,6 @@ - my ($argumentative, @ARGV) = @_; - my $errs = 0; - local $_; -- local $[ = 0; - - my @args = split / */, $argumentative; - while (@ARGV && ($_ = $ARGV[0]) =~ /^-(.)(.*)/) { -@@ -614,7 +613,13 @@ - } - } else { - # replace already existing LoadModule line -- $content =~ s|^(.*\n)#?\s*$lmd_re[^\n]*\n|$1$c$lmd\n|s; -+ # Custom FreeBSD mod -+ if ($opt_A) { -+ $content =~ s|^(.*\n)#?\s*$lmd_re[^\n]*\n|$1|s; -+ } -+ else { -+ $content =~ s|^(.*\n)#?\s*$lmd_re[^\n]*\n|$1$c$lmd\n|s; -+ } - } - $lmd =~ m|LoadModule\s+(.+?)_module.*|; - notice("[$what module `$1' in $CFG_SYSCONFDIR/$CFG_TARGET.conf]"); -@@ -631,8 +636,7 @@ - if (open(FP, ">$CFG_SYSCONFDIR/$CFG_TARGET.conf.new")) { - print FP $content; - close(FP); -- system("cp $CFG_SYSCONFDIR/$CFG_TARGET.conf $CFG_SYSCONFDIR/$CFG_TARGET.conf.bak && " . -- "cp $CFG_SYSCONFDIR/$CFG_TARGET.conf.new $CFG_SYSCONFDIR/$CFG_TARGET.conf && " . -+ system("cp $CFG_SYSCONFDIR/$CFG_TARGET.conf.new $CFG_SYSCONFDIR/$CFG_TARGET.conf && " . - "rm $CFG_SYSCONFDIR/$CFG_TARGET.conf.new"); - } else { - notice("unable to open configuration file"); diff --git a/www/apache20/files/patch-support__envvars-std.in b/www/apache20/files/patch-support__envvars-std.in deleted file mode 100644 index c5c6bcb5fe70..000000000000 --- a/www/apache20/files/patch-support__envvars-std.in +++ /dev/null @@ -1,13 +0,0 @@ ---- ./support/envvars-std.in.orig 2006-07-12 03:40:55.000000000 -0400 -+++ ./support/envvars-std.in 2010-05-06 16:06:03.798833361 -0400 -@@ -22,3 +22,10 @@ - export @SHLIBPATH_VAR@ - # - @OS_SPECIFIC_VARS@ -+ -+ENVVARS_DIR=%%PREFIX%%/etc/apache2/envvars.d -+ -+for envvars_file in $(ls ${ENVVARS_DIR}/*.env 2>/dev/null) -+do -+ . ${envvars_file} -+done diff --git a/www/apache20/files/patch-support__log_server_status.in b/www/apache20/files/patch-support__log_server_status.in deleted file mode 100644 index a378c9ada10f..000000000000 --- a/www/apache20/files/patch-support__log_server_status.in +++ /dev/null @@ -1,20 +0,0 @@ ---- ./support/log_server_status.in.orig 2006-07-12 03:40:55.000000000 -0400 -+++ ./support/log_server_status.in 2010-05-06 16:06:03.800835018 -0400 -@@ -27,7 +27,7 @@ - # - require 'sys/socket.ph'; - --$wherelog = "/var/log/graph/"; # Logs will be like "/var/log/graph/19960312" -+$wherelog = "@logfiledir@/httpd-status-"; # Logs will be like "/var/log/httpd-status-19960312.log" - $server = "localhost"; # Name of server, could be "www.foo.com" - $port = "80"; # Port on server - $request = "/status/?auto"; # Request to send -@@ -60,7 +60,7 @@ - chomp($date); - ($day,$time)=split(/:/,$date); - $res=&tcp_connect($server,$port); -- open(OUT,">>$wherelog$day"); -+ open(OUT,">>$wherelog$day.log"); - if ($res) { - print OUT "$time:-1:-1:-1:-1:$res\n"; - exit 1; diff --git a/www/apache20/pkg-descr b/www/apache20/pkg-descr deleted file mode 100644 index 1102fa67e2cb..000000000000 --- a/www/apache20/pkg-descr +++ /dev/null @@ -1,9 +0,0 @@ -The Apache HTTP Server Project is an effort to develop and maintain an -open-source HTTP server for various modern desktop and server operating -systems, such as UNIX and Windows NT. The goal of this project is to -provide a secure, efficient and extensible server which provides HTTP -services in sync with the current HTTP standards. -The 2.x branch of Apache Web Server includes several improvements like -threading, use of APR, native IPv6 and SSL support, and many more. - -WWW: http://httpd.apache.org/ diff --git a/www/apache20/pkg-message b/www/apache20/pkg-message deleted file mode 100644 index 0006050a6ffb..000000000000 --- a/www/apache20/pkg-message +++ /dev/null @@ -1,6 +0,0 @@ -To run apache www server from startup, add apache2_enable="YES" -in your /etc/rc.conf. Extra options can be found in startup script. - -Your hostname must be resolvable using at least 1 mechanism in -/etc/nsswitch typically DNS or /etc/hosts or apache might -have issues starting depending on the modules you are using. diff --git a/www/apache20/pkg-plist b/www/apache20/pkg-plist deleted file mode 100644 index e2f678a3396a..000000000000 --- a/www/apache20/pkg-plist +++ /dev/null @@ -1,454 +0,0 @@ -@comment $FreeBSD$ -@exec mkdir -p %D/etc/apache2 2> /dev/null -@unexec if cmp %D/etc/apache2/httpd.conf %D/%%EXAMPLESDIR%%/httpd-std.conf; then rm -f %D/etc/apache2/httpd.conf; fi -%%EXAMPLESDIR%%/httpd-std.conf -@exec [ -f %D/etc/apache2/httpd.conf ] || cp %D/%%EXAMPLESDIR%%/httpd-std.conf %D/etc/apache2/httpd.conf -@unexec if cmp -s %D/etc/apache2/magic %D/%%EXAMPLESDIR%%/magic-dist; then rm -f %D/etc/apache2/magic; fi -%%EXAMPLESDIR%%/magic-dist -@exec [ -f %D/etc/apache2/magic ] || cp %D/%%EXAMPLESDIR%%/magic-dist %D/etc/apache2/magic -@unexec if cmp -s %D/etc/apache2/mime.types %D/%%EXAMPLESDIR%%/mime.types-dist; then rm -f %D/etc/apache2/mime.types; fi -%%EXAMPLESDIR%%/mime.types-dist -@exec [ -f %D/etc/apache2/mime.types ] || cp %D/%%EXAMPLESDIR%%/mime.types-dist %D/etc/apache2/mime.types -@unexec if cmp -s %D/etc/apache2/ssl.conf %D/%%EXAMPLESDIR%%/ssl-std.conf; then rm -f %D/etc/apache2/ssl.conf; fi -%%EXAMPLESDIR%%/ssl-std.conf -@exec [ -f %D/etc/apache2/ssl.conf ] || cp %D/%%EXAMPLESDIR%%/ssl-std.conf %D/etc/apache2/ssl.conf -include/apache2/ap_compat.h -include/apache2/ap_config.h -include/apache2/ap_config_auto.h -include/apache2/ap_config_layout.h -include/apache2/ap_listen.h -include/apache2/ap_mmn.h -include/apache2/ap_mpm.h -include/apache2/ap_provider.h -include/apache2/ap_regkey.h -include/apache2/ap_regex.h -include/apache2/ap_release.h -%%WORKER%%include/apache2/fdqueue.h -%%THREADPOOL%%include/apache2/pod.h -include/apache2/http_config.h -include/apache2/http_connection.h -include/apache2/http_core.h -include/apache2/http_log.h -include/apache2/http_main.h -include/apache2/http_protocol.h -include/apache2/http_request.h -include/apache2/http_vhost.h -include/apache2/httpd.h -include/apache2/mod_cgi.h -include/apache2/mod_core.h -include/apache2/mod_dav.h -include/apache2/mod_include.h -include/apache2/mod_log_config.h -include/apache2/mod_proxy.h -include/apache2/mod_ssl.h -include/apache2/mod_status.h -include/apache2/mpm.h -include/apache2/mpm_common.h -include/apache2/mpm_default.h -include/apache2/os.h -%%WORKER%%include/apache2/pod.h -include/apache2/rfc1413.h -include/apache2/scoreboard.h -include/apache2/ssl_expr.h -include/apache2/ssl_expr_parse.h -include/apache2/ssl_toolkit_compat.h -include/apache2/ssl_util_ssl.h -include/apache2/ssl_util_table.h -include/apache2/unixd.h -include/apache2/util_cfgtree.h -include/apache2/util_charset.h -include/apache2/util_ebcdic.h -include/apache2/util_filter.h -include/apache2/util_ldap.h -include/apache2/util_md5.h -include/apache2/util_script.h -include/apache2/util_time.h -include/apache2/util_xml.h -libexec/apache2/httpd.exp -%%MOD_ACCESS%%libexec/apache2/mod_access.so -%%MOD_ACTIONS%%libexec/apache2/mod_actions.so -%%MOD_ALIAS%%libexec/apache2/mod_alias.so -%%MOD_ASIS%%libexec/apache2/mod_asis.so -%%MOD_AUTH%%libexec/apache2/mod_auth.so -%%MOD_AUTH_ANON%%libexec/apache2/mod_auth_anon.so -%%MOD_AUTH_DBM%%libexec/apache2/mod_auth_dbm.so -%%MOD_AUTH_DIGEST%%libexec/apache2/mod_auth_digest.so -%%MOD_AUTH_LDAP%%libexec/apache2/mod_auth_ldap.so -%%MOD_AUTOINDEX%%libexec/apache2/mod_autoindex.so -%%MOD_BUCKETEER%%libexec/apache2/mod_bucketeer.so -%%MOD_CACHE%%libexec/apache2/mod_cache.so -%%MOD_CASE_FILTER%%libexec/apache2/mod_case_filter.so -%%MOD_CASE_FILTER_IN%%libexec/apache2/mod_case_filter_in.so -%%MOD_CERN_META%%libexec/apache2/mod_cern_meta.so -%%MOD_CGI%%libexec/apache2/mod_cgi.so -%%MOD_CGID%%libexec/apache2/mod_cgid.so -%%MOD_CHARSET_LITE%%libexec/apache2/mod_charset_lite.so -%%MOD_DAV%%libexec/apache2/mod_dav.so -%%MOD_DAV_FS%%libexec/apache2/mod_dav_fs.so -%%MOD_DEFLATE%%libexec/apache2/mod_deflate.so -%%MOD_DIR%%libexec/apache2/mod_dir.so -%%MOD_DISK_CACHE%%libexec/apache2/mod_disk_cache.so -%%MOD_DUMPIO%%libexec/apache2/mod_dumpio.so -%%MOD_ENV%%libexec/apache2/mod_env.so -%%MOD_EXPIRES%%libexec/apache2/mod_expires.so -%%MOD_EXT_FILTER%%libexec/apache2/mod_ext_filter.so -%%MOD_FILE_CACHE%%libexec/apache2/mod_file_cache.so -%%MOD_HEADERS%%libexec/apache2/mod_headers.so -%%MOD_IMAP%%libexec/apache2/mod_imap.so -%%MOD_INCLUDE%%libexec/apache2/mod_include.so -%%MOD_INFO%%libexec/apache2/mod_info.so -%%MOD_LDAP%%libexec/apache2/mod_ldap.so -%%MOD_LOG_CONFIG%%libexec/apache2/mod_log_config.so -%%MOD_LOGIO%%libexec/apache2/mod_logio.so -%%MOD_MEM_CACHE%%libexec/apache2/mod_mem_cache.so -%%MOD_MIME%%libexec/apache2/mod_mime.so -%%MOD_MIME_MAGIC%%libexec/apache2/mod_mime_magic.so -%%MOD_NEGOTIATION%%libexec/apache2/mod_negotiation.so -%%MOD_OPTIONAL_HOOK_EXPORT%%libexec/apache2/mod_optional_hook_export.so -%%MOD_OPTIONAL_HOOK_IMPORT%%libexec/apache2/mod_optional_hook_import.so -%%MOD_OPTIONAL_FN_IMPORT%%libexec/apache2/mod_optional_fn_import.so -%%MOD_OPTIONAL_FN_EXPORT%%libexec/apache2/mod_optional_fn_export.so -%%MOD_PROXY%%libexec/apache2/mod_proxy.so -%%MOD_PROXY_CONNECT%%libexec/apache2/mod_proxy_connect.so -%%MOD_PROXY_FTP%%libexec/apache2/mod_proxy_ftp.so -%%MOD_PROXY_HTTP%%libexec/apache2/mod_proxy_http.so -%%MOD_REWRITE%%libexec/apache2/mod_rewrite.so -%%MOD_SETENVIF%%libexec/apache2/mod_setenvif.so -%%MOD_SPELING%%libexec/apache2/mod_speling.so -%%MOD_SSL%%libexec/apache2/mod_ssl.so -%%MOD_STATUS%%libexec/apache2/mod_status.so -%%MOD_SUEXEC%%libexec/apache2/mod_suexec.so -%%MOD_UNIQUE_ID%%libexec/apache2/mod_unique_id.so -%%MOD_USERDIR%%libexec/apache2/mod_userdir.so -%%MOD_USERTRACK%%libexec/apache2/mod_usertrack.so -%%MOD_VHOST_ALIAS%%libexec/apache2/mod_vhost_alias.so -sbin/ab -sbin/apachectl -sbin/apxs -sbin/checkgid -sbin/dbmmanage -sbin/envvars -sbin/htdbm -sbin/htdigest -sbin/htpasswd -sbin/httpd -sbin/httxt2dbm -sbin/logresolve -sbin/rotatelogs -%%MOD_SUEXEC%%sbin/suexec -share/apache2/build/config_vars.mk -share/apache2/build/config.nice -share/apache2/build/instdso.sh -share/apache2/build/library.mk -share/apache2/build/ltlib.mk -share/apache2/build/program.mk -share/apache2/build/rules.mk -share/apache2/build/special.mk -%%CGI%%@unexec if [ -L %D/www/cgi-bin ]; then rm -f %D/www/cgi-bin; fi -%%CGI%%www/cgi-bin-dist/printenv -%%CGI%%www/cgi-bin-dist/test-cgi -%%CGI%%@exec [ ! -d %D/www/cgi-bin ] && ln -fs %D/www/cgi-bin-dist %D/www/cgi-bin -%%WWWDATA%%@unexec if [ -L %D/www/data ]; then rm -f %D/www/data; fi -%%WWWDATA%%www/data-dist/apache_pb.gif -%%WWWDATA%%www/data-dist/apache_pb.png -%%WWWDATA%%www/data-dist/apache_pb2.gif -%%WWWDATA%%www/data-dist/apache_pb2.png -%%WWWDATA%%www/data-dist/apache_pb2_ani.gif -%%WWWDATA%%www/data-dist/index.html.ca -%%WWWDATA%%www/data-dist/index.html.cz.iso8859-2 -%%WWWDATA%%www/data-dist/index.html.de -%%WWWDATA%%www/data-dist/index.html.dk -%%WWWDATA%%www/data-dist/index.html.ee -%%WWWDATA%%www/data-dist/index.html.el -%%WWWDATA%%www/data-dist/index.html.en -%%WWWDATA%%www/data-dist/index.html.es -%%WWWDATA%%www/data-dist/index.html.et -%%WWWDATA%%www/data-dist/index.html.fr -%%WWWDATA%%www/data-dist/index.html.he.iso8859-8 -%%WWWDATA%%www/data-dist/index.html.hr.iso8859-2 -%%WWWDATA%%www/data-dist/index.html.it -%%WWWDATA%%www/data-dist/index.html.ja.iso2022-jp -%%WWWDATA%%www/data-dist/index.html.ko.euc-kr -%%WWWDATA%%www/data-dist/index.html.lb.utf8 -%%WWWDATA%%www/data-dist/index.html.nl -%%WWWDATA%%www/data-dist/index.html.nn -%%WWWDATA%%www/data-dist/index.html.no -%%WWWDATA%%www/data-dist/index.html.po.iso8859-2 -%%WWWDATA%%www/data-dist/index.html.pt -%%WWWDATA%%www/data-dist/index.html.pt-br -%%WWWDATA%%www/data-dist/index.html.ru.cp-1251 -%%WWWDATA%%www/data-dist/index.html.ru.cp866 -%%WWWDATA%%www/data-dist/index.html.ru.iso-ru -%%WWWDATA%%www/data-dist/index.html.ru.koi8-r -%%WWWDATA%%www/data-dist/index.html.ru.utf8 -%%WWWDATA%%www/data-dist/index.html.sv -%%WWWDATA%%www/data-dist/index.html.var -%%WWWDATA%%www/data-dist/index.html.zh-cn.gb2312 -%%WWWDATA%%www/data-dist/index.html.zh-tw.big5 -%%WWWDATA%%@exec [ ! -d %D/www/data ] && ln -fs %D/www/data-dist %D/www/data -%%ERROR%%@unexec if [ -L %D/www/error ]; then rm -f %D/www/error; fi -%%ERROR%%www/error-dist/HTTP_BAD_GATEWAY.html.var -%%ERROR%%www/error-dist/HTTP_BAD_REQUEST.html.var -%%ERROR%%www/error-dist/HTTP_FORBIDDEN.html.var -%%ERROR%%www/error-dist/HTTP_GONE.html.var -%%ERROR%%www/error-dist/HTTP_INTERNAL_SERVER_ERROR.html.var -%%ERROR%%www/error-dist/HTTP_LENGTH_REQUIRED.html.var -%%ERROR%%www/error-dist/HTTP_METHOD_NOT_ALLOWED.html.var -%%ERROR%%www/error-dist/HTTP_NOT_FOUND.html.var -%%ERROR%%www/error-dist/HTTP_NOT_IMPLEMENTED.html.var -%%ERROR%%www/error-dist/HTTP_PRECONDITION_FAILED.html.var -%%ERROR%%www/error-dist/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var -%%ERROR%%www/error-dist/HTTP_REQUEST_TIME_OUT.html.var -%%ERROR%%www/error-dist/HTTP_REQUEST_URI_TOO_LARGE.html.var -%%ERROR%%www/error-dist/HTTP_SERVICE_UNAVAILABLE.html.var -%%ERROR%%www/error-dist/HTTP_UNAUTHORIZED.html.var -%%ERROR%%www/error-dist/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var -%%ERROR%%www/error-dist/HTTP_VARIANT_ALSO_VARIES.html.var -%%ERROR%%www/error-dist/README -%%ERROR%%www/error-dist/contact.html.var -%%ERROR%%www/error-dist/include/bottom.html -%%ERROR%%www/error-dist/include/spacer.html -%%ERROR%%www/error-dist/include/top.html -%%ERROR%%@exec [ ! -d %D/www/error ] && ln -fs %D/www/error-dist %D/www/error -%%ICONS%%@unexec if [ -L %D/www/icons ]; then rm -f %D/www/icons; fi -%%ICONS%%www/icons-dist/README -%%ICONS%%www/icons-dist/README.html -%%ICONS%%www/icons-dist/a.gif -%%ICONS%%www/icons-dist/a.png -%%ICONS%%www/icons-dist/alert.black.gif -%%ICONS%%www/icons-dist/alert.black.png -%%ICONS%%www/icons-dist/alert.red.gif -%%ICONS%%www/icons-dist/alert.red.png -%%ICONS%%www/icons-dist/apache_pb.gif -%%ICONS%%www/icons-dist/apache_pb.png -%%ICONS%%www/icons-dist/apache_pb2.gif -%%ICONS%%www/icons-dist/apache_pb2.png -%%ICONS%%www/icons-dist/apache_pb2_ani.gif -%%ICONS%%www/icons-dist/back.gif -%%ICONS%%www/icons-dist/back.png -%%ICONS%%www/icons-dist/ball.gray.gif -%%ICONS%%www/icons-dist/ball.gray.png -%%ICONS%%www/icons-dist/ball.red.gif -%%ICONS%%www/icons-dist/ball.red.png -%%ICONS%%www/icons-dist/binary.gif -%%ICONS%%www/icons-dist/binary.png -%%ICONS%%www/icons-dist/binhex.gif -%%ICONS%%www/icons-dist/binhex.png -%%ICONS%%www/icons-dist/blank.gif -%%ICONS%%www/icons-dist/blank.png -%%ICONS%%www/icons-dist/bomb.gif -%%ICONS%%www/icons-dist/bomb.png -%%ICONS%%www/icons-dist/box1.gif -%%ICONS%%www/icons-dist/box1.png -%%ICONS%%www/icons-dist/box2.gif -%%ICONS%%www/icons-dist/box2.png -%%ICONS%%www/icons-dist/broken.gif -%%ICONS%%www/icons-dist/broken.png -%%ICONS%%www/icons-dist/burst.gif -%%ICONS%%www/icons-dist/burst.png -%%ICONS%%www/icons-dist/c.gif -%%ICONS%%www/icons-dist/c.png -%%ICONS%%www/icons-dist/comp.blue.gif -%%ICONS%%www/icons-dist/comp.blue.png -%%ICONS%%www/icons-dist/comp.gray.gif -%%ICONS%%www/icons-dist/comp.gray.png -%%ICONS%%www/icons-dist/compressed.gif -%%ICONS%%www/icons-dist/compressed.png -%%ICONS%%www/icons-dist/continued.gif -%%ICONS%%www/icons-dist/continued.png -%%ICONS%%www/icons-dist/dir.gif -%%ICONS%%www/icons-dist/dir.png -%%ICONS%%www/icons-dist/diskimg.gif -%%ICONS%%www/icons-dist/diskimg.png -%%ICONS%%www/icons-dist/down.gif -%%ICONS%%www/icons-dist/down.png -%%ICONS%%www/icons-dist/dvi.gif -%%ICONS%%www/icons-dist/dvi.png -%%ICONS%%www/icons-dist/f.gif -%%ICONS%%www/icons-dist/f.png -%%ICONS%%www/icons-dist/folder.gif -%%ICONS%%www/icons-dist/folder.open.gif -%%ICONS%%www/icons-dist/folder.open.png -%%ICONS%%www/icons-dist/folder.png -%%ICONS%%www/icons-dist/folder.sec.gif -%%ICONS%%www/icons-dist/folder.sec.png -%%ICONS%%www/icons-dist/forward.gif -%%ICONS%%www/icons-dist/forward.png -%%ICONS%%www/icons-dist/freebsd.gif -%%ICONS%%www/icons-dist/generic.gif -%%ICONS%%www/icons-dist/generic.png -%%ICONS%%www/icons-dist/generic.red.gif -%%ICONS%%www/icons-dist/generic.red.png -%%ICONS%%www/icons-dist/generic.sec.gif -%%ICONS%%www/icons-dist/generic.sec.png -%%ICONS%%www/icons-dist/hand.right.gif -%%ICONS%%www/icons-dist/hand.right.png -%%ICONS%%www/icons-dist/hand.up.gif -%%ICONS%%www/icons-dist/hand.up.png -%%ICONS%%www/icons-dist/icon.sheet.gif -%%ICONS%%www/icons-dist/icon.sheet.png -%%ICONS%%www/icons-dist/image1.gif -%%ICONS%%www/icons-dist/image1.png -%%ICONS%%www/icons-dist/image2.gif -%%ICONS%%www/icons-dist/image2.png -%%ICONS%%www/icons-dist/image3.gif -%%ICONS%%www/icons-dist/image3.png -%%ICONS%%www/icons-dist/index.gif -%%ICONS%%www/icons-dist/index.png -%%ICONS%%www/icons-dist/layout.gif -%%ICONS%%www/icons-dist/layout.png -%%ICONS%%www/icons-dist/left.gif -%%ICONS%%www/icons-dist/left.png -%%ICONS%%www/icons-dist/link.gif -%%ICONS%%www/icons-dist/link.png -%%ICONS%%www/icons-dist/movie.gif -%%ICONS%%www/icons-dist/movie.png -%%ICONS%%www/icons-dist/p.gif -%%ICONS%%www/icons-dist/p.png -%%ICONS%%www/icons-dist/patch.gif -%%ICONS%%www/icons-dist/patch.png -%%ICONS%%www/icons-dist/pdf.gif -%%ICONS%%www/icons-dist/pdf.png -%%ICONS%%www/icons-dist/pie0.gif -%%ICONS%%www/icons-dist/pie0.png -%%ICONS%%www/icons-dist/pie1.gif -%%ICONS%%www/icons-dist/pie1.png -%%ICONS%%www/icons-dist/pie2.gif -%%ICONS%%www/icons-dist/pie2.png -%%ICONS%%www/icons-dist/pie3.gif -%%ICONS%%www/icons-dist/pie3.png -%%ICONS%%www/icons-dist/pie4.gif -%%ICONS%%www/icons-dist/pie4.png -%%ICONS%%www/icons-dist/pie5.gif -%%ICONS%%www/icons-dist/pie5.png -%%ICONS%%www/icons-dist/pie6.gif -%%ICONS%%www/icons-dist/pie6.png -%%ICONS%%www/icons-dist/pie7.gif -%%ICONS%%www/icons-dist/pie7.png -%%ICONS%%www/icons-dist/pie8.gif -%%ICONS%%www/icons-dist/pie8.png -%%ICONS%%www/icons-dist/portal.gif -%%ICONS%%www/icons-dist/portal.png -%%ICONS%%www/icons-dist/ps.gif -%%ICONS%%www/icons-dist/ps.png -%%ICONS%%www/icons-dist/quill.gif -%%ICONS%%www/icons-dist/quill.png -%%ICONS%%www/icons-dist/right.gif -%%ICONS%%www/icons-dist/right.png -%%ICONS%%www/icons-dist/screw1.gif -%%ICONS%%www/icons-dist/screw1.png -%%ICONS%%www/icons-dist/screw2.gif -%%ICONS%%www/icons-dist/screw2.png -%%ICONS%%www/icons-dist/script.gif -%%ICONS%%www/icons-dist/script.png -%%ICONS%%www/icons-dist/small/back.gif -%%ICONS%%www/icons-dist/small/back.png -%%ICONS%%www/icons-dist/small/binary.gif -%%ICONS%%www/icons-dist/small/binary.png -%%ICONS%%www/icons-dist/small/binhex.gif -%%ICONS%%www/icons-dist/small/binhex.png -%%ICONS%%www/icons-dist/small/blank.gif -%%ICONS%%www/icons-dist/small/blank.png -%%ICONS%%www/icons-dist/small/broken.gif -%%ICONS%%www/icons-dist/small/broken.png -%%ICONS%%www/icons-dist/small/burst.gif -%%ICONS%%www/icons-dist/small/burst.png -%%ICONS%%www/icons-dist/small/comp1.gif -%%ICONS%%www/icons-dist/small/comp1.png -%%ICONS%%www/icons-dist/small/comp2.gif -%%ICONS%%www/icons-dist/small/comp2.png -%%ICONS%%www/icons-dist/small/compressed.gif -%%ICONS%%www/icons-dist/small/compressed.png -%%ICONS%%www/icons-dist/small/continued.gif -%%ICONS%%www/icons-dist/small/continued.png -%%ICONS%%www/icons-dist/small/dir.gif -%%ICONS%%www/icons-dist/small/dir.png -%%ICONS%%www/icons-dist/small/dir2.gif -%%ICONS%%www/icons-dist/small/dir2.png -%%ICONS%%www/icons-dist/small/doc.gif -%%ICONS%%www/icons-dist/small/doc.png -%%ICONS%%www/icons-dist/small/forward.gif -%%ICONS%%www/icons-dist/small/forward.png -%%ICONS%%www/icons-dist/small/generic.gif -%%ICONS%%www/icons-dist/small/generic.png -%%ICONS%%www/icons-dist/small/generic2.gif -%%ICONS%%www/icons-dist/small/generic2.png -%%ICONS%%www/icons-dist/small/generic3.gif -%%ICONS%%www/icons-dist/small/generic3.png -%%ICONS%%www/icons-dist/small/image.gif -%%ICONS%%www/icons-dist/small/image.png -%%ICONS%%www/icons-dist/small/image2.gif -%%ICONS%%www/icons-dist/small/image2.png -%%ICONS%%www/icons-dist/small/index.gif -%%ICONS%%www/icons-dist/small/index.png -%%ICONS%%www/icons-dist/small/key.gif -%%ICONS%%www/icons-dist/small/key.png -%%ICONS%%www/icons-dist/small/movie.gif -%%ICONS%%www/icons-dist/small/movie.png -%%ICONS%%www/icons-dist/small/patch.gif -%%ICONS%%www/icons-dist/small/patch.png -%%ICONS%%www/icons-dist/small/ps.gif -%%ICONS%%www/icons-dist/small/ps.png -%%ICONS%%www/icons-dist/small/rainbow.gif -%%ICONS%%www/icons-dist/small/rainbow.png -%%ICONS%%www/icons-dist/small/sound.gif -%%ICONS%%www/icons-dist/small/sound.png -%%ICONS%%www/icons-dist/small/sound2.gif -%%ICONS%%www/icons-dist/small/sound2.png -%%ICONS%%www/icons-dist/small/tar.gif -%%ICONS%%www/icons-dist/small/tar.png -%%ICONS%%www/icons-dist/small/text.gif -%%ICONS%%www/icons-dist/small/text.png -%%ICONS%%www/icons-dist/small/transfer.gif -%%ICONS%%www/icons-dist/small/transfer.png -%%ICONS%%www/icons-dist/small/unknown.gif -%%ICONS%%www/icons-dist/small/unknown.png -%%ICONS%%www/icons-dist/small/uu.gif -%%ICONS%%www/icons-dist/small/uu.png -%%ICONS%%www/icons-dist/sound1.gif -%%ICONS%%www/icons-dist/sound1.png -%%ICONS%%www/icons-dist/sound2.gif -%%ICONS%%www/icons-dist/sound2.png -%%ICONS%%www/icons-dist/sphere1.gif -%%ICONS%%www/icons-dist/sphere1.png -%%ICONS%%www/icons-dist/sphere2.gif -%%ICONS%%www/icons-dist/sphere2.png -%%ICONS%%www/icons-dist/tar.gif -%%ICONS%%www/icons-dist/tar.png -%%ICONS%%www/icons-dist/tex.gif -%%ICONS%%www/icons-dist/tex.png -%%ICONS%%www/icons-dist/text.gif -%%ICONS%%www/icons-dist/text.png -%%ICONS%%www/icons-dist/transfer.gif -%%ICONS%%www/icons-dist/transfer.png -%%ICONS%%www/icons-dist/unknown.gif -%%ICONS%%www/icons-dist/unknown.png -%%ICONS%%www/icons-dist/up.gif -%%ICONS%%www/icons-dist/up.png -%%ICONS%%www/icons-dist/uu.gif -%%ICONS%%www/icons-dist/uu.png -%%ICONS%%www/icons-dist/uuencoded.gif -%%ICONS%%www/icons-dist/uuencoded.png -%%ICONS%%www/icons-dist/world1.gif -%%ICONS%%www/icons-dist/world1.png -%%ICONS%%www/icons-dist/world2.gif -%%ICONS%%www/icons-dist/world2.png -%%ICONS%%@dirrm www/icons-dist/small -%%ICONS%%@dirrm www/icons-dist -%%ICONS%%@exec [ ! -d %D/www/icons ] && ln -fs %D/www/icons-dist %D/www/icons -%%ERROR%%@dirrm www/error-dist/include -%%ERROR%%@dirrm www/error-dist -%%WWWDATA%%@dirrm www/data-dist -%%CGI%%@dirrm www/cgi-bin-dist -@dirrm %%EXAMPLESDIR%% -@dirrmtry %%DOCSDIR%% -@dirrm share/apache2/build -@dirrm share/apache2 -@dirrmtry libexec/apache2 -@dirrm include/apache2 -@exec mkdir -p %D/etc/apache2/Includes 2> /dev/null || true -@exec mkdir -p %D/etc/apache2/envvars.d 2> /dev/null || true -@dirrmtry etc/apache2/Includes -@dirrmtry etc/apache2/envvars.d -@unexec rm -f %D/etc/apache2/httpd.conf.bak 2> /dev/null || true -@unexec rmdir %D/etc/apache2 2> /dev/null || echo "===> If you do not plan to reinstall apache2, you can safely remove %D/etc/apache2." |