summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2020-12-15 04:50:17 +0000
committerSam James <sam@gentoo.org>2020-12-15 04:50:17 +0000
commit60e59f03b62e262dc5056d77fadb9cfe321e06c6 (patch)
tree161d882d748ade4aa6823481044e03094d1b0836 /net-libs/libproxy/files/libproxy-0.4.16-avoid-nm-build-dep.patch
parentdev-libs/pugixml: bump to 1.11.2 (diff)
downloadgentoo-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/files/libproxy-0.4.16-avoid-nm-build-dep.patch')
-rw-r--r--net-libs/libproxy/files/libproxy-0.4.16-avoid-nm-build-dep.patch85
1 files changed, 85 insertions, 0 deletions
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: