Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2:Test
NetworkManager
0012-Update-resolv.conf-once.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0012-Update-resolv.conf-once.patch of Package NetworkManager
From d1d199990cda8071a4b249f5589d9fef73da69c5 Mon Sep 17 00:00:00 2001 From: Tambet Ingo <tambet@gmail.com> Date: Wed, 1 Apr 2009 10:02:52 +0300 Subject: [PATCH] Update resolv.conf once. Index: NetworkManager-0.7.1/src/NetworkManagerPolicy.c =================================================================== --- NetworkManager-0.7.1.orig/src/NetworkManagerPolicy.c +++ NetworkManager-0.7.1/src/NetworkManagerPolicy.c @@ -553,7 +553,7 @@ update_routing_and_dns (NMPolicy *policy } named_mgr = nm_named_manager_get (); - nm_named_manager_add_ip4_config (named_mgr, ip_iface, ip4_config, dns_type); + nm_named_manager_add_ip4_config (named_mgr, ip4_config, dns_type); g_object_unref (named_mgr); /* Now set new default active connection _after_ updating DNS info, so that @@ -774,7 +774,10 @@ device_ip4_config_changed (NMDevice *dev GParamSpec *pspec, gpointer user_data) { - update_routing_and_dns ((NMPolicy *) user_data, TRUE); + if (nm_device_get_state (device) == NM_DEVICE_STATE_ACTIVATED) + /* Update routing and DNS when the device is active and it's configuration changes. + The device activation and deactivation are caught by device_state_changed() */ + update_routing_and_dns ((NMPolicy *) user_data, TRUE); } static void Index: NetworkManager-0.7.1/src/named-manager/nm-named-manager.c =================================================================== --- NetworkManager-0.7.1.orig/src/named-manager/nm-named-manager.c +++ NetworkManager-0.7.1/src/named-manager/nm-named-manager.c @@ -183,7 +183,6 @@ static gboolean dispatch_netconfig (const char *domain, char **searches, char **nameservers, - const char *iface, const char *nis_domain, const char *nis_servers, GError **error) @@ -197,8 +196,6 @@ dispatch_netconfig (const char *domain, if (pid < 0) return FALSE; - write_to_netconfig (fd, "INTERFACE", iface); - if (searches) { str = g_strjoinv (" ", searches); @@ -315,7 +312,6 @@ static gboolean dispatch_resolvconf (const char *domain, char **searches, char **nameservers, - const char *iface, GError **error) { char *cmd; @@ -327,7 +323,7 @@ dispatch_resolvconf (const char *domain, if (domain || searches || nameservers) { cmd = g_strconcat (RESOLVCONF_PATH, " -a ", "NetworkManager", NULL); - nm_info ("(%s): writing resolv.conf to %s", iface, RESOLVCONF_PATH); + nm_info ("writing resolv.conf to %s", RESOLVCONF_PATH); if ((f = popen (cmd, "w")) == NULL) g_set_error (error, NM_NAMED_MANAGER_ERROR, @@ -341,7 +337,7 @@ dispatch_resolvconf (const char *domain, } } else { cmd = g_strconcat (RESOLVCONF_PATH, " -d ", "NetworkManager", NULL); - nm_info ("(%s): removing resolv.conf from %s", iface, RESOLVCONF_PATH); + nm_info ("removing resolv.conf from %s", RESOLVCONF_PATH); if (nm_spawn_process (cmd) == 0) retval = TRUE; } @@ -356,7 +352,6 @@ static gboolean update_resolv_conf (const char *domain, char **searches, char **nameservers, - const char *iface, GError **error) { const char *tmp_resolv_conf = RESOLV_CONF ".tmp"; @@ -442,7 +437,7 @@ compute_searches (guint32 num, NMIP4Conf } static gboolean -rewrite_resolv_conf (NMNamedManager *mgr, const char *iface, GError **error) +rewrite_resolv_conf (NMNamedManager *mgr, GError **error) { NMNamedManagerPrivate *priv; NMIP4Config *composite; @@ -524,19 +519,22 @@ rewrite_resolv_conf (NMNamedManager *mgr g_object_unref (composite); #ifdef RESOLVCONF_PATH - success = dispatch_resolvconf (domain, searches, nameservers, iface, error); + success = dispatch_resolvconf (domain, searches, nameservers, error); #endif #ifdef TARGET_SUSE - if (success == FALSE) - success = dispatch_netconfig (domain, searches, nameservers, iface, - g_object_get_data (G_OBJECT (composite), "NISDOMAIN"), - g_object_get_data (G_OBJECT (composite), "NISSERVERS"), - error); + if (success == FALSE) { + /* On SUSE, never fall back to manual resolv.conf updating. */ + success = TRUE; + dispatch_netconfig (domain, searches, nameservers, + g_object_get_data (G_OBJECT (composite), "NISDOMAIN"), + g_object_get_data (G_OBJECT (composite), "NISSERVERS"), + error); + } #endif if (success == FALSE) - success = update_resolv_conf (domain, searches, nameservers, iface, error); + success = update_resolv_conf (domain, searches, nameservers, error); if (success) nm_system_update_dns (); @@ -549,7 +547,6 @@ rewrite_resolv_conf (NMNamedManager *mgr gboolean nm_named_manager_add_ip4_config (NMNamedManager *mgr, - const char *iface, NMIP4Config *config, NMNamedIPConfigType cfg_type) { @@ -557,7 +554,6 @@ nm_named_manager_add_ip4_config (NMNamed GError *error = NULL; g_return_val_if_fail (mgr != NULL, FALSE); - g_return_val_if_fail (iface != NULL, FALSE); g_return_val_if_fail (config != NULL, FALSE); priv = NM_NAMED_MANAGER_GET_PRIVATE (mgr); @@ -577,7 +573,7 @@ nm_named_manager_add_ip4_config (NMNamed if (!g_slist_find (priv->configs, config)) priv->configs = g_slist_append (priv->configs, g_object_ref (config)); - if (!rewrite_resolv_conf (mgr, iface, &error)) { + if (!rewrite_resolv_conf (mgr, &error)) { nm_warning ("Could not commit DNS changes. Error: '%s'", error ? error->message : "(none)"); g_error_free (error); } @@ -587,14 +583,12 @@ nm_named_manager_add_ip4_config (NMNamed gboolean nm_named_manager_remove_ip4_config (NMNamedManager *mgr, - const char *iface, NMIP4Config *config) { NMNamedManagerPrivate *priv; GError *error = NULL; g_return_val_if_fail (mgr != NULL, FALSE); - g_return_val_if_fail (iface != NULL, FALSE); g_return_val_if_fail (config != NULL, FALSE); priv = NM_NAMED_MANAGER_GET_PRIVATE (mgr); @@ -613,7 +607,7 @@ nm_named_manager_remove_ip4_config (NMNa g_object_unref (config); - if (!rewrite_resolv_conf (mgr, iface, &error)) { + if (!rewrite_resolv_conf (mgr, &error)) { nm_warning ("Could not commit DNS changes. Error: '%s'", error ? error->message : "(none)"); if (error) g_error_free (error); Index: NetworkManager-0.7.1/src/named-manager/nm-named-manager.h =================================================================== --- NetworkManager-0.7.1.orig/src/named-manager/nm-named-manager.h +++ NetworkManager-0.7.1/src/named-manager/nm-named-manager.h @@ -69,12 +69,10 @@ GType nm_named_manager_get_type (void); NMNamedManager * nm_named_manager_get (void); gboolean nm_named_manager_add_ip4_config (NMNamedManager *mgr, - const char *iface, NMIP4Config *config, NMNamedIPConfigType cfg_type); gboolean nm_named_manager_remove_ip4_config (NMNamedManager *mgr, - const char *iface, NMIP4Config *config); G_END_DECLS Index: NetworkManager-0.7.1/src/nm-device.c =================================================================== --- NetworkManager-0.7.1.orig/src/nm-device.c +++ NetworkManager-0.7.1/src/nm-device.c @@ -1976,7 +1976,7 @@ nm_device_set_ip4_config (NMDevice *self named_mgr = nm_named_manager_get (); if (old_config) { /* Remove any previous IP4 Config from the named manager */ - nm_named_manager_remove_ip4_config (named_mgr, ip_iface, old_config); + nm_named_manager_remove_ip4_config (named_mgr, old_config); g_object_unref (old_config); priv->ip4_config = NULL; } @@ -1990,9 +1990,6 @@ nm_device_set_ip4_config (NMDevice *self if (!nm_ip4_config_get_dbus_path (new_config)) nm_ip4_config_export (new_config); - /* Add the DNS information to the named manager */ - nm_named_manager_add_ip4_config (named_mgr, ip_iface, new_config, NM_NAMED_IP_CONFIG_TYPE_DEFAULT); - nm_device_update_ip4_address (self); } } Index: NetworkManager-0.7.1/src/vpn-manager/nm-vpn-connection.c =================================================================== --- NetworkManager-0.7.1.orig/src/vpn-manager/nm-vpn-connection.c +++ NetworkManager-0.7.1/src/vpn-manager/nm-vpn-connection.c @@ -506,7 +506,7 @@ nm_vpn_connection_ip4_config_get (DBusGP /* Add the VPN to DNS */ named_mgr = nm_named_manager_get (); - nm_named_manager_add_ip4_config (named_mgr, priv->tundev, config, NM_NAMED_IP_CONFIG_TYPE_VPN); + nm_named_manager_add_ip4_config (named_mgr, config, NM_NAMED_IP_CONFIG_TYPE_VPN); g_object_unref (named_mgr); priv->ip4_config = config; @@ -943,7 +943,7 @@ vpn_cleanup (NMVPNConnection *connection /* Remove attributes of the VPN's IP4 Config */ named_mgr = nm_named_manager_get (); - nm_named_manager_remove_ip4_config (named_mgr, priv->tundev, priv->ip4_config); + nm_named_manager_remove_ip4_config (named_mgr, priv->ip4_config); g_object_unref (named_mgr); /* Remove any previously added VPN gateway host route */
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor