commit:     4bea395ee50cc2b22c8da8a6698febed0065e940
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 15 00:45:34 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 15 00:50:12 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4bea395e

net-proxy/wwwoffle: add 2.9j

Bug: https://bugs.gentoo.org/874894
Closes: https://bugs.gentoo.org/765094
Closes: https://bugs.gentoo.org/926194
Closes: https://bugs.gentoo.org/940608
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-proxy/wwwoffle/Manifest                      |   1 +
 net-proxy/wwwoffle/files/wwwoffle-2.9j-lto.patch |  65 +++++++++++++
 net-proxy/wwwoffle/wwwoffle-2.9j.ebuild          | 112 +++++++++++++++++++++++
 3 files changed, 178 insertions(+)

diff --git a/net-proxy/wwwoffle/Manifest b/net-proxy/wwwoffle/Manifest
index c2845c06b0b1..8d5bc86b7bd2 100644
--- a/net-proxy/wwwoffle/Manifest
+++ b/net-proxy/wwwoffle/Manifest
@@ -1 +1,2 @@
 DIST wwwoffle-2.9i.tgz 1113771 BLAKE2B 
5acf6e14f362fe87d8f91599aaf113ce8ea5a178ed08eb21d4371d0edfc77a5c0a38e8e0053b51cf6426b0b701ba4fbbddfc84240161877a892aa2da303a5ecf
 SHA512 
c9e9d67df9a0e40b584916857221a9a728f36a677cba28527f8c2febea1a23379d3b112d96723bf01ec1718a0897d8980715864ac7ef898b2585dd3f01d9a456
+DIST wwwoffle-2.9j.tgz 1110599 BLAKE2B 
cc12a1043c2047f8150883871e112007f9cd028ae961e3495332c4afc06342f0b85c44d0c08ce204907c7abbdb3660afe15d0d146dde39fc914942f9ec492a9d
 SHA512 
03f3177fac563ecab33288d1c193d3e193ff1c07413151fc5db1b85e0111b10815d572bcc59d188145b2851e57be0327f7c9e7538361a36e1a9457aa0d028818

