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@gentoo.org>
This commit is contained in:
Sam James
2024-10-15 01:45:34 +01:00
parent 69d7fc43e5
commit 4bea395ee5
3 changed files with 178 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST wwwoffle-2.9i.tgz 1113771 BLAKE2B 5acf6e14f362fe87d8f91599aaf113ce8ea5a178ed08eb21d4371d0edfc77a5c0a38e8e0053b51cf6426b0b701ba4fbbddfc84240161877a892aa2da303a5ecf SHA512 c9e9d67df9a0e40b584916857221a9a728f36a677cba28527f8c2febea1a23379d3b112d96723bf01ec1718a0897d8980715864ac7ef898b2585dd3f01d9a456
DIST wwwoffle-2.9j.tgz 1110599 BLAKE2B cc12a1043c2047f8150883871e112007f9cd028ae961e3495332c4afc06342f0b85c44d0c08ce204907c7abbdb3660afe15d0d146dde39fc914942f9ec492a9d SHA512 03f3177fac563ecab33288d1c193d3e193ff1c07413151fc5db1b85e0111b10815d572bcc59d188145b2851e57be0327f7c9e7538361a36e1a9457aa0d028818

View File

@@ -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);

View File

@@ -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."
}