diff options
author | Sam James <sam@gentoo.org> | 2020-12-15 04:50:17 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2020-12-15 04:50:17 +0000 |
commit | 60e59f03b62e262dc5056d77fadb9cfe321e06c6 (patch) | |
tree | 161d882d748ade4aa6823481044e03094d1b0836 /net-libs/libproxy | |
parent | dev-libs/pugixml: bump to 1.11.2 (diff) | |
download | gentoo-60e59f03b62e262dc5056d77fadb9cfe321e06c6.tar.gz gentoo-60e59f03b62e262dc5056d77fadb9cfe321e06c6.tar.bz2 gentoo-60e59f03b62e262dc5056d77fadb9cfe321e06c6.zip |
net-libs/libproxy: security bump to 0.4.16
Bug: https://bugs.gentoo.org/741538
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-libs/libproxy')
-rw-r--r-- | net-libs/libproxy/Manifest | 1 | ||||
-rw-r--r-- | net-libs/libproxy/files/libproxy-0.4.16-avoid-nm-build-dep.patch | 85 | ||||
-rw-r--r-- | net-libs/libproxy/libproxy-0.4.16.ebuild | 81 |
3 files changed, 167 insertions, 0 deletions
diff --git a/net-libs/libproxy/Manifest b/net-libs/libproxy/Manifest index a35afe3e3158..d879cde8ceec 100644 --- a/net-libs/libproxy/Manifest +++ b/net-libs/libproxy/Manifest @@ -1 +1,2 @@ DIST libproxy-0.4.15.tar.gz 93084 BLAKE2B 9aa86403eaf4e1791958013c2739e251c61f11da40e66b3296b33a7f380828895f621175add5efb3cd17222ff016941801c25c2d70c19ef3a6652510268a0b3d SHA512 8f68bd56e44aeb3f553f4657bef82a5d14302780508dafa32454d6f724b724c884ceed6042f8df53a081d26ea0b05598cf35eab44823257c47c5ef8afb36442b +DIST libproxy-0.4.16.tar.gz 95534 BLAKE2B 163f4fa359758a2186802683005b7d2bbd68933d2512f2c4a284912b6d07e3aa288613e3b473d1bd8d9fe941033da634490c78367692a489da31184dd4dc3cb8 SHA512 28bca7c86e486d08ddc1699e562dd98366b569ec9a7a965f7d15d265ede508575e6eae43abde1778f46d55c3304d32218d891d01ba6a8c360820412748ed5ca1 diff --git a/net-libs/libproxy/files/libproxy-0.4.16-avoid-nm-build-dep.patch b/net-libs/libproxy/files/libproxy-0.4.16-avoid-nm-build-dep.patch new file mode 100644 index 000000000000..4a287955bbaf --- /dev/null +++ b/net-libs/libproxy/files/libproxy-0.4.16-avoid-nm-build-dep.patch @@ -0,0 +1,85 @@ +From 703ac16ea2b508dc16d433b3fd597fcd496d05c1 Mon Sep 17 00:00:00 2001 +From: Alexandre Rostovtsev <tetromino@gentoo.org> +Date: Mon, 29 Apr 2013 23:02:25 -0400 +Subject: [PATCH] Avoid build-time dependency on NetworkManager + +Needed to prevent a dependency loop: +nm -> libsoup -> glib-networking -> libproxy -> nm + +https://bugs.gentoo.org/467696 + +* asturm@gentoo.org: Rebased on top of 0.4.15 + also revert 423801295921ab1ec0d98565fcbc2635088d45da +* sam@gentoo.org: Rebased on top of 0.4.16 + (same revert included) +--- + libproxy/cmake/modules.cmk | 6 ++--- + .../cmake/modules/network_networkmanager.cmk | 5 +--- + libproxy/modules/network_networkmanager.cpp | 23 ++++++++++++++----- + 3 files changed, 21 insertions(+), 13 deletions(-) + +diff --git a/libproxy/cmake/modules.cmk b/libproxy/cmake/modules.cmk +index 11d2d43..cc2b58f 100644 +--- a/libproxy/cmake/modules.cmk ++++ b/libproxy/cmake/modules.cmk +@@ -40,10 +40,10 @@ px_module(config_w32reg "${WIN32}" 1) + px_module(ignore_domain 1 1) + px_module(ignore_hostname 1 1) + px_module(ignore_ip 1 1) +-if(NM_FOUND OR NMold_FOUND) ++if(NM_FOUND) + set(NM_BUILD 1) +-endif(NM_FOUND OR NMold_FOUND) +-px_module(network_networkmanager "${NM_BUILD}" 0 ${NM_LIBRARIES}${NMold_LIBRARIES}) ++endif(NM_FOUND) ++px_module(network_networkmanager "${NM_BUILD}" 0 ${NM_LIBRARIES}) + px_module(pacrunner_mozjs 0 ${BIPR} ${MOZJS_LIBRARIES}) + px_module(pacrunner_natus "${NATUS_FOUND}" ${BIPR} ${NATUS_LIBRARIES}) + px_module(pacrunner_webkit "${WEBKIT_FOUND}" ${BIPR} ${WEBKIT_LIBRARIES}) +diff --git a/libproxy/cmake/modules/network_networkmanager.cmk b/libproxy/cmake/modules/network_networkmanager.cmk +index 6ef6ead..2586bbd 100644 +--- a/libproxy/cmake/modules/network_networkmanager.cmk ++++ b/libproxy/cmake/modules/network_networkmanager.cmk +@@ -1,6 +1,3 @@ + if (NOT WIN32 AND NOT APPLE) +- px_check_modules(NM libnm dbus-1) +- if (NOT NM_FOUND) +- px_check_modules(NMold NetworkManager dbus-1) +- endif (NOT NM_FOUND) ++ px_check_modules(NM dbus-1) + endif() +diff --git a/libproxy/modules/network_networkmanager.cpp b/libproxy/modules/network_networkmanager.cpp +index 546a8ee..317f1ab 100644 +--- a/libproxy/modules/network_networkmanager.cpp ++++ b/libproxy/modules/network_networkmanager.cpp +@@ -23,13 +23,24 @@ + using namespace libproxy; + + #include <dbus/dbus.h> +-#include <NetworkManager.h> + +-// Backwards compatibility: with the switch to libnm, NM_STATE_CONNECTED is no +-// longer defined. NM_STATE_CONNECTED_GLOBAL appeared with NM 0.9 and was aliased +-#ifndef NM_STATE_CONNECTED +- #define NM_STATE_CONNECTED NM_STATE_CONNECTED_GLOBAL +-#endif ++/* ++ * copy-pasted from NetworkManager-1.26.0's NetworkManager.h to prevent ++ * a circular dependency; https://bugs.gentoo.org/467696 ++ */ ++#define NM_DBUS_PATH "/org/freedesktop/NetworkManager" ++#define NM_DBUS_INTERFACE "org.freedesktop.NetworkManager" ++typedef enum { ++ NM_STATE_UNKNOWN = 0, ++ NM_STATE_ASLEEP = 10, ++ NM_STATE_DISCONNECTED = 20, ++ NM_STATE_DISCONNECTING = 30, ++ NM_STATE_CONNECTING = 40, ++ NM_STATE_CONNECTED_LOCAL = 50, ++ NM_STATE_CONNECTED_SITE = 60, ++ NM_STATE_CONNECTED_GLOBAL = 70, ++} NMState; ++#define NM_STATE_CONNECTED NM_STATE_CONNECTED_GLOBAL + + class networkmanager_network_extension : public network_extension { + public: diff --git a/net-libs/libproxy/libproxy-0.4.16.ebuild b/net-libs/libproxy/libproxy-0.4.16.ebuild new file mode 100644 index 000000000000..1373ea5f58a0 --- /dev/null +++ b/net-libs/libproxy/libproxy-0.4.16.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake +inherit cmake-multilib flag-o-matic mono-env + +DESCRIPTION="Library for automatic proxy configuration management" +HOMEPAGE="https://github.com/libproxy/libproxy" +SRC_URI="https://github.com/libproxy/libproxy/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="gnome kde mono networkmanager spidermonkey test webkit" + +RESTRICT="!test? ( test )" + +BDEPEND=" + virtual/pkgconfig +" +DEPEND=" + gnome? ( dev-libs/glib:2[${MULTILIB_USEDEP}] ) + mono? ( dev-lang/mono ) + networkmanager? ( sys-apps/dbus:0[${MULTILIB_USEDEP}] ) + spidermonkey? ( >=dev-lang/spidermonkey-52.0.0:= ) + webkit? ( net-libs/webkit-gtk:4 ) +" +RDEPEND="${DEPEND} + kde? ( kde-frameworks/kconfig:5 ) +" +# avoid dependency loop, bug #467696 +PDEPEND="networkmanager? ( net-misc/networkmanager )" + +PATCHES=( + # get-pac-test freezes when run by the ebuild, succeeds when building + # manually; virtualx.eclass doesn't help :( + "${FILESDIR}/${PN}-0.4.10-disable-pac-test.patch" + + # https://github.com/libproxy/libproxy/issues/27 + "${FILESDIR}/${PN}-0.4.12-macosx.patch" + + # prevent dependency loop with networkmanager, libsoup, glib-networking; bug #467696 + # https://github.com/libproxy/libproxy/issues/28 + "${FILESDIR}/${P}-avoid-nm-build-dep.patch" +) + +multilib_src_configure() { + local mycmakeargs=( + -DCMAKE_C_FLAGS="${CFLAGS}" + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" + -DWITH_NATUS=OFF + -DWITH_PYTHON2=OFF + # WITH_VALA just copies the .vapi file over and needs no deps, + # hence always enable it unconditionally + -DWITH_VALA=ON + -DWITH_WEBKIT=OFF + $(multilib_is_native_abi && usex mono -DGMCS_EXECUTABLE="${EPREFIX}"/usr/bin/mcs) + -DWITH_GNOME3=$(usex gnome) + -DWITH_KDE=$(usex kde) + -DWITH_DOTNET=$(multilib_is_native_abi && usex mono || echo OFF) + -DWITH_NM=$(usex networkmanager) + -DWITH_PERL=OFF # bug 705410, uses reserved target name "test" + -DWITH_PYTHON3=OFF # Major issue: https://github.com/libproxy/libproxy/issues/65 + -DWITH_MOZJS=$(multilib_is_native_abi && usex spidermonkey || echo OFF) + -DBUILD_TESTING=$(usex test) + -DWITH_WEBKIT3=$(multilib_is_native_abi && usex webkit || echo OFF) + ) + cmake_src_configure +} + +src_configure() { + [[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl + + multilib-minimal_src_configure +} + +multilib_src_install_all() { + doman "${FILESDIR}"/proxy.1 +} |