summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Herbert <stuart@gentoo.org>2004-09-13 13:43:56 +0000
committerStuart Herbert <stuart@gentoo.org>2004-09-13 13:43:56 +0000
commitbbabfb17587916b4b66751e0939e6beb84c580ec (patch)
tree81099ef4c0c28c53514c82df2eb609df5437a7fb /net-www
parentver bump for security (Manifest recommit) (diff)
downloadgentoo-2-bbabfb17587916b4b66751e0939e6beb84c580ec.tar.gz
gentoo-2-bbabfb17587916b4b66751e0939e6beb84c580ec.tar.bz2
gentoo-2-bbabfb17587916b4b66751e0939e6beb84c580ec.zip
Fix for bug #62626
Diffstat (limited to 'net-www')
-rw-r--r--net-www/apache/ChangeLog7
-rw-r--r--net-www/apache/Manifest2
-rw-r--r--net-www/apache/apache-2.0.50-r2.ebuild404
-rw-r--r--net-www/apache/files/digest-apache-2.0.50-r22
4 files changed, 414 insertions, 1 deletions
diff --git a/net-www/apache/ChangeLog b/net-www/apache/ChangeLog
index 4440ef926649..6ef6388d07df 100644
--- a/net-www/apache/ChangeLog
+++ b/net-www/apache/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for net-www/apache
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.248 2004/09/09 04:48:42 kumba Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.249 2004/09/13 13:43:56 stuart Exp $
+
+*apache-2.0.50-r2 (13 Sep 2004)
+
+ 13 Sep 2004; Stuart Herbert <stuart@gentoo.org> +apache-2.0.50-r2.ebuild:
+ Fix for CAN-2004-0751 (see Gentoo bug #62626)
08 Sep 2004; Joshua Kinard <kumba@gentoo.org> apache-2.0.50-r1.ebuild:
Marked stable on mips.
diff --git a/net-www/apache/Manifest b/net-www/apache/Manifest
index 5f16973d3067..dc3f2a34d6c3 100644
--- a/net-www/apache/Manifest
+++ b/net-www/apache/Manifest
@@ -9,6 +9,7 @@ MD5 161ce6f38ba72d6afdbb91694e26dd02 apache-2.0.49-r4.ebuild 13194
MD5 dadf90672a91db8c5efed19200e91df4 apache-2.0.50-r1.ebuild 12969
MD5 ee4caeaa8cfa62f3b157beb2a72ffc0c apache-2.0.50.ebuild 12925
MD5 5b6dd438f81019e56fa641841c0c13fe metadata.xml 501
+MD5 ec5fccb02f1905e389c153b099f82024 apache-2.0.50-r2.ebuild 12829
MD5 8b12871dd74fcd3f4fdf451c9d8c259e files/00_apache_manual.conf 781
MD5 998b4b7df08eb15641e0b9132443b365 files/apache-1.3.27-apachectl.patch 1328
MD5 37d2c4ea8e1a6725deaca42b6aa22c69 files/apache-1.3.27_db4_gentoo.patch 1006
@@ -41,6 +42,7 @@ MD5 64670c349a80e98fc61da8e32b44a913 files/httpd-2.0.49-ssl_engine_kernel.patch
MD5 59a6ba7dcde461f5350af41e6aff92b1 files/robots.txt 342
MD5 d3626a1e31a675c60d066c111d552adf files/suexec.pam 59
MD5 161245c7aa1eb785db53b34d6a10be43 files/suexec_pam_gentoo.patch 2149
+MD5 21e40169b639a3657b6f57f5f30d2125 files/digest-apache-2.0.50-r2 140
MD5 869ec17a0417518aa1d9d9566a958fb5 files/2.0.40/40_mod_ssl.conf 3185
MD5 1d10cc98714a34ddc38525743c2989f9 files/2.0.40/41_mod_ssl.default-vhost.conf 8053
MD5 819ee444395cf42ccc8009529a94af37 files/2.0.40/45_mod_dav.conf 583
diff --git a/net-www/apache/apache-2.0.50-r2.ebuild b/net-www/apache/apache-2.0.50-r2.ebuild
new file mode 100644
index 000000000000..aef1c3990743
--- /dev/null
+++ b/net-www/apache/apache-2.0.50-r2.ebuild
@@ -0,0 +1,404 @@
+# Copyright 1999-2004 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.0.50-r2.ebuild,v 1.1 2004/09/13 13:43:56 stuart Exp $
+
+inherit flag-o-matic eutils fixheadtails gnuconfig
+
+PATCH_LEVEL="${PV}"
+S="${WORKDIR}/httpd-${PV}"
+DESCRIPTION="Apache Web Server, Version 2.0.x"
+HOMEPAGE="http://www.apache.org/"
+SRC_URI="http://www.apache.org/dist/httpd/httpd-${PV}.tar.gz
+ http://dev.gentoo.org/~stuart/apache/apache-patches-${PVR}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="berkdb gdbm ldap threads ipv6 doc static ssl"
+
+#Standard location for Gentoo Linux
+DATADIR="/var/www/localhost"
+
+DEPEND="dev-util/yacc
+ dev-lang/perl
+ sys-libs/zlib
+ dev-libs/expat
+ dev-libs/openssl
+ >=sys-apps/sed-4
+ berkdb? ( sys-libs/db )
+ gdbm? ( sys-libs/gdbm )
+ !mips? ( ldap? ( =net-nds/openldap-2* ) )
+ selinux? ( sec-policy/selinux-apache )"
+
+apache_setup_vars() {
+ # Sets the USERDIR to default.
+ USERDIR="public_html"
+ einfo "DATADIR is set to: ${DATADIR}"
+ einfo "USERDIR is set to: $USERDIR"
+}
+
+set_filter_flags () {
+ CFLAGS="${CFLAGS/ / }"
+ has_version =sys-libs/glibc-2.2* && filter-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+}
+
+src_unpack() {
+ set_filter_flags
+
+ unpack ${A} || die
+ cd ${S} || die
+
+ # which muppet decided that epatch would default to applying compressed
+ # patches?
+
+ EPATCH_SUFFIX="patch"
+ epatch ${WORKDIR}/apache-patches-${PVR} || die
+
+ if use berkdb; then
+ einfo "Enabling berkdb."
+ if has_version '=sys-libs/db-4*'; then
+ einfo "Enabling db4"
+ myconf="${myconf} --with-dbm=db4 --with-berkely-db=/usr"
+ elif has_version '=sys-libs/db-3*'; then
+ einfo "Enabling db3"
+ myconf="${myconf} --with-dbm=db3 --with-berkely-db=/usr"
+ elif has_version '=sys-libs/db-2'; then
+ einfo "Enabling db2"
+ myconf="${myconf} --with-dbm=db2 --with-berkely-db=/usr"
+ fi
+ else
+ echo "Disabling berkdb"
+ fi
+
+ #avoid utf-8 charset problems
+ export LC_CTYPE=C
+
+ ht_fix_file srclib/apr/build/buildcheck.sh
+
+ #give it the stamp
+ sed -i -e 's:(" PLATFORM "):(Gentoo/Linux):g' server/core.c
+
+ #fix perl with perl!
+ find -type f | xargs perl -pi -e \
+ "s|/usr/local/bin/perl|/usr/bin/perl|g; \
+ s|/usr/local/bin/perl5|/usr/bin/perl|g; \
+ s|/path/to/bin/perl|/usr/bin/perl|g;"
+ #dont want this cruft in /usr/bin
+ sed -i -e 's:@exp_bindir@:@exp_installbuilddir:g' support/apachectl.in
+
+ #setup the filesystem layout config
+ cat ${FILESDIR}/common/config.layout >> config.layout
+ sed -i -e 's:version:${PF}:g' config.layout
+
+ cat ${FILESDIR}/common/apr-config.layout >> srclib/apr/config.layout
+ cat ${FILESDIR}/common/apr-util-config.layout >> srclib/apr-util/config.layout
+
+ sed -i -e "s:/var/www/localhost:${DATADIR}:g" srclib/apr/config.layout
+ sed -i -e "s:/var/www/localhost:${DATADIR}:g" srclib/apr-util/config.layout
+
+ WANT_AUTOCONF_2_5=1 WANT_AUTOCONF=2.5 ./buildconf || die "buildconf failed"
+}
+
+src_compile() {
+ set_filter_flags
+ apache_setup_vars
+
+ # Detect mips and uclibc systems properly
+ gnuconfig_update
+
+ local myconf
+ if use ldap; then
+ if use mips; then
+ eerror "Sorry, LDAP support isn't available yet for MIPS"
+ eerror "Test out OpenLDAP and report it via BugZilla!"
+ eerror "Continuing in 5 seconds"
+ sleep 5s
+ else
+ einfo "Enabling LDAP"
+ if use static; then
+ myconf="--with-ldap --enable-auth-ldap=static --enable-ldap=static"
+ else
+ myconf="--with-ldap --enable-auth-ldap=shared --enable-ldap=shared"
+ fi
+ fi
+ fi
+
+ if use ipv6; then
+ einfo "Enabling ipv6"
+ myconf="${myconf} --enable-vp4"
+ else
+ myconf="${myconf} --disable-ipv6"
+ fi
+
+ if use threads; then
+ einfo "Enabling threads support"
+ myconf="${myconf} --with-mpm=worker"
+ else
+ myconf="${myconf} --with-mpm=${MPM:=prefork}"
+ fi
+
+ select_modules_config || die "determining modules"
+
+ # Fix for bug #24215 - robbat2@gentoo.org, 30 Oct 2003
+ # We pre-load the cache with the correct answer! This avoids
+ # it violating the sandbox. This may have to be changed for
+ # non-Linux systems or if sem_open changes on Linux. This
+ # hack is built around documentation in /usr/include/semaphore.h
+ # and the glibc (pthread) source
+ echo 'ac_cv_func_sem_open=${ac_cv_func_sem_open=no}' >> ${S}/config.cache
+
+ # Workaround for bug #32444 - robbat2@gentoo.org, 28 Nov 2003
+ # Apache2 tries to build SCTP support even when all the parts of it aren't there
+ # So for the moment we tell it to ignore SCTP support
+ echo 'ac_cv_sctp=${ac_cv_sctp=no}' >> ${S}/config.cache
+ echo 'ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}' >> ${S}/config.cache
+ echo 'ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}' >> ${S}/config.cache
+
+ SSL_BASE="SYSTEM" \
+ WANT_AUTOCONF_2_5=1 WANT_AUTOCONF=2.5
+ ./configure \
+ --with-suexec-safepath="/usr/local/bin:/usr/bin:/bin" \
+ --with-suexec-logfile=/var/log/apache2/suexec_log \
+ --with-suexec-bin=/usr/sbin/suexec2 \
+ --with-suexec-userdir=${USERDIR} \
+ --with-suexec-caller=apache \
+ --with-suexec-docroot=/var/www \
+ --with-suexec-uidmin=1000 \
+ --with-suexec-gidmin=100 \
+ --with-suexec-umask=077 \
+ --enable-suexec=shared \
+ \
+ ${MY_BUILTINS} \
+ \
+ --cache-file=${S}/config.cache \
+ --with-perl=/usr/bin/perl \
+ --with-expat=/usr \
+ --with-ssl=/usr \
+ --with-z=/usr \
+ --with-port=80 \
+ --enable-layout=Gentoo \
+ --with-program-name=apache2 \
+ --with-devrandom=/dev/urandom \
+ --host=${CHOST} ${myconf} || die "bad ./configure please submit bug report to bugs.gentoo.org. Include your config.layout."
+ #--with-mpm={worker|prefork|perchild|leader|threadpool}
+
+ # we don't want to try and recompile the ssl_expr_parse.c file, because
+ # the lex source is broken
+ touch modules/ssl/ssl_expr_scan.c
+
+ emake || die "problem compiling Apache2 :("
+
+ #build ssl version of apache bench (ab-ssl)
+ cd support; rm -f ab .libs/ab ab.lo ab.o
+ make ab CFLAGS="${CFLAGS} -DUSE_SSL -lcrypto -lssl \
+ -I/usr/include/openssl -L/usr/lib" || die
+ mv ab ab-ssl; mv .libs/ab .libs/ab-ssl; rm -f ab.lo ab.o
+ make ab || die
+}
+
+src_install () {
+ set_filter_flags
+
+ local i
+ make DESTDIR=${D} install || die
+ dodoc ABOUT_APACHE CHANGES INSTALL LAYOUT \
+ LICENSE README* ${FILESDIR}/robots.txt
+
+ #bogus values pointing at /var/tmp/portage
+ sed -i -e 's:APR_SOURCE_DIR=.*:APR_SOURCE_DIR=:g' ${D}/usr/bin/apr-config
+ sed -i -e 's:APU_SOURCE_DIR=.*:APU_SOURCE_DIR=:g' ${D}/usr/bin/apu-config
+ sed -i -e 's:APU_BUILD_DIR=.*:APU_BUILD_DIR=:g' ${D}/usr/bin/apu-config
+
+ #protect the suexec binary
+ local gid=`id -g apache`
+ [ -z "${gid}" ] && gid=81
+ fowners root:${gid} /usr/sbin/suexec
+ fperms 4710 /usr/sbin/suexec
+
+ #apxs needs this to pickup the right lib for install
+ dosym /usr/lib /usr/lib/apache2/lib
+ dosym /var/log/apache2 /usr/lib/apache2/logs
+ dosym /usr/lib/apache2-extramodules /usr/lib/apache2/extramodules
+ dosym /etc/apache2/conf /usr/lib/apache2/conf
+
+ cd ${S}
+ #Credits to advx.org people for these scripts. Heck, thanks for
+ #the nice layout and everything else ;-)
+ exeinto /usr/sbin
+ for i in apache2logserverstatus apache2splitlogfile
+ do
+ doexe ${FILESDIR}/2.0.49/$i
+ done
+ exeinto /usr/lib/ssl/apache2-mod_ssl
+ doexe ${FILESDIR}/2.0.49/gentestcrt.sh
+
+ #some more scripts
+ exeinto /usr/sbin
+ for i in split-logfile list_hooks.pl logresolve.pl log_server_status
+ do
+ doexe ${S}/support/$i
+ done
+ #the ssl version of apache bench
+ doexe support/.libs/ab-ssl
+
+ #move some mods to extramodules
+ dodir /usr/lib/apache2-extramodules
+ for i in mod_ssl.so mod_ldap.so mod_auth_ldap.so
+ do
+ [ -x ${D}/usr/lib/apache2/modules/$i ] && \
+ mv ${D}/usr/lib/apache2/modules/$i ${D}/usr/lib/apache2-extramodules
+ done
+
+ #modules.d config file snippets
+ insinto /etc/apache2/conf/modules.d
+ for i in 40_mod_ssl.conf 41_mod_ssl.default-vhost.conf 45_mod_dav.conf
+ do
+ doins ${FILESDIR}/2.0.49/$i
+ done
+ use !mips && use ldap && doins ${FILESDIR}/2.0.49/46_mod_ldap.conf
+
+ #drop in a convenient link to the manual
+ if use doc; then
+ MANUAL_VERSION="2.0.50"
+ insinto /etc/apache2/conf/modules.d
+ doins ${FILESDIR}/00_apache_manual.conf
+ dosym /usr/share/doc/${PF}/manual ${DATADIR}/htdocs/manual
+ sed -i -e "s:2.0.49:${MANUAL_VERSION}:" ${D}/etc/apache2/conf/modules.d/00_apache_manual.conf
+ else
+ rm -rf ${D}/usr/share/doc/${PF}/manual
+ fi
+
+ #SLOT=2!!!
+ cd ${D}
+ mv -v usr/sbin/apachectl usr/sbin/apache2ctl
+ mv -v usr/sbin/htdigest usr/sbin/htdigest2
+ mv -v usr/sbin/htpasswd usr/sbin/htpasswd2
+ mv -v usr/sbin/logresolve usr/sbin/logresolve2
+ mv -v usr/sbin/apxs usr/sbin/apxs2
+ mv -v usr/sbin/ab usr/sbin/ab2
+ mv -v usr/sbin/ab-ssl usr/sbin/ab2-ssl
+ mv -v usr/sbin/suexec usr/sbin/suexec2
+ mv -v usr/sbin/rotatelogs usr/sbin/rotatelogs2
+ mv -v usr/sbin/dbmmanage usr/sbin/dbmmanage2
+ mv -v usr/sbin/checkgid usr/sbin/checkgid2
+ mv -v usr/sbin/split-logfile usr/sbin/split-logfile2
+ mv -v usr/sbin/list_hooks.pl usr/sbin/list_hooks2.pl
+ mv -v usr/sbin/logresolve.pl usr/sbin/logresolve2.pl
+
+ # do the man pages
+ mv -v usr/share/man/man1/htdigest.1 usr/share/man/man1/htdigest2.1
+ mv -v usr/share/man/man1/htpasswd.1 usr/share/man/man1/htpasswd2.1
+ mv -v usr/share/man/man1/dbmmanage.1 usr/share/man/man1/dbmmanage2.1
+ mv -v usr/share/man/man8/ab.8 usr/share/man/man8/ab2.8
+ mv -v usr/share/man/man8/apxs.8 usr/share/man/man8/apxs2.8
+ mv -v usr/share/man/man8/apachectl.8 usr/share/man/man8/apache2ctl.8
+ mv -v usr/share/man/man8/httpd.8 usr/share/man/man8/apache2.8
+ mv -v usr/share/man/man8/logresolve.8 usr/share/man/man8/logresolve2.8
+ mv -v usr/share/man/man8/rotatelogs.8 usr/share/man/man8/rotatelogs2.8
+ mv -v usr/share/man/man8/suexec.8 usr/share/man/man8/suexec2.8
+
+ #tidy up
+ mv ${D}/usr/sbin/envvars* ${D}/usr/lib/apache2/build
+ dodoc ${D}/etc/apache2/conf/*-std.conf
+ rm -f ${D}/etc/apache2/conf/*.conf
+ rm -rf ${D}/var/run ${D}/var/log
+
+ #config files
+ insinto /etc/conf.d; newins ${FILESDIR}/2.0.49/apache2.confd apache2
+ exeinto /etc/init.d; newexe ${FILESDIR}/2.0.49/apache2.initd apache2
+ insinto /etc/apache2; doins ${FILESDIR}/2.0.49/apache2-builtin-mods
+ insinto /etc/apache2/conf
+ doins ${FILESDIR}/2.0.49/commonapache2.conf
+ doins ${FILESDIR}/2.0.49/apache2.conf
+ insinto /etc/apache2/conf/vhosts
+ doins ${FILESDIR}/2.0.49/virtual-homepages.conf
+ doins ${FILESDIR}/2.0.49/dynamic-vhosts.conf
+ doins ${FILESDIR}/2.0.49/vhosts.conf
+
+ # Added by Jason Wever <weeve@gentoo.org>
+ # A little sedfu to fix bug #7172 for sparc64s
+ if [ ${ARCH} = "sparc" ]
+ then
+ sed -i -e '13a\AcceptMutex fcntl' \
+ ${D}/etc/apache2/conf/apache2.conf
+ fi
+}
+
+parse_modules_config() {
+ set_filter_flags
+
+ local filename=$1
+ local name=""
+ local dso=""
+ local disable=""
+ [ -f ${filename} ] || return 1
+ for i in `cat $filename | sed "s/^#.*//"` ; do
+ if [ $i == "-" ] ; then
+ disable="true"
+ elif [ -z "$name" ] && [ ! -z "`echo $i | grep "mod_"`" ] ; then
+ name=`echo $i | sed "s/mod_//"`
+ elif [ "$disable" ] && ( [ $i == "static" ] || [ $i == "shared" ] ) ; then
+ MY_BUILTINS="${MY_BUILTINS} --disable-$name"
+ name="" ; disable=""
+ elif [ $i == "static" ] ; then
+ MY_BUILTINS="${MY_BUILTINS} --enable-$name=yes"
+ name="" ; disable=""
+ elif [ $i == "shared" ] ; then
+ MY_BUILTINS="${MY_BUILTINS} --enable-$name=shared"
+ name="" ; disable=""
+ fi
+ done
+ einfo "${filename} options:\n${MY_BUILTINS}"
+}
+
+select_modules_config() {
+ parse_modules_config /etc/apache2/apache2-builtin-mods || \
+ parse_modules_config ${FILESDIR}/2.0.49/apache2-builtin-mods || \
+ return 1
+}
+
+pkg_postinst() {
+ set_filter_flags
+
+ #empty dirs...
+ install -d -m0755 -o apache -g apache ${ROOT}/var/lib/dav
+ install -d -m0755 -o root -g root ${ROOT}/var/log/apache2
+ install -d -m0755 -o apache -g apache ${ROOT}/var/cache/apache2
+
+ if use ssl; then
+ # install -d -m0755 -o root -g root ${ROOT}/etc/apache2/conf/ssl
+ install -d -m0755 -o root -g root ${ROOT}/etc/apache2/conf/ssl
+ cd ${ROOT}/etc/apache2/conf/ssl
+ einfo
+ einfo "Generating self-signed test certificate in /etc/apache2/conf/ssl..."
+ yes "" 2>/dev/null | ${ROOT}/usr/lib/ssl/apache2-mod_ssl/gentestcrt.sh >/dev/null 2>&1
+ einfo
+ fi
+
+ if has_version '=net-www/apache-1*' ; then
+ ewarn
+ ewarn "Please add the 'apache2' flag to your USE variable and (re)install"
+ ewarn "any additional DSO modules you may wish to use with Apache-2.x."
+ ewarn "Addon modules are configured in /etc/apache2/conf/modules.d/"
+ ewarn
+ fi
+
+ # Check to see if this is an upgrade
+ if [ -d /home/httpd ];
+ then
+ einfo
+ einfo "Please remember to update your config files in /etc/apache2"
+ einfo "as --datadir has been changed to ${DATADIR}, and ServerRoot"
+ einfo "has changed to /usr/lib/apache2!"
+ einfo
+ fi
+
+ local list=""
+ for i in lib logs modules extramodules; do
+ local d="/etc/apache2/${i}"
+ [ -s "${d}" ] && list="${list} ${d}"
+ done
+ if [ -n "${list}" ]; then
+ einfo "You should delete these old symlinks: ${list}"
+ fi
+}
diff --git a/net-www/apache/files/digest-apache-2.0.50-r2 b/net-www/apache/files/digest-apache-2.0.50-r2
new file mode 100644
index 000000000000..b781ae9e4ad4
--- /dev/null
+++ b/net-www/apache/files/digest-apache-2.0.50-r2
@@ -0,0 +1,2 @@
+MD5 8b251767212aebf41a13128bb70c0b41 httpd-2.0.50.tar.gz 6338536
+MD5 ab80c5d3573d601c72d90e233d02bfa6 apache-patches-2.0.50-r2.tar.bz2 8420