diff --git a/net-proxy/wwwoffle/files/wwwoffle-2.9j-lto.patch 
b/net-proxy/wwwoffle/files/wwwoffle-2.9j-lto.patch
new file mode 100644
index 000000000000..7dde7797ce0e
--- /dev/null
+++ b/net-proxy/wwwoffle/files/wwwoffle-2.9j-lto.patch
@@ -0,0 +1,65 @@
+https://bugs.gentoo.org/940608
+
+Sent via email to upstream by sam on 2024-10-15.
+--- a/src/testprogs/test-gif.c
++++ b/src/testprogs/test-gif.c
+@@ -19,8 +19,8 @@
+ #include "errors.h"
+ 
+ 
+-ssize_t wwwoffles_read_data(char *data,int len);
+-ssize_t wwwoffles_write_data(char *data,int len);
++ssize_t wwwoffles_read_data(char *data,size_t len);
++ssize_t wwwoffles_write_data(char *data,size_t len);
+ 
+ int main(int argc,char **argv)
+ {
+@@ -55,7 +55,7 @@ int main(int argc,char **argv)
+   This function is used as a callback from gifmodify.c and htmlmodify.l
+   ++++++++++++++++++++++++++++++++++++++*/
+ 
+-ssize_t wwwoffles_read_data(char *data,int len)
++ssize_t wwwoffles_read_data(char *data,size_t len)
+ {
+  int n=read_data(0,data,len);
+ 
+@@ -75,7 +75,7 @@ ssize_t wwwoffles_read_data(char *data,int len)
+   This function is used as a callback from gifmodify.c and htmlmodify.l
+   ++++++++++++++++++++++++++++++++++++++*/
+ 
+-ssize_t wwwoffles_write_data(char *data,int len)
++ssize_t wwwoffles_write_data(char *data,size_t len)
+ {
+  write_data(1,data,len);
+ 
+--- a/src/testprogs/test-modify.c
++++ b/src/testprogs/test-modify.c
+@@ -21,8 +21,8 @@
+ #include "errors.h"
+ 
+ 
+-ssize_t wwwoffles_read_data(char *data,int len);
+-ssize_t wwwoffles_write_data(char *data,int len);
++ssize_t wwwoffles_read_data(char *data,size_t len);
++ssize_t wwwoffles_write_data(char *data,size_t len);
+ 
+ int main(int argc,char **argv)
+ {
+@@ -72,7 +72,7 @@ int main(int argc,char **argv)
+   This function is used as a callback from gifmodify.c and htmlmodify.l
+   ++++++++++++++++++++++++++++++++++++++*/
+ 
+-ssize_t wwwoffles_read_data(char *data,int len)
++ssize_t wwwoffles_read_data(char *data,size_t len)
+ {
+  int n=read_data(0,data,len);
+ 
+@@ -92,7 +92,7 @@ ssize_t wwwoffles_read_data(char *data,int len)
+   This function is used as a callback from gifmodify.c and htmlmodify.l
+   ++++++++++++++++++++++++++++++++++++++*/
+ 
+-ssize_t wwwoffles_write_data(char *data,int len)
++ssize_t wwwoffles_write_data(char *data,size_t len)
+ {
+  write_data(1,data,len);
+ 

diff --git a/net-proxy/wwwoffle/wwwoffle-2.9j.ebuild 
b/net-proxy/wwwoffle/wwwoffle-2.9j.ebuild
new file mode 100644
index 000000000000..df9f7824e828
--- /dev/null
+++ b/net-proxy/wwwoffle/wwwoffle-2.9j.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Web caching proxy suitable for non-permanent Internet connections"
+HOMEPAGE="https://www.gedanken.org.uk/software/wwwoffle/";
+SRC_URI="https://www.gedanken.org.uk/software/${PN}/download/${P}.tgz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="gnutls ipv6 zlib"
+
+RDEPEND="
+       acct-group/wwwoffle
+       acct-user/wwwoffle
+       gnutls? ( net-libs/gnutls:= )
+       zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       app-alternatives/lex
+       dev-lang/perl
+"
+# Unsure whether to depend on >=www-misc/htdig-3.1.6-r4 or not
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.9j-lto.patch
+)
+
+src_prepare() {
+       default
+
+       sed -e 's#$(TAR) xpf #$(TAR) --no-same-owner -xpf #' -i 
cache/Makefile.in || die
+}
+
+src_configure() {
+       local myeconfargs=(
+               --with-ipv6
+               $(use_with gnutls)
+               $(use_with zlib)
+       )
+
+       CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_install() {
+       default
+
+       keepdir /var/spool/wwwoffle/search/hyperestraier/db
+
+       # documentation fix
+       # del empty doc dirs
+       rmdir "${ED}/usr/doc/${PN}"/{it,nl,ru} || die
+       dodir /usr/share/doc
+       mv "${ED}/usr/doc/${PN}" "${ED}/usr/share/doc/${PF}" || die
+       rmdir "${ED}/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 "${ED}/var/spool/wwwoffle/search/htdig/wwwoffle-htdig.log"
+       touch 
"${ED}/var/spool/wwwoffle/search/mnogosearch/wwwoffle-mnogosearch.log"
+       touch "${ED}/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 -e "s|Disallow:.*/index|#Disallow: /index|" -i 
"${ED}/var/spool/wwwoffle/html/en/robots.txt" || die
+}
+
+pkg_preinst() {
+       # Changing the user:group to wwwoffle:woffle
+       fowners -R wwwoffle:wwwoffle /var/spool/wwwoffle /etc/wwwoffle
+       sed \
+               -e 's/^[# \t]\(run-[gu]id[ \t]*=[ \t]*\)[a-zA-Z0-9]*[ \t]*$/ 
\1wwwoffle/g' \
+               -i "${ED}/etc/wwwoffle/wwwoffle.conf" || die
+
+}
+
+pkg_postinst() {
+       # fix permissions for those upgrading
+       local number
+       for number in 1 2 3 4 5 6 7 8 9;
+       do
+               [[ ! -d "${EROOT}/var/spool/wwwoffle/prevtime${number}" ]] && \
+                       keepdir "${EROOT}/var/spool/wwwoffle/prevtime${number}"
+               [[ ! -d "${EROOT}/var/spool/wwwoffle/prevout${number}" ]] && \
+                       keepdir "${EROOT}/var/spool/wwwoffle/prevout${number}"
+       done
+
+       [[ -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."
+}

Reply via email to