diff options
-rw-r--r-- | CVSROOT/modules | 1 | ||||
-rw-r--r-- | MOVED | 1 | ||||
-rw-r--r-- | www/Makefile | 1 | ||||
-rw-r--r-- | www/apache13-fp/Makefile | 157 | ||||
-rw-r--r-- | www/apache13-fp/distinfo | 3 | ||||
-rw-r--r-- | www/apache13-fp/files/apache.sh.tmpl | 117 | ||||
-rw-r--r-- | www/apache13-fp/files/createdwFP.txt | 17 | ||||
-rw-r--r-- | www/apache13-fp/files/mod_frontpage.c | 878 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-aa | 42 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-ab | 162 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-ag | 133 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-ak | 117 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-al | 24 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-fd | 55 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-fe | 169 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-ff | 11 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-fh | 10 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-fi | 37 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-fj | 11 | ||||
-rw-r--r-- | www/apache13-fp/files/patch-lang.en | 32 | ||||
-rw-r--r-- | www/apache13-fp/pkg-deinstall | 107 | ||||
-rw-r--r-- | www/apache13-fp/pkg-descr | 21 | ||||
-rw-r--r-- | www/apache13-fp/pkg-install | 147 | ||||
-rw-r--r-- | www/apache13-fp/pkg-plist | 659 |
24 files changed, 1 insertions, 2911 deletions
diff --git a/CVSROOT/modules b/CVSROOT/modules index 149b22dc77b2..2b56e6ef0f88 100644 --- a/CVSROOT/modules +++ b/CVSROOT/modules @@ -340,7 +340,6 @@ apache-jserv ports/www/apache-jserv apache-soap ports/net/apache-soap apache13 ports/www/apache13 apache13+ipv6 ports/www/apache13+ipv6 -apache13-fp ports/www/apache13-fp apache13-modperl ports/www/apache13-modperl apache13-modssl ports/www/apache13-modssl apache13-modssl+ipv6 ports/www/apache13-modssl+ipv6 @@ -1240,3 +1240,4 @@ korean/hlatexp-pkfonts600||2004-08-15|Port was unfetchable misc/sword-modules||2004-08-17|Obsoleted print/tipa|print/latex-tipa|2004-08-18|Port renamed for better categorisation x11-toolkits/notif2|x11-themes/notif2|2004-08-20|Better category +www/apache13-fp||2004-08-20|Obsolete and unfixed security vulnerabilities diff --git a/www/Makefile b/www/Makefile index a7a22ff8237f..9bbffd350eeb 100644 --- a/www/Makefile +++ b/www/Makefile @@ -21,7 +21,6 @@ SUBDIR += apache-jserv SUBDIR += apache13 SUBDIR += apache13+ipv6 - SUBDIR += apache13-fp SUBDIR += apache13-modperl SUBDIR += apache13-modssl SUBDIR += apache13-modssl+ipv6 diff --git a/www/apache13-fp/Makefile b/www/apache13-fp/Makefile deleted file mode 100644 index a277a264ce05..000000000000 --- a/www/apache13-fp/Makefile +++ /dev/null @@ -1,157 +0,0 @@ -# New ports collection makefile for: apache HTTPD w/FrontPage Module -# Date created: Sat Oct 31 16:30:00 CDT 1997 -# Whom: hetzels@westbend.net -# -# $FreeBSD$ -# - -PORTNAME= apache -PORTVERSION= 1.3.27 -PORTREVISION= 1 -CATEGORIES= www -MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD} \ - http://www.freebsd.org/gifs/:powerlogo \ - http://www.microsoft.com/frontpage/images/:fplogo -MASTER_SITE_SUBDIR= old -PKGNAMESUFFIX= _fp -DISTNAME= ${PORTNAME}_${PORTVERSION} -DISTFILES= ${APACHE} powerlogo.gif:powerlogo createdwFP.gif:fplogo - -MAINTAINER= apache@FreeBSD.org -COMMENT= The Apache webserver with MS Frontpage Module - -#BROKEN= "Checksum mismatch" -FORBIDDEN= multiple vulnerabilities: http://www.apacheweek.com/features/security-13 -EXPIRATION_DATE=2004-08-20 -DEPRECATED= ${FORBIDDEN} - -#PATCH_SITES= ${MASTER_SITE_APACHE_HTTPD} -#PATCH_SITE_SUBDIR= patches/apply_to_${PORTVERSION}/ -#PATCHFILES= - -CONFLICTS= apache+mod_ssl-1.* apache+mod_ssl+ipv6-1.* apache+mod_ssl+modsnmp-1.* \ - apache+mod_ssl+mod_snmp+ipv6-1.* apache+mod_ssl+mod_accel-1.* \ - apache+mod_ssl+mod_snmp+mod_accel-1. \ - apache+ipv6-1.* apache+ssl-1.* apache-1.* apache-2.* \ - caudium-devel-1.* caudium10-1.* caudium12-* \ - ru-apache+mod_ssl-1.* ru-apache-1.* thttpd-2.* -APACHE= ${DISTNAME}${EXTRACT_SUFX} - -RUN_DEPENDS= ${LOCALBASE}/frontpage/version5.0/bin/owsadm.exe:${PORTSDIR}/www/frontpage - -.ifndef WITHOUT_LIBEXPAT -LIB_DEPENDS+= expat.5:${PORTSDIR}/textproc/expat2 -.endif - -.include <bsd.port.pre.mk> - -ONLY_FOR_ARCHS= i386 alpha - -FP_VER= 5.0 - -EXTRACT_ONLY= ${APACHE} - -BATCH?= NO -CHMOD?= /bin/chmod - -MOD_FP= ${FILESDIR}/mod_frontpage.c -IMAGES_DIR= ${DOCSDIR}/manual/images - -# -# Set APACHE_PERF_TUNING env. variable to YES to get maximum performance -# -HTTPD_USER?= www -HTTPD_GROUP?= www -USER_WEB_DIR?= public_html - -HAS_CONFIGURE= yes -CONFIGURE_ARGS= \ - --prefix=${PREFIX} \ - --server-gid=nogroup \ - --with-perl=${PERL} \ - --with-layout=FreeBSD \ - --manualdir=${DOCSDIR}/manual \ - --server-uid=${HTTPD_USER} \ - --server-gid=${HTTPD_GROUP} \ - --without-confadjust \ - --enable-module=most \ - --enable-module=auth_db \ - --enable-module=mmap_static \ - --disable-module=auth_dbm \ - --enable-shared=max \ - --add-module=${MOD_FP} \ - --enable-shared=frontpage - -# Currently perl version doesn't matter -USE_PERL5= YES - -OPTIM= -D_LARGEFILE_SOURCE \ - -D_FILE_OFFSET_BITS=64 \ - -DHARD_SERVER_LIMIT=512 \ - -DDOCUMENT_LOCATION=\\"${PREFIX}/www/data/\\" \ - -DDEFAULT_PATH=\\"/bin:/usr/bin:${PREFIX}/bin\\" - -#By default create an Optimized package. -.if ${BATCH} == YES -APACHE_PERF_TUNING= YES -.endif - -.if defined(APACHE_PERF_TUNING) && ${APACHE_PERF_TUNING} == YES -OPTIM+= -DBUFFERED_LOGS -DFD_SETSIZE=1024 -CFLAGS+= -O6 -funroll-loops -fstrength-reduce -fomit-frame-pointer \ - -fexpensive-optimizations -ffast-math -.endif - -CONFIGURE_ENV= CFLAGS='${CFLAGS}' \ - OPTIM='${OPTIM}' \ - PATH="${PREFIX}/bin:${PATH}" - -.ifndef WITHOUT_LIBEXPAT -CONFIGURE_ENV+= INCLUDES="${INCLUDES} -I ${LOCALBASE}/includes" \ - LDFLAGS="${LDFLAGS} -L ${LOCALBASE}/lib" -.endif - -MAN1= dbmmanage.1 htdigest.1 htpasswd.1 -MAN8= ab.8 apachectl.8 apxs.8 httpd.8 logresolve.8 rotatelogs.8 - -.ifndef NO_SUEXEC -CONFIGURE_ARGS+= --enable-suexec \ - --suexec-caller=${HTTPD_USER} \ - --suexec-docroot=${PREFIX}/www/data \ - --suexec-logfile=/var/log/httpd-suexec.log \ - --suexec-userdir=${USER_WEB_DIR} \ - --suexec-safepath='/bin:/usr/bin:${PREFIX}/bin' -MAN8+= suexec.8 -PLIST_SUB+= SUEXEC="" -.else -PLIST_SUB+= SUEXEC="@comment " -.endif - -post-patch: -.if !defined(PATCH_DEBUG) - @ cd ${WRKSRC} \ - && ${FIND} . -type f -name "*.orig" -print | ${XARGS} ${RM} -f -.endif - -# Create apache user and group -pre-install: - @PKG_PREFIX=${PREFIX} BATCH=${BATCH} PKG_USER=${HTTPD_USER} \ - PKG_GROUP=${HTTPD_GROUP} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL - -post-install: - @if [ ! -f ${PREFIX}/etc/rc.d/apache.sh ]; then \ - ${ECHO} "Installing ${PREFIX}/etc/rc.d/apache.sh file."; \ - ${SED} -e 's;%%PREFIX%%;${PREFIX};' \ - -e 's;%%PERL5%%;${PERL};' \ - -e 's;%%FP_VER%%;${FP_VER};' \ - < ${FILESDIR}/apache.sh.tmpl > ${PREFIX}/etc/rc.d/apache.sh; \ - ${CHMOD} 751 ${PREFIX}/etc/rc.d/apache.sh; \ - fi - @${INSTALL} -c -m 644 ${DISTDIR}/powerlogo.gif ${IMAGES_DIR} - @${INSTALL} -c -m 644 ${DISTDIR}/createdwFP.gif ${IMAGES_DIR} - @${INSTALL_DATA} ${FILESDIR}/createdwFP.txt ${DOCSDIR} - @${INSTALL} -c -m 644 ${DOCSDIR}/apache_pb.gif ${IMAGES_DIR} - @( cd ${DOCSDIR} ; if [ -h images ] ; then ${RM} -f images ; fi ; ln -fs manual/images images) - @PKG_PREFIX=${PREFIX} BATCH=${BATCH} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL - -.include <bsd.port.post.mk> diff --git a/www/apache13-fp/distinfo b/www/apache13-fp/distinfo deleted file mode 100644 index 885efd502691..000000000000 --- a/www/apache13-fp/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (apache_1.3.27.tar.gz) = 65b89365a65dcad71d4402b4862beeaa -MD5 (powerlogo.gif) = 0f106073b3c7844cf22d4df126b27c62 -MD5 (createdwFP.gif) = 59e227f6dc0d2512e538489458b8835b diff --git a/www/apache13-fp/files/apache.sh.tmpl b/www/apache13-fp/files/apache.sh.tmpl deleted file mode 100644 index da843d3d95a2..000000000000 --- a/www/apache13-fp/files/apache.sh.tmpl +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ - -# PROVIDE: apache -# REQUIRE: DAEMON -# KEYWORD: FreeBSD shutdown -# -# NOTE for FreeBSD 5.0+: -# If you want this script to start with the base rc scripts -# move apache.sh to /etc/rc.d/apache - -prefix=%%PREFIX%% - -# Define the following apache_* variables in one of the following: -# /etc/rc.conf -# /etc/rc.conf.d/apache -# /etc/rc.conf.d/apache -# -# DO NOT CHANGE THESE DEFAULT VALUES HERE -# -apache_enable="YES" # Enable Apache -#apache_program="${prefix}/sbin/httpd # Location of httpd -apache_start="start_FP" # Subcommand sent to apachectl to control how - # httpd is started. - -apache_doit () -{ - case $1 in - start) action=${apache_start} ;; - reload) action=graceful ;; - *) action=$1 ;; - esac - ${ctl_command} ${action} -} - -# Create New FrontPage suidkey - -new_key() { - - CUR_UMASK=`umask` - skdir=${prefix}/frontpage/version%%FP_VER%%/apache-fp - PERL=%%PERL5%% - - if [ -x ${prefix}/libexec/apache/mod_frontpage.so ] - then - - #NOTE: We need Perl 5, to generate a new key - if [ -x ${PERL} ] - then - umask 077 - ${PERL} -e '@a=(split(//, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*-=_+")); print((map {$a[rand(scalar @a)]} (1..128)), "\n");' > $skdir/suidkey - umask ${CUR_UMASK} - fi - fi - -} - -if [ -f /etc/rc.subr ]; then - - . /etc/rc.subr - - name="apache" - rcvar=`set_rcvar` - command="${prefix}/sbin/httpd" - ctl_command="${prefix}/sbin/apachectl" - # pidfile=/var/run/httpd.pid - required_files="${prefix}/etc/apache/httpd.conf" - extra_commands="reload" - start_precmd="new_key" - start_cmd="apache_doit start" - stop_cmd="apache_doit stop" - restart_cmd="apache_doit restart" - reload_cmd="apache_doit reload" - - load_rc_config $name - run_rc_command "$1" -else - # Suck in the configuration variables. - if [ -z "${source_rc_confs_defined}" ]; then - if [ -r /etc/defaults/rc.conf ]; then - . /etc/defaults/rc.conf - source_rc_confs - elif [ -r /etc/rc.conf ]; then - . /etc/rc.conf - fi - fi - - rc=0 - - case "${apache_enable}" in - [Yy][Ee][Ss]) - case "$1" in - start) - if [ -x ${prefix}/sbin/apachectl ]; then - new_key - ${prefix}/sbin/apachectl ${apache_start} && echo -n ' httpd' - fi - ;; - stop) - if [ -r /var/run/httpd.pid ]; then - ${prefix}/sbin/apachectl stop && echo -n ' httpd' - fi - ;; - *) - echo "usage: $0 {start|stop}" 1>&2 - rc=64 - ;; - esac - ;; - *) - rc=0 - ;; - esac - - exit $rc -fi diff --git a/www/apache13-fp/files/createdwFP.txt b/www/apache13-fp/files/createdwFP.txt deleted file mode 100644 index 406544bc397f..000000000000 --- a/www/apache13-fp/files/createdwFP.txt +++ /dev/null @@ -1,17 +0,0 @@ - Usage Guidelines for the Microsoft FrontPage Logo (createdwFP.gif) - -The Microsoft FrontPage(R) Logo Program is designed to provide you with the -guidelines necessary for displaying the Created and Managed with Microsoft -FrontPage logo (the "Logo") on your Web site. - -1. Except as Microsoft may authorize elsewhere, non-Microsoft Web sites - may display only the Created and Managed with Microsoft FrontPage logo - provided ("Logo"). By displaying the Logo on your Web site, you agree - to be bound by these Policies. - -2. You may only display the Logo on your Web site, and not in any other - manner than specified herein. It must always be an active link to the - Microsoft FrontPage home page at http://www.microsoft.com/frontpage/. - -For more restrictions see: - http://www.microsoft.com/frontpage/logo.htm diff --git a/www/apache13-fp/files/mod_frontpage.c b/www/apache13-fp/files/mod_frontpage.c deleted file mode 100644 index 267777665bd1..000000000000 --- a/www/apache13-fp/files/mod_frontpage.c +++ /dev/null @@ -1,878 +0,0 @@ -/* ==================================================================== - * - * Apache FrontPage module. - * - * Copyright (c) 1996-2001 Microsoft Corporation -- All Rights Reserved. - * - * NO WARRANTIES. Microsoft expressly disclaims any warranty for this code and - * information. This code and information and any related documentation is - * provided "as is" without warranty of any kind, either express or implied, - * including, without limitation, the implied warranties or merchantability, - * fitness for a particular purpose, or noninfringement. The entire risk - * arising out of use or performance of this code and information remains with - * you. - * - * NO LIABILITY FOR DAMAGES. In no event shall Microsoft or its suppliers be - * liable for any damages whatsoever (including, without limitation, damages - * for loss of business profits, business interruption, loss of business - * information, or any other pecuniary loss) arising out of the use of or - * inability to use this Microsoft product, even if Microsoft has been advised - * of the possibility of such damages. Because some states/jurisdictions do not - * allow the exclusion or limitation of liability for consequential or - * incidental damages, the above limitation may not apply to you. - */ - - -/* - * User configurable items. We will not run the server extensions with any - * UID/GID less than LOWEST_VALID_UID/LOWEST_VALID_GID. - */ - -#if defined(LINUX) -#define LOWEST_VALID_UID 15 -#else -#define LOWEST_VALID_UID 11 -#endif - -#if defined(HPUX) || defined(IRIX) || defined(SUNOS4) -#define LOWEST_VALID_GID 20 -#else -#if defined(SCO) -#define LOWEST_VALID_GID 24 -#else -#define LOWEST_VALID_GID 21 /* Solaris, AIX, Alpha, Bsdi, *BSD, etc. */ -#endif -#endif - -/* - * End of user configurable items - */ - - -#include "httpd.h" -#include "http_config.h" -#include "http_conf_globals.h" -#include "http_log.h" - -#include <stdio.h> -#include <sys/time.h> - -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - -#ifndef MAXPATHLEN -#define MAXPATHLEN 1024 -#endif -#if (MAXPATHLEN < 1024) -#undef MAXPATHLEN -#define MAXPATHLEN 1024 -#endif - -#define KEYLEN 128 /* Should be a multiple of sizeof(int) */ - -static char gszKeyVal[KEYLEN+1]; /* SUID key value used by this module */ -static int gfdKeyPipe[2]; /* Pipe to fpexe stub CGI */ -static int gbKeyPipeActive = FALSE;/* Pipe to fpexe stub CGI is active */ -static int gbEnabled = FALSE; /* TRUE when SUID scheme is enabled */ -#if !defined(SHARED_MODULE) -static int giInitializeCount = 0; /* FrontPageInit called previously */ -#endif - -static const char FP[] = - "/usr/local/frontpage/version5.0"; -static const char FPKEYDIR[] = - "/usr/local/frontpage/version5.0/apache-fp"; -static const char KEYFILEXOR[] = - "/usr/local/frontpage/version5.0/apache-fp/suidkey"; -static const char KEYFILE[] = - "/usr/local/frontpage/version5.0/apache-fp/suidkey.%d"; -static const char FPSTUBDIR[] = - "/usr/local/frontpage/version5.0/apache-fp/_vti_bin"; -static const char FPSTUB[] = - "/usr/local/frontpage/version5.0/apache-fp/_vti_bin/fpexe"; -static const char GLOBALADMINDIR[] = - "/usr/local/frontpage/version5.0/admin-exes"; -static const char IMAGESDIR[] = - "/exes/_vti_bin/_vti_adm/images" ; -static const char SHTML[] = - "/_vti_bin/shtml.exe"; -static const char SHTML2[] = - "/_vti_bin/shtml.dll"; -static const char VTI_BIN[] = - "/_vti_bin"; -static const char FPCOUNT[] = - "/_vti_bin/fpcount.exe"; -static const char AUTHOR[] = - "/_vti_bin/_vti_aut/author.exe" ; -static const char ADMIN[] = - "/_vti_bin/_vti_adm/admin.exe" ; -static const char ADMINCGI[] = - "/_vti_bin/_vti_adm/fpadmcgi.exe" ; -static const char PASSWD[] = - "/passwd.htm" ; -static const char VTIHELP[] = - "/_vti_bin/_vti_adm/help/" ; -static const char VTI_ADM[] = - "/_vti_bin/_vti_adm/" ; -static const char HELPDIR[] = - "/help" ; -static const char ADMINDIR[] = - "/admin" ; - -const int iVTI_LEN = sizeof(VTI_ADM)/sizeof(VTI_ADM[0]) - 1; -const int iHELP = sizeof(VTIHELP)/sizeof(VTIHELP[0]) - 1; - - -MODULE_VAR_EXPORT module frontpage_module; - -/* - * Print a descriptive error in the httpd's error_log. The format string - * should be length limited so that it is no longer than 1800 bytes. - */ -static void LogFrontPageError( - server_rec* s, - const char* szFormat, - const char* szFile, - const char* szRoutine, - int bIsDisabled) -{ - char szBuf[MAXPATHLEN * 2]; - sprintf(szBuf, szFormat, szFile); - strcat(szBuf, " in "); - strcat(szBuf, szRoutine); - strcat(szBuf, "."); - if (bIsDisabled) - { - strcat(szBuf, " Until this problem is fixed, the FrontPage security patch is disabled and the FrontPage extensions may not work correctly."); - gbEnabled = FALSE; /* Make double sure we're not enabled */ - } - ap_log_error(APLOG_MARK, APLOG_ERR, s, szBuf); -} - - -/* - * Clean up stale keyfiles. Failure to clean up stale keyfiles does not - * stop the FrontPage SUID scheme. - */ -static void FrontPageCleanup(server_rec *s) -{ - DIR *d; - struct DIR_TYPE *dstruct; - int myPid = getpid(); - - if (!(d = opendir(FPKEYDIR))) - { - /* - * This should be a rare occurrence, because we're running as root and - * should have access to the directory. Stale key files can be - * exploited. User recovery: Check that the directory exists and is - * properly protected (owned by root, permissions rwx--x--x), and that - * there are no stale key files in it (suidkey.*, where * is a - * non-existant PID). - */ - LogFrontPageError(s, "Can't clean stale key files from directory \"%-.1024s\"", - FPKEYDIR, "FrontPageCleanup()", FALSE); - return; - } - - while ((dstruct = readdir(d))) - { - if (strncmp("suidkey.", dstruct->d_name, 8) == 0) - { - /* - * Make sure the key file contains a pid number - otherwise - * it is harmless and you can ignore it. - */ - char* pEnd = 0; - int pid = strtol(dstruct->d_name + 8, &pEnd, 10); - if (!pEnd || *pEnd) - continue; - - /* - * Make sure there isn't some other server using this key file. - * If the process group isn't alive, then the file is stale - * and we want to remove it. - */ - if (pid == myPid || kill(pid, 0) == -1) - { - char szBuf[MAXPATHLEN]; - sprintf(szBuf, "%-.500s/%-.500s", FPKEYDIR, dstruct->d_name); - if (unlink(szBuf) == -1) - { - /* - * This should be a rare occurrence, because we're running - * as root and should always have permission to delete the - * file. Stale key files can be exploited. User recovery: - * delete the offending file. - */ - LogFrontPageError(s, "Can't unlink stale key file \"%-.1024s\"", - szBuf, "FrontPageCleanup()", FALSE); - } - } - } - } - - closedir(d); -} - -/* - * Checks that all the permissions are currently correct for the FrontPage - * fpexe SUID stub to run correctly. If not, it logs an error and aborts - * initialization, effectively disabling the FrontPage SUID scheme. - * It checks both the file permissions (owned by root and not writable to - * group, other) and that the directory is not writable. - */ -static int FrontPageCheckup(server_rec *s) -{ - struct stat fs; - - if (geteuid() != 0) - { - /* - * We need to be root to have the security scheme work correctly. - * User recovery: run the server as root. - */ - LogFrontPageError(s, "Not running as root", - 0, "FrontPageCheckup()", TRUE); - return (FALSE); - } - - if (lstat(FPKEYDIR, &fs) == -1 || /* We can't stat the key dir */ - fs.st_uid || /* key dir not owned by root */ - (fs.st_mode & (S_IRGRP | S_IROTH)) || /* key dir is readable */ - (fs.st_mode & (S_IWGRP | S_IWOTH)) || /* key dir is writable */ - !(fs.st_mode & (S_IXGRP | S_IXOTH)) || /* key dir is not executable */ - !(S_ISDIR(fs.st_mode))) - { - /* - * User recovery: set directory to be owned by by root with permissions - * rwx--x--x. Note you need the execute bit for group and other so - * that non-root programs can run apache-fp/_vti_bin/fpexe (even though - * non-root cannot list the directory). - */ - LogFrontPageError(s, "Incorrect permissions on key directory \"%-.1024s\", needs root ownership and permissions rwx--x--x", - FPKEYDIR, "FrontPageCheckup()", TRUE); - return (FALSE); - } - - if (lstat(FPSTUBDIR, &fs) == -1 || /* We can't stat the stub dir */ - fs.st_uid || /* stub dir not owned by root */ - (fs.st_mode & (S_IWGRP | S_IWOTH)) || /* stub dir is writable */ - (!S_ISDIR(fs.st_mode))) - { - /* - * User recovery: set directory to be owned by by root with permissions - * r*x*-x*-x. - */ - LogFrontPageError(s, "Incorrect permissions on stub directory \"%-.1024s\", needs root ownership and permissions r*x*-x*-x", - FPSTUBDIR, "FrontPageCheckup()", TRUE); - return (FALSE); - } - - if (stat(FPSTUB, &fs) == -1 || /* We can't stat the stub */ - fs.st_uid || /* stub not owned by root */ - !(fs.st_mode & S_ISUID) || /* stub is not set-uid */ - (fs.st_mode & S_ISGID) || /* stub is set-gid */ - (fs.st_mode & (S_IWGRP | S_IWOTH)) || /* stub is writable */ - !(fs.st_mode & (S_IXGRP | S_IXOTH))) /* stub is not executable */ - { - /* - * User recovery: set stub to be owned by by root with permissions - * r*s*-x*-x. - */ - LogFrontPageError(s, "Incorrect permissions on stub \"%-.1024s\", needs root ownership and permissions r*s*-x*-x", - FPSTUB, "FrontPageCheckup()", TRUE); - return (FALSE); - } - - return (TRUE); -} - - -/* - * Module-initializer: Create the suidkey file and local value. - * Everything needs to be just right, or we don't create the key file, and - * therefore, the fpexe SUID stub refuses to run. - */ -static void FrontPageInit(server_rec *s, pool *p) -{ - int fdPipe[2]; - pid_t pid; - FILE *f; - struct stat fs; - int fd; - char szKeyFile[MAXPATHLEN]; - int iRandom[5]; - char* szRandom = (char*)iRandom; - struct timeval tp; - struct timezone tz; - - (void)p; /* p is unused */ - -#if !defined(SHARED_MODULE) - /* - * Standalone servers call initialization twice: once in main() and again - * in standalone_main(). The fully initializing on the the first call is a - * waste of time, and a race condition can leave a stale suidkey.pgrpid - * file around. - */ - if (ap_standalone && !giInitializeCount++) - return; -#endif - - /* - * Disable the suid scheme until everything falls perfectly into place. - */ - gbEnabled = FALSE; - gbKeyPipeActive = FALSE; - - /* - * Clean up old key files before we start - */ - FrontPageCleanup(s); - if (!FrontPageCheckup(s)) - return; - - if (pipe(fdPipe) == -1) - { - /* - * This should be a rare occurrence. User recovery: check to see why - * the system cannot allocate a pipe (is the file table full from - * run-away processes?), and fix the problem or reboot, then try again. - */ - LogFrontPageError(s, "pipe() failed", 0, "FrontPageInit()", TRUE); - return; - } - - gettimeofday(&tp, &tz); - iRandom[0] = tp.tv_sec; - iRandom[1] = tp.tv_usec | tp.tv_usec << 20; - - pid = fork(); - if (pid == -1) - { - /* - * This should be a rare occurrence. User recovery: check to see why - * the system cannot allocate a process (is the process table full from - * run-away processes?), and fix the problem or reboot, then try again. - */ - LogFrontPageError(s, "fork() failed", 0, "FrontPageInit()", TRUE); - return; - } - - if (pid) - { - /* - * I am the parent process. Try to read a random number from the - * child process. - */ - - unsigned int npos = (unsigned int)-1; - unsigned int v1 = npos, v2 = npos, v3 = npos, v4 = npos; - int stat; - int iCount; - - close(fdPipe[1]); - if (waitpid(pid, &stat, 0) == -1 || - (!WIFEXITED(stat) || WIFEXITED(stat) && WEXITSTATUS(stat))) - { - /* - * This should be a rare occurrence. User recovery: Make sure you - * have a /bin/sh, or change the shell location in the execl - * command below. Try the commands defined in RAND_CMD in a - * /bin/sh session to make sure they work properly. Rebuild this - * module and your httpd with the proper commands. - */ - LogFrontPageError(s, "Random number generator exited abnormally", 0, - "FrontPageInit()", TRUE); - return; - } - - iCount = read(fdPipe[0], gszKeyVal, KEYLEN); - close(fdPipe[0]); - if (iCount < 0) - { - /* - * This should be a rare occurrence. See the above comment under - * the waitpid failure condition for user recovery steps. - */ - LogFrontPageError(s, "Could not read random numbers", 0, - "FrontPageInit()", TRUE); - return; - } - gszKeyVal[iCount] = 0; - - sscanf(gszKeyVal, "%u %u %u %u", &v2, &v1, &v4, &v3); - if (v1 == npos || v2 == npos || v3 == npos || v4 == npos) - { - /* - * This should be a rare occurrence. See the above comment under - * the waitpid failure condition for user recovery steps. - */ - LogFrontPageError(s, "Could not scan random numbers", 0, - "FrontPageInit()", TRUE); - return; - } - - iRandom[2] = (v1 << 16) + v2 + (v4 << 12) + v3; - } - else - { - /* - * I am the child process. Create a random number which shouldn't - * be easily duplicated. - */ - - if (dup2(fdPipe[1], 1) == -1) - exit(1); /* Parent picks up the error */ - - close(fdPipe[0]); - -#ifdef LINUX -#define RAND_CMD "/bin/ps laxww | /usr/bin/sum ; /bin/ps laxww | /usr/bin/sum" -#else -#if defined ( bsdi ) || ( defined ( BSD ) && ( BSD >= 199103 )) -#define RAND_CMD "/bin/ps laxww | /usr/bin/cksum -o 1 ; /bin/ps laxww | /usr/bin/cksum -o 1" -#else -#define RAND_CMD "/bin/ps -ea | /bin/sum ; /bin/ps -ea | /bin/sum" -#endif -#endif - execl("/bin/sh", "/bin/sh", "-c", RAND_CMD, NULL); - exit(1); - } - - gettimeofday(&tp, &tz); - iRandom[3] = tp.tv_sec; - iRandom[4] = tp.tv_usec | tp.tv_usec << 20; - - /* - * See if there is an 'suidkey' file to merge into our key. - */ - if (stat(KEYFILEXOR, &fs) == -1) - { - /* - * It's a security violation if the key file is not present. User - * recovery: Make sure the key file is present and properly protected - * (owned by root, permissions r**------). - */ - LogFrontPageError(s, "The key file \"%-.1024s\" does not exist", - KEYFILEXOR, "FrontPageInit()", TRUE); - return; - } - else - { - int i, iCount; - char szBuf[KEYLEN]; - - if ((fs.st_mode & (S_IRWXG | S_IRWXO)) || fs.st_uid) - { - /* - * It's a security violation if the key file is not owned by root, - * and is not protected from all other group. User recovery: Make - * sure the key file is properly protected (owned by root, - * permissions r**------). - */ - LogFrontPageError(s, "The key file \"%-.1024s\" must not be accessible except by root and with permissions r**------", - KEYFILEXOR, "FrontPageInit()", TRUE); - return; - } - - if ((fd = open(KEYFILEXOR, O_RDONLY)) == -1) - { - /* - * This should be a rare occurrence. User recovery: Make sure - * the key file exists, is properly owned and protected, and is - * readable. - */ - LogFrontPageError(s, "Cannot open key file \"%-.1024s\"", - KEYFILEXOR, "FrontPageInit()", TRUE); - return; - } - - iCount = read(fd, szBuf, KEYLEN); - if (iCount < 8) - { - /* - * The keyfile must be at least 8 bytes. If it longer than 128 - * bytes, only the first 128 bytes will be used. Any character - * value from 0-255 is fine. User recovery: Make sure the key file - * is at least 8 bytes long. - */ - LogFrontPageError(s, "Key file \"%-.1024s\" is unreadable or is too short (must be at least 8 bytes)", - KEYFILEXOR, "FrontPageInit()", TRUE); - close(fd); - return; - } - - /* - * Now generate the effective key we'll be using by XORing your key - * with 5 "random" 32-bit integers. The primary security of this - * scheme is your key; properly setting it and changing it often keeps - * the FrontPage SUID scheme secure. All this work above to generate 5 - * random 32-bit integers is soley to make your key somewhat harder to - * crack (assuming the key files are properly protected). If you don't - * like the algorithm used to generate the 5 random integers, feel free - * to substitute as appropriate (check out SGI's Lavarand (TM) at - * lavarand.sgi.com). - */ - for (i = 0; i < KEYLEN; i++) - gszKeyVal[i] = szBuf[i % iCount] ^ szRandom[i % sizeof(iRandom)]; - - /* - * Thanks to A.Mayrhofer@Austria.EU.net 980130 - */ - close(fd); - } - -#if defined(SUNOS4) - pid = getpgrp(0); -#else - pid = getpgrp(); -#endif - sprintf(szKeyFile, KEYFILE, (int)pid); - - fd = creat(szKeyFile, 0600); - if (fd < 0) - { - /* - * This should be a rare occurrence, because we're running as root and - * should always have permission to create the file. User recovery: - * check that you are not out of disk space, or that the file is not - * NFS-mounted on a share where you do not have permissions. - */ - LogFrontPageError(s, "Could not create key file \"%-.1024s\"", - szKeyFile, "FrontPageInit()", TRUE); - return; - } - - if (write(fd, gszKeyVal, 128) != 128) - { - /* - * This should be a rare occurrence. User recovery: check that you are - * not out of disk space. - */ - close(fd); - unlink(szKeyFile); - LogFrontPageError(s, "Could not write to key file \"%-.1024s\"", - szKeyFile, "FrontPageInit()", TRUE); - return; - } - - close(fd); - - /* - * Everything looks OK enough to start the suid scheme. - */ - gbEnabled = TRUE; - - /* - * Thanks to Scot Hetzel (hetzels@westbend.net) - */ - ap_add_version_component("FrontPage/5.0.2.2510"); -} - -static int FrontPageCheckWebRoot( - request_rec* r, - char* szCgi, - struct stat *pWebroot) -{ - int iLen; - struct stat vti_pvt; - char szBuf[MAXPATHLEN]; - char chSave; - char szFormat[MAXPATHLEN * 2]; - - chSave = szCgi[1]; - szCgi[1] = '\0'; - ap_translate_name(r); - szCgi[1] = chSave; - - /* - * Zap trailing slash that confuses some OSes. - */ - iLen = strlen(r->filename); - r->filename[--iLen] = 0; - - if (iLen > MAXPATHLEN - 10) - return DECLINED; - sprintf(szBuf, "%s/_vti_pvt", r->filename); - - /* - * Decline if webroot and webroot/_vti_pvt don't have the same - * user and group or uid < LOWEST_VALID_UID or gid < LOWEST_VALID_GID. - */ - if (stat(szBuf, &vti_pvt) != 0 || - stat(r->filename, pWebroot) != 0 || - pWebroot->st_uid != vti_pvt.st_uid || - pWebroot->st_gid != vti_pvt.st_gid) - { - /* - * The webroot and webroot/_vti_pvt don't match. User recovery: fix - * the owners and groups of both directories to match, and have both a - * uid and gid in the allowable range. - */ - sprintf(szFormat, "Incorrect permissions on webroot \"%%-.0124s\" and webroot's _vti_pvt directory, the owners and groups must match and have a uid >= %d and gid >= %d", LOWEST_VALID_UID, LOWEST_VALID_GID); - LogFrontPageError(r->server, szFormat, - szBuf, "FrontPageAlias()", FALSE); - return DECLINED; - } - - if ((!strcmp(r->filename,GLOBALADMINDIR)) ? vti_pvt.st_uid > 0 - : (vti_pvt.st_uid < LOWEST_VALID_UID || - vti_pvt.st_gid < LOWEST_VALID_GID)) - { - /* - * User recovery: fix the owners and groups of both directories to - * match, and have both a uid and gid in the allowable range. - */ - sprintf(szFormat, "Incorrect permissions on webroot \"%%-.0124s\" and webroot's _vti_pvt directory, the owners and groups must match and have a uid >= %d and gid >= %d", LOWEST_VALID_UID, LOWEST_VALID_GID); - LogFrontPageError(r->server, szFormat, - szBuf, "FrontPageAlias()", FALSE); - return DECLINED; - } - - return OK; -} - - -/* - * Look for a valid FrontPage extensions scenario and fake a scriptalias if - * appropriate. If there are any problems, we silently decline. - */ -static int FrontPageAlias( - request_rec* r, - char* szCgi, - const char* szFpexe) -{ - struct stat webroot; - struct stat stub; - char szBuf[MAXPATHLEN]; - - /* - * Decline if we cannot run the stub, or it is writable. - */ - if (stat(FPSTUB, &stub) == -1 || !(stub.st_mode & S_IXOTH) || - stub.st_mode & (S_IWGRP | S_IWOTH)) - { - /* - * The stub used to be correctly permissioned; what happened? User - * recovery: set stub to be owned by by root with permissions - * r*s*-x*-x. - */ - LogFrontPageError(r->server, "Incorrect permissions on stub \"%-.1024s\", must be owned by root with permissions r*s*-x*-x", - FPSTUB, "FrontPageAlias()", FALSE); - return DECLINED; - } - - if (OK != FrontPageCheckWebRoot(r, szCgi, &webroot)) - return DECLINED; - - /* - * If the pipe is active, it was because we previously executed a CGI. - * That CGI must have finished by now (otherwise we wouldn't be processing - * this next request), so we can and should close the pipe to avoid a - * resource leak. - */ - if (gbKeyPipeActive) - { - close(gfdKeyPipe[0]); - gbKeyPipeActive = FALSE; - } - - /* - * If we can't get a pipe, that's really bad. We'll log an error, and - * decline. This should be a rare occurrence. User recovery: check to see - * why the system cannot allocate a pipe (is the file table full from - * run-away processes?), and fix the problem or reboot, then try again. - */ - if (pipe(gfdKeyPipe) == -1) - { - LogFrontPageError(r->server, "pipe() failed", 0, - "FrontPageAlias()", FALSE); - return DECLINED; - } - - /* - * Note: ap_pstrdup allocates memory, but it checks for out of memory - * conditions - it will not return if out of memory. - */ - r->handler = ap_pstrdup(r->pool, "cgi-script"); - ap_table_set(r->notes, "alias-forced-type", r->handler); - - ap_table_set(r->subprocess_env, "FPEXE", ap_pstrdup(r->pool, szFpexe)); - sprintf(szBuf, "%d", webroot.st_uid ); - ap_table_set(r->subprocess_env, "FPUID", ap_pstrdup(r->pool, szBuf)); - sprintf(szBuf, "%d", webroot.st_gid ); - ap_table_set(r->subprocess_env, "FPGID", ap_pstrdup(r->pool, szBuf)); - sprintf(szBuf, "%d", gfdKeyPipe[0]); - ap_table_set(r->subprocess_env, "FPFD", ap_pstrdup(r->pool, szBuf)); - - r->execfilename = ap_pstrcat(r->pool, FPSTUB, szCgi+strlen(szFpexe), NULL); - r->filename = ap_pstrcat(r->pool, r->filename, szCgi, NULL); - - if (write(gfdKeyPipe[1], gszKeyVal, 128) != 128) - { - /* - * If we can't write to the pipe, that's really bad. We'll log an - * error, and decline. This should be a rare occurrence. User - * recovery: check to see why the system cannot write to the pipe (is - * the system being choked with too much load?), and fix the problem or - * reboot, then try again. - */ - LogFrontPageError(r->server, "Write to pipe failed", 0, - "FrontPageAlias()", FALSE); - close (gfdKeyPipe[0]); - close (gfdKeyPipe[1]); - return DECLINED; - } - close(gfdKeyPipe[1]); - - gbKeyPipeActive = TRUE; - return OK; -} - -static int FrontPageGetLcid(const char* szDir) -{ - int iLcid; - iLcid = atoi(szDir); - if (iLcid < 1 || iLcid > 9999) - iLcid = 1033; - return iLcid; -} - -/* - * Look for a valid FrontPage extensions scenario and fake an alias if - * appropriate. If there are any problems, we silently decline. - */ -static int FrontPageStaticAlias( - request_rec* r, - char* szCgi, - const char* szDir, - int iLcid) -{ - struct stat webroot; - char szBuf[8]; - char* szBase; - - if (OK != FrontPageCheckWebRoot(r, szCgi, &webroot)) - return DECLINED; - - szBase = strrchr(r->uri, '/'); - if (!szBase) - return DECLINED; - - szBuf[0] = 0; - if (iLcid > 0 && iLcid < 10000) - sprintf(szBuf, "/%04d", iLcid); - - r->execfilename = ap_pstrcat(r->pool, FP, szDir, szBuf, szBase, NULL); - r->filename = ap_pstrcat(r->pool, r->filename, szCgi, NULL); - - return OK; -} - - -/* - * This routine looks for shtml.exe, fpcount.exe, author.exe and admin.exe - * in a URI, and if found we call FrontPageAlias() to check for a valid - * FrontPage scenario. - * - * The return value is OK or DECLINED. - */ -static int FrontPageXlate( - request_rec *r) -{ - char *szVti; - char *szCgi; - - /* - * Decline if we're improperly initialized. - */ - if (!gbEnabled) - return DECLINED; - - /* - * Check once for anything with _vti_bin. This is much faster than - * checking all our paths, because anything without this is definitely - * not a FrontPage scenario. - */ - if (!(szVti = strstr(r->uri, VTI_BIN))) - return DECLINED; - - /* - * Test for FrontPage server extenders: - * .../_vti_bin/shtml.exe... - * .../_vti_bin/shtml.dll... - * .../_vti_bin/fpcount.exe... - * .../_vti_bin/_vti_aut/author.exe... - * .../_vti_bin/_vti_adm/admin.exe... - * .../_vti_bin/_vti_adm/owsadm.exe... - */ - if (szCgi = strstr(szVti, AUTHOR )) - return FrontPageAlias(r, szCgi, AUTHOR); - /* - * Convert inadvertent shtml.dll to shtml.exe - * Thanks for the idea to Scot Hetzel (hetzels@westbend.net) - */ - if (szCgi = strstr(szVti, SHTML2 )) - { - int iShtmlExtPos = strlen(SHTML2) - 3; - strncpy(szCgi + iShtmlExtPos, SHTML + iShtmlExtPos, 3); - } - if (szCgi = strstr(szVti, SHTML )) - return FrontPageAlias(r, szCgi, SHTML); - if (szCgi = strstr(szVti, ADMIN )) - return FrontPageAlias(r, szCgi, ADMIN); - if (szCgi = strstr(szVti, ADMINCGI )) - return FrontPageAlias(r, szCgi, ADMINCGI); - if (szCgi = strstr(szVti, FPCOUNT)) - return FrontPageAlias(r, szCgi, FPCOUNT); - - if (szCgi = strstr(szVti, VTIHELP)) - return FrontPageStaticAlias(r, szVti, HELPDIR, - FrontPageGetLcid(szVti + iHELP)); - if ((szCgi = strrchr(szVti,'/')) && !strcmp(szCgi, PASSWD) && - (iVTI_LEN < strlen(szVti))) - return FrontPageStaticAlias(r, szVti, ADMINDIR, - FrontPageGetLcid(szVti + iVTI_LEN)); - if ((szCgi = strrchr(szVti,'.')) && !strcmp(szCgi, ".gif")) - return FrontPageStaticAlias(r, szVti, IMAGESDIR, 0); - if ((szCgi = strrchr(szVti,'.')) && !strcmp(szCgi, ".css") && - (iVTI_LEN < strlen(szVti))) - return FrontPageStaticAlias(r, szVti, ADMINDIR, - FrontPageGetLcid(szVti + iVTI_LEN)); - - return DECLINED; -} - - -/* - * Declare ourselves so the configuration routines can find us. - */ -module MODULE_VAR_EXPORT frontpage_module = -{ - STANDARD_MODULE_STUFF, - FrontPageInit, /* initializer */ - NULL, /* per-directory config creater */ - NULL, /* dir config merger - default is to override */ - NULL, /* server config creator */ - NULL, /* server config merger */ - NULL, /* command table */ - NULL, /* [6] list of handlers */ - FrontPageXlate, /* [1] URI-to-filename translation */ - NULL, /* [4] check/validate HTTP user_id */ - NULL, /* [5] check HTTP user_id is valid *here* */ - NULL, /* [3] check access by host address, etc. */ - NULL, /* [6] MIME type checker/setter */ - NULL, /* [7] fixups */ - NULL, /* [9] logger */ - NULL, /* [2] header parser */ - NULL, /* child_init */ - NULL, /* child_exit */ - NULL /* post read-request */ -}; diff --git a/www/apache13-fp/files/patch-aa b/www/apache13-fp/files/patch-aa deleted file mode 100644 index efa5a46583b7..000000000000 --- a/www/apache13-fp/files/patch-aa +++ /dev/null @@ -1,42 +0,0 @@ ---- configure.orig Tue May 21 07:24:59 2002 -+++ configure Tue Jun 18 23:39:04 2002 -@@ -1169,7 +1169,8 @@ - conf_port="80" - fi - conf_serveradmin="you@your.address" --conf_servername="new.host.name" -+conf_servername="`$aux/buildinfo.sh -n %h%d`" -+#conf_servername="new.host.name" - if [ "x$confadjust" = "x1" ]; then - if [ -f /etc/passwd ]; then - if [ "x$conf_user" = "x" ]; then -@@ -1193,7 +1194,10 @@ - conf_port="8080" - fi - conf_serveradmin="`$aux/buildinfo.sh -n %u@%h%d`" -- conf_servername="`$aux/buildinfo.sh -n %h%d`" -+# conf_servername="`$aux/buildinfo.sh -n %h%d`" -+fi -+if [ ".$suexec" = .1 ]; then -+ conf_user="$suexec_caller" - fi - - ## -@@ -1251,7 +1255,7 @@ - echo " DEFAULT_PIDLOG: ${runtimedir_relative}${thetarget}.pid" - echo " DEFAULT_SCOREBOARD: ${runtimedir_relative}${thetarget}.scoreboard" - echo " DEFAULT_LOCKFILE: ${runtimedir_relative}${thetarget}.lock" -- echo " DEFAULT_ERRORLOG: ${logfiledir_relative}error_log" -+ echo " DEFAULT_ERRORLOG: ${logfiledir_relative}httpd-error.log" - echo " TYPES_CONFIG_FILE: ${sysconfdir_relative}mime.types" - echo " SERVER_CONFIG_FILE: ${sysconfdir_relative}${thetarget}.conf" - echo " ACCESS_CONFIG_FILE: ${sysconfdir_relative}access.conf" -@@ -1349,7 +1353,7 @@ - echo "echo '-DDEFAULT_PIDLOG=\"${runtimedir_relative}${thetarget}.pid\"'" >>$src/apaci - echo "echo '-DDEFAULT_SCOREBOARD=\"${runtimedir_relative}${thetarget}.scoreboard\"'" >>$src/apaci - echo "echo '-DDEFAULT_LOCKFILE=\"${runtimedir_relative}${thetarget}.lock\"'" >>$src/apaci --echo "echo '-DDEFAULT_ERRORLOG=\"${logfiledir_relative}error_log\"'" >>$src/apaci -+echo "echo '-DDEFAULT_ERRORLOG=\"${logfiledir_relative}httpd-error.log\"'" >>$src/apaci - echo "echo '-DTYPES_CONFIG_FILE=\"${sysconfdir_relative}mime.types\"'" >>$src/apaci - echo "echo '-DSERVER_CONFIG_FILE=\"${sysconfdir_relative}${thetarget}.conf\"'" >>$src/apaci - echo "echo '-DACCESS_CONFIG_FILE=\"${sysconfdir_relative}access.conf\"'" >>$src/apaci diff --git a/www/apache13-fp/files/patch-ab b/www/apache13-fp/files/patch-ab deleted file mode 100644 index 838a13835bc4..000000000000 --- a/www/apache13-fp/files/patch-ab +++ /dev/null @@ -1,162 +0,0 @@ ---- Makefile.tmpl.orig Wed Nov 28 09:02:12 2001 -+++ Makefile.tmpl Tue Feb 12 23:07:11 2002 -@@ -127,6 +127,7 @@ - runtimedir = @runtimedir@ - logfiledir = @logfiledir@ - proxycachedir = @proxycachedir@ -+docsdir = $(prefix)/share/doc/apache - - libexecdir_relative = @libexecdir_relative@ - -@@ -270,10 +271,10 @@ - $(MKDIR) $(root)$(mandir)/man1 - $(MKDIR) $(root)$(mandir)/man8 - $(MKDIR) $(root)$(sysconfdir) -- $(MKDIR) $(root)$(htdocsdir) -+ $(MKDIR) $(root)$(docsdir) - $(MKDIR) $(root)$(manualdir) - $(MKDIR) $(root)$(iconsdir) -- $(MKDIR) $(root)$(cgidir) -+ $(MKDIR) $(root)$(cgidir).default - $(MKDIR) $(root)$(includedir) - $(MKDIR) $(root)$(includedir)/xml - $(MKDIR) $(root)$(runtimedir) -@@ -329,19 +330,34 @@ - echo "$(INSTALL_DSO) $(TOP)/$(SRC)/$${mod} $(root)$(libexecdir)/$${file}"; \ - $(INSTALL_DSO) $(TOP)/$(SRC)/$${mod} $(root)$(libexecdir)/$${file}; \ - name=`$(TOP)/$(AUX)/fmn.sh $(TOP)/$(SRC)/$${mod}`; \ -+ if [ ".$$name" = .frontpage_module ]; then \ -+ echo "<IfDefine MOD_FP>" >>$(SRC)/.apaci.install.conf; \ -+ fi; \ - echo dummy | awk '{ printf("LoadModule %-18s %s\n", modname, modpath); }' \ - modname="$${name}" modpath="$(libexecdir_relative)$${file}" >>$(SRC)/.apaci.install.conf; \ -+ if [ ".$$name" = .frontpage_module ]; then \ -+ echo "</IfDefine>" >>$(SRC)/.apaci.install.conf; \ -+ fi; \ - done; \ - echo "" >>$(SRC)/.apaci.install.conf; \ - echo "# Reconstruction of the complete module list from all available modules" >>$(SRC)/.apaci.install.conf; \ - echo "# (static and shared ones) to achieve correct module execution order." >>$(SRC)/.apaci.install.conf; \ - echo "# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]" >>$(SRC)/.apaci.install.conf; \ - echo "ClearModuleList" >>$(SRC)/.apaci.install.conf; \ -- egrep "^[ ]*(Add|Shared)Module" $(SRC)/Configuration.apaci |\ -- sed -e 's:SharedModule:AddModule:' \ -- -e 's:modules/[^/]*/::' \ -- -e 's:[ ]lib: mod_:' \ -- -e 's:\.[soam].*$$:.c:' >>$(SRC)/.apaci.install.conf; \ -+ for mod in `egrep "^[ ]*(Add|Shared)Module" $(SRC)/Configuration.apaci |\ -+ sed -e 's:[ ]*SharedModule::' \ -+ -e 's:[ ]*AddModule::' \ -+ -e 's:modules/[^/]*/::' \ -+ -e 's:[ ]lib: mod_:' \ -+ -e 's:\.[soam].*$$:.c:'`; do \ -+ if [ ".$$mod" = .mod_frontpage.c ]; then \ -+ echo "<IfDefine MOD_FP>" >>$(SRC)/.apaci.install.conf; \ -+ fi; \ -+ echo "AddModule $$mod" >>$(SRC)/.apaci.install.conf; \ -+ if [ ".$$mod" = .mod_frontpage.c ]; then \ -+ echo "</IfDefine>" >>$(SRC)/.apaci.install.conf; \ -+ fi; \ -+ done; \ - fi - @echo "<=== [programs]" - -@@ -411,6 +427,7 @@ - echo "$(INSTALL_SCRIPT) $(TOP)/$(SRC)/support/apachectl[*] $(root)$(sbindir)/$${apachectl}"; \ - sed -e 's;PIDFILE=.*;PIDFILE=$(runtimedir)/$(TARGET).pid;' \ - -e 's;HTTPD=.*;HTTPD=$(sbindir)/$(TARGET);' \ -+ -e 's;LD_LIBRARY_PATH=.*;LD_LIBRARY_PATH=/usr/lib\:$(prefix)/lib;' \ - < $(TOP)/$(SRC)/support/apachectl > $(TOP)/$(SRC)/.apaci.install.tmp && \ - $(INSTALL_SCRIPT) $(TOP)/$(SRC)/.apaci.install.tmp $(root)$(sbindir)/$${apachectl}; \ - echo "$(INSTALL_DATA) $(TOP)/$(SRC)/support/apachectl.8 $(root)$(mandir)/man8/$${apachectl}.8"; \ -@@ -459,15 +476,15 @@ - # icons and distributed CGI scripts. - install-data: - @echo "===> [data: Installing initial data files]" -- -@if [ -f $(root)$(htdocsdir)/index.html ] || [ -f $(root)$(htdocsdir)/index.html.en ]; then \ -- echo "[PRESERVING EXISTING DATA SUBDIR: $(root)$(htdocsdir)/]"; \ -- else \ -- echo "Copying tree $(TOP)/htdocs/ -> $(root)$(htdocsdir)/"; \ -+# -@if [ -f $(root)$(htdocsdir)/index.html ] || [ -f $(root)$(htdocsdir)/index.html.en ]; then \ -+# echo "[PRESERVING EXISTING DATA SUBDIR: $(root)$(htdocsdir)/]"; \ -+# else \ -+ echo "Copying tree $(TOP)/htdocs/ -> $(root)$(docsdir)/"; \ - (cd $(TOP)/htdocs/ && $(TAR) $(TAROPT) - index* apache_pb.* ) |\ -- (cd $(root)$(htdocsdir)/ && $(TAR) -xf -); \ -- find $(root)$(htdocsdir)/ -type d -exec chmod a+rx {} \; ; \ -- find $(root)$(htdocsdir)/ -type f -print | xargs chmod a+r ; \ -- fi -+ (cd $(root)$(docsdir)/ && $(TAR) -xf -); \ -+ find $(root)$(docsdir)/ -type d -exec chmod a+rx {} \; ; \ -+ find $(root)$(docsdir)/ -type f -print | xargs chmod a+r ; \ -+# fi - -@if [ -d $(TOP)/htdocs/manual ]; then \ - echo "Copying tree $(TOP)/htdocs/manual -> $(root)/$(manualdir)/"; \ - (cd $(TOP)/htdocs/manual/ && $(TAR) $(TAROPT) - *) |\ -@@ -475,17 +492,17 @@ - find $(root)$(manualdir)/ -type d -exec chmod a+rx {} \; ; \ - find $(root)$(manualdir)/ -type f -print | xargs chmod a+r ; \ - fi -- -@if [ -f $(root)$(cgidir)/printenv ]; then \ -- echo "[PRESERVING EXISTING CGI SUBDIR: $(root)$(cgidir)/]"; \ -- else \ -+# -@if [ -f $(root)$(cgidir)/printenv ]; then \ -+# echo "[PRESERVING EXISTING CGI SUBDIR: $(root)$(cgidir)/]"; \ -+# else \ - for script in printenv test-cgi; do \ - cat $(TOP)/cgi-bin/$${script} |\ - sed -e 's;^#!/.*perl;#!$(PERL);' \ - > $(TOP)/$(SRC)/.apaci.install.tmp; \ -- echo "$(INSTALL_DATA) $(TOP)/conf/$${script}[*] $(root)$(cgidir)/$${script}"; \ -- $(INSTALL_DATA) $(TOP)/$(SRC)/.apaci.install.tmp $(root)$(cgidir)/$${script}; \ -+ echo "$(INSTALL_DATA) $(TOP)/conf/$${script}[*] $(root)$(cgidir).default/$${script}"; \ -+ $(INSTALL_DATA) $(TOP)/$(SRC)/.apaci.install.tmp $(root)$(cgidir).default/$${script}; \ - done; \ -- fi -+# fi - @echo "Copying tree $(TOP)/icons/ -> $(root)$(iconsdir)/"; \ - (cd $(TOP)/icons/ && $(TAR) $(TAROPT) - *) |\ - (cd $(root)$(iconsdir)/ && $(TAR) -xf -); \ -@@ -519,15 +536,17 @@ - -e 's;@@ServerRoot@@/icons;$(iconsdir);' \ - -e 's;@@ServerRoot@@/cgi-bin;$(cgidir);' \ - -e 's;@@ServerRoot@@/proxy;$(proxycachedir);' \ -+ -e 's;@@ServerRoot@@/srm.conf;/dev/null;' \ -+ -e 's;@@ServerRoot@@/access.conf;/dev/null;' \ - -e 's;@@ServerRoot@@;$(prefix);g' \ - -e 's;httpd\.conf;$(TARGET).conf;' \ - -e 's;logs/accept\.lock;$(runtimedir)/$(TARGET).lock;' \ - -e 's;logs/apache_runtime_status;$(runtimedir)/$(TARGET).scoreboard;' \ - -e 's;logs/httpd\.pid;$(runtimedir)/$(TARGET).pid;' \ -- -e "s;logs/access_log;$(logfiledir)/$${target_prefix}access_log;" \ -- -e "s;logs/error_log;$(logfiledir)/$${target_prefix}error_log;" \ -- -e "s;logs/referer_log;$(logfiledir)/$${target_prefix}referer_log;" \ -- -e "s;logs/agent_log;$(logfiledir)/$${target_prefix}agent_log;" \ -+ -e "s;logs/access_log;$(logfiledir)/httpd-access.log;" \ -+ -e "s;logs/error_log;$(logfiledir)/httpd-error.log;" \ -+ -e "s;logs/referer_log;$(logfiledir)/httpd-referer.log;" \ -+ -e "s;logs/agent_log;$(logfiledir)/httpd-agent.log;" \ - -e 's;conf/magic;$(sysconfdir)/magic;' \ - -e 's;conf/mime\.types;$(sysconfdir)/mime.types;' \ - -e 's;User nobody;User $(conf_user);' \ -@@ -539,13 +558,14 @@ - > $(TOP)/$(SRC)/.apaci.install.tmp && \ - echo "$(INSTALL_DATA) $(TOP)/conf/$${conf}-dist[*] $(root)$(sysconfdir)/$${target_conf}.default"; \ - $(INSTALL_DATA) $(TOP)/$(SRC)/.apaci.install.tmp $(root)$(sysconfdir)/$${target_conf}.default; \ -- if [ ! -f "$(root)$(sysconfdir)/$${target_conf}" ]; then \ -- echo "$(INSTALL_DATA) $(TOP)/conf/$${conf}-dist[*] $(root)$(sysconfdir)/$${target_conf}"; \ -- $(INSTALL_DATA) $(TOP)/$(SRC)/.apaci.install.tmp $(root)$(sysconfdir)/$${target_conf}; \ -- else \ -- echo "[PRESERVING EXISTING CONFIG FILE: $(root)$(sysconfdir)/$${target_conf}]"; \ -- fi; \ - done -+# if [ ! -f "$(root)$(sysconfdir)/$${target_conf}" ]; then \ -+# echo "$(INSTALL_DATA) $(TOP)/conf/$${conf}-dist[*] $(root)$(sysconfdir)/$${target_conf}"; \ -+# $(INSTALL_DATA) $(TOP)/$(SRC)/.apaci.install.tmp $(root)$(sysconfdir)/$${target_conf}; \ -+# else \ -+# echo "[PRESERVING EXISTING CONFIG FILE: $(root)$(sysconfdir)/$${target_conf}]"; \ -+# fi; \ -+# done - -@for conf in mime.types magic; do \ - echo "$(INSTALL_DATA) $(TOP)/conf/$${conf} $(root)$(sysconfdir)/$${conf}.default"; \ - $(INSTALL_DATA) $(TOP)/conf/$${conf} $(root)$(sysconfdir)/$${conf}.default; \ diff --git a/www/apache13-fp/files/patch-ag b/www/apache13-fp/files/patch-ag deleted file mode 100644 index ed0f472bc837..000000000000 --- a/www/apache13-fp/files/patch-ag +++ /dev/null @@ -1,133 +0,0 @@ ---- conf/httpd.conf-dist.orig Wed Jan 9 10:05:31 2002 -+++ conf/httpd.conf-dist Fri Jan 25 15:07:51 2002 -@@ -95,6 +95,9 @@ - #ResourceConfig conf/srm.conf - #AccessConfig conf/access.conf - -+ResourceConfig @@ServerRoot@@/srm.conf -+AccessConfig @@ServerRoot@@/access.conf -+ - # - # Timeout: The number of seconds before receives and sends time out. - # -@@ -276,7 +279,7 @@ - # documents. By default, all requests are taken from this directory, but - # symbolic links and aliases may be used to point to other locations. - # --DocumentRoot "@@ServerRoot@@/htdocs" -+DocumentRoot @@ServerRoot@@/htdocs - - # - # Each directory to which Apache has access, can be configured with respect -@@ -317,7 +320,16 @@ - # override. Can also be "All", or any combination of "Options", "FileInfo", - # "AuthConfig", and "Limit" - # -- AllowOverride None -+<IfDefine MOD_FP> -+### These are the Minimum options need by the FrontPage Module. -+### With out these options set the FrontPage Client will not be -+### able to access the server. -+ AllowOverride AuthConfig Limit Indexes Options -+</IfDefine> -+ -+<IfDefine !MOD_FP> -+# AllowOverride None -+</IfDefine> - - # - # Controls who can get stuff from this server. -@@ -351,12 +363,36 @@ - # </LimitExcept> - #</Directory> - -+### In Order for FrontPage to work in User and Virtual ### -+### Web Directories, they need to be set up as shown: ### -+<IfDefine MOD_FP> -+ <Directory /*/public_html> -+ AllowOverride AuthConfig Limit Indexes Options -+ Options ExecCGI -+ </Directory> -+</IfDefine> -+ - # - # DirectoryIndex: Name of the file or files to use as a pre-written HTML - # directory index. Separate multiple entries with spaces. - # - <IfModule mod_dir.c> -- DirectoryIndex index.html -+ <IfModule mod_php3.c> -+ <IfModule mod_php4.c> -+ DirectoryIndex index.php index.php3 index.html -+ </IfModule> -+ <IfModule !mod_php4.c> -+ DirectoryIndex index.php3 index.html -+ </IfModule> -+ </IfModule> -+ <IfModule !mod_php3.c> -+ <IfModule mod_php4.c> -+ DirectoryIndex index.php index.html -+ </IfModule> -+ <IfModule !mod_php4.c> -+ DirectoryIndex index.html -+ </IfModule> -+ </IfModule> - </IfModule> - - # -@@ -476,7 +512,7 @@ - # define per-<VirtualHost> access logfiles, transactions will be - # logged therein and *not* in this file. - # --CustomLog logs/access_log common -+#CustomLog logs/access_log common - - # - # If you would like to have agent and referer logfiles, uncomment the -@@ -489,7 +525,7 @@ - # If you prefer a single logfile with access, agent, and referer information - # (Combined Logfile Format) you can use the following directive. - # --#CustomLog logs/access_log combined -+CustomLog logs/access_log combined - - # - # Optionally add a line containing the server version and virtual host -@@ -765,6 +801,21 @@ - # AddType allows you to tweak mime.types without actually editing it, or to - # make certain files to be certain types. - # -+ # For example, the PHP 3.x module (not part of the Apache distribution - see -+ # http://www.php.net) will typically use: -+ # -+ <IfModule mod_php3.c> -+ AddType application/x-httpd-php3 .php3 -+ AddType application/x-httpd-php3-source .php3s -+ </IfModule> -+ # -+ # And for PHP 4.x, use: -+ # -+ <IfModule mod_php4.c> -+ AddType application/x-httpd-php .php -+ AddType application/x-httpd-php-source .phps -+ </IfModule> -+ - AddType application/x-tar .tgz - - # -@@ -972,4 +1023,15 @@ - # ServerName dummy-host.example.com - # ErrorLog logs/dummy-host.example.com-error_log - # CustomLog logs/dummy-host.example.com-access_log common -+#</VirtualHost> -+ -+# This Virtual Host makes it so FrontPage will display pages from the -+# root web. When multiple Listen directives are specified, Frontpage -+# will try to access the pages from the wrong virutal host. This fixes it. -+# -+#NOTE: This Virtual Host Entry must be kept as the last _default_ -+# virtual host entry. -+#<VirtualHost _default_:80> -+# ServerAdmin webmaster@@@HOSTNAME@@ -+# ServerName @@HOSTNAME@@ - #</VirtualHost> diff --git a/www/apache13-fp/files/patch-ak b/www/apache13-fp/files/patch-ak deleted file mode 100644 index a976cce63aa7..000000000000 --- a/www/apache13-fp/files/patch-ak +++ /dev/null @@ -1,117 +0,0 @@ ---- src/support/apachectl.orig Tue Apr 6 15:36:33 1999 -+++ src/support/apachectl Thu Feb 24 22:20:05 2000 -@@ -27,6 +27,10 @@ - # the path to your httpd binary, including options if necessary - HTTPD='/usr/local/apache/src/httpd' - # -+# shared object search path -+LD_LIBRARY_PATH= -+export LD_LIBRARY_PATH -+# - # a command that outputs a formatted text version of the HTML at the - # url given on the command line. Designed for lynx, however other - # programs may work. -@@ -39,6 +43,8 @@ - # -------------------- -------------------- - # |||||||||||||||||||| END CONFIGURATION SECTION |||||||||||||||||||| - -+eval `limits -e -C daemon` >/dev/null 2>&1 -+ - ERROR=0 - ARGV="$@" - if [ "x$ARGV" = "x" ] ; then -@@ -47,6 +53,9 @@ - - for ARG in $@ $ARGS - do -+ -+ MODULES=`echo $ARG | awk 'BEGIN { RS="_"}!($1 == "start" || $1 == "stop" || $1 == "restart" || $1 == "fullstatus" || $1 == "status" || $1 == "graceful" || $1 == "configtest"){ s = sprintf("%s -DMOD_%s", s, $1)}END{ printf s}'` -+ - # check for pidfile - if [ -f $PIDFILE ] ; then - PID=`cat $PIDFILE` -@@ -63,12 +72,12 @@ - fi - - case $ARG in -- start) -+ start*) - if [ $RUNNING -eq 1 ]; then - echo "$0 $ARG: httpd (pid $PID) already running" - continue - fi -- if $HTTPD ; then -+ if $HTTPD $MODULES; then - echo "$0 $ARG: httpd started" - else - echo "$0 $ARG: httpd could not be started" -@@ -82,22 +91,23 @@ - fi - if kill $PID ; then - echo "$0 $ARG: httpd stopped" -+ rm $PIDFILE - else - echo "$0 $ARG: httpd could not be stopped" - ERROR=4 - fi - ;; -- restart) -+ restart*) - if [ $RUNNING -eq 0 ]; then - echo "$0 $ARG: httpd not running, trying to start" -- if $HTTPD ; then -+ if $HTTPD $MODULES; then - echo "$0 $ARG: httpd started" - else - echo "$0 $ARG: httpd could not be started" - ERROR=5 - fi - else -- if $HTTPD -t >/dev/null 2>&1; then -+ if $HTTPD -t ${MODULES} >/dev/null 2>&1; then - if kill -HUP $PID ; then - echo "$0 $ARG: httpd restarted" - else -@@ -111,17 +121,17 @@ - fi - fi - ;; -- graceful) -+ graceful*) - if [ $RUNNING -eq 0 ]; then - echo "$0 $ARG: httpd not running, trying to start" -- if $HTTPD ; then -+ if $HTTPD $MODULES; then - echo "$0 $ARG: httpd started" - else - echo "$0 $ARG: httpd could not be started" - ERROR=5 - fi - else -- if $HTTPD -t >/dev/null 2>&1; then -+ if $HTTPD -t ${MODULES} >/dev/null 2>&1; then - if kill -USR1 $PID ; then - echo "$0 $ARG: httpd gracefully restarted" - else -@@ -141,8 +151,8 @@ - fullstatus) - $LYNX $STATUSURL - ;; -- configtest) -- if $HTTPD -t; then -+ configtest*) -+ if $HTTPD -t ${MODULES}; then - : - else - ERROR=8 -@@ -161,6 +171,10 @@ - graceful - do a graceful restart by sending a SIGUSR1 or start if not running - configtest - do a configuration syntax test - help - this screen -+ -+ -+ NOTE: You may also use (start|restart|graceful|configtest)_MODULE1[_MODULE2[..]] -+ to start the server with -DMOD_MODULE1[ -DMOD_MODULE2[..]]. - - EOF - ERROR=2 diff --git a/www/apache13-fp/files/patch-al b/www/apache13-fp/files/patch-al deleted file mode 100644 index b355a697b4ab..000000000000 --- a/www/apache13-fp/files/patch-al +++ /dev/null @@ -1,24 +0,0 @@ ---- src/support/log_server_status.orig Fri Jun 4 19:54:19 1999 -+++ src/support/log_server_status Fri Sep 3 15:53:16 1999 -@@ -67,10 +67,10 @@ - # - require 'sys/socket.ph'; - --$wherelog = "/var/log/graph/"; # Logs will be like "/var/log/graph/19960312" -+$wherelog = "/var/log/httpd-status-"; - $server = "localhost"; # Name of server, could be "www.foo.com" - $port = "80"; # Port on server --$request = "/status/?auto"; # Request to send -+$request = "/server-status/?auto"; # Request to send - - sub tcp_connect - { -@@ -100,7 +100,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/apache13-fp/files/patch-fd b/www/apache13-fp/files/patch-fd deleted file mode 100644 index 737ed6fa9358..000000000000 --- a/www/apache13-fp/files/patch-fd +++ /dev/null @@ -1,55 +0,0 @@ ---- src/support/suexec.h.orig Fri Jan 1 13:05:35 1999 -+++ src/support/suexec.h Fri Nov 5 19:55:49 1999 -@@ -56,6 +56,17 @@ - */ - - /* -+ * "FPEXE modification made on 98.05.21 by Scot Hetzel (hetzels@westbend.net) -+ * based on previous FPEXE modifications supplied by Mark Wormgoor -+ * (riddles@ipe.nl) -+ * -+ * Changes were made in order to use Suexec and Frontpage 98 at the same time. -+ * After we change to the target_uid and target_gid. We check if cmd = FPEXE, -+ * if it does then we execute the cmd without performing any further tests. -+ * -+ */ -+ -+/* - * suexec.h -- user-definable variables for the suexec wrapper code. - * (See README.configure on how to customize these variables.) - */ -@@ -130,6 +141,34 @@ - */ - #ifndef DOC_ROOT - #define DOC_ROOT "/usr/local/apache/htdocs" -+#endif -+ -+/* -+ * FPEXE, FPSTUB -+ * FPSTUBDIR -- We are running frontpage and we don't need to run -+ * fpexe suid, since it's already set suid. Also, the -+ * dir-rights are incorrect and so on... -+ */ -+#ifndef FPEXE -+#define FPEXE "fpexe" -+#endif -+ -+#ifndef FPSTUBDIR -+#define FPSTUBDIR "/usr/local/frontpage/version4.0/apache-fp/_vti_bin" -+#endif -+ -+#ifndef FPSTUB -+#define FPSTUB FPSTUBDIR "/fpexe" -+#endif -+ -+/* -+ * SYSTEM_CGI -- Define as the cgi directory for system-wide CGI's -+ * Note that UID/GID of the cgi or the directory are -+ * NOT matched if they're in this directory, although -+ * all the other checks still apply. Caveat Emptor. -+*/ -+#ifndef SYSTEM_CGI -+#define SYSTEM_CGI "/usr/local/www/cgi-bin" - #endif - - /* diff --git a/www/apache13-fp/files/patch-fe b/www/apache13-fp/files/patch-fe deleted file mode 100644 index 2e4fd965c3b6..000000000000 --- a/www/apache13-fp/files/patch-fe +++ /dev/null @@ -1,169 +0,0 @@ ---- src/support/suexec.c.orig Tue Jan 11 13:47:59 2000 -+++ src/support/suexec.c Sun Feb 20 17:38:47 2000 -@@ -82,11 +82,35 @@ - * info: Normal activity message - * debug: Self-explanatory - */ -+/* -+ * "System" CGI modification 97.05.10 by Rick Franchuk (rickf@netnation.com) -+ * -+ * I found that while it's great to make scripts run under the UID and GID -+ * specified in httpd.conf or what /etc/passwd says is 'cool', suEXEC can -+ * really put a damper on 'System' cgi's, forcing copies of the scripts -+ * to be installed into users' home directories. That didn't seem very -+ * fitting... so I changed it so that the target UID check is disabled in -+ * a system directory #defined in suexec+.h. I hope you all find it useful. -+ * -+ * The docroot check had to be bypassed to allow functionality for VirtualHost -+ * entries. I'm somewhat suprised noone encountered that behavior before. -+ */ -+ /* -+ * "FPEXE modification made on 98.05.19 by Scot Hetzel (hetzels@westbend.net) -+ * based on previous FPEXE modifications supplied by Mark Wormgoor -+ * (riddles@ipe.nl) -+ * -+ * Changes were made in order to use Suexec and Frontpage 98 at the same time. -+ * After we change to the target_uid and target_gid. We check if cmd = FPEXE, -+ * if it does then we execute the cmd without performing any further tests. -+ * -+ */ - - #include "ap_config.h" - #include <sys/param.h> - #include <sys/stat.h> - #include <sys/types.h> -+#include <login_cap.h> - - #include <stdarg.h> - -@@ -262,6 +286,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 */ -@@ -420,6 +445,19 @@ - } - - /* -+ * Apply user resource limits based on login class. -+ */ -+ if ((lc = login_getclassbyname(pw->pw_class, pw)) == NULL) { -+ log_err("login_getclassbyname() failed\n"); -+ exit(248); -+ } -+ -+ if ((setusercontext(lc, pw, uid, LOGIN_SETRESOURCES)) != 0) { -+ log_err("setusercontext() failed\n"); -+ exit(249); -+ } -+ -+ /* - * Change UID/GID here so that the following tests work over NFS. - * - * Initialize the group access list for the target user, -@@ -439,6 +477,14 @@ - } - - /* -+ * We logged everything, changed to the target uid/gid, and know the -+ * user is ok. We run fpexe now and bail out before anything goes wrong. -+ */ -+#ifdef FPEXE -+ if ((strcmp(cmd, FPEXE)) != NULL) { -+#endif -+ -+ /* - * Get the current working directory, as well as the proper - * document root (dependant upon whether or not it is a - * ~userdir request). Error out if we cannot get either one, -@@ -470,10 +516,16 @@ - } - } - -+ /* -+ * This section must be commented out to work properly with -+ * VirtualHosts running CGI in thier own directories. -+ * -+ - if ((strncmp(cwd, dwd, strlen(dwd))) != 0) { - log_err("error: command not in docroot (%s/%s)\n", cwd, cmd); - exit(114); - } -+ */ - - /* - * Stat the cwd and verify it is a directory, or error out. -@@ -519,6 +571,9 @@ - * Error out if the target name/group is different from - * the name/group of the cwd or the program. - */ -+#ifdef SYSTEM_CGI -+ if (strncmp(cwd, SYSTEM_CGI, strlen(SYSTEM_CGI))) { -+#endif - if ((uid != dir_info.st_uid) || - (gid != dir_info.st_gid) || - (uid != prg_info.st_uid) || -@@ -530,6 +585,10 @@ - prg_info.st_uid, prg_info.st_gid); - exit(120); - } -+#ifdef SYSTEM_CGI -+ } -+#endif -+ - /* - * Error out if the program is not executable for the user. - * Otherwise, she won't find any error in the logs except for -@@ -551,6 +610,49 @@ - umask(SUEXEC_UMASK); - #endif /* SUEXEC_UMASK */ - clean_env(); -+ -+#ifdef FPEXE -+ } -+ else { -+ -+ /* The following taken from mod_frontpage.c to check permissions */ -+ -+ /* -+ * We can't stat the stub dir. Make sure the stub directory is not -+ * owned by root and not group/world writable -+ */ -+ if ((lstat(FPSTUBDIR, &dir_info) == -1 || -+ dir_info.st_uid || -+ (dir_info.st_mode & (S_IWGRP | S_IWOTH)) || -+ (!S_ISDIR(dir_info.st_mode)))) { -+ /* -+ * User recovery: set directory to be owned by by root with -+ * permissions r*x*-x*-x. -+ */ -+ log_err("Incorrect permissions on stub directory \"%-.1024s\"", -+ FPSTUBDIR); -+ exit (250); -+ } -+ -+ /* -+ * We can't stat the stub. Make sure the stub is not owned by root, -+ * set-uid, set-gid, and is not group/world writable or executable. -+ */ -+ if ((stat(cmd, &prg_info) == -1 || -+ prg_info.st_uid || -+ !(prg_info.st_mode & S_ISUID) || -+ (prg_info.st_mode & S_ISGID) || -+ (prg_info.st_mode & (S_IWGRP | S_IWOTH)) || -+ !(prg_info.st_mode & (S_IXGRP | S_IXOTH)))) { -+ /* -+ * User recovery: set stub to be owned by by root with permissions -+ * r*s*-x*-x. -+ */ -+ log_err("Incorrect permissions on stub \"%-.1024s\"", cmd); -+ exit (251); -+ } -+ } -+#endif - - /* - * Be sure to close the log file so the CGI can't diff --git a/www/apache13-fp/files/patch-ff b/www/apache13-fp/files/patch-ff deleted file mode 100644 index dbb076f676a5..000000000000 --- a/www/apache13-fp/files/patch-ff +++ /dev/null @@ -1,11 +0,0 @@ ---- src/support/Makefile.tmpl.orig Thu Dec 9 11:19:48 1999 -+++ src/support/Makefile.tmpl Sun Feb 20 17:43:34 2000 -@@ -39,7 +39,7 @@ - -e 's%@LIBS_SHLIB@%$(LIBS_SHLIB)%g' && chmod a+x apxs - - suexec: suexec.o -- $(CC) $(CFLAGS) -o suexec $(LDFLAGS) suexec.o $(LIBS) -+ $(CC) $(CFLAGS) -o suexec $(LDFLAGS) suexec.o $(LIBS) -lutil - - clean: - rm -f $(TARGETS) *.o diff --git a/www/apache13-fp/files/patch-fh b/www/apache13-fp/files/patch-fh deleted file mode 100644 index 0e45ae964f41..000000000000 --- a/www/apache13-fp/files/patch-fh +++ /dev/null @@ -1,10 +0,0 @@ ---- src/include/httpd.h.orig Mon Oct 8 22:56:05 2001 -+++ src/include/httpd.h Wed Oct 17 14:37:56 2001 -@@ -855,6 +855,7 @@ - * record to improve 64bit alignment the next time we need to break - * binary compatibility for some other reason. - */ -+ char *execfilename; /* physical filename to exec */ - }; - - diff --git a/www/apache13-fp/files/patch-fi b/www/apache13-fp/files/patch-fi deleted file mode 100644 index dff77f91e093..000000000000 --- a/www/apache13-fp/files/patch-fi +++ /dev/null @@ -1,37 +0,0 @@ ---- src/main/http_request.c.orig Tue Jan 11 08:13:41 2000 -+++ src/main/http_request.c Sun Feb 20 18:44:49 2000 -@@ -176,7 +176,7 @@ - { - char *cp; - char *path = r->filename; -- char *end = &path[strlen(path)]; -+ char *end; - char *last_cp = NULL; - int rv; - #ifdef HAVE_DRIVE_LETTERS -@@ -188,6 +188,9 @@ - return OK; - } - -+ if (r->execfilename) path = r->execfilename; -+ end = path + strlen(path); -+ - #ifdef HAVE_DRIVE_LETTERS - /* If the directory is x:\, then we don't want to strip - * the trailing slash since x: is not a valid directory. -@@ -576,6 +579,7 @@ - res = ap_parse_htaccess(&htaccess_conf, r, overrides_here, - ap_pstrdup(r->pool, test_dirname), - sconf->access_name); -+ if (r->execfilename) r->filename = r->execfilename; - if (res) - return res; - -@@ -586,6 +590,7 @@ - r->per_dir_config = per_dir_defaults; - } - } -+ if (r->execfilename) r->filename = r->execfilename; - } - - /* diff --git a/www/apache13-fp/files/patch-fj b/www/apache13-fp/files/patch-fj deleted file mode 100644 index 0df391d7b4d8..000000000000 --- a/www/apache13-fp/files/patch-fj +++ /dev/null @@ -1,11 +0,0 @@ ---- src/main/util.c.orig Thu Feb 1 04:06:37 2001 -+++ src/main/util.c Wed Mar 21 21:12:35 2001 -@@ -708,7 +708,7 @@ - char *res; - - for (x = 0; (*line)[x]; x++) { -- if (ap_isspace((*line)[x])) { -+ if (ap_isspace((*line)[x]) && ((*line)[x] & 0x80)==0) { - pos = x; - break; - } diff --git a/www/apache13-fp/files/patch-lang.en b/www/apache13-fp/files/patch-lang.en deleted file mode 100644 index 72b578997fe0..000000000000 --- a/www/apache13-fp/files/patch-lang.en +++ /dev/null @@ -1,32 +0,0 @@ ---- htdocs/index.html.en.orig Thu May 3 19:00:38 2001 -+++ htdocs/index.html.en Wed Oct 17 18:58:19 2001 -@@ -29,10 +29,26 @@ - <p>The Apache <a href="manual/">documentation</a> has been included - with this distribution.</p> - --<p>You are free to use the image below on an Apache-powered web --server. Thanks for using Apache!</p> -+<p>The Microsoft FrontPage 2002 Extentions has been installed with this -+Apache Server. Read the -+<A HREF="manual/frontpage/">Microsoft FrontPage 2002 documentation</A> -+carefully.</p> -+ -+<p>Information of the FreeBSD operating system can be found on the -+<A HREF="http://www.freebsd.org">FreeBSD</A> web site.</p> -+ -+<p>You are free to use the images below on the Apache-powered web -+server. Thanks for using Apache and FreeBSD!</p> -+ -+<DIV ALIGN="CENTER"> -+ <A HREF="http://www.apache.org"> -+ <IMG SRC="/images/apache_pb.gif" ALT="Powered by Apache"></A> -+ <A HREF="http://www.freebsd.org"> -+ <IMG SRC="/images/powerlogo.gif" ALT="Site driven by FreeBSD - FreeBSD: The Power to Server!"></A> -+ <A HREF="http://www.microsoft.com/frontpage/default.htm"> -+ <IMG SRC="/images/createdwFP.gif" ALT="Create with Microsoft Frontpage 2002"></A> -+</DIV> - --<div align="center"><img src="apache_pb.gif" alt="" /></div> - </body> - </html> - diff --git a/www/apache13-fp/pkg-deinstall b/www/apache13-fp/pkg-deinstall deleted file mode 100644 index 482efb36a055..000000000000 --- a/www/apache13-fp/pkg-deinstall +++ /dev/null @@ -1,107 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# -# Created by: hetzels@westbend.net - -PKG_USER=${PKG_USER:=www} -PKG_GROUP=${PKG_GROUP:=www} - -PKG_PREFIX=${PKG_PREFIX} -HOST_NAME=`/bin/hostname` - -AP_CGI=${PKG_PREFIX}/www/cgi-bin -AP_CONF=${PKG_PREFIX}/etc/apache -AP_DATA=${PKG_PREFIX}/www/data -AP_SHARE=${PKG_PREFIX}/share/doc/apache - -IMAGES_DIR=${AP_SHARE}/manual/images -IMAGES_VTI=${AP_DATA}/images/_vti_cnf - -remove_user() -{ - if [ ! -x /usr/sbin/pw ]; then - echo "*** Unable to remove the Apache user and group (${PKG_USER}/${PKG_GROUP})" - exit 69 - fi - - if pw usershow ${PKG_USER} -q > /dev/null; then - olduid=`pw show user ${PKG_USER} 2> /dev/null | cut -d: -f3` - oldgid=`pw show group ${PKG_GROUP} 2> /dev/null | cut -d: -f3` - if [ ${olduid} -ne 80 ]; then - echo "To delete Apache user permanently, use 'pw userdel ${PKG_USER}'" - fi - if [ ${oldgid} -ne 80 ]; then - echo "To delete Apache group permanently, use 'pw groupdel ${PKG_GROUP}'" - fi - fi -} - -remove_file() -{ - local source_dir=$1 - local target_dir=$2 - local file=$3 - local ret=1 - - if [ -f ${target_dir}/${file} ]; then - if cmp -s ${source_dir}/${file} ${target_dir}/${file} ; then - rm -f ${target_dir}/${file} - ret=0 - fi - fi - - return ${ret} -} - -remove_apache_doc_root () -{ - if [ -d ${AP_CGI} ]; then - for file in `ls ${AP_CGI}.default` - { - remove_file ${AP_CGI}.default ${AP_CGI} ${file} - } - fi - - if [ -d ${AP_DATA} ]; then - if [ -d ${AP_DATA}/images ] ; then - for file in apache_pb.gif createdwFP.gif powerlogo.gif - { - if remove_file ${IMAGES_DIR} ${AP_DATA}/images ${file}; then - if [ -d ${IMAGES_VTI} -a -f ${IMAGES_VTI}/${file} ] ; then - rm ${IMAGES_VTI}/${file} - fi - fi - } - if [ -d ${IMAGES_VTI} ]; then - rmdir ${IMAGES_VTI} - fi - fi - - remove_file ${AP_SHARE} ${AP_DATA} index.html.en - fi -} - -remove_httpd_conf () -{ - if [ -f ${AP_CONF}/httpd.conf ] ; then - /bin/cat ${AP_CONF}/httpd.conf.default | \ - /usr/bin/sed -e 's;@@HOSTNAME@@;'${HOST_NAME}';' \ - > ${AP_CONF}/httpd.conf.tmp - if cmp -s ${AP_CONF}/httpd.conf ${AP_CONF}/httpd.conf.tmp ; then - rm -f ${AP_CONF}/httpd.conf - fi - rm ${AP_CONF}/httpd.conf.tmp - fi -} - -case $2 in - DEINSTALL) - remove_apache_doc_root - remove_httpd_conf - ;; - POST-DEINSTALL) - remove_user - ;; - -esac diff --git a/www/apache13-fp/pkg-descr b/www/apache13-fp/pkg-descr deleted file mode 100644 index bec1ffe2918d..000000000000 --- a/www/apache13-fp/pkg-descr +++ /dev/null @@ -1,21 +0,0 @@ -What is it? ------------ - Apache is an HTTP server designed as a plug-in replacement for the NCSA -server version 1.3 (or 1.4). It fixes numerous bugs in the NCSA server and -includes many frequently requested new features, and has an API which allows it -to be extended to meet users' needs more easily. - Microsoft Frontpage module allows web administrators and authors to -remotely manage, create, modify, or delete web pages on the Apache server using -the Microsoft FrontPage Extensions. - -Documentation -------------- -All the documentation is on-line on the WWW, via the URLs: - - Apache - http://www.apache.org/httpd.html - FrontPage - http://www.microsoft.com/frontpage - - http://www.microsoft.com/technet/prodtechnol/sharepnt/proddocs/admindoc/ows000.asp - - http://www.microsoft.com/technet/prodtechnol/sharepnt/proddocs/admindoc/owse01.asp - - http://www.microsoft.com/technet/prodtechnol/sharepnt/proddocs/admindoc/owse02.asp - -WWW: http://www.apache.org/httpd.html diff --git a/www/apache13-fp/pkg-install b/www/apache13-fp/pkg-install deleted file mode 100644 index 54511fe55bfb..000000000000 --- a/www/apache13-fp/pkg-install +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# -# Created by: hetzels@westbend.net - -PKG_BATCH=${BATCH:=NO} -PKG_USER=${PKG_USER:=www} -PKG_GROUP=${PKG_GROUP:=www} - -PKG_PREFIX=${PKG_PREFIX} -HOST_NAME=`/bin/hostname` - -AP_CGI=${PKG_PREFIX}/www/cgi-bin -AP_CONF=${PKG_PREFIX}/etc/apache -AP_DATA=${PKG_PREFIX}/www/data -AP_SHARE=${PKG_PREFIX}/share/doc/apache - -FPINSTALL=${PKG_PREFIX}/frontpage/version5.0/fp_install.sh -FPCNF=${PKG_PREFIX}/frontpage/version5.0/frontpage.cnf -IMAGES_DIR=${AP_SHARE}/manual/images -IMAGES_VTI=${AP_DATA}/images/_vti_cnf - -create_user() -{ - if [ ! -x /usr/sbin/pw ]; then - echo "*** Please add a user and a group name \`${PKG_GROUP}' before installing this package." - exit 69 - fi - - oldgid=0 - if pw show group apache -q > /dev/null ; then - oldgid=`pw show group apache 2> /dev/null | cut -d: -f3` - if [ ${oldgid} -eq 80 ] ; then - echo "*** Group changed from apache to ${PKG_GROUP}" - pw groupdel apache - fi - fi - - if ! pw show group ${PKG_GROUP} -q > /dev/null; then - gid=80 - if ! pw add group ${PKG_GROUP} -g ${gid}; then - e=$? - echo "*** Failed to add group \`${PKG_GROUP}'. Please add it manually." - exit ${e} - fi - echo "*** Added group \`${PKG_GROUP}' (id ${gid})." - else - gid=`pw show group ${PKG_GROUP} 2> /dev/null | cut -d: -f3` - fi - - if [ -x /sbin/nologin ]; then - shell="/sbin/nologin" - else - shell="/nonexistent" - fi - - if pw show user apache -q > /dev/null ; then - olduid=`pw show user apache 2> /dev/null | cut -d: -f3` - if [ ${olduid} -eq 80 ]; then - echo "*** User name changed from apache to ${PKG_USER}" - pw del user apache - fi - fi - - if ! pw show user ${PKG_USER} -q > /dev/null; then - uid=80 - if ! pw add user ${PKG_USER} -u ${uid} -g ${gid} \ - -d "/nonexistent" \ - -c "World Wide Web Owner" \ - -s "${shell}" -p "*" ; then - e=$? - echo "*** Failed to add user \`${PKG_USER}'. Please add it manually." - exit ${e} - fi - echo "*** Added user \`${PKG_USER}' (id ${uid})" - fi -} - -create_apache_doc_root () -{ - if [ ! -d ${AP_CGI} ]; then - /bin/cp -rp ${AP_CGI}.default ${AP_CGI} - fi - - if [ ! -d ${AP_DATA} ]; then - /bin/mkdir -p ${AP_DATA}/images - for file in apache_pb.gif createdwFP.gif powerlogo.gif - { - /bin/cp -rp ${IMAGES_DIR}/${file} ${AP_DATA}/images - } - /bin/cp -rp ${AP_SHARE}/index.html.en ${AP_DATA}/index.html.en - fi -} - -fix_httpd_conf () -{ - if [ ! -f ${AP_CONF}/httpd.conf ] ; then - /bin/cat ${AP_CONF}/httpd.conf.default | \ - /usr/bin/sed -e 's;@@HOSTNAME@@;'${HOST_NAME}';' \ - > ${AP_CONF}/httpd.conf - fi -} - -# Add SendMailCommand to frontpage.cnf -fix_frontpage_cnf () -{ - if [ ! "`grep SendMailCommand ${FPCNF}`" ] ; then - echo "SendMailCommand:/usr/sbin/sendmail" >> ${FPCNF} - fi -} - -#Add the appropriate comment to the images/_vti_cnf file. -comment_files () -{ - if [ -d ${IMAGES_VTI} ]; then - if [ -f ${IMAGES_VTI}/apache_pb.gif ] && \ - [ ! "`grep description ${IMAGES_VTI}/apache_pb.gif`" ] ; then - /bin/echo "vti_description:SW|Apache Webserver" >> ${IMAGES_VTI}/apache_pb.gif - fi - if [ -f ${IMAGES_VTI}/createdwFP.gif ] && \ - [ ! "`grep description ${IMAGES_VTI}/createdwFP.gif`" ] ; then - /bin/echo "vti_description:SW|Created and Managed with Microsoft FrontPage" >> ${IMAGES_VTI}/createdwFP.gif - fi - if [ -f ${IMAGES_VTI}/powerlogo.gif ] && \ - [ ! "`grep description ${IMAGES_VTI}/powerlogo.gif`" ] ; then - /bin/echo "vti_description:SW|Powered by FreeBSD" >> ${IMAGES_VTI}/powerlogo.gif - fi - fi -} - -case $2 in - PRE-INSTALL) - create_user - ;; - POST-INSTALL) - create_apache_doc_root - fix_httpd_conf - # If we are not in batch mode - if [ "${PKG_BATCH}" = "NO" ]; then - ${FPINSTALL} - fix_frontpage_cnf - comment_files - fi - ;; - -esac diff --git a/www/apache13-fp/pkg-plist b/www/apache13-fp/pkg-plist deleted file mode 100644 index 51a8ed6f6bcb..000000000000 --- a/www/apache13-fp/pkg-plist +++ /dev/null @@ -1,659 +0,0 @@ -bin/checkgid -bin/dbmmanage -bin/htdigest -bin/htpasswd -@unexec if cmp -s %D/etc/apache/access.conf %D/etc/apache/access.conf.default; then rm -f %D/etc/apache/access.conf; fi -etc/apache/access.conf.default -@exec [ -f %B/access.conf ] || cp %B/%f %B/access.conf -etc/apache/httpd.conf.default -@unexec if cmp -s %D/etc/apache/magic %D/etc/apache/magic.default; then rm -f %D/etc/apache/magic; fi -etc/apache/magic.default -@exec [ -f %B/magic ] || cp %B/%f %B/magic -@unexec if cmp -s %D/etc/apache/mime.types %D/etc/apache/mime.types.default; then rm -f %D/etc/apache/mime.types; fi -etc/apache/mime.types.default -@exec [ -f %B/mime.types ] || cp %B/%f %B/mime.types -@unexec if cmp -s %D/etc/apache/srm.conf %D/etc/apache/srm.conf.default; then rm -f %D/etc/apache/srm.conf; fi -etc/apache/srm.conf.default -etc/rc.d/apache.sh -@exec [ -f %B/srm.conf ] || cp %B/%f %B/srm.conf -include/apache/ap.h -include/apache/ap_alloc.h -include/apache/ap_compat.h -include/apache/ap_config.h -include/apache/ap_config_auto.h -include/apache/ap_ctype.h -include/apache/ap_ebcdic.h -include/apache/ap_md5.h -include/apache/ap_mmn.h -include/apache/ap_sha1.h -include/apache/buff.h -include/apache/compat.h -include/apache/conf.h -include/apache/explain.h -include/apache/fnmatch.h -include/apache/hsregex.h -include/apache/http_conf_globals.h -include/apache/http_config.h -include/apache/http_core.h -include/apache/http_log.h -include/apache/http_main.h -include/apache/http_protocol.h -include/apache/http_request.h -include/apache/http_vhost.h -include/apache/httpd.h -include/apache/multithread.h -include/apache/os-inline.c -include/apache/os.h -include/apache/rfc1413.h -include/apache/scoreboard.h -include/apache/util_date.h -include/apache/util_md5.h -include/apache/util_script.h -include/apache/util_uri.h -include/apache/xml/asciitab.h -include/apache/xml/hashtable.h -include/apache/xml/iasciitab.h -include/apache/xml/latin1tab.h -include/apache/xml/nametab.h -include/apache/xml/utf8tab.h -include/apache/xml/xmldef.h -include/apache/xml/xmlparse.h -include/apache/xml/xmlrole.h -include/apache/xml/xmltok.h -include/apache/xml/xmltok_impl.h -libexec/apache/httpd.exp -libexec/apache/libproxy.so -libexec/apache/mod_access.so -libexec/apache/mod_actions.so -libexec/apache/mod_alias.so -libexec/apache/mod_asis.so -libexec/apache/mod_auth.so -libexec/apache/mod_auth_anon.so -libexec/apache/mod_auth_db.so -libexec/apache/mod_autoindex.so -libexec/apache/mod_cern_meta.so -libexec/apache/mod_cgi.so -libexec/apache/mod_digest.so -libexec/apache/mod_dir.so -libexec/apache/mod_env.so -libexec/apache/mod_expires.so -libexec/apache/mod_frontpage.so -libexec/apache/mod_headers.so -libexec/apache/mod_imap.so -libexec/apache/mod_include.so -libexec/apache/mod_info.so -libexec/apache/mod_log_config.so -libexec/apache/mod_mime.so -libexec/apache/mod_mime_magic.so -libexec/apache/mod_mmap_static.so -libexec/apache/mod_negotiation.so -libexec/apache/mod_rewrite.so -libexec/apache/mod_setenvif.so -libexec/apache/mod_speling.so -libexec/apache/mod_status.so -libexec/apache/mod_unique_id.so -libexec/apache/mod_userdir.so -libexec/apache/mod_usertrack.so -libexec/apache/mod_vhost_alias.so -sbin/ab -sbin/apachectl -sbin/apxs -sbin/httpd -sbin/logresolve -sbin/rotatelogs -%%SUEXEC%%sbin/suexec -share/doc/apache/apache_pb.gif -@exec if [ ! -h %B/images ]; then (cd %B ; ln -s manual/images images); fi -@unexec if [ -h %B/images ]; then rm -f %B/images; fi -share/doc/apache/createdwFP.txt -share/doc/apache/index.html.ca -share/doc/apache/index.html.cz -share/doc/apache/index.html.de -share/doc/apache/index.html.dk -share/doc/apache/index.html.ee -share/doc/apache/index.html.el -share/doc/apache/index.html.en -share/doc/apache/index.html.es -share/doc/apache/index.html.fr -share/doc/apache/index.html.he.iso8859-8 -share/doc/apache/index.html.it -share/doc/apache/index.html.ja.jis -share/doc/apache/index.html.kr.iso-kr -share/doc/apache/index.html.lb.utf8 -share/doc/apache/index.html.nl -share/doc/apache/index.html.nn -share/doc/apache/index.html.no -share/doc/apache/index.html.po.iso-pl -share/doc/apache/index.html.pt -share/doc/apache/index.html.pt-br -share/doc/apache/index.html.ru.cp-1251 -share/doc/apache/index.html.ru.cp866 -share/doc/apache/index.html.ru.iso-ru -share/doc/apache/index.html.ru.koi8-r -share/doc/apache/index.html.ru.ucs2 -share/doc/apache/index.html.ru.ucs4 -share/doc/apache/index.html.ru.utf8 -share/doc/apache/index.html.se -share/doc/apache/index.html.zh -share/doc/apache/manual/LICENSE -share/doc/apache/manual/bind.html.en -share/doc/apache/manual/bind.html.fr -share/doc/apache/manual/bind.html.html -share/doc/apache/manual/bind.html.ja.jis -share/doc/apache/manual/cgi_path.html.en -share/doc/apache/manual/cgi_path.html.fr -share/doc/apache/manual/cgi_path.html.html -share/doc/apache/manual/cgi_path.html.ja.jis -share/doc/apache/manual/configuring.html.en -share/doc/apache/manual/configuring.html.fr -share/doc/apache/manual/configuring.html.html -share/doc/apache/manual/configuring.html.ja.jis -share/doc/apache/manual/content-negotiation.html -share/doc/apache/manual/custom-error.html.en -share/doc/apache/manual/custom-error.html.fr -share/doc/apache/manual/custom-error.html.html -share/doc/apache/manual/custom-error.html.ja.jis -share/doc/apache/manual/cygwin.html -share/doc/apache/manual/dns-caveats.html.en -share/doc/apache/manual/dns-caveats.html.fr -share/doc/apache/manual/dns-caveats.html.html -share/doc/apache/manual/dso.html -share/doc/apache/manual/ebcdic.html -share/doc/apache/manual/env.html.en -share/doc/apache/manual/env.html.html -share/doc/apache/manual/env.html.ja.jis -share/doc/apache/manual/footer.html -share/doc/apache/manual/handler.html.en -share/doc/apache/manual/handler.html.html -share/doc/apache/manual/handler.html.ja.jis -share/doc/apache/manual/header.html -share/doc/apache/manual/howto/auth.html -share/doc/apache/manual/howto/cgi.html.en -share/doc/apache/manual/howto/cgi.html.html -share/doc/apache/manual/howto/cgi.html.ja.jis -share/doc/apache/manual/howto/footer.html -share/doc/apache/manual/howto/header.html -share/doc/apache/manual/howto/htaccess.html -share/doc/apache/manual/howto/ssi.html.en -share/doc/apache/manual/howto/ssi.html.html -share/doc/apache/manual/howto/ssi.html.ja.jis -share/doc/apache/manual/images/apache_header.gif -share/doc/apache/manual/images/apache_pb.gif -share/doc/apache/manual/images/custom_errordocs.gif -share/doc/apache/manual/images/createdwFP.gif -share/doc/apache/manual/images/home.gif -share/doc/apache/manual/images/index.gif -share/doc/apache/manual/images/mod_rewrite_fig1.fig -share/doc/apache/manual/images/mod_rewrite_fig1.gif -share/doc/apache/manual/images/mod_rewrite_fig2.fig -share/doc/apache/manual/images/mod_rewrite_fig2.gif -share/doc/apache/manual/images/pixel.gif -share/doc/apache/manual/images/powerlogo.gif -share/doc/apache/manual/images/sub.gif -share/doc/apache/manual/index.html.en -share/doc/apache/manual/index.html.fr -share/doc/apache/manual/index.html.html -share/doc/apache/manual/index.html.ja.jis -share/doc/apache/manual/install-tpf.html -share/doc/apache/manual/install.html.en -share/doc/apache/manual/install.html.es -share/doc/apache/manual/install.html.fr -share/doc/apache/manual/install.html.html -share/doc/apache/manual/install.html.ja.jis -share/doc/apache/manual/invoking.html.en -share/doc/apache/manual/invoking.html.fr -share/doc/apache/manual/invoking.html.html -share/doc/apache/manual/keepalive.html.en -share/doc/apache/manual/keepalive.html.html -share/doc/apache/manual/keepalive.html.ja.jis -share/doc/apache/manual/location.html -share/doc/apache/manual/logs.html -share/doc/apache/manual/man-template.html -share/doc/apache/manual/misc/API.html -share/doc/apache/manual/misc/FAQ.html -share/doc/apache/manual/misc/HTTP_Features.tsv -share/doc/apache/manual/misc/client_block_api.html -share/doc/apache/manual/misc/compat_notes.html -share/doc/apache/manual/misc/custom_errordocs.html -share/doc/apache/manual/misc/descriptors.html -share/doc/apache/manual/misc/fin_wait_2.html -share/doc/apache/manual/misc/footer.html -share/doc/apache/manual/misc/header.html -share/doc/apache/manual/misc/howto.html -share/doc/apache/manual/misc/index.html -share/doc/apache/manual/misc/known_client_problems.html -share/doc/apache/manual/misc/nopgp.html -share/doc/apache/manual/misc/perf-bsd44.html -share/doc/apache/manual/misc/perf-dec.html -share/doc/apache/manual/misc/perf-hp.html -share/doc/apache/manual/misc/perf-tuning.html -share/doc/apache/manual/misc/perf.html -share/doc/apache/manual/misc/rewriteguide.html -share/doc/apache/manual/misc/security_tips.html -share/doc/apache/manual/misc/tutorials.html -share/doc/apache/manual/misc/vif-info.html -share/doc/apache/manual/misc/windoz_keepalive.html -share/doc/apache/manual/mod/core.html.en -share/doc/apache/manual/mod/core.html.fr -share/doc/apache/manual/mod/core.html.html -share/doc/apache/manual/mod/directive-dict.html.en -share/doc/apache/manual/mod/directive-dict.html.fr -share/doc/apache/manual/mod/directive-dict.html.html -share/doc/apache/manual/mod/directive-dict.html.ja.jis -share/doc/apache/manual/mod/directives.html.de -share/doc/apache/manual/mod/directives.html.html -share/doc/apache/manual/mod/directives.html.en -share/doc/apache/manual/mod/directives.html.fr -share/doc/apache/manual/mod/directives.html.ja.jis -share/doc/apache/manual/mod/footer.html -share/doc/apache/manual/mod/header.html -share/doc/apache/manual/mod/index-bytype.html.en -share/doc/apache/manual/mod/index-bytype.html.fr -share/doc/apache/manual/mod/index-bytype.html.html -share/doc/apache/manual/mod/index-bytype.html.ja.jis -share/doc/apache/manual/mod/index.html.en -share/doc/apache/manual/mod/index.html.fr -share/doc/apache/manual/mod/index.html.html -share/doc/apache/manual/mod/index.html.ja.jis -share/doc/apache/manual/mod/mod_access.html.en -share/doc/apache/manual/mod/mod_access.html.html -share/doc/apache/manual/mod/mod_access.html.ja.jis -share/doc/apache/manual/mod/mod_actions.html.en -share/doc/apache/manual/mod/mod_actions.html.html -share/doc/apache/manual/mod/mod_actions.html.ja.jis -share/doc/apache/manual/mod/mod_alias.html.en -share/doc/apache/manual/mod/mod_alias.html.ja.jis -share/doc/apache/manual/mod/mod_asis.html.en -share/doc/apache/manual/mod/mod_asis.html.html -share/doc/apache/manual/mod/mod_asis.html.ja.jis -share/doc/apache/manual/mod/mod_auth.html.en -share/doc/apache/manual/mod/mod_auth.html.ja.jis -share/doc/apache/manual/mod/mod_auth_anon.html -share/doc/apache/manual/mod/mod_auth_db.html -share/doc/apache/manual/mod/mod_auth_dbm.html -share/doc/apache/manual/mod/mod_auth_digest.html -share/doc/apache/manual/mod/mod_autoindex.html -share/doc/apache/manual/mod/mod_browser.html -share/doc/apache/manual/mod/mod_cern_meta.html -share/doc/apache/manual/mod/mod_cgi.html.en -share/doc/apache/manual/mod/mod_cgi.html.html -share/doc/apache/manual/mod/mod_cgi.html.ja.jis -share/doc/apache/manual/mod/mod_cookies.html -share/doc/apache/manual/mod/mod_digest.html -share/doc/apache/manual/mod/mod_dir.html.en -share/doc/apache/manual/mod/mod_dir.html.html -share/doc/apache/manual/mod/mod_dir.html.ja.jis -share/doc/apache/manual/mod/mod_dld.html -share/doc/apache/manual/mod/mod_env.html.en -share/doc/apache/manual/mod/mod_env.html.html -share/doc/apache/manual/mod/mod_env.html.ja.jis -share/doc/apache/manual/mod/mod_example.html -share/doc/apache/manual/mod/mod_expires.html -share/doc/apache/manual/mod/mod_headers.html -share/doc/apache/manual/mod/mod_imap.html -share/doc/apache/manual/mod/mod_include.html -share/doc/apache/manual/mod/mod_info.html.en -share/doc/apache/manual/mod/mod_info.html.html -share/doc/apache/manual/mod/mod_info.html.ja.jis -share/doc/apache/manual/mod/mod_isapi.html -share/doc/apache/manual/mod/mod_log_agent.html -share/doc/apache/manual/mod/mod_log_common.html -share/doc/apache/manual/mod/mod_log_config.html -share/doc/apache/manual/mod/mod_log_referer.html -share/doc/apache/manual/mod/mod_mime.html.en -share/doc/apache/manual/mod/mod_mime.html.html -share/doc/apache/manual/mod/mod_mime.html.ja.jis -share/doc/apache/manual/mod/mod_mime_magic.html -share/doc/apache/manual/mod/mod_mmap_static.html -share/doc/apache/manual/mod/mod_negotiation.html.en -share/doc/apache/manual/mod/mod_negotiation.html.html -share/doc/apache/manual/mod/mod_negotiation.html.ja.jis -share/doc/apache/manual/mod/mod_proxy.html -share/doc/apache/manual/mod/mod_rewrite.html -share/doc/apache/manual/mod/mod_setenvif.html.en -share/doc/apache/manual/mod/mod_setenvif.html.html -share/doc/apache/manual/mod/mod_setenvif.html.ja.jis -share/doc/apache/manual/mod/mod_so.html.en -share/doc/apache/manual/mod/mod_so.html.html -share/doc/apache/manual/mod/mod_so.html.ja.jis -share/doc/apache/manual/mod/mod_speling.html.en -share/doc/apache/manual/mod/mod_speling.html.html -share/doc/apache/manual/mod/mod_speling.html.ja.jis -share/doc/apache/manual/mod/mod_status.html -share/doc/apache/manual/mod/mod_unique_id.html.en -share/doc/apache/manual/mod/mod_unique_id.html.html -share/doc/apache/manual/mod/mod_unique_id.html.ja.jis -share/doc/apache/manual/mod/mod_userdir.html.en -share/doc/apache/manual/mod/mod_userdir.html.html -share/doc/apache/manual/mod/mod_userdir.html.ja.jis -share/doc/apache/manual/mod/mod_usertrack.html -share/doc/apache/manual/mod/mod_vhost_alias.html -share/doc/apache/manual/mod/module-dict.html.en -share/doc/apache/manual/mod/module-dict.html.html -share/doc/apache/manual/mod/module-dict.html.ja.jis -share/doc/apache/manual/mpeix.html -share/doc/apache/manual/multilogs.html -share/doc/apache/manual/netware.html -share/doc/apache/manual/new_features_1_0.html -share/doc/apache/manual/new_features_1_1.html -share/doc/apache/manual/new_features_1_2.html -share/doc/apache/manual/new_features_1_3.html.en -share/doc/apache/manual/new_features_1_3.html.html -share/doc/apache/manual/new_features_1_3.html.ja.jis -share/doc/apache/manual/new_features_2_0.html -share/doc/apache/manual/process-model.html.en -share/doc/apache/manual/process-model.html.html -share/doc/apache/manual/process-model.html.ja.jis -share/doc/apache/manual/programs/ab.html -share/doc/apache/manual/programs/apachectl.html.en -share/doc/apache/manual/programs/apachectl.html.html -share/doc/apache/manual/programs/apachectl.html.ja.jis -share/doc/apache/manual/programs/apxs.html -share/doc/apache/manual/programs/dbmmanage.html -share/doc/apache/manual/programs/footer.html -share/doc/apache/manual/programs/header.html -share/doc/apache/manual/programs/htdigest.html -share/doc/apache/manual/programs/htpasswd.html.en -share/doc/apache/manual/programs/htpasswd.html.html -share/doc/apache/manual/programs/htpasswd.html.ja.jis -share/doc/apache/manual/programs/httpd.html.en -share/doc/apache/manual/programs/httpd.html.html -share/doc/apache/manual/programs/httpd.html.ja.jis -share/doc/apache/manual/programs/index.html.en -share/doc/apache/manual/programs/index.html.html -share/doc/apache/manual/programs/index.html.ja.jis -share/doc/apache/manual/programs/logresolve.html -share/doc/apache/manual/programs/other.html -share/doc/apache/manual/programs/rotatelogs.html -share/doc/apache/manual/programs/suexec.html.en -share/doc/apache/manual/programs/suexec.html.html -share/doc/apache/manual/programs/suexec.html.ja.jis -share/doc/apache/manual/readme-tpf.html -share/doc/apache/manual/search/manual-index.cgi -share/doc/apache/manual/sections.html.en -share/doc/apache/manual/sections.html.html -share/doc/apache/manual/sections.html.ja.jis -share/doc/apache/manual/server-wide.html.en -share/doc/apache/manual/server-wide.html.fr -share/doc/apache/manual/server-wide.html.html -share/doc/apache/manual/server-wide.html.ja.jis -share/doc/apache/manual/sitemap.html -share/doc/apache/manual/sourcereorg.html -share/doc/apache/manual/stopping.html.en -share/doc/apache/manual/stopping.html.fr -share/doc/apache/manual/stopping.html.html -share/doc/apache/manual/suexec.html.en -share/doc/apache/manual/suexec.html.html -share/doc/apache/manual/suexec.html.ja.jis -share/doc/apache/manual/suexec_1_2.html -share/doc/apache/manual/unixware.html -share/doc/apache/manual/upgrading_to_1_3.html -share/doc/apache/manual/urlmapping.html -share/doc/apache/manual/vhosts/details.html -share/doc/apache/manual/vhosts/details_1_2.html -share/doc/apache/manual/vhosts/examples.html -share/doc/apache/manual/vhosts/fd-limits.html.en -share/doc/apache/manual/vhosts/fd-limits.html.html -share/doc/apache/manual/vhosts/fd-limits.html.ja.jis -share/doc/apache/manual/vhosts/footer.html -share/doc/apache/manual/vhosts/header.html -share/doc/apache/manual/vhosts/host.html -share/doc/apache/manual/vhosts/index.html.en -share/doc/apache/manual/vhosts/index.html.html -share/doc/apache/manual/vhosts/index.html.ja.jis -share/doc/apache/manual/vhosts/ip-based.html -share/doc/apache/manual/vhosts/mass.html -share/doc/apache/manual/vhosts/name-based.html.en -share/doc/apache/manual/vhosts/name-based.html.html -share/doc/apache/manual/vhosts/name-based.html.ja.jis -share/doc/apache/manual/vhosts/vhosts-in-depth.html -share/doc/apache/manual/vhosts/virtual-host.html -share/doc/apache/manual/win_compiling.html.en -share/doc/apache/manual/win_compiling.html.html -share/doc/apache/manual/win_compiling.html.ja.jis -share/doc/apache/manual/win_service.html.en -share/doc/apache/manual/win_service.html.html -share/doc/apache/manual/win_service.html.ja.jis -share/doc/apache/manual/windows.html.en -share/doc/apache/manual/windows.html.ja.jis -www/cgi-bin.default/printenv -www/cgi-bin.default/test-cgi -www/icons/README -www/icons/a.gif -www/icons/a.png -www/icons/alert.black.gif -www/icons/alert.black.png -www/icons/alert.red.gif -www/icons/alert.red.png -www/icons/apache_pb.gif -www/icons/apache_pb.png -www/icons/back.gif -www/icons/back.png -www/icons/ball.gray.gif -www/icons/ball.gray.png -www/icons/ball.red.gif -www/icons/ball.red.png -www/icons/binary.gif -www/icons/binary.png -www/icons/binhex.gif -www/icons/binhex.png -www/icons/blank.gif -www/icons/blank.png -www/icons/bomb.gif -www/icons/bomb.png -www/icons/box1.gif -www/icons/box1.png -www/icons/box2.gif -www/icons/box2.png -www/icons/broken.gif -www/icons/broken.png -www/icons/burst.gif -www/icons/burst.png -www/icons/c.gif -www/icons/c.png -www/icons/comp.blue.gif -www/icons/comp.blue.png -www/icons/comp.gray.gif -www/icons/comp.gray.png -www/icons/compressed.gif -www/icons/compressed.png -www/icons/continued.gif -www/icons/continued.png -www/icons/dir.gif -www/icons/dir.png -www/icons/diskimg.gif -www/icons/diskimg.png -www/icons/down.gif -www/icons/down.png -www/icons/dvi.gif -www/icons/dvi.png -www/icons/f.gif -www/icons/f.png -www/icons/folder.gif -www/icons/folder.png -www/icons/folder.open.gif -www/icons/folder.open.png -www/icons/folder.sec.gif -www/icons/folder.sec.png -www/icons/forward.gif -www/icons/forward.png -www/icons/generic.gif -www/icons/generic.png -www/icons/generic.red.gif -www/icons/generic.red.png -www/icons/generic.sec.gif -www/icons/generic.sec.png -www/icons/hand.right.gif -www/icons/hand.right.png -www/icons/hand.up.gif -www/icons/hand.up.png -www/icons/icon.sheet.gif -www/icons/icon.sheet.png -www/icons/image1.gif -www/icons/image1.png -www/icons/image2.gif -www/icons/image2.png -www/icons/image3.gif -www/icons/image3.png -www/icons/index.gif -www/icons/index.png -www/icons/layout.gif -www/icons/layout.png -www/icons/left.gif -www/icons/left.png -www/icons/link.gif -www/icons/link.png -www/icons/movie.gif -www/icons/movie.png -www/icons/p.gif -www/icons/p.png -www/icons/patch.gif -www/icons/patch.png -www/icons/pdf.gif -www/icons/pdf.png -www/icons/pie0.gif -www/icons/pie0.png -www/icons/pie1.gif -www/icons/pie1.png -www/icons/pie2.gif -www/icons/pie2.png -www/icons/pie3.gif -www/icons/pie3.png -www/icons/pie4.gif -www/icons/pie4.png -www/icons/pie5.gif -www/icons/pie5.png -www/icons/pie6.gif -www/icons/pie6.png -www/icons/pie7.gif -www/icons/pie7.png -www/icons/pie8.gif -www/icons/pie8.png -www/icons/portal.gif -www/icons/portal.png -www/icons/ps.gif -www/icons/ps.png -www/icons/quill.gif -www/icons/quill.png -www/icons/right.gif -www/icons/right.png -www/icons/screw1.gif -www/icons/screw1.png -www/icons/screw2.gif -www/icons/screw2.png -www/icons/script.gif -www/icons/script.png -www/icons/small/README.txt -www/icons/small/back.gif -www/icons/small/back.png -www/icons/small/binary.gif -www/icons/small/binary.png -www/icons/small/binhex.gif -www/icons/small/binhex.png -www/icons/small/blank.gif -www/icons/small/blank.png -www/icons/small/broken.gif -www/icons/small/broken.png -www/icons/small/burst.gif -www/icons/small/burst.png -www/icons/small/comp1.gif -www/icons/small/comp1.png -www/icons/small/comp2.gif -www/icons/small/comp2.png -www/icons/small/compressed.gif -www/icons/small/compressed.png -www/icons/small/continued.gif -www/icons/small/continued.png -www/icons/small/dir.gif -www/icons/small/dir.png -www/icons/small/dir2.gif -www/icons/small/dir2.png -www/icons/small/doc.gif -www/icons/small/doc.png -www/icons/small/forward.gif -www/icons/small/forward.png -www/icons/small/generic.gif -www/icons/small/generic.png -www/icons/small/generic2.gif -www/icons/small/generic2.png -www/icons/small/generic3.gif -www/icons/small/generic3.png -www/icons/small/image.gif -www/icons/small/image.png -www/icons/small/image2.gif -www/icons/small/image2.png -www/icons/small/index.gif -www/icons/small/index.png -www/icons/small/key.gif -www/icons/small/key.png -www/icons/small/movie.gif -www/icons/small/movie.png -www/icons/small/patch.gif -www/icons/small/patch.png -www/icons/small/ps.gif -www/icons/small/ps.png -www/icons/small/rainbow.gif -www/icons/small/rainbow.png -www/icons/small/sound.gif -www/icons/small/sound.png -www/icons/small/sound2.gif -www/icons/small/sound2.png -www/icons/small/tar.gif -www/icons/small/tar.png -www/icons/small/text.gif -www/icons/small/text.png -www/icons/small/transfer.gif -www/icons/small/transfer.png -www/icons/small/unknown.gif -www/icons/small/unknown.png -www/icons/small/uu.gif -www/icons/small/uu.png -www/icons/sound1.gif -www/icons/sound1.png -www/icons/sound2.gif -www/icons/sound2.png -www/icons/sphere1.gif -www/icons/sphere1.png -www/icons/sphere2.gif -www/icons/sphere2.png -www/icons/tar.gif -www/icons/tar.png -www/icons/tex.gif -www/icons/tex.png -www/icons/text.gif -www/icons/text.png -www/icons/transfer.gif -www/icons/transfer.png -www/icons/unknown.gif -www/icons/unknown.png -www/icons/up.gif -www/icons/up.png -www/icons/uu.gif -www/icons/uu.png -www/icons/uuencoded.gif -www/icons/uuencoded.png -www/icons/world1.gif -www/icons/world1.png -www/icons/world2.gif -www/icons/world2.png -@exec mkdir -p %D/www/proxy -@dirrm etc/apache -@dirrm include/apache/xml -@dirrm include/apache -@dirrm libexec/apache -@dirrm share/doc/apache/manual/howto -@dirrm share/doc/apache/manual/images -@dirrm share/doc/apache/manual/misc -@dirrm share/doc/apache/manual/mod -@dirrm share/doc/apache/manual/programs -@dirrm share/doc/apache/manual/search -@dirrm share/doc/apache/manual/vhosts -@unexec rmdir %D/share/doc/apache/manual 2> /dev/null || true -@unexec rmdir %D/share/doc/apache 2> /dev/null || true -@dirrm www/cgi-bin -@dirrm www/cgi-bin.default -@unexec rmdir %D/www/data/images 2> /dev/null || true -@unexec rmdir %D/www/data 2> /dev/null || true -@dirrm www/icons/small -@dirrm www/icons -@dirrm www/proxy |