dns-manager: initialize hostname

NMPolicy only updates the NMDnsManager's hostname when it changes,
which previously did not include at startup. Meaning if your hostname
never changed, NMDnsManager would never learn it (and so would never
add an appropriate "search" line to resolv.conf). Fix that.
This commit is contained in:
Dan Winship 2013-12-17 09:24:00 -05:00
parent ea7eb5ab5e
commit 7d126290c4
3 changed files with 15 additions and 3 deletions

View file

@ -944,9 +944,18 @@ nm_dns_manager_remove_ip6_config (NMDnsManager *mgr, NMIP6Config *config)
return TRUE;
}
void
nm_dns_manager_set_initial_hostname (NMDnsManager *mgr,
const char *hostname)
{
NMDnsManagerPrivate *priv = NM_DNS_MANAGER_GET_PRIVATE (mgr);
priv->hostname = g_strdup (hostname);
}
void
nm_dns_manager_set_hostname (NMDnsManager *mgr,
const char *hostname)
const char *hostname)
{
NMDnsManagerPrivate *priv = NM_DNS_MANAGER_GET_PRIVATE (mgr);
GError *error = NULL;

View file

@ -87,8 +87,10 @@ gboolean nm_dns_manager_add_ip6_config (NMDnsManager *mgr,
gboolean nm_dns_manager_remove_ip6_config (NMDnsManager *mgr, NMIP6Config *config);
void nm_dns_manager_set_hostname (NMDnsManager *mgr,
const char *hostname);
void nm_dns_manager_set_initial_hostname (NMDnsManager *mgr,
const char *hostname);
void nm_dns_manager_set_hostname (NMDnsManager *mgr,
const char *hostname);
/**
* NMDnsManagerResolvConfMode:

View file

@ -2092,6 +2092,7 @@ nm_policy_new (NMManager *manager, NMSettings *settings)
priv->fw_started_id = id;
priv->dns_manager = nm_dns_manager_get ();
nm_dns_manager_set_initial_hostname (priv->dns_manager, priv->orig_hostname);
priv->config_changed_id = g_signal_connect (priv->dns_manager, "config-changed",
G_CALLBACK (dns_config_changed), policy);