diff options
author | Mikle Kolyada <zlogene@gentoo.org> | 2020-06-29 21:13:48 +0300 |
---|---|---|
committer | Mikle Kolyada <zlogene@gentoo.org> | 2020-06-29 21:13:48 +0300 |
commit | 78173484f6055e32cf33a7c0cf1b703e1c84afc6 (patch) | |
tree | fb5337581269a1688aa836bad795c094ab1f50b7 /net-proxy/squid | |
parent | net-dns/bind-tools: Version bump (v9.16.4) (diff) | |
download | gentoo-78173484f6055e32cf33a7c0cf1b703e1c84afc6.tar.gz gentoo-78173484f6055e32cf33a7c0cf1b703e1c84afc6.tar.bz2 gentoo-78173484f6055e32cf33a7c0cf1b703e1c84afc6.zip |
net-proxy/squid: Security cleanup
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Mikle Kolyada <zlogene@gentoo.org>
Diffstat (limited to 'net-proxy/squid')
-rw-r--r-- | net-proxy/squid/Manifest | 1 | ||||
-rw-r--r-- | net-proxy/squid/files/squid-4.11-missing-debug-extra.patch | 31 | ||||
-rw-r--r-- | net-proxy/squid/squid-4.11.ebuild | 280 |
3 files changed, 0 insertions, 312 deletions
diff --git a/net-proxy/squid/Manifest b/net-proxy/squid/Manifest index aa209a896678..dac695fdb6a1 100644 --- a/net-proxy/squid/Manifest +++ b/net-proxy/squid/Manifest @@ -1,2 +1 @@ -DIST squid-4.11.tar.xz 2447700 BLAKE2B 9080508caff683bffe3e2eb64a454c95f69ab47c0ca9b1a649e553daf0dde2391aa14c6631aa6ee617687b122beef691cbe9a8e49ac5e5ea8a9737847ece9444 SHA512 02d4bb4d5860124347670615e69b1b92be7ea4fc0131e54091a06cb2e67bd73583d8e6cbe472473f0c59764611a49561d02ab9fe2bf0305ce4652d4ec7714f26 DIST squid-4.12.tar.xz 2450564 BLAKE2B 39068d5e999ebf62fbc45ea8faa8811c7b4e6a231f814f2580f54ce3ac499b503b7bc071188b4446a2a94f7eb2f4cfc6369a1b578e637a7b5e37a0ae2aabfb8e SHA512 96fa700a0c28711eb1ec5e44e1d324dc8d3accdddbc675def8babe057e2cc71083bd3817bc37cbd9f3c03772743df578573ee3698bbd6131df68c3580ad31ef4 diff --git a/net-proxy/squid/files/squid-4.11-missing-debug-extra.patch b/net-proxy/squid/files/squid-4.11-missing-debug-extra.patch deleted file mode 100644 index cf4d3ebb9a56..000000000000 --- a/net-proxy/squid/files/squid-4.11-missing-debug-extra.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0cbf89e7d266aabacc8651759a8509ebbe0f5c93 Mon Sep 17 00:00:00 2001 -From: Alex Rousskov <rousskov@measurement-factory.com> -Date: Mon, 20 Apr 2020 15:32:48 -0400 -Subject: [PATCH] Bug 5041: Missing Debug::Extra breaks build on hosts with - systemd - -Master commit 6fa8c66 (i.e. Bug 5016 fix) relied on Debug::Extra added -by master commit (ccfbe8f) that was not ported to v4. The port of the -former master commit lacked the required piece of the latter commit. - -The problem is invisible on hosts without a systemd package (that Squid -can find/use) and with Squids explicitly ./configured --without-systemd. ---- - src/Debug.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/Debug.h b/src/Debug.h -index 6eecd01bf9..ddd9e38f8f 100644 ---- a/src/Debug.h -+++ b/src/Debug.h -@@ -99,6 +99,10 @@ class Debug - - /// configures the active debugging context to write syslog ALERT - static void ForceAlert(); -+ -+ /// prefixes each grouped debugs() line after the first one in the group -+ static std::ostream& Extra(std::ostream &os) { return os << "\n "; } -+ - private: - static Context *Current; ///< deepest active context; nil outside debugs() - }; diff --git a/net-proxy/squid/squid-4.11.ebuild b/net-proxy/squid/squid-4.11.ebuild deleted file mode 100644 index d46ef90915e9..000000000000 --- a/net-proxy/squid/squid-4.11.ebuild +++ /dev/null @@ -1,280 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -WANT_AUTOMAKE="1.15" - -inherit autotools flag-o-matic linux-info pam toolchain-funcs - -DESCRIPTION="A full-featured web proxy cache" -HOMEPAGE="http://www.squid-cache.org/" - -# Upstream patch ID for the most recent bug-fixed update to the formal release. -r= -#r=-20181117-r0022167 -if [ -z "$r" ]; then - SRC_URI="http://www.squid-cache.org/Versions/v${PV%.*}/${P}.tar.xz" -else - SRC_URI="http://www.squid-cache.org/Versions/v${PV%.*}/${P}${r}.tar.bz2" - S="${S}${r}" -fi - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86" -IUSE="caps gnutls ipv6 pam ldap samba sasl kerberos nis radius ssl snmp selinux logrotate test \ - ecap esi ssl-crtd \ - mysql postgres sqlite \ - perl qos tproxy \ - +htcp +wccp +wccpv2 \ - pf-transparent ipf-transparent kqueue \ - elibc_uclibc kernel_linux" - -RESTRICT="!test? ( test )" - -BDEPEND="dev-lang/perl" - -COMMON_DEPEND="acct-group/squid - acct-user/squid - caps? ( >=sys-libs/libcap-2.16 ) - pam? ( sys-libs/pam ) - ldap? ( net-nds/openldap ) - kerberos? ( virtual/krb5 ) - qos? ( net-libs/libnetfilter_conntrack ) - ssl? ( - !gnutls? ( dev-libs/openssl:0 ) - dev-libs/nettle:= ) - sasl? ( dev-libs/cyrus-sasl ) - ecap? ( net-libs/libecap:1 ) - esi? ( dev-libs/expat dev-libs/libxml2 ) - gnutls? ( >=net-libs/gnutls-3.1.5 ) - logrotate? ( app-admin/logrotate ) - >=sys-libs/db-4:* - dev-libs/libltdl:0" - -DEPEND="${COMMON_DEPEND} - ${BDEPEND} - ecap? ( virtual/pkgconfig ) - test? ( dev-util/cppunit )" - -RDEPEND="${COMMON_DEPEND} - samba? ( net-fs/samba ) - perl? ( dev-lang/perl ) - mysql? ( dev-perl/DBD-mysql ) - postgres? ( dev-perl/DBD-Pg ) - selinux? ( sec-policy/selinux-squid ) - sqlite? ( dev-perl/DBD-SQLite )" - -REQUIRED_USE="tproxy? ( caps ) - qos? ( caps )" - -pkg_pretend() { - if use tproxy; then - local CONFIG_CHECK="~NF_CONNTRACK ~NETFILTER_XT_MATCH_SOCKET ~NETFILTER_XT_TARGET_TPROXY" - linux-info_pkg_setup - fi -} - -src_prepare() { - eapply "${FILESDIR}/${PN}-4.3-gentoo.patch" - eapply "${FILESDIR}/${PN}-4.11-missing-debug-extra.patch" - sed -i -e 's:/usr/local/squid/etc:/etc/squid:' \ - INSTALL QUICKSTART \ - scripts/fileno-to-pathname.pl \ - scripts/check_cache.pl \ - tools/cachemgr.cgi.8 \ - tools/purge/conffile.hh \ - tools/purge/purge.1 || die - sed -i -e 's:/usr/local/squid/sbin:/usr/sbin:' \ - INSTALL QUICKSTART || die - sed -i -e 's:/usr/local/squid/var/cache:/var/cache/squid:' \ - QUICKSTART || die - sed -i -e 's:/usr/local/squid/var/logs:/var/log/squid:' \ - QUICKSTART \ - src/log/access_log.cc || die - sed -i -e 's:/usr/local/squid/logs:/var/log/squid:' \ - src/log/access_log.cc || die - sed -i -e 's:/usr/local/squid/libexec:/usr/libexec/squid:' \ - src/acl/external/unix_group/ext_unix_group_acl.8 \ - src/acl/external/session/ext_session_acl.8 || die - sed -i -e 's:/usr/local/squid/cache:/var/cache/squid:' \ - scripts/check_cache.pl || die - # /var/run/squid to /run/squid - sed -i -e 's:$(localstatedir)::' \ - src/ipc/Makefile.am || die - sed -i -e 's:_LTDL_SETUP:LTDL_INIT([installable]):' \ - libltdl/configure.ac || die - - eapply_user - eautoreconf -} - -src_configure() { - local basic_modules="NCSA,POP3,getpwnam" - use samba && basic_modules+=",SMB" - use ldap && basic_modules+=",SMB_LM,LDAP" - use pam && basic_modules+=",PAM" - use sasl && basic_modules+=",SASL" - use nis && ! use elibc_uclibc && basic_modules+=",NIS" - use radius && basic_modules+=",RADIUS" - if use mysql || use postgres || use sqlite ; then - basic_modules+=",DB" - fi - - local digest_modules="file" - use ldap && digest_modules+=",LDAP,eDirectory" - - local negotiate_modules="none" - local myconf="--without-mit-krb5 --without-heimdal-krb5" - if use kerberos ; then - negotiate_modules="kerberos,wrapper" - if has_version app-crypt/heimdal ; then - myconf="--without-mit-krb5 --with-heimdal-krb5" - else - myconf="--with-mit-krb5 --without-heimdal-krb5" - fi - fi - - local ntlm_modules="none" - use samba && ntlm_modules="SMB_LM" - - local ext_helpers="file_userip,session,unix_group,delayer,time_quota" - use samba && ext_helpers+=",wbinfo_group" - use ldap && ext_helpers+=",LDAP_group,eDirectory_userip" - use ldap && use kerberos && ext_helpers+=",kerberos_ldap_group" - if use mysql || use postgres || use sqlite ; then - ext_helpers+=",SQL_session" - fi - - local storeio_modules="aufs,diskd,rock,ufs" - - local transparent - if use kernel_linux ; then - transparent+=" --enable-linux-netfilter" - use qos && transparent+=" --enable-zph-qos --with-netfilter-conntrack" - fi - - if use kernel_FreeBSD || use kernel_OpenBSD || use kernel_NetBSD ; then - transparent+=" $(use_enable kqueue)" - if use pf-transparent; then - transparent+=" --enable-pf-transparent" - elif use ipf-transparent; then - transparent+=" --enable-ipf-transparent" - fi - fi - - tc-export_build_env BUILD_CXX - export BUILDCXX=${BUILD_CXX} - export BUILDCXXFLAGS=${BUILD_CXXFLAGS} - tc-export CC AR - - # Should be able to drop this workaround with newer versions. - # https://bugs.squid-cache.org/show_bug.cgi?id=4224 - tc-is-cross-compiler && export squid_cv_gnu_atomics=no - - # Bug #719662 - (use ppc || use arm || use hppa) && append-libs -latomic - - econf \ - --sysconfdir=/etc/squid \ - --libexecdir=/usr/libexec/squid \ - --localstatedir=/var \ - --with-pidfile=/run/squid.pid \ - --datadir=/usr/share/squid \ - --with-logdir=/var/log/squid \ - --with-default-user=squid \ - --enable-removal-policies="lru,heap" \ - --enable-storeio="${storeio_modules}" \ - --enable-disk-io \ - --enable-auth-basic="${basic_modules}" \ - --enable-auth-digest="${digest_modules}" \ - --enable-auth-ntlm="${ntlm_modules}" \ - --enable-auth-negotiate="${negotiate_modules}" \ - --enable-external-acl-helpers="${ext_helpers}" \ - --enable-log-daemon-helpers \ - --enable-url-rewrite-helpers \ - --enable-cache-digests \ - --enable-delay-pools \ - --enable-eui \ - --enable-icmp \ - --enable-follow-x-forwarded-for \ - --with-large-files \ - --with-build-environment=default \ - --disable-strict-error-checking \ - --disable-arch-native \ - --with-included-ltdl=/usr/include \ - --with-ltdl-libdir=/usr/$(get_libdir) \ - $(use_with caps libcap) \ - $(use_enable ipv6) \ - $(use_enable snmp) \ - $(use_with ssl openssl) \ - $(use_with ssl nettle) \ - $(use_with gnutls) \ - $(use_enable ssl-crtd) \ - $(use_enable ecap) \ - $(use_enable esi) \ - $(use_enable htcp) \ - $(use_enable wccp) \ - $(use_enable wccpv2) \ - ${transparent} \ - ${myconf} -} - -src_install() { - default - - # need suid root for looking into /etc/shadow - fowners root:squid /usr/libexec/squid/basic_ncsa_auth - fperms 4750 /usr/libexec/squid/basic_ncsa_auth - if use pam; then - fowners root:squid /usr/libexec/squid/basic_pam_auth - fperms 4750 /usr/libexec/squid/basic_pam_auth - fi - # pinger needs suid as well - fowners root:squid /usr/libexec/squid/pinger - fperms 4750 /usr/libexec/squid/pinger - - # these scripts depend on perl - if ! use perl; then - for f in basic_pop3_auth \ - ext_delayer_acl \ - helper-mux \ - log_db_daemon \ - security_fake_certverify \ - storeid_file_rewrite \ - url_lfs_rewrite; do - rm "${D}"/usr/libexec/squid/${f} || die - done - fi - - # cleanup - rm -r "${D}"/run "${D}"/var/cache || die - - dodoc CONTRIBUTORS CREDITS ChangeLog INSTALL QUICKSTART README SPONSORS doc/*.txt - newdoc src/auth/negotiate/kerberos/README README.kerberos - newdoc src/auth/basic/RADIUS/README README.RADIUS - newdoc src/acl/external/kerberos_ldap_group/README README.kerberos_ldap_group - dodoc RELEASENOTES.html - - newpamd "${FILESDIR}/squid.pam" squid - newconfd "${FILESDIR}/squid.confd-r2" squid - newinitd "${FILESDIR}/squid.initd-r5" squid - if use logrotate; then - insinto /etc/logrotate.d - newins "${FILESDIR}/squid.logrotate" squid - else - exeinto /etc/cron.weekly - newexe "${FILESDIR}/squid.cron" squid.cron - fi - - diropts -m0750 -o squid -g squid - keepdir /var/log/squid /etc/ssl/squid /var/lib/squid -} - -pkg_postinst() { - elog "A good starting point to debug Squid issues is to use 'squidclient mgr:' commands such as 'squidclient mgr:info'." - if [ ${#r} -gt 0 ]; then - elog "You are using a release with the official ${r} patch! Make sure you mention that, or send the output of 'squidclient mgr:info' when asking for support." - fi -} |