rpms/NetworkManager/FC-4 NetworkManager-0.4-static-ip-nameservers.patch, 1.2, 1.3
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Mon Jun 13 15:33:28 UTC 2005
- Previous message (by thread): rpms/openoffice.org/devel openoffice.org.spec,1.223,1.224
- Next message (by thread): rpms/kdebase/FC-4 kdebase-3.4.1-pam.patch, NONE, 1.1 kdebase-3.4.1-redhat.patch, NONE, 1.1 admin-visibility.patch, 1.2, 1.3 kdebase.spec, 1.112, 1.113 kdebase-3.4.0-redhat.patch, 1.3, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: dcbw
Update of /cvs/dist/rpms/NetworkManager/FC-4
In directory cvs.devel.redhat.com:/tmp/cvs-serv4942
Modified Files:
NetworkManager-0.4-static-ip-nameservers.patch
Log Message:
Make the static IP nameservers patch actually compile and work
NetworkManager-0.4-static-ip-nameservers.patch:
Makefile.am | 1
NetworkManagerDevice.c | 2
NetworkManagerSystem.c | 118 ++++++++++++++++++++++++++++++++++++++++
NetworkManagerSystem.h | 5 +
backends/NetworkManagerRedHat.c | 110 +++++++++++++++++++++++++++++++++++++
5 files changed, 235 insertions(+), 1 deletion(-)
Index: NetworkManager-0.4-static-ip-nameservers.patch
===================================================================
RCS file: /cvs/dist/rpms/NetworkManager/FC-4/NetworkManager-0.4-static-ip-nameservers.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- NetworkManager-0.4-static-ip-nameservers.patch 10 Jun 2005 05:10:15 -0000 1.2
+++ NetworkManager-0.4-static-ip-nameservers.patch 13 Jun 2005 15:33:24 -0000 1.3
@@ -1,11 +1,19 @@
---- NetworkManager-0.4/src/backends/NetworkManagerRedHat.c.static-resolv-conf 2005-06-10 00:51:15.000000000 -0400
-+++ NetworkManager-0.4/src/backends/NetworkManagerRedHat.c 2005-06-10 01:05:07.000000000 -0400
-@@ -364,6 +364,106 @@
- }
+--- NetworkManager-0.4/src/Makefile.am.static-ip-nameservers 2005-03-22 11:37:38.000000000 -0500
++++ NetworkManager-0.4/src/Makefile.am 2005-06-13 10:44:03.000000000 -0400
+@@ -53,6 +53,7 @@
+ -DG_DISABLE_DEPRECATED \
+ -DBINDIR=\"$(bindir)\" \
+ -DDATADIR=\"$(datadir)\" \
++ -DSYSCONFDIR=\"$(sysconfdir)\" \
+ -DARP_DEBUG
+ if WITH_GCRYPT
+ NetworkManager_CPPFLAGS += $(LIBGCRYPT_CFLAGS)
+--- NetworkManager-0.4/src/backends/NetworkManagerRedHat.c.static-ip-nameservers 2005-06-13 10:44:02.000000000 -0400
++++ NetworkManager-0.4/src/backends/NetworkManagerRedHat.c 2005-06-13 11:14:42.000000000 -0400
+@@ -125,6 +125,105 @@
-+
-+/*
+ /*
+ * get_current_profile_name
+ *
+ * Retrieve the current network profile, if any
@@ -34,14 +42,14 @@
+ * Add nameservers and search names from a resolv.conf format file.
+ *
+ */
-+static void set_ip4_config_from_resolv_conf (const char *filename, NMIP4Config *ip4_config)
++static void set_ip4_config_from_resolv_conf (NMDevice *dev, const char *filename)
+{
+ char * contents = NULL;
+ char ** split_contents = NULL;
+ int i, len;
+
++ g_return_if_fail (dev != NULL);
+ g_return_if_fail (filename != NULL);
-+ g_return_if_fail (ip4_config != NULL);
+
+ if (!g_file_get_contents (filename, &contents, NULL, NULL) || (contents == NULL))
+ return;
@@ -76,14 +84,14 @@
+ for (m = 0; m < srch_len; m++)
+ {
+ if (split_searches[m])
-+ nm_ip4_config_add_domain (ip4_config, split_searches[m]);
++ nm_system_device_add_domain_search (dev, split_searches[m]);
+ }
+ g_strfreev (split_searches);
+ }
+ else
+ {
+ /* Only 1 item, add the whole line */
-+ nm_ip4_config_add_domain (ip4_config, searches);
++ nm_system_device_add_domain_search (dev, searches);
+ }
+
+ g_free (searches);
@@ -93,7 +101,7 @@
+ guint32 addr = (guint32) (inet_addr (line + 11));
+
+ if (addr != (guint32) -1)
-+ nm_ip4_config_add_nameserver (ip4_config, addr);
++ nm_system_device_add_ip4_nameserver (dev, addr);
+ }
+ }
+
@@ -104,28 +112,180 @@
+}
+
+
- /*
- * nm_system_device_update_config_info
++/*
+ * nm_system_device_setup_static_ip4_config
*
-@@ -472,6 +572,21 @@
- use_dhcp = TRUE;
+ * Set up the device with a particular IPv4 address/netmask/gateway.
+@@ -148,6 +247,7 @@
+ char *buf;
+ int err;
+ const char *iface;
++ char * cur_profile_name = get_current_profile_name ();
+
+ g_return_val_if_fail (dev != NULL, FALSE);
+ g_return_val_if_fail (!nm_device_config_get_use_dhcp (dev), FALSE);
+@@ -204,6 +304,16 @@
+ goto error;
}
+ g_free (buf);
++
++ if (cur_profile_name)
++ {
++ char *filename = g_strdup_printf (SYSCONFDIR"/sysconfig/networking/profiles/%s/resolv.conf", cur_profile_name);
++
++ set_ip4_config_from_resolv_conf (dev, filename);
++ g_free (filename);
++ g_free (cur_profile_name);
++ }
++
+ return (TRUE);
+
+ error:
+--- NetworkManager-0.4/src/NetworkManagerSystem.c.static-ip-nameservers 2005-06-13 11:06:34.000000000 -0400
++++ NetworkManager-0.4/src/NetworkManagerSystem.c 2005-06-13 11:20:59.000000000 -0400
+@@ -216,3 +216,121 @@
+ return (success);
+ }
-+ /* If we're using Static IP, grab DNS servers from the profile's config file */
-+ if (!sys_data->use_dhcp)
++
++gboolean nm_system_device_add_ip4_nameserver (NMDevice *dev, guint32 ip4_nameserver)
++{
++ gboolean success = FALSE;
++ char *nameserver;
++ GError *error = NULL;
++ NMData *data;
++ guint id;
++
++ g_return_val_if_fail (dev != NULL, FALSE);
++ data = nm_device_get_app_data (dev);
++ g_return_val_if_fail (data != NULL, FALSE);
++
++ nameserver = g_strdup_printf ("%u.%u.%u.%u",
++ ((unsigned char *)ip4_nameserver)[0],
++ ((unsigned char *)ip4_nameserver)[1],
++ ((unsigned char *)ip4_nameserver)[2],
++ ((unsigned char *)ip4_nameserver)[3]);
++ nm_info ("Adding nameserver: %s", nameserver);
++
++ if ((id = nm_named_manager_add_nameserver_ipv4 (data->named, nameserver, &error)))
+ {
-+ char * cur_profile_name = get_current_profile_name ();
++ data->nameserver_ids = g_list_prepend (data->nameserver_ids, GUINT_TO_POINTER (id));
++ success = TRUE;
++ }
++ else
++ {
++ nm_warning ("Couldn't add nameserver: %s\n", error->message);
++ g_clear_error (&error);
++ }
++ g_free (nameserver);
+
-+ if (cur_profile_name)
++ return success;
++}
++
++
++void nm_system_device_clear_ip4_nameservers (NMDevice *dev)
++{
++ GList *elt;
++ GError *error = NULL;
++ NMData *data;
++
++ g_return_val_if_fail (dev != NULL, FALSE);
++ data = nm_device_get_app_data (dev);
++ g_return_val_if_fail (data != NULL, FALSE);
++
++ /* Reset our nameserver list */
++ for (elt = data->nameserver_ids; elt; elt = elt->next)
++ {
++ if (!nm_named_manager_remove_nameserver_ipv4 (data->named,
++ GPOINTER_TO_UINT (elt->data),
++ &error))
+ {
-+ char *filename = g_strdup_printf (SYSCONFDIR"/sysconfig/networking/profiles/%s/resolv.conf", cur_profile_name);
-+
-+ set_ip4_config_from_resolv_conf (filename, sys_data->config);
-+ g_free (filename);
-+ g_free (cur_profile_name);
++ nm_warning ("Couldn't remove nameserver: %s", error->message);
++ g_clear_error (&error);
+ }
-+ }
++ }
++ g_list_free (data->nameserver_ids);
++ data->nameserver_ids = NULL;
++
++}
++
++
++gboolean nm_system_device_add_domain_search (NMDevice *dev, const char *search)
++{
++ gboolean success = FALSE;
++ guint id;
++ GError *error = NULL;
++ NMData *data;
++
++ g_return_val_if_fail (dev != NULL, FALSE);
++ g_return_val_if_fail (search != NULL, FALSE);
++ g_return_val_if_fail (strlen (search) <= 0, FALSE);
++
++ data = nm_device_get_app_data (dev);
++ g_return_val_if_fail (data != NULL, FALSE);
++
++ nm_warning ("Adding domain search: %s\n", search);
++ if ((id = nm_named_manager_add_domain_search (data->named, search, &error)))
++ {
++ data->domain_search_ids = g_list_append (data->domain_search_ids, GUINT_TO_POINTER (id));
++ success = TRUE;
++ }
++ else
++ {
++ nm_warning ("Couldn't add domain search '%s': %s\n", search, error->message);
++ g_clear_error (&error);
++ }
++
++ return success;
++}
+
- /* If successful, set values on the device */
- nm_device_config_set_use_dhcp (dev, use_dhcp);
- if (ip4_address)
++void nm_system_device_clear_domain_searches (NMDevice *dev)
++{
++ GError *error = NULL;
++ GList *elt;
++ NMData *data;
++
++ g_return_val_if_fail (dev != NULL, FALSE);
++ data = nm_device_get_app_data (dev);
++ g_return_val_if_fail (data != NULL, FALSE);
++
++ /* Reset our domain search list */
++ for (elt = data->domain_search_ids; elt; elt = elt->next)
++ {
++ if (!nm_named_manager_remove_domain_search (data->named,
++ GPOINTER_TO_UINT (elt->data),
++ &error))
++ {
++ nm_warning ("Couldn't remove domain search: %s\n", error->message);
++ g_clear_error (&error);
++ }
++ }
++ g_list_free (data->domain_search_ids);
++ data->domain_search_ids = NULL;
++}
++
++
+--- NetworkManager-0.4/src/NetworkManagerDevice.c.static-ip-nameservers 2005-06-13 11:17:52.000000000 -0400
++++ NetworkManager-0.4/src/NetworkManagerDevice.c 2005-06-13 11:21:48.000000000 -0400
+@@ -2670,6 +2670,8 @@
+ else
+ {
+ /* Manually set up the device */
++ nm_system_device_clear_ip4_nameservers (dev);
++ nm_system_device_clear_domain_searches (dev);
+ success = nm_system_device_setup_static_ip4_config (dev);
+ }
+
+--- NetworkManager-0.4/src/NetworkManagerSystem.h.static-ip-nameservers 2005-06-13 11:06:25.000000000 -0400
++++ NetworkManager-0.4/src/NetworkManagerSystem.h 2005-06-13 11:21:16.000000000 -0400
+@@ -52,6 +52,9 @@
+ gboolean nm_system_device_set_ip4_netmask (NMDevice *dev, int ip4_netmask);
+ gboolean nm_system_device_set_ip4_broadcast (NMDevice *dev, int ip4_broadcast);
+ gboolean nm_system_device_set_ip4_default_route (NMDevice *dev, int ip4_def_route);
+-gboolean nm_system_device_update_resolv_conf (void *data, int len, const char *domain_name);
++gboolean nm_system_device_add_ip4_nameserver (NMDevice *dev, guint32 ip4_nameserver);
++void nm_system_device_clear_ip4_nameservers (NMDevice *dev);
++gboolean nm_system_device_add_domain_search (NMDevice *dev, const char *search);
++void nm_system_device_clear_domain_searches (NMDevice *dev);
+
+ #endif
- Previous message (by thread): rpms/openoffice.org/devel openoffice.org.spec,1.223,1.224
- Next message (by thread): rpms/kdebase/FC-4 kdebase-3.4.1-pam.patch, NONE, 1.1 kdebase-3.4.1-redhat.patch, NONE, 1.1 admin-visibility.patch, 1.2, 1.3 kdebase.spec, 1.112, 1.113 kdebase-3.4.0-redhat.patch, 1.3, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list