summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch64
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