commit:     6eaffccd00555e127e54f6a9684a7fc0b15d10f7
Author:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
AuthorDate: Wed Jan  6 18:02:35 2021 +0000
Commit:     Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
CommitDate: Wed Jan  6 18:06:01 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6eaffccd

net-proxy/privoxy: version bump

Update to 3.0.29:
- This fixes multiple security bugs
- Add support for brotli compressed data
- Add support for HTTPS inspection using either mbedtls or openssl,
  libressl is deliberately not added since it is pending removal
  from the tree.

Bug: https://bugs.gentoo.org/758428
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>

 net-proxy/privoxy/Manifest                         |   1 +
 .../privoxy/files/privoxy-3.0.29-gentoo.patch      | 118 +++++++++++++++++
 net-proxy/privoxy/metadata.xml                     |  11 +-
 net-proxy/privoxy/privoxy-3.0.29.ebuild            | 145 +++++++++++++++++++++
 4 files changed, 272 insertions(+), 3 deletions(-)

diff --git a/net-proxy/privoxy/Manifest b/net-proxy/privoxy/Manifest
index 1aba478ea92..cb6d11ed6c1 100644
--- a/net-proxy/privoxy/Manifest
+++ b/net-proxy/privoxy/Manifest
@@ -1 +1,2 @@
 DIST privoxy-3.0.28-stable-src.tar.gz 1753809 BLAKE2B 
1ea0d6339c96bd294eadc124ebac252c43dcdc062709868668959bdb4f959267afb2ec7f27fc0d58db3655102f2412f1c8acb273267d447271465ac21f7a9be4
 SHA512 
5d58024ae73d623a2b8fb2ac49e18f047dfe252c9441388f025cf888c0e4b11546b8796cfa559759ee137002b1b31b30ad28b356ae226836454f32591eb835fc
+DIST privoxy-3.0.29-stable-src.tar.gz 1830550 BLAKE2B 
ecd0a78f2c4a3a6006fb229a7115a3c1b5041508233ef36d7995607984e5f9fbf7f117aa4611f384eed4434a6a3204a7f31a33857112d5f1f0a71fddb2134df3
 SHA512 
2f483a37d697738815f4c58a775fbf116a34ac5e0e74d19814252c5ff1572350181066d468327189faf20c92d808d551b0017a9525ec98276330ee539554c1ba

diff --git a/net-proxy/privoxy/files/privoxy-3.0.29-gentoo.patch 
b/net-proxy/privoxy/files/privoxy-3.0.29-gentoo.patch
new file mode 100644
index 00000000000..572d03439b9
--- /dev/null
+++ b/net-proxy/privoxy/files/privoxy-3.0.29-gentoo.patch
@@ -0,0 +1,118 @@
+diff '--color=auto' -Naur privoxy-3.0.29-stable.orig/config 
privoxy-3.0.29-stable/config
+--- privoxy-3.0.29-stable.orig/config  2020-11-28 13:19:00.000000000 +0300
++++ privoxy-3.0.29-stable/config       2021-01-06 19:44:52.824746891 +0300
+@@ -259,7 +259,7 @@
+ #
+ #      No trailing "/", please.
+ #
+-confdir .
++confdir /etc/privoxy
+ #
+ #  2.2. templdir
+ #  ==============
+@@ -344,7 +344,7 @@
+ #
+ #      No trailing "/", please.
+ #
+-logdir .
++logdir /var/log/privoxy
+ #
+ #  2.5. actionsfile
+ #  =================
+@@ -477,7 +477,7 @@
+ #      require additional software to do it. For details, please
+ #      refer to the documentation for your operating system.
+ #
+-logfile logfile
++logfile privoxy.log
+ #
+ #  2.8. trustfile
+ #  ===============
+diff '--color=auto' -Naur privoxy-3.0.29-stable.orig/default.action.master 
privoxy-3.0.29-stable/default.action.master
+--- privoxy-3.0.29-stable.orig/default.action.master   2020-11-28 
13:19:00.000000000 +0300
++++ privoxy-3.0.29-stable/default.action.master        2021-01-06 
19:44:52.825746892 +0300
+@@ -559,7 +559,7 @@
+ +client-header-tagger{image-requests} \
+ +client-header-tagger{range-requests} \
+ +hide-from-header{block} \
+-+set-image-blocker{pattern} \
+++set-image-blocker{blank} \
+ }
+ standard.Cautious
+ 
+@@ -582,7 +582,7 @@
+ +hide-from-header{block} \
+ +hide-referrer{conditional-block} \
+ +session-cookies-only \
+-+set-image-blocker{pattern} \
+++set-image-blocker{blank} \
+ }
+ standard.Medium
+ 
+@@ -622,7 +622,7 @@
+ +hide-referrer{conditional-block} \
+ +limit-connect{,} \
+ +overwrite-last-modified{randomize} \
+-+set-image-blocker{pattern} \
+++set-image-blocker{blank} \
+ }
+ standard.Advanced
+ 
+diff '--color=auto' -Naur privoxy-3.0.29-stable.orig/GNUmakefile.in 
privoxy-3.0.29-stable/GNUmakefile.in
+--- privoxy-3.0.29-stable.orig/GNUmakefile.in  2020-11-28 13:19:00.000000000 
+0300
++++ privoxy-3.0.29-stable/GNUmakefile.in       2021-01-06 19:45:20.535798829 
+0300
+@@ -62,8 +62,8 @@
+ MAN_DEST     = $(MAN_DIR)/man1
+ MAN_PAGE     = privoxy.1
+ SHARE_DEST   = @datadir@
+-DOC_DEST     = $(SHARE_DEST)/doc/privoxy
+-VAR_DEST     = @localstatedir@
++DOC_DEST     = @docdir@
++VAR_DEST     = /var
+ LOGS_DEST    = $(VAR_DEST)/log/privoxy
+ PIDS_DEST    = $(VAR_DEST)/run
+ 
+@@ -890,8 +890,6 @@
+               $(INSTALL) $(INSTALL_T) $(DOK_WEB)/man-page/*html 
$(DESTDIR)$$DOC/man-page;\
+               $(INSTALL) $(INSTALL_T) $(DOK_WEB)/privoxy-index.html 
$(DESTDIR)$$DOC/index.html;\
+               $(INSTALL) $(INSTALL_T) AUTHORS $(DESTDIR)$$DOC;\
+-              $(INSTALL) $(INSTALL_T) LICENSE $(DESTDIR)$$DOC;\
+-              $(INSTALL) $(INSTALL_T) LICENSE.GPLv3 $(DESTDIR)$$DOC;\
+               $(INSTALL) $(INSTALL_T) README $(DESTDIR)$$DOC;\
+               $(INSTALL) $(INSTALL_T) ChangeLog $(DESTDIR)$$DOC;\
+               $(INSTALL) $(INSTALL_T) $(DOK_WEB)/p_doc.css $(DESTDIR)$$DOC;\
+@@ -962,34 +960,8 @@
+       fi ;\
+       $(ECHO) Installing configuration files to $(DESTDIR)$(CONF_DEST);\
+       for i in $(CONFIGS); do \
+-              if [ "$$i" = "default.action" ] || [ "$$i" = "default.filter" ] 
; then \
+-                      $(RM) $(DESTDIR)$(CONF_DEST)/$$i ;\
+-                      $(ECHO) Installing fresh $$i;\
+                       $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || 
exit 1;\
+-              elif [ -s "$(CONF_DEST)/$$i" ]; then \
+-                      $(ECHO) Installing $$i as $$i.new ;\
+-                      $(INSTALL) $$INSTALL_CONF $$i 
$(DESTDIR)$(CONF_DEST)/$$i.new || exit 1;\
+-                      NEW=1;\
+-              else \
+-                      $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || 
exit 1;\
+-              fi ;\
+       done ;\
+-      if [ -n "$$NEW" ]; then \
+-              $(CHMOD) $(RWD_MODE) $(DESTDIR)$(CONF_DEST)/*.new || exit 1 ;\
+-              $(ECHO) "Warning: Older config files are preserved. Check new 
versions for changes!" ;\
+-      fi ;\
+-      [ ! -f $(DESTDIR)$(LOG_DEST)/logfile ] && $(ECHO) Creating logfiles in 
$(DESTDIR)$(LOG_DEST) || \
+-              $(ECHO) Checking logfiles in $(DESTDIR)$(LOG_DEST) ;\
+-              $(TOUCH) $(DESTDIR)$(LOG_DEST)/logfile || exit 1 ;\
+-      if [ x$$USER != x ]; then \
+-              $(CHOWN) $$USER $(DESTDIR)$(LOG_DEST)/logfile || \
+-              $(ECHO) "** WARNING ** current install user different from 
configured user. Logging may fail!!" ;\
+-      fi ;\
+-      if [ x$$GROUP_T != x ]; then \
+-              $(CHGRP) $$GROUP_T $(DESTDIR)$(LOG_DEST)/logfile || \
+-              $(ECHO) "** WARNING ** current install user different from 
configured user. Logging may fail!!" ;\
+-      fi ;\
+-      $(CHMOD) $(RWD_MODE) $(DESTDIR)$(LOG_DEST)/logfile || exit 1 ;\
+       if [ "$(prefix)" = "/usr/local" ] || [ "$(prefix)" = "/usr" ]; then \
+               if [ -f /etc/slackware-version ] && [ -d /etc/rc.d/ ] && [ -w 
/etc/rc.d/ ] ; then \
+                $(SED) 's+%PROGRAM%+$(PROGRAM)+' slackware/rc.privoxy.orig | \

diff --git a/net-proxy/privoxy/metadata.xml b/net-proxy/privoxy/metadata.xml
index 3794962c567..adfe49818f3 100644
--- a/net-proxy/privoxy/metadata.xml
+++ b/net-proxy/privoxy/metadata.xml
@@ -14,10 +14,12 @@
                systems and multi-user networks.
        </longdescription>
        <use>
-               <flag name="editor">Enable the web-based actions file 
editor</flag>
+               <flag name="brotli">Decompress brotli compressed data using 
<pkg>app-arch/brotli</pkg> before filtering</flag>
                <flag name="client-tags">Enable support for client-specific 
tags</flag>
                <flag name="compression">Allow privoxy to compress buffered 
content before sending to the client, if it supports it</flag>
-               <flag name="extended-host-patterns">Enable and require PCRE 
syntax in host patterns. You must convert action files to PCRE, see 
privoxy-url-pattern-translator.pl Use at your own risk!</flag>
+               <flag name="editor">Enable the web-based actions file 
editor</flag>
+               <flag name="extended-host-patterns">Enable and require PCRE 
syntax in host patterns. You must convert action files to PCRE, see 
privoxy-url-pattern-translator.pl (see tools USE flag). Use at your own 
risk!</flag>
+               <flag name="extended-statistics">Gather extended 
statistics</flag>
                <flag name="external-filters">Allow to filter content with 
scripts and programs. Experimental</flag>
                <flag name="fast-redirects">Support fast redirects</flag>
                <flag name="force">Allow single-page disable (force load)</flag>
@@ -25,12 +27,15 @@
                <flag name="graceful-termination">Allow to shutdown Privoxy 
through the webinterface</flag>
                <flag name="image-blocking">Allows the +handle-as-image action, 
to send "blocked" images instead of HTML</flag>
                <flag name="lfs">Support large files (&gt;2GB) on 32-bit 
systems</flag>
+               <flag name="mbedtls">Use <pkg>net-libs/mbedtls</pkg> for HTTPS 
filtering</flag>
+               <flag name="openssl">Use <pkg>dev-libs/openssl</pkg> for HTTPS 
filtering</flag>
                <flag name="png-images">Use PNG format instead of GIF for 
built-in images</flag>
+               <flag name="ssl">HTTPS inspection support. Enables privoxy to 
perform SSL MITM filtering, see docs, use with care</flag>
                <flag name="stats">Keep statistics</flag>
                <flag name="toggle">Support temporary disable toggle via web 
interface</flag>
                <flag name="tools">Install log parser, regression tester and 
user agent generator tools</flag>
                <flag name="whitelists">Support trust files (white lists)</flag>
-               <flag name="zlib">Use <pkg>sys-libs/zlib</pkg> to decompress 
data before filtering</flag>
+               <flag name="zlib">Decompress zlib compressed data using 
<pkg>sys-libs/zlib</pkg> before filtering</flag>
        </use>
        <upstream>
                <remote-id type="sourceforge">ijbswa</remote-id>

diff --git a/net-proxy/privoxy/privoxy-3.0.29.ebuild 
b/net-proxy/privoxy/privoxy-3.0.29.ebuild
new file mode 100644
index 00000000000..6d4bcb7581c
--- /dev/null
+++ b/net-proxy/privoxy/privoxy-3.0.29.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools systemd toolchain-funcs
+
+[ "${PV##*_}" = "beta" ] &&
+       PRIVOXY_STATUS="beta" ||
+       PRIVOXY_STATUS="stable"
+
+HOMEPAGE="https://www.privoxy.org https://sourceforge.net/projects/ijbswa/";
+DESCRIPTION="A web proxy with advanced filtering capabilities for enhancing 
privacy"
+SRC_URI="mirror://sourceforge/ijbswa/${P%_*}-${PRIVOXY_STATUS}-src.tar.gz"
+
+IUSE="+acl brotli client-tags compression editor extended-host-patterns
+extended-statistics external-filters +fast-redirects +force fuzz
+graceful-termination +image-blocking ipv6 lfs mbedtls openssl
+png-images selinux ssl +stats +threads toggle tools whitelists
++zlib"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+LICENSE="GPL-2+"
+
+DEPEND="
+       acct-group/privoxy
+       acct-user/privoxy
+       dev-libs/libpcre
+       brotli? ( app-arch/brotli )
+       mbedtls? ( net-libs/mbedtls )
+       openssl? ( dev-libs/openssl )
+       zlib? ( sys-libs/zlib )
+"
+RDEPEND="${DEPEND}
+       extended-host-patterns? ( dev-lang/perl )
+       selinux? ( sec-policy/selinux-privoxy )
+       tools? (
+               net-misc/curl
+               dev-lang/perl
+       )
+"
+REQUIRED_USE="
+       client-tags? ( threads )
+       toggle? ( editor )
+       compression? ( zlib )
+       brotli? ( zlib )
+       fuzz? ( zlib )
+       ssl? ( ^^ ( mbedtls openssl ) )
+       mbedtls? ( ssl )
+       openssl? ( ssl )
+"
+
+S="${WORKDIR}/${P%_*}-${PRIVOXY_STATUS}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-gentoo.patch
+       "${FILESDIR}"/${PN}-3.0.28-chdir.patch
+       "${FILESDIR}"/${PN}-3.0.28-null-termination.patch
+       "${FILESDIR}"/${PN}-3.0.28-strip.patch
+)
+
+pkg_pretend() {
+       if ! use threads; then
+               ewarn
+               ewarn "Privoxy may be very slow without threads support, 
consider to enable them."
+               ewarn "See also 
http://www.privoxy.org/faq/trouble.html#GENTOO-RICERS";
+               ewarn
+       fi
+}
+
+src_prepare() {
+       default
+       mv configure.in configure.ac || die
+       sed -i "s|/p\.p/|/config.privoxy.org/|g" 
tools/privoxy-regression-test.pl || die
+
+       # autoreconf needs to be called even if we don't modify any autotools 
source files
+       # See main makefile
+       eautoreconf
+}
+
+src_configure() {
+       # --with-debug only enables debug CFLAGS
+       # --with-docbook and --with-db2html and their deps are useless,
+       #       since docs are already pregenerated in the source tarball
+       econf \
+               --sysconfdir=/etc/privoxy \
+               --enable-dynamic-pcre \
+               --with-user=privoxy \
+               --with-group=privoxy \
+               $(use_enable acl acl-support) \
+               $(use_enable compression) \
+               $(use_enable client-tags) \
+               $(use_enable editor) \
+               $(use_enable extended-host-patterns pcre-host-patterns) \
+               $(use_enable extended-statistics) \
+               $(use_enable fast-redirects) \
+               $(use_enable force) \
+               $(use_enable fuzz) \
+               $(use_enable graceful-termination) \
+               $(use_enable image-blocking) \
+               $(use_enable ipv6 ipv6-support) \
+               $(use_enable kernel_FreeBSD accept-filter) \
+               $(use_enable lfs large-file-support) \
+               $(use_enable png-images no-gifs) \
+               $(use_enable stats) \
+               $(use_enable threads pthread) \
+               $(use_enable toggle) \
+               $(use_enable whitelists trust-files) \
+               $(use_enable zlib) \
+               $(use_with brotli) \
+               $(use_with mbedtls) \
+               $(use_with openssl)
+}
+
+src_install() {
+       default
+
+       newinitd "${FILESDIR}/privoxy.initd-3" privoxy
+       systemd_dounit "${FILESDIR}"/${PN}.service
+
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/privoxy.logrotate" privoxy
+
+       diropts -m 0750 -g privoxy -o privoxy
+       keepdir /var/log/privoxy
+
+       use extended-host-patterns && newbin tools/url-pattern-translator.pl 
privoxy-url-pattern-translator.pl
+       if use tools; then
+               dobin tools/{privoxy-log-parser.pl,privoxy-regression-test.pl}
+               newbin tools/uagen.pl privoxy-uagen.pl
+       fi
+
+       rmdir "${ED}/var/run" || die
+       chown privoxy:root "${ED}/etc/privoxy" || die
+}
+
+pkg_postinst() {
+       if use extended-host-patterns; then
+               ewarn
+               ewarn "You enabled extended-host-patterns, now you *must* 
convert all action files in"
+               ewarn "PCRE-compatible format, or privoxy will fail to start. 
Helper tool"
+               ewarn "privoxy-url-pattern-translator.pl is available."
+               ewarn
+       fi
+}

Reply via email to