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.patch47
1 files changed, 38 insertions, 9 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 3536924..a9e9705 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,16 +1,17 @@
-From 4a495b961aab736fa2881057ecf8a7c5044fb4a3 Mon Sep 17 00:00:00 2001
+From 765cf2873a92bc83ce35f965e0ccf8bc5dcff6e8 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>
---
- system-settings/plugins/ifnet/connection_parser.c | 49 ++++++++++++++++-----
- system-settings/plugins/ifnet/net_utils.c | 4 ++
- 2 files changed, 42 insertions(+), 11 deletions(-)
+ system-settings/plugins/ifnet/connection_parser.c | 55 ++++++++++++++++----
+ system-settings/plugins/ifnet/net_utils.c | 4 ++
+ .../plugins/ifnet/nm-ifnet-connection.c | 8 ++-
+ 3 files changed, 53 insertions(+), 14 deletions(-)
diff --git a/system-settings/plugins/ifnet/connection_parser.c b/system-settings/plugins/ifnet/connection_parser.c
-index f9fae51..def5c4a 100644
+index f9fae51..07fb511 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)
@@ -22,7 +23,7 @@ index f9fae51..def5c4a 100644
gboolean is_static_block = is_static_ip4 (conn_name);
ip_block *iblock = NULL;
-@@ -569,12 +569,36 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+@@ -569,12 +569,42 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
&& strstr (value, "nogateway") ? TRUE : FALSE, NULL);
if (!is_static_block) {
@@ -33,6 +34,12 @@ index f9fae51..def5c4a 100644
- PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Using DHCP for %s",
- conn_name);
+ 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,
@@ -65,7 +72,7 @@ index f9fae51..def5c4a 100644
} else {
iblock = convert_ip4_config_block (conn_name);
if (!iblock) {
-@@ -625,7 +649,7 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+@@ -625,7 +655,7 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
}
/* add dhcp hostname and client id */
@@ -74,7 +81,7 @@ index f9fae51..def5c4a 100644
gchar *dhcp_hostname, *client_id;
get_dhcp_hostname_and_client_id (&dhcp_hostname, &client_id);
-@@ -712,7 +736,6 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
+@@ -712,7 +742,6 @@ make_ip4_setting (NMConnection * connection, gchar * conn_name, GError ** error)
iblock = iblock->next;
destroy_ip_block (current_iblock);
}
@@ -82,7 +89,7 @@ index f9fae51..def5c4a 100644
/* Finally add setting to connection */
nm_connection_add_setting (connection, NM_SETTING (ip4_setting));
}
-@@ -2443,8 +2466,12 @@ write_ip4_setting (NMConnection * connection, gchar * conn_name,
+@@ -2443,8 +2472,12 @@ write_ip4_setting (NMConnection * connection, gchar * conn_name,
}
ifnet_set_data (conn_name, "config", ips->str);
g_string_free (ips, TRUE);
@@ -112,6 +119,28 @@ index 2dc253c..7e52f10 100644
dhcp6 = strstr (data, "dhcp6");
if (dhcp6) {
gchar *dhcp4;
+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);
--
1.7.2.2