summary refs log tree commit diff
path: root/src/settings/plugins/ifupdown/parser.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2014-07-06 02:16:10 +0200
committerMichael Biebl <biebl@debian.org>2014-07-06 02:16:10 +0200
commit33491bc4279481db8ae47213e34a6d695a0e8830 (patch)
tree097d2b0fdff3fae6885381ae5e57a182cd8cbbba /src/settings/plugins/ifupdown/parser.c
parent59c3714a494c3b3765657c0551ad82842d98a7d2 (diff)
Imported Upstream version 0.9.10.0 upstream/0.9.10.0
Diffstat (limited to 'src/settings/plugins/ifupdown/parser.c')
-rw-r--r--src/settings/plugins/ifupdown/parser.c125
1 files changed, 56 insertions, 69 deletions
diff --git a/src/settings/plugins/ifupdown/parser.c b/src/settings/plugins/ifupdown/parser.c
index d81fd84d..91ed3e21 100644
--- a/src/settings/plugins/ifupdown/parser.c
+++ b/src/settings/plugins/ifupdown/parser.c
@@ -36,6 +36,7 @@
 #include <nm-setting-8021x.h>
 #include <nm-system-config-interface.h>
 #include <nm-utils.h>
+#include <nm-logging.h>
 #include <ctype.h>
 
 #include "parser.h"
@@ -67,9 +68,7 @@ _ifupdownplugin_guess_connection_type (if_block *block)
 	if(!ret_type)
 		ret_type = NM_SETTING_WIRED_SETTING_NAME;
 
-	PLUGIN_PRINT("SCPluginIfupdown",
-			   "guessed connection type (%s) = %s",
-			   block->name, ret_type);
+	nm_log_info (LOGD_SETTINGS, "guessed connection type (%s) = %s", block->name, ret_type);
 	return ret_type;
 }
 
@@ -111,15 +110,14 @@ update_wireless_setting_from_if_block(NMConnection *connection,
 		return;
 	}
 
-	PLUGIN_PRINT ("SCPlugin-Ifupdown", "update wireless settings (%s).", block->name);
+	nm_log_info (LOGD_SETTINGS, "update wireless settings (%s).", block->name);
 	wireless_setting = NM_SETTING_WIRELESS(nm_setting_wireless_new());
 
 	while(curr) {
 		if(strlen(curr->key) > wireless_l &&
 		   !strncmp("wireless-", curr->key, wireless_l)) {
 			const gchar* newkey = map_by_mapping(mapping, curr->key+wireless_l);
-			PLUGIN_PRINT ("SCPlugin-Ifupdown", "wireless setting key: %s='%s'",
-					    newkey, curr->data);
+			nm_log_info (LOGD_SETTINGS, "wireless setting key: %s='%s'", newkey, curr->data);
 			if(newkey && !strcmp("ssid", newkey)) {
 				GByteArray *ssid;
 				gint len = strlen(curr->data);
@@ -128,7 +126,7 @@ update_wireless_setting_from_if_block(NMConnection *connection,
 				g_byte_array_append (ssid, (const guint8 *) curr->data, len);
 				g_object_set (wireless_setting, NM_SETTING_WIRELESS_SSID, ssid, NULL);
 				g_byte_array_free (ssid, TRUE);
-				PLUGIN_PRINT("SCPlugin-Ifupdown", "setting wireless ssid = %d", len);
+				nm_log_info (LOGD_SETTINGS, "setting wireless ssid = %d", len);
 			} else {
 				g_object_set(wireless_setting,
 					   newkey, curr->data,
@@ -146,13 +144,13 @@ update_wireless_setting_from_if_block(NMConnection *connection,
 				g_byte_array_append (ssid, (const guint8 *) curr->data, len);
 				g_object_set (wireless_setting, NM_SETTING_WIRELESS_SSID, ssid, NULL);
 				g_byte_array_free (ssid, TRUE);
-				PLUGIN_PRINT("SCPlugin-Ifupdown", "setting wpa ssid = %d", len);
+				nm_log_info (LOGD_SETTINGS, "setting wpa ssid = %d", len);
 			} else if(newkey) {
 
 				g_object_set(wireless_setting,
 						   newkey, curr->data,
 						   NULL);
-				PLUGIN_PRINT ("SCPlugin-Ifupdown", "setting wpa newkey(%s)=data(%s)", newkey, curr->data);
+				nm_log_info (LOGD_SETTINGS, "setting wpa newkey(%s)=data(%s)", newkey, curr->data);
 			}
 		}
 		curr = curr->next;
@@ -240,9 +238,7 @@ string_to_glist_of_strings(const gchar* data)
 static void
 slist_free_all(gpointer slist)
 {
-	GSList *list = (GSList *) slist;
-	g_slist_foreach (list, (GFunc) g_free, NULL);
-	g_slist_free (list);
+	g_slist_free_full ((GSList *) slist, g_free);
 }
 
 static void
@@ -315,7 +311,7 @@ update_wireless_security_setting_from_if_block(NMConnection *connection,
 	s_wireless = nm_connection_get_setting_wireless(connection);
 	g_return_if_fail(s_wireless);
 
-	PLUGIN_PRINT ("SCPlugin-Ifupdown","update wireless security settings (%s).", block->name);
+	nm_log_info (LOGD_SETTINGS, "update wireless security settings (%s).", block->name);
 	wireless_security_setting =
 		NM_SETTING_WIRELESS_SECURITY(nm_setting_wireless_security_new());
 
@@ -330,12 +326,13 @@ update_wireless_security_setting_from_if_block(NMConnection *connection,
 			IfupdownStrToTypeFunc type_map_func = map_by_mapping (type_mapping, curr->key+wireless_l);
 			GFreeFunc free_func = map_by_mapping (free_type_mapping, curr->key+wireless_l);
 			if(!newkey || !dupe_func) {
-				g_warning("no (wireless) mapping found for key: %s", curr->key);
+				nm_log_warn (LOGD_SETTINGS, "no (wireless) mapping found for key: %s",
+				             curr->key);
 				goto next;
 			}
 			property_value = (*dupe_func) (curr->data, connection);
-			PLUGIN_PRINT ("SCPlugin-Ifupdown", "setting wireless security key: %s=%s",
-					    newkey, property_value);
+			nm_log_info (LOGD_SETTINGS, "setting wireless security key: %s=%s",
+			             newkey, property_value);
 
 			if (type_map_func) {
 				errno = 0;
@@ -367,23 +364,23 @@ update_wireless_security_setting_from_if_block(NMConnection *connection,
 				goto next;
 			}
 			property_value = (*dupe_func) (curr->data, connection);
-			PLUGIN_PRINT ("SCPlugin-Ifupdown", "setting wpa security key: %s=%s",
-					    newkey,
+			nm_log_info (LOGD_SETTINGS, "setting wpa security key: %s=%s",
+			             newkey,
 #ifdef DEBUG_SECRETS
-					    property_value
+			             property_value
 #else // DEBUG_SECRETS
-					    !strcmp("key", newkey) ||
-					    !strcmp("leap-password", newkey) ||
-					    !strcmp("pin", newkey) ||
-					    !strcmp("psk", newkey) ||
-					    !strcmp("wep-key0", newkey) ||
-					    !strcmp("wep-key1", newkey) ||
-					    !strcmp("wep-key2", newkey) ||
-					    !strcmp("wep-key3", newkey) ||
-					    NULL ?
-					    "<omitted>" : property_value
+			             !strcmp("key", newkey) ||
+			             !strcmp("leap-password", newkey) ||
+			             !strcmp("pin", newkey) ||
+			             !strcmp("psk", newkey) ||
+			             !strcmp("wep-key0", newkey) ||
+			             !strcmp("wep-key1", newkey) ||
+			             !strcmp("wep-key2", newkey) ||
+			             !strcmp("wep-key3", newkey) ||
+			             NULL ?
+			             "<omitted>" : property_value
 #endif // DEBUG_SECRETS
-					    );
+			             );
 
 			if (type_map_func) {
 				errno = 0;
@@ -407,11 +404,8 @@ update_wireless_security_setting_from_if_block(NMConnection *connection,
 	}
 
 
-	if(security) {
-		nm_connection_add_setting(connection, NM_SETTING(wireless_security_setting));
-		g_object_set(s_wireless, NM_SETTING_WIRELESS_SEC, NM_SETTING_WIRELESS_SECURITY_SETTING_NAME, NULL);
-	}
-
+	if (security)
+		nm_connection_add_setting (connection, NM_SETTING (wireless_security_setting));
 }
 
 static void
@@ -437,7 +431,7 @@ eni_plugin_error_quark() {
 static void
 ifupdown_ip4_add_dns (NMSettingIP4Config *s_ip4, const char *dns)
 {
-	struct in_addr addr;
+	guint32 addr;
 	char **list, **iter;
 
 	if (dns == NULL)
@@ -449,15 +443,12 @@ ifupdown_ip4_add_dns (NMSettingIP4Config *s_ip4, const char *dns)
 		if (g_ascii_isspace (*iter[0]))
 			continue;
 		if (!inet_pton (AF_INET, *iter, &addr)) {
-			PLUGIN_WARN ("SCPlugin-Ifupdown",
-					   "    warning: ignoring invalid nameserver '%s'", *iter);
+			nm_log_warn (LOGD_SETTINGS, "    ignoring invalid nameserver '%s'", *iter);
 			continue;
 		}
 
-		if (!nm_setting_ip4_config_add_dns (s_ip4, addr.s_addr)) {
-			PLUGIN_WARN ("SCPlugin-Ifupdown",
-					   "    warning: duplicate DNS domain '%s'", *iter);
-		}
+		if (!nm_setting_ip4_config_add_dns (s_ip4, addr))
+			nm_log_warn (LOGD_SETTINGS, "    duplicate DNS domain '%s'", *iter);
 	}
 	g_strfreev (list);
 }
@@ -475,7 +466,7 @@ update_ip4_setting_from_if_block(NMConnection *connection,
 	if (!is_static) {
 		g_object_set (s_ip4, NM_SETTING_IP4_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_AUTO, NULL);
 	} else {
-		struct in_addr tmp_addr, tmp_mask, tmp_gw;
+		guint32 tmp_addr, tmp_mask, tmp_gw;
 		NMIP4Address *addr;
 		const char *address_v;
 		const char *netmask_v;
@@ -510,7 +501,7 @@ update_ip4_setting_from_if_block(NMConnection *connection,
 						   "Invalid IPv4 netmask '%s'", netmask_v);
 				goto error;
 			} else {
-				netmask_int = nm_utils_ip4_netmask_to_prefix (tmp_mask.s_addr);
+				netmask_int = nm_utils_ip4_netmask_to_prefix (tmp_mask);
 			}
 		}
 
@@ -526,16 +517,17 @@ update_ip4_setting_from_if_block(NMConnection *connection,
 
 		/* Add the new address to the setting */
 		addr = nm_ip4_address_new ();
-		nm_ip4_address_set_address (addr, tmp_addr.s_addr);
+		nm_ip4_address_set_address (addr, tmp_addr);
 		nm_ip4_address_set_prefix (addr, netmask_int);
-		nm_ip4_address_set_gateway (addr, tmp_gw.s_addr);
+		nm_ip4_address_set_gateway (addr, tmp_gw);
 
 		if (nm_setting_ip4_config_add_address (s_ip4, addr)) {
-			PLUGIN_PRINT("SCPlugin-Ifupdown", "addresses count: %d",
+			nm_log_info (LOGD_SETTINGS, "addresses count: %d",
 			             nm_setting_ip4_config_get_num_addresses (s_ip4));
 		} else {
-			PLUGIN_PRINT("SCPlugin-Ifupdown", "ignoring duplicate IP4 address");
+			nm_log_info (LOGD_SETTINGS, "ignoring duplicate IP4 address");
 		}
+		nm_ip4_address_unref (addr);
 
 		nameserver_v = ifparser_getkey (block, "dns-nameserver");
 		ifupdown_ip4_add_dns (s_ip4, nameserver_v);
@@ -544,7 +536,7 @@ update_ip4_setting_from_if_block(NMConnection *connection,
 		ifupdown_ip4_add_dns (s_ip4, nameservers_v);
 
 		if (!nm_setting_ip4_config_get_num_dns (s_ip4))
-			PLUGIN_PRINT("SCPlugin-Ifupdown", "No dns-nameserver configured in /etc/network/interfaces");
+			nm_log_info (LOGD_SETTINGS, "No dns-nameserver configured in /etc/network/interfaces");
 
 		/* DNS searches */
 		search_v = ifparser_getkey (block, "dns-search");
@@ -554,10 +546,8 @@ update_ip4_setting_from_if_block(NMConnection *connection,
 				g_strstrip (*iter);
 				if (g_ascii_isspace (*iter[0]))
 					continue;
-				if (!nm_setting_ip4_config_add_dns_search (s_ip4, *iter)) {
-					PLUGIN_WARN ("SCPlugin-Ifupdown",
-							   "    warning: duplicate DNS domain '%s'", *iter);
-				}
+				if (!nm_setting_ip4_config_add_dns_search (s_ip4, *iter))
+					nm_log_warn (LOGD_SETTINGS, "    duplicate DNS domain '%s'", *iter);
 			}
 			g_strfreev (list);
 		}
@@ -588,15 +578,12 @@ ifupdown_ip6_add_dns (NMSettingIP6Config *s_ip6, const char *dns)
 		if (g_ascii_isspace (*iter[0]))
 			continue;
 		if (!inet_pton (AF_INET6, *iter, &addr)) {
-			PLUGIN_WARN ("SCPlugin-Ifupdown",
-					   "    warning: ignoring invalid nameserver '%s'", *iter);
+			nm_log_warn (LOGD_SETTINGS, "    ignoring invalid nameserver '%s'", *iter);
 			continue;
 		}
 
-		if (!nm_setting_ip6_config_add_dns (s_ip6, &addr)) {
-			PLUGIN_WARN ("SCPlugin-Ifupdown",
-					   "    warning: duplicate DNS domain '%s'", *iter);
-		}
+		if (!nm_setting_ip6_config_add_dns (s_ip6, &addr))
+			nm_log_warn (LOGD_SETTINGS, "    duplicate DNS domain '%s'", *iter);
 	}
 	g_strfreev (list);
 }
@@ -656,11 +643,12 @@ update_ip6_setting_from_if_block(NMConnection *connection,
 		nm_ip6_address_set_gateway (addr, &tmp_gw);
 
 		if (nm_setting_ip6_config_add_address (s_ip6, addr)) {
-			PLUGIN_PRINT("SCPlugin-Ifupdown", "addresses count: %d",
-					   nm_setting_ip6_config_get_num_addresses (s_ip6));
+			nm_log_info (LOGD_SETTINGS, "addresses count: %d",
+			             nm_setting_ip6_config_get_num_addresses (s_ip6));
 		} else {
-			PLUGIN_PRINT("SCPlugin-Ifupdown", "ignoring duplicate IP6 address");
+			nm_log_info (LOGD_SETTINGS, "ignoring duplicate IP6 address");
 		}
+		nm_ip6_address_unref (addr);
 
 		nameserver_v = ifparser_getkey(block, "dns-nameserver");
 		ifupdown_ip6_add_dns (s_ip6, nameserver_v);
@@ -669,7 +657,7 @@ update_ip6_setting_from_if_block(NMConnection *connection,
 		ifupdown_ip6_add_dns (s_ip6, nameservers_v);
 
 		if (!nm_setting_ip6_config_get_num_dns (s_ip6))
-			PLUGIN_PRINT("SCPlugin-Ifupdown", "No dns-nameserver configured in /etc/network/interfaces");
+			nm_log_info (LOGD_SETTINGS, "No dns-nameserver configured in /etc/network/interfaces");
 
 		/* DNS searches */
 		search_v = ifparser_getkey (block, "dns-search");
@@ -679,10 +667,8 @@ update_ip6_setting_from_if_block(NMConnection *connection,
 				g_strstrip (*iter);
 				if (isblank (*iter[0]))
 					continue;
-				if (!nm_setting_ip6_config_add_dns_search (s_ip6, *iter)) {
-					PLUGIN_WARN ("SCPlugin-Ifupdown",
-							   "    warning: duplicate DNS domain '%s'", *iter);
-				}
+				if (!nm_setting_ip6_config_add_dns_search (s_ip6, *iter))
+					nm_log_warn (LOGD_SETTINGS, "    duplicate DNS domain '%s'", *iter);
 			}
 			g_strfreev (list);
 		}
@@ -726,6 +712,7 @@ ifupdown_update_connection_from_if_block (NMConnection *connection,
 	uuid = nm_utils_uuid_generate_from_string (uuid_base);
 	g_object_set (s_con,
 	              NM_SETTING_CONNECTION_TYPE, type,
+	              NM_SETTING_CONNECTION_INTERFACE_NAME, block->name,
 	              NM_SETTING_CONNECTION_ID, idstr,
 	              NM_SETTING_CONNECTION_UUID, uuid,
 	              NM_SETTING_CONNECTION_READ_ONLY, TRUE,
@@ -733,8 +720,8 @@ ifupdown_update_connection_from_if_block (NMConnection *connection,
 	              NULL);
 	g_free (uuid);
 
-	PLUGIN_PRINT("SCPlugin-Ifupdown", "update_connection_setting_from_if_block: name:%s, type:%s, id:%s, uuid: %s",
-			   block->name, type, idstr, nm_setting_connection_get_uuid (s_con));
+	nm_log_info (LOGD_SETTINGS, "update_connection_setting_from_if_block: name:%s, type:%s, id:%s, uuid: %s",
+	             block->name, type, idstr, nm_setting_connection_get_uuid (s_con));
 
 	if (!strcmp (NM_SETTING_WIRED_SETTING_NAME, type))
 		update_wired_setting_from_if_block (connection, block);