about summary refs log tree commit diff
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog12
-rw-r--r--debian/patches/20-manual_means_always_online.patch36
2 files changed, 46 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index 2bb255d5..21b3cee8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,8 +4,16 @@ network-manager (0.6.6-3) UNRELEASED; urgency=low
     - NetworkManagerDispatcher uses the D-Bus system bus. Update the LSB
       header accordingly to avoid breakages with insserv based systems.
       (Closes: #500085)
-
- -- Michael Biebl <biebl@debian.org>  Tue, 13 Jan 2009 07:05:50 +0100
+  * debian/patches/20-manual_means_always_online.patch
+    - manual-means-online: If there are interfaces that are not managed by
+      NetworkManager because they have custom configuration in
+      /etc/network/interfaces, we assume to be online. This is obviously not
+      always correct. But reporting offline state for unmanaged devices is
+      causing major hassles as more and more apps rely on NM and go into
+      offline mode otherwise, even if there is a connection (established via
+      ifupdown). (Closes: #491826, #502371, #509006, #509829, #511712)
+
+ -- Michael Biebl <biebl@debian.org>  Tue, 13 Jan 2009 07:11:49 +0100
 
 network-manager (0.6.6-2) unstable; urgency=low
 
diff --git a/debian/patches/20-manual_means_always_online.patch b/debian/patches/20-manual_means_always_online.patch
new file mode 100644
index 00000000..4da87b8e
--- /dev/null
+++ b/debian/patches/20-manual_means_always_online.patch
@@ -0,0 +1,36 @@
+diff -Nur bzr.debian.0.9.5/src/NetworkManagerDbus.c bzr.debian.0.9.5.new/src/NetworkManagerDbus.c
+--- bzr.debian.0.9.5/src/NetworkManagerDbus.c	2007-06-25 17:38:42.000000000 +0200
++++ bzr.debian.0.9.5.new/src/NetworkManagerDbus.c	2007-06-25 17:38:42.000000000 +0200
+@@ -302,6 +302,9 @@
+ 	if (data->asleep == TRUE)
+ 		return NM_STATE_ASLEEP;
+ 
++	if (data->always_online == TRUE)
++	  return NM_STATE_CONNECTED;
++
+ 	act_dev = nm_get_active_device (data);
+ 	if (!act_dev && !data->modem_active)
+ 		return NM_STATE_DISCONNECTED;
+diff -Nur bzr.debian.0.9.5/src/NetworkManagerMain.h bzr.debian.0.9.5.new/src/NetworkManagerMain.h
+--- bzr.debian.0.9.5/src/NetworkManagerMain.h	2007-06-25 17:18:17.000000000 +0200
++++ bzr.debian.0.9.5.new/src/NetworkManagerMain.h	2007-06-25 17:38:42.000000000 +0200
+@@ -86,6 +86,7 @@
+ 	gboolean				modem_active;
+ 	gboolean				asleep;
+ 	gboolean				disconnected;
++	gboolean                                always_online;
+ 
+ 	GSList *				dialup_list;
+ 	GMutex *				dialup_list_mutex;
+diff -Nur bzr.debian.0.9.5/src/nm-device.c bzr.debian.0.9.5.new/src/nm-device.c
+--- bzr.debian.0.9.5/src/nm-device.c	2007-06-25 17:38:42.000000000 +0200
++++ bzr.debian.0.9.5.new/src/nm-device.c	2007-06-25 17:38:42.000000000 +0200
+@@ -195,6 +195,8 @@
+ 	/* Allow distributions to flag devices as disabled */
+ 	if (nm_system_device_get_disabled (dev))
+ 	{
++		/* In this case, we assume we're always online */
++		app_data->always_online = TRUE;
+ 		g_object_unref (G_OBJECT (dev));
+ 		return NULL;
+ 	}