diff options
Diffstat (limited to 'src')
39 files changed, 182 insertions, 43 deletions
diff --git a/src/Makefile.in b/src/Makefile.in index 103df7fb..5a388235 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -304,6 +304,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/backends/Makefile.in b/src/backends/Makefile.in index 9eb2e0ff..87d3df4e 100644 --- a/src/backends/Makefile.in +++ b/src/backends/Makefile.in @@ -195,6 +195,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/bluez-manager/Makefile.in b/src/bluez-manager/Makefile.in index 764493a4..9eb31c80 100644 --- a/src/bluez-manager/Makefile.in +++ b/src/bluez-manager/Makefile.in @@ -152,6 +152,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/dhcp-manager/Makefile.in b/src/dhcp-manager/Makefile.in index d373f7e9..2d90f043 100644 --- a/src/dhcp-manager/Makefile.in +++ b/src/dhcp-manager/Makefile.in @@ -200,6 +200,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/dhcp-manager/nm-dhcp-client.c b/src/dhcp-manager/nm-dhcp-client.c index f10f3de9..16c6dd77 100644 --- a/src/dhcp-manager/nm-dhcp-client.c +++ b/src/dhcp-manager/nm-dhcp-client.c @@ -262,7 +262,7 @@ daemon_watch_cb (GPid pid, gint status, gpointer user_data) priv->iface, pid, WIFEXITED (status) ? WEXITSTATUS (status) : -1); } else { - nm_log_info (LOGD_DHCP6, "(%s): DHCPv4 client pid %d exited with status %d", + nm_log_info (LOGD_DHCP4, "(%s): DHCPv4 client pid %d exited with status %d", priv->iface, pid, WIFEXITED (status) ? WEXITSTATUS (status) : -1); } diff --git a/src/dhcp-manager/nm-dhcp-dhclient.c b/src/dhcp-manager/nm-dhcp-dhclient.c index 88136a90..09321396 100644 --- a/src/dhcp-manager/nm-dhcp-dhclient.c +++ b/src/dhcp-manager/nm-dhcp-dhclient.c @@ -418,8 +418,8 @@ dhclient_start (NMDHCPClient *client, GPtrArray *argv = NULL; GPid pid = -1; GError *error = NULL; - const char *iface, *uuid; - char *binary_name, *cmd_str, *pid_file = NULL; + const char *iface, *uuid, *system_bus_address; + char *binary_name, *cmd_str, *pid_file = NULL, *system_bus_address_env = NULL; gboolean ipv6; guint log_domain; @@ -503,6 +503,18 @@ dhclient_start (NMDHCPClient *client, g_ptr_array_add (argv, (gpointer) priv->conf_file); } + /* Usually the system bus address is well-known; but if it's supposed + * to be something else, we need to push it to dhclient, since dhclient + * sanitizes the environment it gives the action scripts. + */ + system_bus_address = getenv ("DBUS_SYSTEM_BUS_ADDRESS"); + if (system_bus_address) { + system_bus_address_env = g_strdup_printf ("DBUS_SYSTEM_BUS_ADDRESS=%s", system_bus_address); + g_ptr_array_add (argv, (gpointer) "-e"); + g_ptr_array_add (argv, (gpointer) system_bus_address_env); + } + + g_ptr_array_add (argv, (gpointer) iface); g_ptr_array_add (argv, NULL); @@ -521,6 +533,7 @@ dhclient_start (NMDHCPClient *client, } g_ptr_array_free (argv, TRUE); + g_free (system_bus_address_env); return pid; } diff --git a/src/dhcp-manager/tests/Makefile.in b/src/dhcp-manager/tests/Makefile.in index 8a3c2e97..5c4c23a5 100644 --- a/src/dhcp-manager/tests/Makefile.in +++ b/src/dhcp-manager/tests/Makefile.in @@ -150,6 +150,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/dns-manager/Makefile.in b/src/dns-manager/Makefile.in index d44c3bfc..571f585b 100644 --- a/src/dns-manager/Makefile.in +++ b/src/dns-manager/Makefile.in @@ -153,6 +153,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c index 0203f2bb..ddfd47c8 100644 --- a/src/dns-manager/nm-dns-manager.c +++ b/src/dns-manager/nm-dns-manager.c @@ -1097,15 +1097,20 @@ dispose (GObject *object) g_slist_free (priv->plugins); priv->plugins = NULL; - /* If we're quitting leave a valid resolv.conf in place, not one - * pointing to 127.0.0.1 if any plugins were active. Thus update - * DNS after disposing of all plugins. + /* If last_iface is NULL, this means we haven't done a DNS update before, + * so no reason to try and take down entries from resolv.conf. */ - if (!update_dns (self, priv->last_iface, TRUE, &error)) { - nm_log_warn (LOGD_DNS, "could not commit DNS changes on shutdown: (%d) %s", - error ? error->code : -1, - error && error->message ? error->message : "(unknown)"); - g_clear_error (&error); + if (priv->last_iface != NULL) { + /* If we're quitting leave a valid resolv.conf in place, not one + * pointing to 127.0.0.1 if any plugins were active. Thus update + * DNS after disposing of all plugins. + */ + if (!update_dns (self, priv->last_iface, TRUE, &error)) { + nm_log_warn (LOGD_DNS, "could not commit DNS changes on shutdown: (%d) %s", + error ? error->code : -1, + error && error->message ? error->message : "(unknown)"); + g_clear_error (&error); + } } g_slist_foreach (priv->configs, (GFunc) g_object_unref, NULL); diff --git a/src/dnsmasq-manager/Makefile.in b/src/dnsmasq-manager/Makefile.in index de3a4478..5b1328bf 100644 --- a/src/dnsmasq-manager/Makefile.in +++ b/src/dnsmasq-manager/Makefile.in @@ -149,6 +149,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/ip6-manager/Makefile.in b/src/ip6-manager/Makefile.in index 1912bd59..6eb818c0 100644 --- a/src/ip6-manager/Makefile.in +++ b/src/ip6-manager/Makefile.in @@ -150,6 +150,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/ip6-manager/nm-ip6-manager.c b/src/ip6-manager/nm-ip6-manager.c index 1c761305..503dab51 100644 --- a/src/ip6-manager/nm-ip6-manager.c +++ b/src/ip6-manager/nm-ip6-manager.c @@ -1354,6 +1354,7 @@ nm_ip6_manager_init (NMIP6Manager *manager) priv->monitor = nm_netlink_monitor_get (); nm_netlink_monitor_subscribe (priv->monitor, RTNLGRP_IPV6_IFADDR, NULL); nm_netlink_monitor_subscribe (priv->monitor, RTNLGRP_IPV6_PREFIX, NULL); + nm_netlink_monitor_subscribe (priv->monitor, RTNLGRP_IPV6_ROUTE, NULL); nm_netlink_monitor_subscribe (priv->monitor, RTNLGRP_ND_USEROPT, NULL); nm_netlink_monitor_subscribe (priv->monitor, RTNLGRP_LINK, NULL); diff --git a/src/logging/Makefile.in b/src/logging/Makefile.in index 4606160a..72274507 100644 --- a/src/logging/Makefile.in +++ b/src/logging/Makefile.in @@ -146,6 +146,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/main.c b/src/main.c index b7c0fd5a..12a0b893 100644 --- a/src/main.c +++ b/src/main.c @@ -563,9 +563,18 @@ main (int argc, char *argv[]) umask (022); g_type_init (); + +/* + * Threading is always enabled starting from GLib 2.31.0. + * See also http://developer.gnome.org/glib/2.31/glib-Deprecated-Thread-APIs.html. + */ +#if !GLIB_CHECK_VERSION (2,31,0) if (!g_thread_supported ()) g_thread_init (NULL); dbus_g_thread_init (); +#else + dbus_threads_init_default (); +#endif #ifndef HAVE_DBUS_GLIB_DISABLE_LEGACY_PROP_ACCESS #error HAVE_DBUS_GLIB_DISABLE_LEGACY_PROP_ACCESS not defined diff --git a/src/modem-manager/Makefile.in b/src/modem-manager/Makefile.in index c78ed0f3..494bb1be 100644 --- a/src/modem-manager/Makefile.in +++ b/src/modem-manager/Makefile.in @@ -152,6 +152,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/nm-device.c b/src/nm-device.c index a4cd3e93..95f07e44 100644 --- a/src/nm-device.c +++ b/src/nm-device.c @@ -1863,7 +1863,7 @@ release_shared_ip (gpointer data) static guint32 reserve_shared_ip (void) { - guint32 start = (guint32) ntohl (0x0a2a2b01); /* 10.42.43.1 */ + guint32 start = (guint32) ntohl (0x0a2a0001); /* 10.42.0.1 */ guint32 count = 0; while (g_hash_table_lookup (shared_ips, GUINT_TO_POINTER (start + count))) { diff --git a/src/nm-policy-hostname.c b/src/nm-policy-hostname.c index 4fe69c5a..f98aa9c6 100644 --- a/src/nm-policy-hostname.c +++ b/src/nm-policy-hostname.c @@ -15,7 +15,7 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * - * Copyright (C) 2004 - 2010 Red Hat, Inc. + * Copyright (C) 2004 - 2011 Red Hat, Inc. * Copyright (C) 2007 - 2008 Novell, Inc. */ @@ -36,7 +36,11 @@ struct HostnameThread { GThread *thread; +#if GLIB_CHECK_VERSION (2,31,0) + GMutex lock; +#else GMutex *lock; +#endif gboolean dead; int ret; @@ -50,6 +54,25 @@ struct HostnameThread { gpointer user_data; }; +/* + * GMutex API has changed: + * http://developer.gnome.org/glib/2.31/glib-Threads.html#GMutex + * http://developer.gnome.org/glib/2.31/glib-Deprecated-Thread-APIs.html +*/ +#if GLIB_CHECK_VERSION (2,31,0) +#define X_MUTEX_LOCK(mutex) g_mutex_lock (&(mutex)) +#define X_MUTEX_UNLOCK(mutex) g_mutex_unlock (&(mutex)) +#define X_MUTEX_INIT(mutex) g_mutex_init (&(mutex)) +#define X_MUTEX_CLEAR(mutex) g_mutex_clear (&(mutex)) +#define X_THREAD_CREATE(func,data) g_thread_try_new ("hostname-thread", func, data, NULL); +#else +#define X_MUTEX_LOCK(mutex) g_mutex_lock (mutex) +#define X_MUTEX_UNLOCK(mutex) g_mutex_unlock (mutex) +#define X_MUTEX_INIT(mutex) mutex = g_mutex_new () +#define X_MUTEX_CLEAR(mutex) g_mutex_free (mutex) +#define X_THREAD_CREATE(func,data) g_thread_create (func, data, FALSE, NULL); +#endif + static gboolean hostname_thread_run_cb (gpointer user_data) { @@ -72,12 +95,12 @@ hostname_thread_worker (gpointer data) nm_log_dbg (LOGD_DNS, "(%p) starting address reverse-lookup", ht); - g_mutex_lock (ht->lock); + X_MUTEX_LOCK (ht->lock); if (ht->dead) { - g_mutex_unlock (ht->lock); + X_MUTEX_UNLOCK (ht->lock); return (gpointer) NULL; } - g_mutex_unlock (ht->lock); + X_MUTEX_UNLOCK (ht->lock); ht->ret = getnameinfo (ht->addr, ht->addr_size, ht->hostname, NI_MAXHOST, NULL, 0, NI_NAMEREQD); if (ht->ret == 0) { @@ -106,7 +129,7 @@ hostname_thread_free (HostnameThread *ht) nm_log_dbg (LOGD_DNS, "(%p) freeing reverse-lookup thread", ht); - g_mutex_free (ht->lock); + X_MUTEX_CLEAR (ht->lock); memset (ht, 0, sizeof (HostnameThread)); g_free (ht); } @@ -123,7 +146,7 @@ hostname4_thread_new (guint32 ip4_addr, ht = g_malloc0 (sizeof (HostnameThread)); g_assert (ht); - ht->lock = g_mutex_new (); + X_MUTEX_INIT (ht->lock); ht->callback = callback; ht->user_data = user_data; @@ -132,7 +155,7 @@ hostname4_thread_new (guint32 ip4_addr, ht->addr = (struct sockaddr *) &ht->addr4; ht->addr_size = sizeof (ht->addr4); - ht->thread = g_thread_create (hostname_thread_worker, ht, FALSE, NULL); + ht->thread = X_THREAD_CREATE (hostname_thread_worker, ht); if (!ht->thread) { hostname_thread_free (ht); return NULL; @@ -158,7 +181,7 @@ hostname6_thread_new (const struct in6_addr *ip6_addr, ht = g_malloc0 (sizeof (HostnameThread)); g_assert (ht); - ht->lock = g_mutex_new (); + X_MUTEX_INIT (ht->lock); ht->callback = callback; ht->user_data = user_data; @@ -167,7 +190,7 @@ hostname6_thread_new (const struct in6_addr *ip6_addr, ht->addr = (struct sockaddr *) &ht->addr6; ht->addr_size = sizeof (ht->addr6); - ht->thread = g_thread_create (hostname_thread_worker, ht, FALSE, NULL); + ht->thread = X_THREAD_CREATE (hostname_thread_worker, ht); if (!ht->thread) { hostname_thread_free (ht); return NULL; @@ -189,9 +212,9 @@ hostname_thread_kill (HostnameThread *ht) nm_log_dbg (LOGD_DNS, "(%p) stopping reverse-lookup thread", ht); - g_mutex_lock (ht->lock); + X_MUTEX_LOCK (ht->lock); ht->dead = TRUE; - g_mutex_unlock (ht->lock); + X_MUTEX_UNLOCK (ht->lock); } gboolean diff --git a/src/nm-policy.c b/src/nm-policy.c index 5c4059e1..669db28b 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -71,6 +71,7 @@ struct NMPolicy { char *orig_hostname; /* hostname at NM start time */ char *cur_hostname; /* hostname we want to assign */ + gboolean hostname_changed; /* TRUE if NM ever set the hostname */ }; #define RETRIES_TAG "autoconnect-retries" @@ -228,20 +229,38 @@ get_best_ip6_device (NMManager *manager, NMActRequest **out_req) static void _set_hostname (NMPolicy *policy, - gboolean change_hostname, const char *new_hostname, const char *msg) { - if (change_hostname) { - NMDnsManager *dns_mgr; + NMDnsManager *dns_mgr; - g_free (policy->cur_hostname); - policy->cur_hostname = g_strdup (new_hostname); + /* The incoming hostname *can* be NULL, which will get translated to + * 'localhost.localdomain' or such in the hostname policy code, but we + * keep cur_hostname = NULL in the case because we need to know that + * there was no valid hostname to start with. + */ - dns_mgr = nm_dns_manager_get (NULL); - nm_dns_manager_set_hostname (dns_mgr, policy->cur_hostname); - g_object_unref (dns_mgr); - } + /* Don't change the hostname or update DNS this is the first time we're + * trying to change the hostname, and it's not actually changing. + */ + if ( policy->orig_hostname + && (policy->hostname_changed == FALSE) + && g_strcmp0 (policy->orig_hostname, new_hostname) == 0) + return; + + /* Don't change the hostname or update DNS if the hostname isn't actually + * going to change. + */ + if (g_strcmp0 (policy->cur_hostname, new_hostname) == 0) + return; + + g_free (policy->cur_hostname); + policy->cur_hostname = g_strdup (new_hostname); + policy->hostname_changed = TRUE; + + dns_mgr = nm_dns_manager_get (NULL); + nm_dns_manager_set_hostname (dns_mgr, policy->cur_hostname); + g_object_unref (dns_mgr); if (nm_policy_set_system_hostname (policy->cur_hostname, msg)) nm_utils_call_dispatcher ("hostname", NULL, NULL, NULL, NULL, NULL); @@ -262,10 +281,10 @@ lookup_callback (HostnameThread *thread, if (!hostname) { /* Fall back to localhost.localdomain */ msg = g_strdup_printf ("address lookup failed: %d", result); - _set_hostname (policy, TRUE, NULL, msg); + _set_hostname (policy, NULL, msg); g_free (msg); } else - _set_hostname (policy, TRUE, hostname, "from address lookup"); + _set_hostname (policy, hostname, "from address lookup"); } hostname_thread_free (thread); } @@ -297,7 +316,7 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) /* Try a persistent hostname first */ g_object_get (G_OBJECT (policy->manager), NM_MANAGER_HOSTNAME, &configured_hostname, NULL); if (configured_hostname) { - _set_hostname (policy, TRUE, configured_hostname, "from system configuration"); + _set_hostname (policy, configured_hostname, "from system configuration"); g_free (configured_hostname); return; } @@ -312,7 +331,7 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) /* No best device; fall back to original hostname or if there wasn't * one, 'localhost.localdomain' */ - _set_hostname (policy, TRUE, policy->orig_hostname, "no default device"); + _set_hostname (policy, policy->orig_hostname, "no default device"); return; } @@ -327,7 +346,7 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) /* Sanity check; strip leading spaces */ while (*p) { if (!isblank (*p++)) { - _set_hostname (policy, TRUE, p-1, "from DHCPv4"); + _set_hostname (policy, p-1, "from DHCPv4"); return; } } @@ -346,7 +365,7 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) /* Sanity check; strip leading spaces */ while (*p) { if (!isblank (*p++)) { - _set_hostname (policy, TRUE, p-1, "from DHCPv6"); + _set_hostname (policy, p-1, "from DHCPv6"); return; } } @@ -360,7 +379,7 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) * when NM started up. */ if (policy->orig_hostname) { - _set_hostname (policy, TRUE, policy->orig_hostname, "from system startup"); + _set_hostname (policy, policy->orig_hostname, "from system startup"); return; } @@ -376,7 +395,7 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) || (nm_ip4_config_get_num_nameservers (ip4_config) == 0) || (nm_ip4_config_get_num_addresses (ip4_config) == 0)) { /* No valid IP4 config (!!); fall back to localhost.localdomain */ - _set_hostname (policy, TRUE, NULL, "no IPv4 config"); + _set_hostname (policy, NULL, "no IPv4 config"); return; } @@ -394,7 +413,7 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) || (nm_ip6_config_get_num_nameservers (ip6_config) == 0) || (nm_ip6_config_get_num_addresses (ip6_config) == 0)) { /* No valid IP6 config (!!); fall back to localhost.localdomain */ - _set_hostname (policy, TRUE, NULL, "no IPv6 config"); + _set_hostname (policy, NULL, "no IPv6 config"); return; } @@ -407,7 +426,7 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) if (!policy->lookup) { /* Fall back to 'localhost.localdomain' */ - _set_hostname (policy, TRUE, NULL, "error starting hostname thread"); + _set_hostname (policy, NULL, "error starting hostname thread"); } } @@ -1023,6 +1042,15 @@ device_state_changed (NMDevice *device, update_routing_and_dns (policy, FALSE); break; case NM_DEVICE_STATE_UNMANAGED: + if ( old_state == NM_DEVICE_STATE_UNAVAILABLE + || old_state == NM_DEVICE_STATE_DISCONNECTED) { + /* If the device was never activated, there's no point in + * updating routing or DNS. This allows us to keep the previous + * resolv.conf or routes from before NM started if no device was + * ever managed by NM. + */ + break; + } case NM_DEVICE_STATE_UNAVAILABLE: update_routing_and_dns (policy, FALSE); break; diff --git a/src/ppp-manager/Makefile.in b/src/ppp-manager/Makefile.in index 6971408f..90f855b3 100644 --- a/src/ppp-manager/Makefile.in +++ b/src/ppp-manager/Makefile.in @@ -185,6 +185,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/Makefile.in b/src/settings/Makefile.in index 09da869d..b4f4508f 100644 --- a/src/settings/Makefile.in +++ b/src/settings/Makefile.in @@ -211,6 +211,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/Makefile.in b/src/settings/plugins/Makefile.in index c23e3be0..7c9c8784 100644 --- a/src/settings/plugins/Makefile.in +++ b/src/settings/plugins/Makefile.in @@ -160,6 +160,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/ifcfg-rh/Makefile.in b/src/settings/plugins/ifcfg-rh/Makefile.in index b904563a..79b66b2d 100644 --- a/src/settings/plugins/ifcfg-rh/Makefile.in +++ b/src/settings/plugins/ifcfg-rh/Makefile.in @@ -230,6 +230,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/ifcfg-rh/tests/Makefile.in b/src/settings/plugins/ifcfg-rh/tests/Makefile.in index 6c509fd0..71c5d60b 100644 --- a/src/settings/plugins/ifcfg-rh/tests/Makefile.in +++ b/src/settings/plugins/ifcfg-rh/tests/Makefile.in @@ -191,6 +191,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.in b/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.in index 7a00bcfd..6292f12c 100644 --- a/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.in +++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/Makefile.in @@ -115,6 +115,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/ifcfg-suse/Makefile.in b/src/settings/plugins/ifcfg-suse/Makefile.in index b8017e24..dfa84086 100644 --- a/src/settings/plugins/ifcfg-suse/Makefile.in +++ b/src/settings/plugins/ifcfg-suse/Makefile.in @@ -178,6 +178,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/ifnet/Makefile.in b/src/settings/plugins/ifnet/Makefile.in index 519e07c0..8218b85a 100644 --- a/src/settings/plugins/ifnet/Makefile.in +++ b/src/settings/plugins/ifnet/Makefile.in @@ -226,6 +226,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/ifnet/tests/Makefile.in b/src/settings/plugins/ifnet/tests/Makefile.in index d2cbb871..fe7f40e2 100644 --- a/src/settings/plugins/ifnet/tests/Makefile.in +++ b/src/settings/plugins/ifnet/tests/Makefile.in @@ -149,6 +149,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/ifupdown/Makefile.in b/src/settings/plugins/ifupdown/Makefile.in index b6896b59..98dded68 100644 --- a/src/settings/plugins/ifupdown/Makefile.in +++ b/src/settings/plugins/ifupdown/Makefile.in @@ -225,6 +225,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/ifupdown/tests/Makefile.in b/src/settings/plugins/ifupdown/tests/Makefile.in index 3c8bf793..aca48837 100644 --- a/src/settings/plugins/ifupdown/tests/Makefile.in +++ b/src/settings/plugins/ifupdown/tests/Makefile.in @@ -149,6 +149,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/keyfile/Makefile.in b/src/settings/plugins/keyfile/Makefile.in index cf821e46..ae0c9f8e 100644 --- a/src/settings/plugins/keyfile/Makefile.in +++ b/src/settings/plugins/keyfile/Makefile.in @@ -201,6 +201,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/keyfile/tests/Makefile.in b/src/settings/plugins/keyfile/tests/Makefile.in index 9d4f478d..c1fc662d 100644 --- a/src/settings/plugins/keyfile/tests/Makefile.in +++ b/src/settings/plugins/keyfile/tests/Makefile.in @@ -187,6 +187,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/keyfile/tests/keyfiles/Makefile.in b/src/settings/plugins/keyfile/tests/keyfiles/Makefile.in index 3408cb15..0ea23ebc 100644 --- a/src/settings/plugins/keyfile/tests/keyfiles/Makefile.in +++ b/src/settings/plugins/keyfile/tests/keyfiles/Makefile.in @@ -115,6 +115,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/settings/plugins/keyfile/writer.c b/src/settings/plugins/keyfile/writer.c index db43b233..2babe267 100644 --- a/src/settings/plugins/keyfile/writer.c +++ b/src/settings/plugins/keyfile/writer.c @@ -679,7 +679,7 @@ cert_writer (GKeyFile *file, } g_return_if_fail (objtype != NULL); - scheme = objtypes->scheme_func (NM_SETTING_802_1X (setting)); + scheme = objtype->scheme_func (NM_SETTING_802_1X (setting)); if (scheme == NM_SETTING_802_1X_CK_SCHEME_PATH) { path = objtype->path_func (NM_SETTING_802_1X (setting)); g_assert (path); diff --git a/src/settings/tests/Makefile.in b/src/settings/tests/Makefile.in index 94ae4830..7c966ba2 100644 --- a/src/settings/tests/Makefile.in +++ b/src/settings/tests/Makefile.in @@ -151,6 +151,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/supplicant-manager/Makefile.in b/src/supplicant-manager/Makefile.in index 3a9c43f4..5a7a2f2f 100644 --- a/src/supplicant-manager/Makefile.in +++ b/src/supplicant-manager/Makefile.in @@ -192,6 +192,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/supplicant-manager/tests/Makefile.in b/src/supplicant-manager/tests/Makefile.in index e0fa89e6..25e60e86 100644 --- a/src/supplicant-manager/tests/Makefile.in +++ b/src/supplicant-manager/tests/Makefile.in @@ -151,6 +151,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in index a60ca43f..39390e4b 100644 --- a/src/tests/Makefile.in +++ b/src/tests/Makefile.in @@ -168,6 +168,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/vpn-manager/Makefile.in b/src/vpn-manager/Makefile.in index 8999e831..51a12507 100644 --- a/src/vpn-manager/Makefile.in +++ b/src/vpn-manager/Makefile.in @@ -153,6 +153,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ diff --git a/src/wimax/Makefile.in b/src/wimax/Makefile.in index 1be78482..e9b51e9f 100644 --- a/src/wimax/Makefile.in +++ b/src/wimax/Makefile.in @@ -149,6 +149,8 @@ GNUTLS_CFLAGS = @GNUTLS_CFLAGS@ GNUTLS_LIBS = @GNUTLS_LIBS@ GREP = @GREP@ GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ |