diff options
Diffstat (limited to 'net-proxy/wwwoffle')
-rw-r--r-- | net-proxy/wwwoffle/Manifest | 1 | ||||
-rw-r--r-- | net-proxy/wwwoffle/files/wwwoffle-2.9i-define.patch | 20 | ||||
-rw-r--r-- | net-proxy/wwwoffle/files/wwwoffle-online.confd | 10 | ||||
-rw-r--r-- | net-proxy/wwwoffle/files/wwwoffle-online.initd | 30 | ||||
-rw-r--r-- | net-proxy/wwwoffle/files/wwwoffle.initd | 21 | ||||
-rw-r--r-- | net-proxy/wwwoffle/metadata.xml | 9 | ||||
-rw-r--r-- | net-proxy/wwwoffle/wwwoffle-2.9i.ebuild | 107 |
7 files changed, 198 insertions, 0 deletions
diff --git a/net-proxy/wwwoffle/Manifest b/net-proxy/wwwoffle/Manifest new file mode 100644 index 000000000000..ef4f69ade2fe --- /dev/null +++ b/net-proxy/wwwoffle/Manifest @@ -0,0 +1 @@ +DIST wwwoffle-2.9i.tgz 1113771 SHA256 e6341a4ec2631dc22fd5209c7e5ffe628a5832ad191d444c56aebc3837eed2ae SHA512 c9e9d67df9a0e40b584916857221a9a728f36a677cba28527f8c2febea1a23379d3b112d96723bf01ec1718a0897d8980715864ac7ef898b2585dd3f01d9a456 WHIRLPOOL 21e66a08e4da68e612a6cde4c1355cef46d2dfdce5cb8d0e3170709ee5abc2d5b3fb91d89581185f131995c38591cf98b25dfb2075f36099b6b2f183358d42e1 diff --git a/net-proxy/wwwoffle/files/wwwoffle-2.9i-define.patch b/net-proxy/wwwoffle/files/wwwoffle-2.9i-define.patch new file mode 100644 index 000000000000..3bcc10d761e6 --- /dev/null +++ b/net-proxy/wwwoffle/files/wwwoffle-2.9i-define.patch @@ -0,0 +1,20 @@ +--- a/src/wwwoffled.c ++++ b/src/wwwoffled.c +@@ -15,6 +15,7 @@ + + #include "autoconfig.h" + ++#define _GNU_SOURCE + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +--- a/src/cgi.c ++++ b/src/cgi.c +@@ -16,6 +16,7 @@ + + #include "autoconfig.h" + ++#define _GNU_SOURCE + #include <stdio.h> + #include <stdlib.h> + #include <string.h> diff --git a/net-proxy/wwwoffle/files/wwwoffle-online.confd b/net-proxy/wwwoffle/files/wwwoffle-online.confd new file mode 100644 index 000000000000..db8979c209c2 --- /dev/null +++ b/net-proxy/wwwoffle/files/wwwoffle-online.confd @@ -0,0 +1,10 @@ +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Enter the interface that connects you to the outside world +# This will correspond to /etc/wwwoffle/init.d/net.${IFACE} + +# IMPORTANT: Be sure to run depscan.sh after modifiying IFACE + +#IFACE=ppp0 diff --git a/net-proxy/wwwoffle/files/wwwoffle-online.initd b/net-proxy/wwwoffle/files/wwwoffle-online.initd new file mode 100644 index 000000000000..780708a5ea6a --- /dev/null +++ b/net-proxy/wwwoffle/files/wwwoffle-online.initd @@ -0,0 +1,30 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need wwwoffled + use dns + + if [ -n ${IFACE} ]; + then + need net.${IFACE} + else + ewarn "No IFACE is defined in /etc/conf.d/wwwoffle-online" + need net + fi +} + +start() { + ebegin "Starting wwwoffled-online" + wwwoffle -online -c /etc/wwwoffle/wwwoffle.conf + wwwoffle -fetch -c /etc/wwwoffle/wwwoffle.conf & > /dev/null 2>&1 + eend $? +} + +stop() { + ebegin "Stopping wwwoffled-online" + wwwoffle -offline -c /etc/wwwoffle/wwwoffle.conf + eend $? +} diff --git a/net-proxy/wwwoffle/files/wwwoffle.initd b/net-proxy/wwwoffle/files/wwwoffle.initd new file mode 100644 index 000000000000..8aa6e104036d --- /dev/null +++ b/net-proxy/wwwoffle/files/wwwoffle.initd @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need localmount +} + +start() { + ebegin "Starting wwwoffled" + start-stop-daemon --start --quiet --exec /usr/sbin/wwwoffled \ + -u wwwoffle -- -c /etc/wwwoffle/wwwoffle.conf 2>&1 + eend $? +} + +stop() { + ebegin "Stopping wwwoffled" + start-stop-daemon --stop --quiet --name wwwoffled + eend $? +} diff --git a/net-proxy/wwwoffle/metadata.xml b/net-proxy/wwwoffle/metadata.xml new file mode 100644 index 000000000000..a4e7c219354f --- /dev/null +++ b/net-proxy/wwwoffle/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer><email>maintainer-needed@gentoo.org</email></maintainer> +<longdescription>The wwwoffled program is a simple proxy server with special features for use +with dial-up internet links. This means that it is possible to browse web pages and read them +without having to remain connected. +</longdescription> +</pkgmetadata> diff --git a/net-proxy/wwwoffle/wwwoffle-2.9i.ebuild b/net-proxy/wwwoffle/wwwoffle-2.9i.ebuild new file mode 100644 index 000000000000..18b187a62da7 --- /dev/null +++ b/net-proxy/wwwoffle/wwwoffle-2.9i.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +inherit eutils user + +DESCRIPTION="Web caching proxy suitable for non-permanent Internet connections" +HOMEPAGE="http://www.gedanken.org.uk/software/wwwoffle/" +SRC_URI="http://www.gedanken.org.uk/software/${PN}/download/${P}.tgz" + +KEYWORDS="amd64 ppc ppc64 sparc x86" +SLOT="0" +LICENSE="GPL-2" +IUSE="gnutls ipv6 zlib" + +RDEPEND="gnutls? ( net-libs/gnutls ) + zlib? ( sys-libs/zlib )" +DEPEND="dev-lang/perl + sys-devel/flex + ${RDEPEND}" + +# Unsure whether to depend on >=www-misc/htdig-3.1.6-r4 or not + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.9i-define.patch + sed -i cache/Makefile.in \ + -e 's#$(TAR) xpf #$(TAR) --no-same-owner -xpf #' \ + || die +} + +src_configure() { + econf \ + $(use_with gnutls) \ + $(use_with ipv6) \ + $(use_with zlib) +} + +src_install() { + default + + # documentation fix + # del empty doc dirs + rmdir "${D}/usr/doc/${PN}"/{it,nl,ru} || die + dodir /usr/share/doc + mv "${D}/usr/doc/${PN}" "${D}/usr/share/doc/${PF}" || die + rmdir "${D}/usr/doc" || die + + # install the wwwoffled init script + newinitd "${FILESDIR}/${PN}.initd" wwwoffled + newinitd "${FILESDIR}/${PN}-online.initd" wwwoffled-online + newconfd "${FILESDIR}/${PN}-online.confd" wwwoffled-online + + keepdir /var/spool/wwwoffle/{http,outgoing,monitor,lasttime,lastout,local} + for number in 1 2 3 4 5 6 7 8 9; do + keepdir "/var/spool/wwwoffle/prevtime${number}" "/var/spool/wwwoffle/prevout${number}" + done + + # empty dirs are removed during update + keepdir \ + /var/spool/wwwoffle/search/{mnogosearch/db,htdig/tmp,htdig/db-lasttime,htdig/db,namazu/db} + + touch \ + "${D}/var/spool/wwwoffle/search/htdig/wwwoffle-htdig.log" \ + "${D}/var/spool/wwwoffle/search/mnogosearch/wwwoffle-mnogosearch.log" \ + "${D}/var/spool/wwwoffle/search/namazu/wwwoffle-namazu.log" + + # TODO htdig indexing as part of initscripts + + # robots.txt modification - /var/spool/wwwoffle/html/en + # - remove Disallow: /index + sed -i -e "s|Disallow:.*/index|#Disallow: /index|" "${D}/var/spool/wwwoffle/html/en/robots.txt" +} + +pkg_preinst() { + # Add a wwwoffle user + enewgroup wwwoffle + enewuser wwwoffle -1 -1 /var/spool/wwwoffle wwwoffle + + # Changing the user:group to wwwoffle:woffle + fowners -R wwwoffle:wwwoffle /var/spool/wwwoffle /etc/wwwoffle + sed -i -e 's/^[# \t]\(run-[gu]id[ \t]*=[ \t]*\)[a-zA-Z0-9]*[ \t]*$/ \1wwwoffle/g' \ + "${D}/etc/wwwoffle/wwwoffle.conf" + +} + +pkg_postinst() { + # fix permissions for those upgrading + for number in 1 2 3 4 5 6 7 8 9; + do + [ ! -d "${ROOT}/var/spool/wwwoffle/prevtime${number}" ] && \ + keepdir "${ROOT}/var/spool/wwwoffle/prevtime${number}" + [ ! -d "${ROOT}/var/spool/wwwoffle/prevout${number}" ] && \ + keepdir "${ROOT}/var/spool/wwwoffle/prevout${number}" + done + chown -R wwwoffle:wwwoffle "${ROOT}/var/spool/wwwoffle" "${ROOT}/etc/wwwoffle" + + [ -f "${T}/stopped" ] && \ + ewarn "wwwoffled was stopped. /etc/init.d/wwwoffled start to restart AFTER etc-update" + + einfo "wwwoffled should run as an ordinary user now. The run-uid and run-gid should be set" + einfo "to \"wwwoffle\" in your /etc/wwwoffle/wwwoffle.conf. Please uncomment this if it hasn't been already" + + einfo "This is for your own security. Otherwise wwwoffle is run as root which is relay bad if" + einfo "there is an exploit in this program that allows remote/local users to execute arbitary" + einfo "commands as the root user." +} |