summaryrefslogtreecommitdiff
path: root/src/nm-ip4-config.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-ip4-config.c')
-rw-r--r--src/nm-ip4-config.c162
1 files changed, 12 insertions, 150 deletions
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c
index 0bf780b894..718c80cb41 100644
--- a/src/nm-ip4-config.c
+++ b/src/nm-ip4-config.c
@@ -56,8 +56,6 @@ typedef struct {
GPtrArray *searches;
gchar *hostname;
- gchar *nis_domain;
- GArray *nis_servers;
GSList *routes;
} NMIP4ConfigPrivate;
@@ -68,8 +66,6 @@ enum {
PROP_HOSTNAME,
PROP_NAMESERVERS,
PROP_DOMAINS,
- PROP_NIS_DOMAIN,
- PROP_NIS_SERVERS,
PROP_ROUTES,
LAST_PROP
@@ -95,56 +91,6 @@ nm_ip4_config_new (void)
return (NMIP4Config *) object;
}
-NMIP4Config *nm_ip4_config_copy (NMIP4Config *src_config)
-{
- NMIP4Config *dst_config;
- NMIP4ConfigPrivate *src_priv;
- int i;
- int len;
- GSList *iter;
-
- g_return_val_if_fail (NM_IS_IP4_CONFIG (src_config), NULL);
-
- dst_config = nm_ip4_config_new ();
- src_priv = NM_IP4_CONFIG_GET_PRIVATE (src_config);
-
- for (iter = src_priv->addresses; iter; iter = g_slist_next (iter)) {
- NMSettingIP4Address *src_addr = (NMSettingIP4Address *) iter->data;
- NMSettingIP4Address *dst_addr;
-
- dst_addr = g_malloc0 (sizeof (NMSettingIP4Address));
- memcpy (dst_addr, src_addr, sizeof (NMSettingIP4Address));
- nm_ip4_config_take_address (dst_config, dst_addr);
- }
-
- nm_ip4_config_set_ptp_address (dst_config, nm_ip4_config_get_ptp_address (src_config));
- nm_ip4_config_set_hostname (dst_config, nm_ip4_config_get_hostname (src_config));
- nm_ip4_config_set_nis_domain (dst_config, nm_ip4_config_get_nis_domain (src_config));
-
- len = nm_ip4_config_get_num_nameservers (src_config);
- for (i = 0; i < len; i++)
- nm_ip4_config_add_nameserver (dst_config, nm_ip4_config_get_nameserver (src_config, i));
-
- len = nm_ip4_config_get_num_domains (src_config);
- for (i = 0; i < len; i++)
- nm_ip4_config_add_domain (dst_config, nm_ip4_config_get_domain (src_config, i));
-
- len = nm_ip4_config_get_num_nis_servers (src_config);
- for (i = 0; i < len; i++)
- nm_ip4_config_add_nis_server (dst_config, nm_ip4_config_get_nis_server (src_config, i));
-
- for (iter = src_priv->routes; iter; iter = g_slist_next (iter)) {
- NMSettingIP4Route *src_route = (NMSettingIP4Route *) iter->data;
- NMSettingIP4Route *dst_route;
-
- dst_route = g_malloc0 (sizeof (NMSettingIP4Route));
- memcpy (dst_route, src_route, sizeof (NMSettingIP4Route));
- nm_ip4_config_take_route (dst_config, dst_route);
- }
-
- return dst_config;
-}
-
void
nm_ip4_config_take_address (NMIP4Config *config,
NMSettingIP4Address *address)
@@ -180,6 +126,7 @@ nm_ip4_config_replace_address (NMIP4Config *config,
NMSettingIP4Address *new_address)
{
NMIP4ConfigPrivate *priv;
+ NMSettingIP4Address *copy;
GSList *old;
g_return_if_fail (NM_IS_IP4_CONFIG (config));
@@ -187,9 +134,11 @@ nm_ip4_config_replace_address (NMIP4Config *config,
priv = NM_IP4_CONFIG_GET_PRIVATE (config);
old = g_slist_nth (priv->addresses, i);
g_return_if_fail (old != NULL);
-
g_free (old->data);
- old->data = new_address;
+
+ copy = g_malloc0 (sizeof (NMSettingIP4Address));
+ memcpy (copy, new_address, sizeof (NMSettingIP4Address));
+ old->data = copy;
}
const NMSettingIP4Address *nm_ip4_config_get_address (NMIP4Config *config, guint i)
@@ -253,27 +202,6 @@ void nm_ip4_config_reset_nameservers (NMIP4Config *config)
g_array_remove_range (priv->nameservers, 0, priv->nameservers->len);
}
-void nm_ip4_config_add_nis_server (NMIP4Config *config, guint32 nis_server)
-{
- g_return_if_fail (NM_IS_IP4_CONFIG (config));
-
- g_array_append_val (NM_IP4_CONFIG_GET_PRIVATE (config)->nis_servers, nis_server);
-}
-
-guint32 nm_ip4_config_get_nis_server (NMIP4Config *config, guint i)
-{
- g_return_val_if_fail (NM_IS_IP4_CONFIG (config), 0);
-
- return g_array_index (NM_IP4_CONFIG_GET_PRIVATE (config)->nis_servers, guint32, i);
-}
-
-guint32 nm_ip4_config_get_num_nis_servers (NMIP4Config *config)
-{
- g_return_val_if_fail (NM_IS_IP4_CONFIG (config), 0);
-
- return NM_IP4_CONFIG_GET_PRIVATE (config)->nis_servers->len;
-}
-
void nm_ip4_config_set_hostname (NMIP4Config *config, const char *hostname)
{
g_return_if_fail (NM_IS_IP4_CONFIG (config));
@@ -292,23 +220,6 @@ const char *nm_ip4_config_get_hostname (NMIP4Config *config)
return NM_IP4_CONFIG_GET_PRIVATE (config)->hostname;
}
-void nm_ip4_config_set_nis_domain (NMIP4Config *config, const char *domain)
-{
- g_return_if_fail (NM_IS_IP4_CONFIG (config));
- g_return_if_fail (domain != NULL);
-
- if (!strlen (domain))
- return;
-
- NM_IP4_CONFIG_GET_PRIVATE (config)->nis_domain = g_strdup (domain);
-}
-
-const char *nm_ip4_config_get_nis_domain (NMIP4Config *config)
-{
- g_return_val_if_fail( NM_IS_IP4_CONFIG (config), NULL);
- return NM_IP4_CONFIG_GET_PRIVATE (config)->nis_domain;
-}
-
void
nm_ip4_config_take_route (NMIP4Config *config,
NMSettingIP4Route *route)
@@ -344,6 +255,7 @@ nm_ip4_config_replace_route (NMIP4Config *config,
NMSettingIP4Route *new_route)
{
NMIP4ConfigPrivate *priv;
+ NMSettingIP4Route *copy;
GSList *old;
g_return_if_fail (NM_IS_IP4_CONFIG (config));
@@ -351,9 +263,11 @@ nm_ip4_config_replace_route (NMIP4Config *config,
priv = NM_IP4_CONFIG_GET_PRIVATE (config);
old = g_slist_nth (priv->routes, i);
g_return_if_fail (old != NULL);
-
g_free (old->data);
- old->data = new_route;
+
+ copy = g_malloc0 (sizeof (NMSettingIP4Route));
+ memcpy (copy, new_route, sizeof (NMSettingIP4Route));
+ old->data = copy;
}
const NMSettingIP4Route *
@@ -565,7 +479,6 @@ nm_ip4_config_init (NMIP4Config *config)
NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (config);
priv->nameservers = g_array_new (FALSE, TRUE, sizeof (guint32));
- priv->nis_servers = g_array_new (FALSE, TRUE, sizeof (guint32));
priv->domains = g_ptr_array_new ();
priv->searches = g_ptr_array_new ();
}
@@ -577,44 +490,13 @@ finalize (GObject *object)
nm_utils_slist_free (priv->addresses, g_free);
g_free (priv->hostname);
- g_free (priv->nis_domain);
g_array_free (priv->nameservers, TRUE);
g_ptr_array_free (priv->domains, TRUE);
g_ptr_array_free (priv->searches, TRUE);
- g_array_free (priv->nis_servers, TRUE);
nm_utils_slist_free (priv->routes, g_free);
}
static void
-ip4_addresses_to_gvalue (GSList *list, GValue *value)
-{
- GPtrArray *addresses;
- GSList *iter;
-
- addresses = g_ptr_array_new ();
-
- for (iter = list; iter; iter = iter->next) {
- NMSettingIP4Address *ip4_addr = (NMSettingIP4Address *) iter->data;
- GArray *array;
- const guint32 empty_val = 0;
-
- array = g_array_sized_new (FALSE, TRUE, sizeof (guint32), 3);
-
- g_array_append_val (array, ip4_addr->address);
- g_array_append_val (array, ip4_addr->prefix);
-
- if (ip4_addr->gateway)
- g_array_append_val (array, ip4_addr->gateway);
- else
- g_array_append_val (array, empty_val);
-
- g_ptr_array_add (addresses, array);
- }
-
- g_value_take_boxed (value, addresses);
-}
-
-static void
get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
@@ -622,7 +504,7 @@ get_property (GObject *object, guint prop_id,
switch (prop_id) {
case PROP_ADDRESSES:
- ip4_addresses_to_gvalue (priv->addresses, value);
+ nm_utils_ip4_addresses_to_gvalue (priv->addresses, value);
break;
case PROP_HOSTNAME:
g_value_set_string (value, priv->hostname);
@@ -633,14 +515,8 @@ get_property (GObject *object, guint prop_id,
case PROP_DOMAINS:
g_value_set_boxed (value, priv->domains);
break;
- case PROP_NIS_DOMAIN:
- g_value_set_string (value, priv->nis_domain);
- break;
- case PROP_NIS_SERVERS:
- g_value_set_boxed (value, priv->nis_servers);
- break;
case PROP_ROUTES:
- ip4_addresses_to_gvalue (priv->routes, value);
+ nm_utils_ip4_routes_to_gvalue (priv->routes, value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -688,20 +564,6 @@ nm_ip4_config_class_init (NMIP4ConfigClass *config_class)
"Domains",
DBUS_TYPE_G_ARRAY_OF_STRING,
G_PARAM_READABLE));
- g_object_class_install_property
- (object_class, PROP_NIS_DOMAIN,
- g_param_spec_string (NM_IP4_CONFIG_NIS_DOMAIN,
- "NIS domain",
- "NIS domain name",
- NULL,
- G_PARAM_READABLE));
- g_object_class_install_property
- (object_class, PROP_NIS_SERVERS,
- g_param_spec_boxed (NM_IP4_CONFIG_NIS_SERVERS,
- "NIS servers",
- "NIS servers",
- DBUS_TYPE_G_UINT_ARRAY,
- G_PARAM_READABLE));
g_object_class_install_property
(object_class, PROP_ROUTES,