[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#854700: unblock: libproxy/0.4.14-2



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Hi,

Please unblock package libproxy

I recently discovered that the networkmanager libproxy plugin was not
listening to the correct NM event meaning that the cache of libproxy was
not properly cleaned up in case of network topology change.

After fixing that bug, I discovered that I could create a segfault in
some situation when the cache was invalidated.

The two patches have already been merged upstream

Upstream bug: https://github.com/libproxy/libproxy/issues/58 and
https://github.com/libproxy/libproxy/issues/59

unblock libproxy/0.4.14-2

Regards,

Laurent Bigonville

-- System Information:
Debian Release: 9.0
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_BE.UTF-8, LC_CTYPE=fr_BE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru libproxy-0.4.14/debian/changelog libproxy-0.4.14/debian/changelog
--- libproxy-0.4.14/debian/changelog	2017-01-22 13:58:45.000000000 +0100
+++ libproxy-0.4.14/debian/changelog	2017-02-08 12:17:50.000000000 +0100
@@ -1,3 +1,11 @@
+libproxy (0.4.14-2) unstable; urgency=medium
+
+  * debian/patches/fix-clean-reload-cache.patch: Make sure that the PAC/WPAD
+    cache is cleanup when network topology changes and prevent a segfault in
+    the process, patches merged upstream.
+
+ -- Laurent Bigonville <bigon@debian.org>  Wed, 08 Feb 2017 12:17:50 +0100
+
 libproxy (0.4.14-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru libproxy-0.4.14/debian/libgproxy1-plugin-gsettings.install libproxy-0.4.14/debian/libgproxy1-plugin-gsettings.install
--- libproxy-0.4.14/debian/libgproxy1-plugin-gsettings.install	2013-11-26 02:22:50.000000000 +0100
+++ libproxy-0.4.14/debian/libgproxy1-plugin-gsettings.install	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-usr/lib/libproxy/0.4.7/modules/config_gnome3.so
-usr/lib/libproxy/0.4.7/pxgsettings
diff -Nru libproxy-0.4.14/debian/patches/fix-clean-reload-cache.patch libproxy-0.4.14/debian/patches/fix-clean-reload-cache.patch
--- libproxy-0.4.14/debian/patches/fix-clean-reload-cache.patch	1970-01-01 01:00:00.000000000 +0100
+++ libproxy-0.4.14/debian/patches/fix-clean-reload-cache.patch	2017-02-07 16:48:06.000000000 +0100
@@ -0,0 +1,52 @@
+From 1bf46e951b9d35e2e5ad61c85b15f32496017247 Mon Sep 17 00:00:00 2001
+From: Laurent Bigonville <bigon@bigon.be>
+Date: Tue, 7 Feb 2017 16:02:29 +0100
+Subject: [PATCH] Use StateChanged signal instead of StateChange
+
+StateChange signal has been deprecated since NM 0.7 and has been
+completely removed in 0.9, see:
+https://developer.gnome.org/NetworkManager/0.9/ref-migrating.html
+
+Closes: #58
+---
+ libproxy/modules/network_networkmanager.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libproxy/modules/network_networkmanager.cpp b/libproxy/modules/network_networkmanager.cpp
+index 5198860..546a8ee 100644
+--- a/libproxy/modules/network_networkmanager.cpp
++++ b/libproxy/modules/network_networkmanager.cpp
+@@ -62,7 +62,7 @@ class networkmanager_network_extension : public network_extension {
+ 
+ 			// If connection was successful, set it up
+ 			dbus_connection_set_exit_on_disconnect(conn, false);
+-			dbus_bus_add_match(conn, "type='signal',interface='" NM_DBUS_INTERFACE "',member='StateChange'", NULL);
++			dbus_bus_add_match(conn, "type='signal',interface='" NM_DBUS_INTERFACE "',member='StateChanged'", NULL);
+ 			dbus_connection_flush(conn);
+ 		}
+ 
+From 0bdcf9f9dbee67dee47694e0012fa891588abc89 Mon Sep 17 00:00:00 2001
+From: Laurent Bigonville <bigon@bigon.be>
+Date: Tue, 7 Feb 2017 16:05:00 +0100
+Subject: [PATCH] Set lasturl to NULL after free/delete
+
+It avoids the lasturl to be freed a 2nd time when the rewind() method is
+called.
+
+Closes: #59
+---
+ libproxy/modules/wpad_dns_alias.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libproxy/modules/wpad_dns_alias.cpp b/libproxy/modules/wpad_dns_alias.cpp
+index 669dccf..5b8c2e0 100644
+--- a/libproxy/modules/wpad_dns_alias.cpp
++++ b/libproxy/modules/wpad_dns_alias.cpp
+@@ -39,6 +39,7 @@ class dns_alias_wpad_extension : public wpad_extension {
+ 		lastpac = *pac = lasturl->get_pac();
+ 		if (!lastpac) {
+ 		    delete lasturl;
++		    lasturl = NULL;
+ 		    return NULL;
+ 		}
+ 
diff -Nru libproxy-0.4.14/debian/patches/series libproxy-0.4.14/debian/patches/series
--- libproxy-0.4.14/debian/patches/series	2017-01-22 13:49:57.000000000 +0100
+++ libproxy-0.4.14/debian/patches/series	2017-02-07 16:48:25.000000000 +0100
@@ -1 +1,2 @@
 disable-pac-test.patch
+fix-clean-reload-cache.patch

Reply to: