Package: release.debian.org
Severity: normal
User: release.debian....@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 <bi...@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 <bi...@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 <bi...@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 via email to