diff options
Diffstat (limited to 'net-misc/networkmanager/files/networkmanager-0.8.2-shared-connection.patch')
-rw-r--r-- | net-misc/networkmanager/files/networkmanager-0.8.2-shared-connection.patch | 64 |
1 files changed, 62 insertions, 2 deletions
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.2-shared-connection.patch b/net-misc/networkmanager/files/networkmanager-0.8.2-shared-connection.patch index ebd24a6..6513221 100644 --- a/net-misc/networkmanager/files/networkmanager-0.8.2-shared-connection.patch +++ b/net-misc/networkmanager/files/networkmanager-0.8.2-shared-connection.patch @@ -1,4 +1,4 @@ -From 28cd0d7fec3c09bcace6f68501b9f5cd53b5f192 Mon Sep 17 00:00:00 2001 +From 5dc7075a1bb262b60880ee5130ee128e33f71b87 Mon Sep 17 00:00:00 2001 From: Mu Qiao <qiaomuf@gentoo.org> Date: Wed, 5 Jan 2011 13:30:08 +0800 Subject: [PATCH] Support shared and link-local method for ipv4 @@ -6,9 +6,11 @@ Subject: [PATCH] Support shared and link-local method for ipv4 --- system-settings/plugins/ifnet/connection_parser.c | 74 +++++++++++++++----- + system-settings/plugins/ifnet/net_parser.c | 7 ++- system-settings/plugins/ifnet/net_utils.c | 4 + .../plugins/ifnet/nm-ifnet-connection.c | 8 ++- - 3 files changed, 65 insertions(+), 21 deletions(-) + system-settings/plugins/ifnet/wpa_parser.c | 14 ++-- + 5 files changed, 78 insertions(+), 29 deletions(-) diff --git a/system-settings/plugins/ifnet/connection_parser.c b/system-settings/plugins/ifnet/connection_parser.c index f9fae51..703059d 100644 @@ -159,6 +161,30 @@ index f9fae51..703059d 100644 /* DNS Servers */ ifnet_set_data (conn_name, "dns_servers", NULL); +diff --git a/system-settings/plugins/ifnet/net_parser.c b/system-settings/plugins/ifnet/net_parser.c +index b4a381d..a0b45cb 100644 +--- a/system-settings/plugins/ifnet/net_parser.c ++++ b/system-settings/plugins/ifnet/net_parser.c +@@ -384,14 +384,17 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value) + return; + } + /* Remove existing key value pair */ ++ if (value) ++ strip_string (value); + if (g_hash_table_lookup_extended (conn, key, &orin_key, &orin_value)) { ++ if (value && !strcmp (orin_value, value)) ++ return; + g_hash_table_remove (conn, orin_key); + g_free (orin_key); + g_free (orin_value); + } + if (value) +- g_hash_table_insert (conn, g_strdup (key), +- strip_string (g_strdup (value), '"')); ++ g_hash_table_insert (conn, g_strdup (key), g_strdup (value), '"'); + net_parser_data_changed = TRUE; + } + diff --git a/system-settings/plugins/ifnet/net_utils.c b/system-settings/plugins/ifnet/net_utils.c index 2dc253c..7e52f10 100644 --- a/system-settings/plugins/ifnet/net_utils.c @@ -196,6 +222,40 @@ index e47495c..ebe2581 100644 object = (GObject *) g_object_new (NM_TYPE_IFNET_CONNECTION, NM_IFNET_CONNECTION_CONN_NAME, conn_name, NULL); +diff --git a/system-settings/plugins/ifnet/wpa_parser.c b/system-settings/plugins/ifnet/wpa_parser.c +index 5e94108..879a026 100644 +--- a/system-settings/plugins/ifnet/wpa_parser.c ++++ b/system-settings/plugins/ifnet/wpa_parser.c +@@ -454,8 +454,15 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value) + g_return_if_fail (security != NULL); + + /* Remove old key value pairs */ ++ if (value){ ++ if (strcmp (key, "ssid") != 0 && strcmp (key, "psk") != 0 ++ && !g_str_has_prefix (key, "wep_key")) ++ strip_string (value, '"'); ++ } + if (g_hash_table_lookup_extended + (security, key, &orig_key, &orig_value)) { ++ if (value && !strcmp(orig_value, value)) ++ return; + g_hash_table_remove (security, orig_key); + g_free (orig_key); + g_free (orig_value); +@@ -463,12 +470,7 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value) + + /* Add new key value */ + if (value) { +- gchar *new_value = g_strdup (value); +- +- if (strcmp (key, "ssid") != 0 && strcmp (key, "psk") != 0 +- && !g_str_has_prefix (key, "wep_key")) +- strip_string (new_value, '"'); +- g_hash_table_insert (security, g_strdup (key), new_value); ++ g_hash_table_insert (security, g_strdup (key), g_strdup (value)); + } + wpa_parser_data_changed = TRUE; + } -- 1.7.3.4 |