summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/networkmanager/files')
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.4-fix-tests.patch55
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.4-ifnet-smarter-write.patch158
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.4-shared-connection.patch458
-rw-r--r--net-misc/networkmanager/files/nm-system-settings.conf-ifnet6
4 files changed, 0 insertions, 677 deletions
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.4-fix-tests.patch b/net-misc/networkmanager/files/networkmanager-0.8.4-fix-tests.patch
deleted file mode 100644
index d8af30f..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.4-fix-tests.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 21e7fda25507e68c13b97040b3b9e5dc3c9726bf Mon Sep 17 00:00:00 2001
-From: Mu Qiao <qiaomuf@gentoo.org>
-Date: Wed, 18 May 2011 19:02:40 +0800
-Subject: [PATCH] fix-tests
-
----
- configure.ac | 1 -
- system-settings/plugins/ifnet/Makefile.am | 1 -
- system-settings/plugins/ifnet/tests/Makefile.am | 13 -------------
- 3 files changed, 0 insertions(+), 15 deletions(-)
- delete mode 100644 system-settings/plugins/ifnet/tests/Makefile.am
-
-diff --git a/configure.ac b/configure.ac
-index d8a266e..8304aa4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -571,7 +571,6 @@ system-settings/plugins/Makefile
- system-settings/plugins/ifupdown/Makefile
- system-settings/plugins/ifupdown/tests/Makefile
- system-settings/plugins/ifnet/Makefile
--system-settings/plugins/ifnet/tests/Makefile
- system-settings/plugins/ifcfg-rh/Makefile
- system-settings/plugins/ifcfg-rh/tests/Makefile
- system-settings/plugins/ifcfg-rh/tests/network-scripts/Makefile
-diff --git a/system-settings/plugins/ifnet/Makefile.am b/system-settings/plugins/ifnet/Makefile.am
-index 86d5ea2..f61e112 100644
---- a/system-settings/plugins/ifnet/Makefile.am
-+++ b/system-settings/plugins/ifnet/Makefile.am
-@@ -1,4 +1,3 @@
--SUBDIRS = . tests
- INCLUDES = \
- -I$(top_srcdir)/src/system-settings \
- -I$(top_srcdir)/include \
-diff --git a/system-settings/plugins/ifnet/tests/Makefile.am b/system-settings/plugins/ifnet/tests/Makefile.am
-deleted file mode 100644
-index 17a081f..0000000
---- a/system-settings/plugins/ifnet/tests/Makefile.am
-+++ /dev/null
-@@ -1,13 +0,0 @@
--INCLUDES=-I$(top_srcdir)/system-settings/plugins/ifnet\
-- -I$(top_srcdir)/libnm-glib \
-- -I$(top_srcdir)/libnm-util \
-- -I$(top_srcdir)/include \
-- -I$(top_srcdir)/src/system-settings
--TESTS = check_ifnet
--check_PROGRAMS = check_ifnet
--check_ifnet_SOURCES = test_all.c
--check_ifnet_CPPFLAGS = $(CHECK_CFLAGS) $(GLIB_CFLAGS)
--check_ifnet_LDADD = $(top_srcdir)/libnm-util/libnm-util.la\
-- $(top_srcdir)/system-settings/plugins/ifnet/lib-ifnet-io.la\
-- $(CHECK_LIBS)\
-- $(GLIB_LIBS)
---
-1.7.3.4
-
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.4-ifnet-smarter-write.patch b/net-misc/networkmanager/files/networkmanager-0.8.4-ifnet-smarter-write.patch
deleted file mode 100644
index ff4c1f2..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.4-ifnet-smarter-write.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From 776fafc133e18df48dc92a717c662e1b2858567e Mon Sep 17 00:00:00 2001
-From: Mu Qiao <qiaomuf@gentoo.org>
-Date: Fri, 25 Feb 2011 16:25:07 +0000
-Subject: [PATCH 3/3] Won't write when nothing changed
- Signed-off-by: Mu Qiao <qiaomuf@gentoo.org>
- Make log less excessive, accept non-alnum ssid (bug #356337)
-
-Signed-off-by: Mu Qiao <qiaomuf@gentoo.org>
----
- system-settings/plugins/ifnet/connection_parser.c | 33 +++++++++-----------
- system-settings/plugins/ifnet/net_parser.c | 8 ++++-
- system-settings/plugins/ifnet/plugin.c | 4 --
- system-settings/plugins/ifnet/wpa_parser.c | 7 +++-
- 4 files changed, 26 insertions(+), 26 deletions(-)
-
-diff --git a/system-settings/plugins/ifnet/connection_parser.c b/system-settings/plugins/ifnet/connection_parser.c
-index 9b5ddc1..4ac2173 100644
---- a/system-settings/plugins/ifnet/connection_parser.c
-+++ b/system-settings/plugins/ifnet/connection_parser.c
-@@ -55,9 +55,16 @@ update_connection_id (NMConnection * connection, gchar * conn_name)
- gchar *idstr = NULL;
- gchar *uuid_base = NULL;
- gchar *uuid = NULL;
-+ int name_len;
- NMSettingConnection *setting;
-
-- idstr = g_strdup_printf ("%s (%s)", get_prefix (), conn_name);
-+ name_len = strlen (conn_name);
-+ if ((name_len > 2) && (g_str_has_prefix (conn_name, "0x"))) {
-+ gchar * conn_name_printable = utils_hexstr2bin (conn_name + 2, name_len - 2);
-+ idstr = g_strdup_printf ("%s (%s)", get_prefix (), conn_name_printable);
-+ g_free (conn_name_printable);
-+ } else
-+ idstr = g_strdup_printf ("%s (%s)", get_prefix (), conn_name);
- uuid_base = idstr;
- uuid = nm_utils_uuid_generate_from_string (uuid_base);
- setting =
-@@ -627,23 +634,13 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
- g_object_set (ip4_setting,
- NM_SETTING_IP4_CONFIG_IGNORE_AUTO_ROUTES,
- TRUE, NULL);
-- if (nm_setting_ip4_config_add_address
-- (ip4_setting, ip4_addr)) {
-- PLUGIN_PRINT (IFNET_PLUGIN_NAME,
-- "new address: %d", iblock->ip);
-- PLUGIN_PRINT (IFNET_PLUGIN_NAME,
-- "ipv4 addresses count: %d",
-- nm_setting_ip4_config_get_num_addresses
-- (ip4_setting));
-- } else {
-- PLUGIN_WARN (IFNET_PLUGIN_NAME,
-- "ignoring duplicate IP4 address");
-- }
-+ if (!nm_setting_ip4_config_add_address (ip4_setting, ip4_addr))
-+ PLUGIN_WARN (IFNET_PLUGIN_NAME,
-+ "ignoring duplicate IP4 address");
- nm_ip4_address_unref (ip4_addr);
- current_iblock = iblock;
- iblock = iblock->next;
- destroy_ip_block (current_iblock);
--
- }
- g_object_set (ip4_setting,
- NM_SETTING_IP4_CONFIG_METHOD,
-@@ -2276,11 +2273,12 @@ write_wireless_setting (NMConnection * connection,
- return FALSE;
- }
-
-- /* If the SSID contains any non-printable characters, we need to use the
-- * hex notation of the SSID instead.
-+ /* If the SSID contains any non-alnum characters, we need to use
-+ * the hex notation of the SSID instead. (Because openrc doesn't
-+ * support these characters, see bug #356337)
- */
- for (i = 0; i < ssid->len; i++) {
-- if (!isprint (ssid->data[i])) {
-+ if (!isalnum (ssid->data[i])) {
- hex_ssid = TRUE;
- break;
- }
-@@ -2487,7 +2485,6 @@ write_ip4_setting (NMConnection * connection, gchar * conn_name,
- ifnet_set_data (conn_name, "config", "dhcp");
-
- /* DNS Servers */
-- ifnet_set_data (conn_name, "dns_servers", NULL);
- num = nm_setting_ip4_config_get_num_dns (s_ip4);
- if (num > 0) {
- dns = g_string_new (NULL);
-diff --git a/system-settings/plugins/ifnet/net_parser.c b/system-settings/plugins/ifnet/net_parser.c
-index de2db8a..57f3688 100644
---- a/system-settings/plugins/ifnet/net_parser.c
-+++ b/system-settings/plugins/ifnet/net_parser.c
-@@ -411,12 +411,16 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value)
- }
- /* Remove existing key value pair */
- if (g_hash_table_lookup_extended (conn, key, &orin_key, &orin_value)) {
-- if (new_value && !strcmp (orin_value, new_value))
-+ if (new_value && !strcmp (orin_value, new_value)){
-+ g_free (new_value);
- return;
-+ }
- g_hash_table_remove (conn, orin_key);
- g_free (orin_key);
- g_free (orin_value);
-- }
-+ /* old key/value doesn't exist but new value is NULL */
-+ } else if (!value)
-+ return;
- if (new_value)
- g_hash_table_insert (conn, g_strdup (key), new_value);
- net_parser_data_changed = TRUE;
-diff --git a/system-settings/plugins/ifnet/plugin.c b/system-settings/plugins/ifnet/plugin.c
-index 94f9e79..3952e91 100644
---- a/system-settings/plugins/ifnet/plugin.c
-+++ b/system-settings/plugins/ifnet/plugin.c
-@@ -91,8 +91,6 @@ update_system_hostname (gpointer config)
- {
- SCPluginIfnetPrivate *priv = SC_PLUGIN_IFNET_GET_PRIVATE (config);
-
-- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Updating hostname");
--
- if (priv->hostname)
- g_free (priv->hostname);
- priv->hostname = read_hostname (IFNET_SYSTEM_HOSTNAME_FILE);
-@@ -184,8 +182,6 @@ monitor_file_changes (const char *filename,
- info);
- g_signal_connect (monitor, "changed", G_CALLBACK (file_changed),
- info);
-- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Monitoring %s", filename);
--
- } else
- PLUGIN_WARN (IFNET_PLUGIN_NAME,
- "Monitoring %s failed, error: %s", filename,
-diff --git a/system-settings/plugins/ifnet/wpa_parser.c b/system-settings/plugins/ifnet/wpa_parser.c
-index 42c52c3..338c338 100644
---- a/system-settings/plugins/ifnet/wpa_parser.c
-+++ b/system-settings/plugins/ifnet/wpa_parser.c
-@@ -463,12 +463,15 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value)
- /* Remove old key value pairs */
- if (g_hash_table_lookup_extended
- (security, key, &orig_key, &orig_value)) {
-- if (new_value && !strcmp(orig_value, new_value))
-+ if (new_value && !strcmp(orig_value, new_value)){
-+ g_free (new_value);
- return;
-+ }
- g_hash_table_remove (security, orig_key);
- g_free (orig_key);
- g_free (orig_value);
-- }
-+ } else if (!value)
-+ return;
-
- /* Add new key value */
- if (new_value)
---
-1.7.3.4
-
diff --git a/net-misc/networkmanager/files/networkmanager-0.8.4-shared-connection.patch b/net-misc/networkmanager/files/networkmanager-0.8.4-shared-connection.patch
deleted file mode 100644
index 3ce883a..0000000
--- a/net-misc/networkmanager/files/networkmanager-0.8.4-shared-connection.patch
+++ /dev/null
@@ -1,458 +0,0 @@
-From d252fad6aa69aefa17b592111c2db23864f63907 Mon Sep 17 00:00:00 2001
-From: Mu Qiao <qiaomuf@gentoo.org>
-Date: Tue, 25 Jan 2011 10:31:53 +0000
-Subject: [PATCH] shared-connection
-
-Signed-off-by: Mu Qiao <qiaomuf@gentoo.org>
----
- system-settings/plugins/ifnet/connection_parser.c | 90 ++++++++++++++------
- system-settings/plugins/ifnet/net_parser.c | 55 +++++++-----
- system-settings/plugins/ifnet/net_parser.h | 4 +-
- system-settings/plugins/ifnet/net_utils.c | 6 +-
- .../plugins/ifnet/nm-ifnet-connection.c | 8 +-
- system-settings/plugins/ifnet/wpa_parser.c | 21 +++--
- 6 files changed, 122 insertions(+), 62 deletions(-)
-
-diff --git a/system-settings/plugins/ifnet/connection_parser.c b/system-settings/plugins/ifnet/connection_parser.c
-index f9fae51..9b5ddc1 100644
---- a/system-settings/plugins/ifnet/connection_parser.c
-+++ b/system-settings/plugins/ifnet/connection_parser.c
-@@ -557,7 +557,7 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
-
- NMSettingIP4Config *ip4_setting =
- NM_SETTING_IP4_CONFIG (nm_setting_ip4_config_new ());
-- gchar *value;
-+ gchar *value, *method = NULL;
- gboolean is_static_block = is_static_ip4 (conn_name);
- ip_block *iblock = NULL;
-
-@@ -569,13 +569,41 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
- && strstr (value, "nogateway") ? TRUE : FALSE, NULL);
-
- if (!is_static_block) {
-- g_object_set (ip4_setting,
-- NM_SETTING_IP4_CONFIG_METHOD,
-- NM_SETTING_IP4_CONFIG_METHOD_AUTO,
-- NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, FALSE, NULL);
-- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Using DHCP for %s",
-- conn_name);
-- } else {
-+ method = ifnet_get_data (conn_name, "config");
-+ if (!method){
-+ g_set_error (error, ifnet_plugin_error_quark (), 0,
-+ "Unknown config for %s", conn_name);
-+ g_object_unref (ip4_setting);
-+ return;
-+ }
-+ if (!strcmp (method, "dhcp"))
-+ g_object_set (ip4_setting,
-+ NM_SETTING_IP4_CONFIG_METHOD,
-+ NM_SETTING_IP4_CONFIG_METHOD_AUTO,
-+ NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, FALSE, NULL);
-+ else if (!strcmp (method, "autoip")){
-+ g_object_set (ip4_setting,
-+ NM_SETTING_IP4_CONFIG_METHOD,
-+ NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL,
-+ NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, FALSE, NULL);
-+ nm_connection_add_setting (connection, NM_SETTING (ip4_setting));
-+ return;
-+ } else if (!strcmp (method, "shared")){
-+ g_object_set (ip4_setting,
-+ NM_SETTING_IP4_CONFIG_METHOD,
-+ NM_SETTING_IP4_CONFIG_METHOD_SHARED,
-+ NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, FALSE, NULL);
-+ nm_connection_add_setting (connection, NM_SETTING (ip4_setting));
-+ return;
-+ } else {
-+ g_set_error (error, ifnet_plugin_error_quark (), 0,
-+ "Unknown config for %s", conn_name);
-+ g_object_unref (ip4_setting);
-+ return;
-+ }
-+ PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Using %s method for %s",
-+ method, conn_name);
-+ }else {
- iblock = convert_ip4_config_block (conn_name);
- if (!iblock) {
- g_set_error (error, ifnet_plugin_error_quark (), 0,
-@@ -625,7 +653,7 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
- }
-
- /* add dhcp hostname and client id */
-- if (!is_static_block) {
-+ if (method && !strcmp (method, "dhcp")) {
- gchar *dhcp_hostname, *client_id;
-
- get_dhcp_hostname_and_client_id (&dhcp_hostname, &client_id);
-@@ -712,7 +740,6 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
- iblock = iblock->next;
- destroy_ip_block (current_iblock);
- }
--
- /* Finally add setting to connection */
- nm_connection_add_setting (connection, NM_SETTING (ip4_setting));
- }
-@@ -1243,10 +1270,10 @@ parse_wpa_psk (gchar * psk, GError ** error)
- * the passphrase contains spaces.
- */
-
-- p = psk;
-- if (p[0] == '"' && psk[strlen (psk) - 1] == '"')
-+ p = g_strdup (psk);
-+ if (p[0] == '"' && p[strlen (p) - 1] == '"')
- quoted = TRUE;
-- if (!quoted && (strlen (psk) == 64)) {
-+ if (!quoted && (strlen (p) == 64)) {
- /* Verify the hex PSK; 64 digits */
- if (!is_hex (p)) {
- g_set_error (error, ifnet_plugin_error_quark (),
-@@ -1254,7 +1281,7 @@ parse_wpa_psk (gchar * psk, GError ** error)
- "Invalid WPA_PSK (contains non-hexadecimal characters)");
- goto out;
- }
-- hashed = g_strdup (psk);
-+ hashed = g_strdup (p);
- } else {
- strip_string (p, '"');
-
-@@ -1276,6 +1303,7 @@ parse_wpa_psk (gchar * psk, GError ** error)
- }
-
- out:
-+ g_free (p);
- return hashed;
- }
-
-@@ -2085,7 +2113,8 @@ write_wireless_security_setting (NMConnection * connection,
- } else if (!strcmp (key_mgmt, "wpa-eap")) {
- wpa_set_data (conn_name, "key_mgmt", "WPA-EAP");
- wpa = TRUE;
-- }
-+ } else
-+ PLUGIN_WARN (IFNET_PLUGIN_NAME, "Unknown key_mgmt: %s", key_mgmt);
-
- if (auth_alg) {
- if (!strcmp (auth_alg, "shared"))
-@@ -2180,8 +2209,11 @@ write_wireless_security_setting (NMConnection * connection,
- g_string_append (quoted, psk);
- g_string_append_c (quoted, '"');
- }
-- wpa_set_data (conn_name, "psk",
-- quoted ? quoted->str : (gchar *) psk);
-+ if (psk)
-+ wpa_set_data (conn_name, "psk",
-+ quoted ? quoted->str : (gchar *) psk);
-+ else
-+ PLUGIN_WARN (IFNET_PLUGIN_NAME, "Use WPA, but no psk received from NM");
- if (quoted)
- g_string_free (quoted, TRUE);
- } else
-@@ -2190,15 +2222,19 @@ write_wireless_security_setting (NMConnection * connection,
- return TRUE;
- }
-
--/* remove old ssid and add new one*/
-+/* Only remove old config when ssid is changed.
-+ * See bug #350476.
-+ * */
- static void
- update_wireless_ssid (NMConnection * connection, gchar * conn_name,
- gchar * ssid, gboolean hex)
- {
-- ifnet_delete_network (conn_name);
-- ifnet_add_connection (ssid, "wireless");
-+ if (strcmp (conn_name, ssid)){
-+ ifnet_delete_network (conn_name);
-+ wpa_delete_security (conn_name);
-+ }
-
-- wpa_delete_security (conn_name);
-+ ifnet_add_network (ssid, "wireless");
- wpa_add_security (ssid);
- }
-
-@@ -2443,7 +2479,11 @@ write_ip4_setting (NMConnection * connection, gchar * conn_name,
- }
- ifnet_set_data (conn_name, "config", ips->str);
- g_string_free (ips, TRUE);
-- } else
-+ } else if (!strcmp (value, NM_SETTING_IP4_CONFIG_METHOD_SHARED))
-+ ifnet_set_data (conn_name, "config", "shared");
-+ else if (!strcmp (value, NM_SETTING_IP4_CONFIG_METHOD_LINK_LOCAL))
-+ ifnet_set_data (conn_name, "config", "autoip");
-+ else
- ifnet_set_data (conn_name, "config", "dhcp");
-
- /* DNS Servers */
-@@ -2858,7 +2898,7 @@ get_wired_name ()
- for (; i < 256; i++) {
- gchar *conn_name = g_strdup_printf ("eth%d", i);
-
-- if (!ifnet_has_connection (conn_name)) {
-+ if (!ifnet_has_network (conn_name)) {
- return conn_name;
- } else
- g_free (conn_name);
-@@ -2875,7 +2915,7 @@ get_ppp_name ()
- for (; i < 256; i++) {
- gchar *conn_name = g_strdup_printf ("ppp%d", i);
-
-- if (!ifnet_has_connection (conn_name)) {
-+ if (!ifnet_has_network (conn_name)) {
- return conn_name;
- } else
- g_free (conn_name);
-@@ -2982,7 +3022,7 @@ ifnet_add_new_connection (NMConnection * connection,
- goto out;
- }
-
-- if (ifnet_add_connection (new_name, new_type))
-+ if (ifnet_add_network (new_name, new_type))
- success =
- ifnet_update_parsers_by_connection (connection, new_name,
- NULL, config_file,
-diff --git a/system-settings/plugins/ifnet/net_parser.c b/system-settings/plugins/ifnet/net_parser.c
-index b4a381d..de2db8a 100644
---- a/system-settings/plugins/ifnet/net_parser.c
-+++ b/system-settings/plugins/ifnet/net_parser.c
-@@ -37,6 +37,9 @@ static GList *functions_list;
- /* Used to decide whether to write changes to file*/
- static gboolean net_parser_data_changed = FALSE;
-
-+static void
-+destroy_connection_config (GHashTable * conn);
-+
- static GHashTable *
- add_new_connection_config (const gchar * type, const gchar * name)
- {
-@@ -58,8 +61,10 @@ add_new_connection_config (const gchar * type, const gchar * name)
- }
-
- gboolean
--ifnet_add_connection (gchar * name, gchar * type)
-+ifnet_add_network (gchar * name, gchar * type)
- {
-+ if (ifnet_has_network (name))
-+ return TRUE;
- if (add_new_connection_config (type, name)) {
- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Adding network for %s", name);
- net_parser_data_changed = TRUE;
-@@ -69,11 +74,27 @@ ifnet_add_connection (gchar * name, gchar * type)
- }
-
- gboolean
--ifnet_has_connection (gchar * conn_name)
-+ifnet_has_network (gchar * conn_name)
- {
- return g_hash_table_lookup (conn_table, conn_name) != NULL;
- }
-
-+gboolean
-+ifnet_delete_network (gchar * conn_name)
-+{
-+ GHashTable *network = NULL;
-+
-+ g_return_val_if_fail (conn_table != NULL && conn_name != NULL, FALSE);
-+ PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Deleting network for %s", conn_name);
-+ network = g_hash_table_lookup (conn_table, conn_name);
-+ if (!network)
-+ return FALSE;
-+ g_hash_table_remove (conn_table, conn_name);
-+ destroy_connection_config (network);
-+ net_parser_data_changed = TRUE;
-+ return TRUE;
-+}
-+
- static GHashTable *
- get_connection_config (gchar * name)
- {
-@@ -377,21 +398,27 @@ ifnet_set_data (gchar * conn_name, gchar * key, gchar * value)
- {
- gpointer orin_key = NULL, orin_value = NULL;
- GHashTable *conn = g_hash_table_lookup (conn_table, conn_name);
-+ gchar *new_value = NULL;
-
- if (!conn) {
- PLUGIN_WARN (IFNET_PLUGIN_NAME,
- "%s does not exsit!", conn_name);
- return;
- }
-+ if (value){
-+ new_value = g_strdup (value);
-+ strip_string (new_value, '"');
-+ }
- /* Remove existing key value pair */
- if (g_hash_table_lookup_extended (conn, key, &orin_key, &orin_value)) {
-+ if (new_value && !strcmp (orin_value, new_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), '"'));
-+ if (new_value)
-+ g_hash_table_insert (conn, g_strdup (key), new_value);
- net_parser_data_changed = TRUE;
- }
-
-@@ -467,7 +494,7 @@ ifnet_flush_to_file (gchar * config_file)
- gboolean result = FALSE;
-
- if (!net_parser_data_changed)
-- return FALSE;
-+ return TRUE;
- if (!conn_table || !global_settings_table)
- return FALSE;
-
-@@ -583,22 +610,6 @@ ifnet_flush_to_file (gchar * config_file)
- return result;
- }
-
--gboolean
--ifnet_delete_network (gchar * conn_name)
--{
-- GHashTable *network = NULL;
--
-- g_return_val_if_fail (conn_table != NULL && conn_name != NULL, FALSE);
-- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Deleting network for %s", conn_name);
-- network = g_hash_table_lookup (conn_table, conn_name);
-- if (!network)
-- return FALSE;
-- g_hash_table_remove (conn_table, conn_name);
-- destroy_connection_config (network);
-- net_parser_data_changed = TRUE;
-- return TRUE;
--}
--
- void
- ifnet_destroy (void)
- {
-diff --git a/system-settings/plugins/ifnet/net_parser.h b/system-settings/plugins/ifnet/net_parser.h
-index 73a44c8..b71a01f 100644
---- a/system-settings/plugins/ifnet/net_parser.h
-+++ b/system-settings/plugins/ifnet/net_parser.h
-@@ -36,11 +36,11 @@ GList *ifnet_get_connection_names (void);
- gchar *ifnet_get_data (gchar * conn_name, const gchar * key);
- gchar *ifnet_get_global_data (const gchar * key);
- gchar *ifnet_get_global_setting (gchar * group, gchar * key);
--gboolean ifnet_has_connection (gchar * conn_name);
-+gboolean ifnet_has_network (gchar * conn_name);
-
- /* Writer functions */
- gboolean ifnet_flush_to_file (gchar * config_file);
- void ifnet_set_data (gchar * conn_name, gchar * key, gchar * value);
--gboolean ifnet_add_connection (gchar * name, gchar * type);
-+gboolean ifnet_add_network (gchar * name, gchar * type);
- gboolean ifnet_delete_network (gchar * conn_name);
- #endif
-diff --git a/system-settings/plugins/ifnet/net_utils.c b/system-settings/plugins/ifnet/net_utils.c
-index 2dc253c..83b4325 100644
---- a/system-settings/plugins/ifnet/net_utils.c
-+++ b/system-settings/plugins/ifnet/net_utils.c
-@@ -278,6 +278,10 @@ is_static_ip4 (gchar * conn_name)
-
- if (!data)
- return FALSE;
-+ if (!strcmp (data, "shared"))
-+ return FALSE;
-+ if (!strcmp (data, "autoip"))
-+ return FALSE;
- dhcp6 = strstr (data, "dhcp6");
- if (dhcp6) {
- gchar *dhcp4;
-@@ -942,8 +946,8 @@ get_dhcp_hostname_and_client_id (char **hostname, char **client_id)
- else if ((tmp = strstr (line, "send host-name")) != NULL) {
- tmp += strlen ("send host-name");
- g_strstrip (tmp);
-- strip_string (tmp, '"');
- strip_string (tmp, ';');
-+ strip_string (tmp, '"');
- if (tmp[0] != '\0')
- *hostname = g_strdup (tmp);
- else
-diff --git a/system-settings/plugins/ifnet/nm-ifnet-connection.c b/system-settings/plugins/ifnet/nm-ifnet-connection.c
-index e47495c..ebe2581 100644
---- a/system-settings/plugins/ifnet/nm-ifnet-connection.c
-+++ b/system-settings/plugins/ifnet/nm-ifnet-connection.c
-@@ -71,12 +71,14 @@ nm_ifnet_connection_new (gchar * conn_name)
- {
- NMConnection *tmp;
- GObject *object;
-- GError **error = NULL;
-+ GError *error = NULL;
-
- g_return_val_if_fail (conn_name != NULL, NULL);
-- tmp = ifnet_update_connection_from_config_block (conn_name, error);
-- if (!tmp)
-+ tmp = ifnet_update_connection_from_config_block (conn_name, &error);
-+ if (!tmp){
-+ g_error_free (error);
- return NULL;
-+ }
- 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..42c52c3 100644
---- a/system-settings/plugins/ifnet/wpa_parser.c
-+++ b/system-settings/plugins/ifnet/wpa_parser.c
-@@ -366,7 +366,7 @@ wpa_flush_to_file (gchar * config_file)
- gboolean result = FALSE;
-
- if (!wpa_parser_data_changed)
-- return FALSE;
-+ return TRUE;
- if (!wsec_table || !wsec_global_table)
- return FALSE;
-
-@@ -450,26 +450,29 @@ wpa_set_data (gchar * ssid, gchar * key, gchar * value)
- {
- gpointer orig_key = NULL, orig_value = NULL;
- GHashTable *security = g_hash_table_lookup (wsec_table, ssid);
-+ gchar *new_value = NULL;
-
- g_return_if_fail (security != NULL);
-
-+ if (value){
-+ 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, '"');
-+ }
- /* Remove old key value pairs */
- if (g_hash_table_lookup_extended
- (security, key, &orig_key, &orig_value)) {
-+ if (new_value && !strcmp(orig_value, new_value))
-+ return;
- g_hash_table_remove (security, orig_key);
- g_free (orig_key);
- g_free (orig_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, '"');
-+ if (new_value)
- g_hash_table_insert (security, g_strdup (key), new_value);
-- }
- wpa_parser_data_changed = TRUE;
- }
-
-@@ -483,7 +486,7 @@ gboolean
- wpa_add_security (gchar * ssid)
- {
- if (wpa_has_security (ssid))
-- return FALSE;
-+ return TRUE;
- else {
- GHashTable *security =
- g_hash_table_new (g_str_hash, g_str_equal);
---
-1.7.3.4
-
diff --git a/net-misc/networkmanager/files/nm-system-settings.conf-ifnet b/net-misc/networkmanager/files/nm-system-settings.conf-ifnet
deleted file mode 100644
index 4d14ee7..0000000
--- a/net-misc/networkmanager/files/nm-system-settings.conf-ifnet
+++ /dev/null
@@ -1,6 +0,0 @@
-[main]
-plugins=ifnet,keyfile
-
-[ifnet]
-managed=true
-auto_refresh=false