summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2013-02-26 20:04:33 +0000
committerAnthony G. Basile <blueness@gentoo.org>2013-02-26 20:04:33 +0000
commitabadf153300fedb62c4c3c6fd269b21069c80445 (patch)
treed0501a98f4ce13faa0436ff4cff647ca5b8e7af9 /www-servers/thttpd/thttpd-2.26.4-r2.ebuild
parentVersion bump (#458822 by Manuel Rüger (mrueg)) (diff)
downloadgentoo-2-abadf153300fedb62c4c3c6fd269b21069c80445.tar.gz
gentoo-2-abadf153300fedb62c4c3c6fd269b21069c80445.tar.bz2
gentoo-2-abadf153300fedb62c4c3c6fd269b21069c80445.zip
Make log read/write by thttpd user only, bug #458896, CVE-2013-0348
(Portage version: 2.1.11.50/cvs/Linux x86_64, signed Manifest commit with key 0xF52D4BBA)
Diffstat (limited to 'www-servers/thttpd/thttpd-2.26.4-r2.ebuild')
-rw-r--r--www-servers/thttpd/thttpd-2.26.4-r2.ebuild72
1 files changed, 72 insertions, 0 deletions
diff --git a/www-servers/thttpd/thttpd-2.26.4-r2.ebuild b/www-servers/thttpd/thttpd-2.26.4-r2.ebuild
new file mode 100644
index 000000000000..44304462ee3b
--- /dev/null
+++ b/www-servers/thttpd/thttpd-2.26.4-r2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/thttpd/thttpd-2.26.4-r2.ebuild,v 1.1 2013/02/26 20:04:32 blueness Exp $
+
+EAPI="4"
+
+inherit eutils flag-o-matic toolchain-funcs
+
+MY_P="s${P}"
+
+DESCRIPTION="Fork of thttpd, a small, fast, multiplexing webserver."
+HOMEPAGE="http://opensource.dyc.edu/sthttpd"
+SRC_URI="http://opensource.dyc.edu/pub/sthttpd/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux"
+IUSE=""
+
+RDEPEND=""
+DEPEND=""
+
+WEBROOT="/var/www/localhost"
+
+THTTPD_USER=thttpd
+THTTPD_GROUP=thttpd
+THTTPD_DOCROOT="${EPREFIX}${WEBROOT}/htdocs"
+
+DOCS=( README TODO )
+
+pkg_setup() {
+ ebegin "Creating thttpd user and group"
+ enewgroup ${THTTPD_GROUP}
+ enewuser ${THTTPD_USER} -1 -1 -1 ${THTTPD_GROUP}
+}
+
+src_prepare () {
+ epatch "${FILESDIR}"/thttpd-fix-world-readable-log.patch
+}
+
+src_configure() {
+ econf WEBDIR=${THTTPD_DOCROOT}
+}
+
+src_install () {
+ default
+
+ newinitd "${FILESDIR}"/thttpd.init.1 thttpd
+ newconfd "${FILESDIR}"/thttpd.confd.1 thttpd
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/thttpd.logrotate" thttpd
+
+ insinto /etc/thttpd
+ doins "${FILESDIR}"/thttpd.conf.sample
+
+ #move htdocs to docdir, bug #429632
+ docompress -x /usr/share/doc/"${PF}"/htdocs.dist
+ mv "${ED}"${WEBROOT}/htdocs \
+ "${ED}"/usr/share/doc/"${PF}"/htdocs.dist
+ mkdir "${ED}"${WEBROOT}/htdocs
+
+ keepdir ${WEBROOT}/htdocs
+
+ chown root:${THTTPD_GROUP} "${ED}/usr/sbin/makeweb" \
+ || die "Failed chown makeweb"
+ chmod 2751 "${ED}/usr/sbin/makeweb" \
+ || die "Failed chmod makeweb"
+ chmod 755 "${ED}/usr/share/doc/${PF}/htdocs.dist/cgi-bin/printenv" \
+ || die "Failed chmod printenv"
+}