about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2013-05-07 01:56:06 +0200
committerMichael Biebl <biebl@debian.org>2013-05-07 01:56:11 +0200
commitccabd4b69402e2dbe0755c11a7ddfd6920139ba3 (patch)
tree4d02469740ba6688dd528a7e37e9ea974cbedd60
parentd74ff01a154fcc8f62b89cccf2fcc75425a8ff9e (diff)
Ensure ActiveConnections are torn down when device is unavailable.
Patch cherry-picked from upstream Git. (Closes: #700391)
-rw-r--r--debian/changelog7
-rw-r--r--debian/patches/06-tear-down-connections-for-unavailable-devices.patch29
-rw-r--r--debian/patches/series1
3 files changed, 37 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 6055c804..50bddfc1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+network-manager (0.9.8.0-4) UNRELEASED; urgency=low
+
+  * Ensure ActiveConnections are torn down when device is unavailable. Patch
+    cherry-picked from upstream Git. (Closes: #700391)
+
+ -- Michael Biebl <biebl@debian.org>  Tue, 07 May 2013 01:53:47 +0200
+
 network-manager (0.9.8.0-3) unstable; urgency=low
 
   * Use gir dh addon instead of calling dh_girepository manually.
diff --git a/debian/patches/06-tear-down-connections-for-unavailable-devices.patch b/debian/patches/06-tear-down-connections-for-unavailable-devices.patch
new file mode 100644
index 00000000..4f645790
--- /dev/null
+++ b/debian/patches/06-tear-down-connections-for-unavailable-devices.patch
@@ -0,0 +1,29 @@
+commit 22d2f571ce77f78d78a131c8df7fcbcf265b4137
+Author: Dan Williams <dcbw@redhat.com>
+Date:   Thu May 2 14:39:51 2013 -0500
+
+    core: ensure ActiveConnections are torn down when device is unavailable (bgo #676285)
+    
+    If a device becomes unmanaged or unavailable (eg, due to loss of carrier, becoming
+    unmanaged, rfkilled, supplicant crashing, etc), the ActiveConnection would simply
+    set state to UNKNOWN and the Manager wouldn't tear it down and remove it from the
+    ActiveConnections property list. Instead, these states should be treated the same
+    as if the device was deactivated cleanly so that the AC will accurately reflect
+    the device state and the Manager will clean the AC up.
+    
+    Fixes comment #12 in:
+    https://bugzilla.gnome.org/show_bug.cgi?id=676285
+
+diff --git a/src/nm-activation-request.c b/src/nm-activation-request.c
+index 76949cf..e17f2a7 100644
+--- a/src/nm-activation-request.c
++++ b/src/nm-activation-request.c
+@@ -318,6 +318,8 @@ device_state_changed (NMDevice *device, GParamSpec *pspec, NMActRequest *self)
+ 		break;
+ 	case NM_DEVICE_STATE_FAILED:
+ 	case NM_DEVICE_STATE_DISCONNECTED:
++	case NM_DEVICE_STATE_UNMANAGED:
++	case NM_DEVICE_STATE_UNAVAILABLE:
+ 		ac_state = NM_ACTIVE_CONNECTION_STATE_DEACTIVATED;
+ 
+ 		/* No longer need to pay attention to device state */
diff --git a/debian/patches/series b/debian/patches/series
index 69e54131..0cd4c002 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@
 02-dbus_access_network_manager.patch
 03-systemd.patch
 05-force-online-with-unmanaged-devices.patch
+06-tear-down-connections-for-unavailable-devices.patch