summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElfyn McBratney <beu@gentoo.org>2007-01-08 21:49:52 +0000
committerElfyn McBratney <beu@gentoo.org>2007-01-08 21:49:52 +0000
commite286d79e372933880d2b109fc5e0a1cff6e60e58 (patch)
tree3633f13ce6d1417563cf877d6a348400b3659485 /www-servers/thttpd
parentRemoved wmbatppc from package.mask. (diff)
downloadgentoo-2-e286d79e372933880d2b109fc5e0a1cff6e60e58.tar.gz
gentoo-2-e286d79e372933880d2b109fc5e0a1cff6e60e58.tar.bz2
gentoo-2-e286d79e372933880d2b109fc5e0a1cff6e60e58.zip
Rev bump for security bug #159941.
(Portage version: 2.1.1-r2)
Diffstat (limited to 'www-servers/thttpd')
-rw-r--r--www-servers/thttpd/ChangeLog10
-rw-r--r--www-servers/thttpd/files/digest-thttpd-2.25b-r63
-rw-r--r--www-servers/thttpd/files/thttpd-2.25/fix-buffer-overflow.diff21
-rw-r--r--www-servers/thttpd/thttpd-2.25b-r6.ebuild56
4 files changed, 88 insertions, 2 deletions
diff --git a/www-servers/thttpd/ChangeLog b/www-servers/thttpd/ChangeLog
index dd579e01db83..d7d6526d9d3d 100644
--- a/www-servers/thttpd/ChangeLog
+++ b/www-servers/thttpd/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for www-servers/thttpd
-# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/thttpd/ChangeLog,v 1.16 2006/10/08 19:58:07 drizzt Exp $
+# Copyright 2000-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/thttpd/ChangeLog,v 1.17 2007/01/08 21:49:51 beu Exp $
+
+*thttpd-2.25b-r6 (08 Jan 2007)
+
+ 08 Jan 2007; Elfyn McBratney <beu@gentoo.org>
+ +files/thttpd-2.25/fix-buffer-overflow.diff, +thttpd-2.25b-r6.ebuild:
+ Rev bump for security bug #159941.
08 Oct 2006; Timothy Redaelli <drizzt@gentoo.org> thttpd-2.25b-r5.ebuild:
Added ~x86-fbsd keyword.
diff --git a/www-servers/thttpd/files/digest-thttpd-2.25b-r6 b/www-servers/thttpd/files/digest-thttpd-2.25b-r6
new file mode 100644
index 000000000000..f7daceb58ecf
--- /dev/null
+++ b/www-servers/thttpd/files/digest-thttpd-2.25b-r6
@@ -0,0 +1,3 @@
+MD5 a0e9cd87455d3a0ea11e5ea7e947adf6 thttpd-2.25b.tar.gz 132363
+RMD160 15020e8d04d27b30c4da3104387a281e35d58025 thttpd-2.25b.tar.gz 132363
+SHA256 4ceaa30ef55702d5cfdffdccd3a2dee8d3090e852c18c7ce8d17d692ad0bf024 thttpd-2.25b.tar.gz 132363
diff --git a/www-servers/thttpd/files/thttpd-2.25/fix-buffer-overflow.diff b/www-servers/thttpd/files/thttpd-2.25/fix-buffer-overflow.diff
new file mode 100644
index 000000000000..cacd7321486a
--- /dev/null
+++ b/www-servers/thttpd/files/thttpd-2.25/fix-buffer-overflow.diff
@@ -0,0 +1,21 @@
+diff -Nrup thttpd-2.25b.orig/libhttpd.c thttpd-2.25b/libhttpd.c
+--- thttpd-2.25b.orig/libhttpd.c 2003-12-25 19:06:05.000000000 +0000
++++ thttpd-2.25b/libhttpd.c 2007-01-08 21:43:28.000000000 +0000
+@@ -1469,7 +1469,7 @@ expand_symlinks( char* path, char** rest
+ httpd_realloc_str( &checked, &maxchecked, checkedlen );
+ (void) strcpy( checked, path );
+ /* Trim trailing slashes. */
+- while ( checked[checkedlen - 1] == '/' )
++ while ( checkedlen && checked[checkedlen - 1] == '/' )
+ {
+ checked[checkedlen - 1] = '\0';
+ --checkedlen;
+@@ -1488,7 +1488,7 @@ expand_symlinks( char* path, char** rest
+ restlen = strlen( path );
+ httpd_realloc_str( &rest, &maxrest, restlen );
+ (void) strcpy( rest, path );
+- if ( rest[restlen - 1] == '/' )
++ if ( restlen && rest[restlen - 1] == '/' )
+ rest[--restlen] = '\0'; /* trim trailing slash */
+ if ( ! tildemapped )
+ /* Remove any leading slashes. */
diff --git a/www-servers/thttpd/thttpd-2.25b-r6.ebuild b/www-servers/thttpd/thttpd-2.25b-r6.ebuild
new file mode 100644
index 000000000000..850386363efa
--- /dev/null
+++ b/www-servers/thttpd/thttpd-2.25b-r6.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/thttpd/thttpd-2.25b-r6.ebuild,v 1.1 2007/01/08 21:49:51 beu Exp $
+
+inherit eutils flag-o-matic
+
+MY_P="${P%[a-z]*}"
+
+DESCRIPTION="Small and fast multiplexing webserver."
+HOMEPAGE="http://www.acme.com/software/thttpd/"
+SRC_URI="http://www.acme.com/software/thttpd/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~x86 ~x86-fbsd"
+IUSE="static"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/${MY_P}/*.diff
+}
+
+src_compile() {
+ ## TODO: what to do with IPv6?
+
+ append-ldflags $(bindnow-flags)
+ use static && append-ldflags -static
+
+ econf || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install () {
+ dodir /usr/share/man/man1
+ make prefix=${D}/usr \
+ MANDIR=${D}/usr/share/man \
+ WEBGROUP=nogroup \
+ WEBDIR=${D}/var/www/localhost \
+ "$@" install || die "make install failed"
+
+ mv ${D}/usr/sbin/{,th_}htpasswd
+ mv ${D}/usr/share/man/man1/{,th_}htpasswd.1
+
+ newinitd ${FILESDIR}/${MY_P}/thttpd.init thttpd
+ newconfd ${FILESDIR}/${MY_P}/thttpd.confd thttpd
+
+ dodoc README INSTALL TODO
+
+ insinto /etc/thttpd
+ doins ${FILESDIR}/${MY_P}/thttpd.conf.sample
+}
+
+pkg_postinst() {
+ einfo "Adjust THTTPD_DOCROOT in /etc/conf.d/thttpd !"
+}