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

Re: Bug#605911: (future) unblock: network-manager/0.8.1-6



On 04.12.2010 17:26, Michael Biebl wrote:

> Debdiff is attached.

This time for real...




-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
diff --git a/debian/changelog b/debian/changelog
index 11dbc92..46daaec 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+network-manager (0.8.1-6) unstable; urgency=low
+
+  * debian/patches/40-umanaged-interfaces.patch
+    - For devices to be marked unmanaged, do not require a valid connection
+      configuration. (Closes: #569215)
+  * debian/patches/50-bridge-interfaces.patch
+    - Parse bridge configurations in /etc/network/interfaces and add
+      interfaces defined via bridge_ports to well_known_interfaces. This
+      allows to mark those interfaces as unmanaged if managed=false.
+      The "all" keyword and regexes are not supported and simply skipped.
+      (Closes: #530335)
+
+ -- Michael Biebl <biebl@debian.org>  Sat, 04 Dec 2010 17:11:13 +0100
+
 network-manager (0.8.1-5) unstable; urgency=low
 
   * Update Vcs-* fields: Move packaging from svn to git.
diff --git a/debian/patches/40-umanaged-interfaces.patch b/debian/patches/40-umanaged-interfaces.patch
new file mode 100644
index 0000000..b5509fc
--- /dev/null
+++ b/debian/patches/40-umanaged-interfaces.patch
@@ -0,0 +1,28 @@
+Index: network-manager/system-settings/plugins/ifupdown/plugin.c
+===================================================================
+--- network-manager.orig/system-settings/plugins/ifupdown/plugin.c	2010-12-03 20:47:40.656731988 +0100
++++ network-manager/system-settings/plugins/ifupdown/plugin.c	2010-12-04 16:41:38.258906974 +0100
+@@ -366,6 +366,7 @@
+ 			/* Remove any connection for this block that was previously found */
+ 			exported = g_hash_table_lookup (priv->iface_connections, block->name);
+ 			if (exported) {
++				PLUGIN_PRINT("SCPlugin-Ifupdown", "deleting %s from iface_connections", block->name);
+ 				nm_settings_connection_interface_delete (NM_SETTINGS_CONNECTION_INTERFACE (exported),
+ 				                                         ignore_cb,
+ 				                                         NULL);
+@@ -375,11 +376,14 @@
+ 			/* add the new connection */
+ 			exported = nm_ifupdown_connection_new (block);
+ 			if (exported) {
++				PLUGIN_PRINT("SCPlugin-Ifupdown", "adding %s to iface_connections", block->name);
+ 				g_hash_table_insert (priv->iface_connections, block->name, exported);
+-				g_hash_table_insert (priv->well_known_interfaces, block->name, "known");
+ 			}
++			PLUGIN_PRINT("SCPlugin-Ifupdown", "adding iface %s to well_known_interfaces", block->name);
++			g_hash_table_insert (priv->well_known_interfaces, block->name, "known");
+ 		} else if (!strcmp ("mapping", block->type)) {
+ 			g_hash_table_insert (priv->well_known_interfaces, block->name, "known");
++			PLUGIN_PRINT("SCPlugin-Ifupdown", "adding mapping %s to well_known_interfaces", block->name);
+ 		}
+ 		block = block->next;
+ 	}
diff --git a/debian/patches/50-bridge-interfaces.patch b/debian/patches/50-bridge-interfaces.patch
new file mode 100644
index 0000000..f58ba5d
--- /dev/null
+++ b/debian/patches/50-bridge-interfaces.patch
@@ -0,0 +1,63 @@
+Index: network-manager/system-settings/plugins/ifupdown/plugin.c
+===================================================================
+--- network-manager.orig/system-settings/plugins/ifupdown/plugin.c	2010-12-04 16:41:38.000000000 +0100
++++ network-manager/system-settings/plugins/ifupdown/plugin.c	2010-12-04 16:51:51.810906877 +0100
+@@ -360,9 +360,49 @@
+ 	while (block) {
+ 		if(!strcmp ("auto", block->type) || !strcmp ("allow-hotplug", block->type))
+ 			g_hash_table_insert (auto_ifaces, block->name, GUINT_TO_POINTER (1));
+-		else if (!strcmp ("iface", block->type) && strcmp ("lo", block->name)) {
++		else if (!strcmp ("iface", block->type)) {
+ 			NMIfupdownConnection *exported;
+ 
++			/* Bridge configuration */
++			if(!strncmp ("br", block->name, 2)) {
++				/* Try to find bridge ports */
++				const char *ports = ifparser_getkey (block, "bridge_ports");
++				if (ports) {
++					PLUGIN_PRINT("SCPlugin-Ifupdown", "found bridge ports %s for %s", ports, block->name);
++					char **port_ifaces = g_strsplit_set (ports, " \t", -1);
++
++					int i;
++					int state = 0;
++					for (i = 0; i < g_strv_length (port_ifaces); i++) {
++						char *token = port_ifaces[i];
++						/* Skip crazy stuff like regex or all */
++						if (!strcmp ("all", token)) {
++							continue;
++						}
++						/* Small SM to skip everything inside regex */
++						if (!strcmp ("regex", token)) {
++							state++;
++							continue;
++						}
++						if (!strcmp ("noregex", token)) {
++							state--;
++							continue;
++						}
++						if (state == 0 && strlen (token) > 0) {
++							PLUGIN_PRINT("SCPlugin-Ifupdown", "adding bridge port %s to well_known_interfaces", token);
++							g_hash_table_insert (priv->well_known_interfaces, g_strdup (token), "known");
++						}
++					}
++					g_strfreev (port_ifaces);
++				}
++				goto next;
++			}
++
++			/* Skip loopback configuration */
++			if(!strcmp ("lo", block->name)) {
++				goto next;
++			}
++
+ 			/* Remove any connection for this block that was previously found */
+ 			exported = g_hash_table_lookup (priv->iface_connections, block->name);
+ 			if (exported) {
+@@ -385,6 +425,7 @@
+ 			g_hash_table_insert (priv->well_known_interfaces, block->name, "known");
+ 			PLUGIN_PRINT("SCPlugin-Ifupdown", "adding mapping %s to well_known_interfaces", block->name);
+ 		}
++	next:
+ 		block = block->next;
+ 	}
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 365331c..012269a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,5 @@
 02-dbus_access_network_manager.patch
 10-dont_require_ifup_for_lo.patch
 30-typo_fix.patch
+40-umanaged-interfaces.patch
+50-bridge-interfaces.patch

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: