summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMu Qiao <qiaomuf@gentoo.org>2011-01-25 02:46:46 +0000
committerMu Qiao <qiaomuf@gentoo.org>2011-01-25 02:46:46 +0000
commitc5796d524e5cf4be0ed4f2b92876d124f10f0c63 (patch)
treed39106b044a2c242b07e9c01bf6a7af497b6804e /net-misc/networkmanager
parentClean up patch. Adjust ebuild accordingly. (diff)
downloadgentoo-2-c5796d524e5cf4be0ed4f2b92876d124f10f0c63.tar.gz
gentoo-2-c5796d524e5cf4be0ed4f2b92876d124f10f0c63.tar.bz2
gentoo-2-c5796d524e5cf4be0ed4f2b92876d124f10f0c63.zip
Fix parsing dhclient.conf wrt bug #352638
(Portage version: 2.1.9.25/cvs/Linux x86_64)
Diffstat (limited to 'net-misc/networkmanager')
-rw-r--r--net-misc/networkmanager/ChangeLog9
-rw-r--r--net-misc/networkmanager/files/networkmanager-0.8.2-shared-connection.patch70
-rw-r--r--net-misc/networkmanager/networkmanager-0.8.2-r4.ebuild (renamed from net-misc/networkmanager/networkmanager-0.8.2-r3.ebuild)3
3 files changed, 47 insertions, 35 deletions
diff --git a/net-misc/networkmanager/ChangeLog b/net-misc/networkmanager/ChangeLog
index 5b8aba707266..1c3b07937167 100644
--- a/net-misc/networkmanager/ChangeLog
+++ b/net-misc/networkmanager/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-misc/networkmanager
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.93 2011/01/24 07:31:48 qiaomuf Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.94 2011/01/25 02:46:46 qiaomuf Exp $
+
+*networkmanager-0.8.2-r4 (25 Jan 2011)
+
+ 25 Jan 2011; Mu Qiao <qiaomuf@gentoo.org> -networkmanager-0.8.2-r3.ebuild,
+ +networkmanager-0.8.2-r4.ebuild,
+ files/networkmanager-0.8.2-shared-connection.patch:
+ Fix parsing dhclient.conf wrt bug #352638
*networkmanager-0.8.2-r3 (24 Jan 2011)
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 8ffdf17915b8..3ce883aa7c1c 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,24 +1,20 @@
-From 5a67c7a5ad341fa84091287eb6452458c7ee24b0 Mon Sep 17 00:00:00 2001
+From d252fad6aa69aefa17b592111c2db23864f63907 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
- Signed-off-by: Mu Qiao <qiaomuf@gentoo.org>
- fix flush_to_file, return TRUE when nothing changed
- ssid do not lose quotes anymore
- do not delete old connection when ssid is not changed
+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 | 92 ++++++++++++++------
+ 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 | 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, 123 insertions(+), 61 deletions(-)
+ 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..539f33c 100644
+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)
@@ -30,7 +26,7 @@ index f9fae51..539f33c 100644
gboolean is_static_block = is_static_ip4 (conn_name);
ip_block *iblock = NULL;
-@@ -569,12 +569,42 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+@@ -569,13 +569,41 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
&& strstr (value, "nogateway") ? TRUE : FALSE, NULL);
if (!is_static_block) {
@@ -40,6 +36,7 @@ index f9fae51..539f33c 100644
- 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,
@@ -59,16 +56,14 @@ index f9fae51..539f33c 100644
+ NM_SETTING_IP4_CONFIG_NEVER_DEFAULT, FALSE, NULL);
+ nm_connection_add_setting (connection, NM_SETTING (ip4_setting));
+ return;
-+ }
-+ else if (!strcmp (method, "shared")){
++ } 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 {
++ } else {
+ g_set_error (error, ifnet_plugin_error_quark (), 0,
+ "Unknown config for %s", conn_name);
+ g_object_unref (ip4_setting);
@@ -76,10 +71,11 @@ index f9fae51..539f33c 100644
+ }
+ PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Using %s method for %s",
+ method, conn_name);
- } else {
++ }else {
iblock = convert_ip4_config_block (conn_name);
if (!iblock) {
-@@ -625,7 +655,7 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+ 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 */
@@ -88,7 +84,7 @@ index f9fae51..539f33c 100644
gchar *dhcp_hostname, *client_id;
get_dhcp_hostname_and_client_id (&dhcp_hostname, &client_id);
-@@ -712,7 +742,6 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+@@ -712,7 +740,6 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
iblock = iblock->next;
destroy_ip_block (current_iblock);
}
@@ -96,7 +92,7 @@ index f9fae51..539f33c 100644
/* Finally add setting to connection */
nm_connection_add_setting (connection, NM_SETTING (ip4_setting));
}
-@@ -1243,10 +1272,10 @@ parse_wpa_psk (gchar * psk, GError ** error)
+@@ -1243,10 +1270,10 @@ parse_wpa_psk (gchar * psk, GError ** error)
* the passphrase contains spaces.
*/
@@ -110,7 +106,7 @@ index f9fae51..539f33c 100644
/* Verify the hex PSK; 64 digits */
if (!is_hex (p)) {
g_set_error (error, ifnet_plugin_error_quark (),
-@@ -1254,7 +1283,7 @@ parse_wpa_psk (gchar * psk, GError ** error)
+@@ -1254,7 +1281,7 @@ parse_wpa_psk (gchar * psk, GError ** error)
"Invalid WPA_PSK (contains non-hexadecimal characters)");
goto out;
}
@@ -119,7 +115,7 @@ index f9fae51..539f33c 100644
} else {
strip_string (p, '"');
-@@ -1276,6 +1305,7 @@ parse_wpa_psk (gchar * psk, GError ** error)
+@@ -1276,6 +1303,7 @@ parse_wpa_psk (gchar * psk, GError ** error)
}
out:
@@ -127,7 +123,7 @@ index f9fae51..539f33c 100644
return hashed;
}
-@@ -2085,7 +2115,8 @@ write_wireless_security_setting (NMConnection * connection,
+@@ -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;
@@ -137,7 +133,7 @@ index f9fae51..539f33c 100644
if (auth_alg) {
if (!strcmp (auth_alg, "shared"))
-@@ -2180,8 +2211,11 @@ write_wireless_security_setting (NMConnection * connection,
+@@ -2180,8 +2209,11 @@ write_wireless_security_setting (NMConnection * connection,
g_string_append (quoted, psk);
g_string_append_c (quoted, '"');
}
@@ -151,7 +147,7 @@ index f9fae51..539f33c 100644
if (quoted)
g_string_free (quoted, TRUE);
} else
-@@ -2190,15 +2224,19 @@ write_wireless_security_setting (NMConnection * connection,
+@@ -2190,15 +2222,19 @@ write_wireless_security_setting (NMConnection * connection,
return TRUE;
}
@@ -175,22 +171,20 @@ index f9fae51..539f33c 100644
wpa_add_security (ssid);
}
-@@ -2443,8 +2481,12 @@ write_ip4_setting (NMConnection * connection, gchar * conn_name,
+@@ -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
-- ifnet_set_data (conn_name, "config", "dhcp");
+ } 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");
+ ifnet_set_data (conn_name, "config", "dhcp");
/* DNS Servers */
- ifnet_set_data (conn_name, "dns_servers", NULL);
-@@ -2858,7 +2900,7 @@ get_wired_name ()
+@@ -2858,7 +2898,7 @@ get_wired_name ()
for (; i < 256; i++) {
gchar *conn_name = g_strdup_printf ("eth%d", i);
@@ -199,7 +193,7 @@ index f9fae51..539f33c 100644
return conn_name;
} else
g_free (conn_name);
-@@ -2875,7 +2917,7 @@ get_ppp_name ()
+@@ -2875,7 +2915,7 @@ get_ppp_name ()
for (; i < 256; i++) {
gchar *conn_name = g_strdup_printf ("ppp%d", i);
@@ -208,7 +202,7 @@ index f9fae51..539f33c 100644
return conn_name;
} else
g_free (conn_name);
-@@ -2982,7 +3024,7 @@ ifnet_add_new_connection (NMConnection * connection,
+@@ -2982,7 +3022,7 @@ ifnet_add_new_connection (NMConnection * connection,
goto out;
}
@@ -354,7 +348,7 @@ index 73a44c8..b71a01f 100644
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..7e52f10 100644
+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)
@@ -368,6 +362,16 @@ index 2dc253c..7e52f10 100644
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
diff --git a/net-misc/networkmanager/networkmanager-0.8.2-r3.ebuild b/net-misc/networkmanager/networkmanager-0.8.2-r4.ebuild
index a36ccfb1af60..746a6fea973a 100644
--- a/net-misc/networkmanager/networkmanager-0.8.2-r3.ebuild
+++ b/net-misc/networkmanager/networkmanager-0.8.2-r4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.8.2-r3.ebuild,v 1.1 2011/01/24 07:31:48 qiaomuf Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/networkmanager-0.8.2-r4.ebuild,v 1.1 2011/01/25 02:46:46 qiaomuf Exp $
EAPI="2"
@@ -86,6 +86,7 @@ src_prepare() {
# accept "gw" in /etc/conf.d/net (bug #339215)
epatch "${FILESDIR}/${P}-accept-gw.patch"
# fix shared connection wrt bug #350476
+ # fix parsing dhclient.conf wrt bug #352638
epatch "${FILESDIR}/${P}-shared-connection.patch"
# Backports #1
epatch "${FILESDIR}/${P}-1.patch"