From 0105fb884a3a8c610bd7a223ec38f6ceba7c7de8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Mon, 30 Jun 2014 14:14:34 +0200 Subject: [PATCH] core: use nm_utils_is_specific_hostname() instead of hardcoded "localhost" --- src/dhcp-manager/nm-dhcp-manager.c | 3 +-- src/dns-manager/nm-dns-manager.c | 3 +-- src/nm-policy.c | 5 +---- src/settings/plugins/ifcfg-rh/plugin.c | 7 ++++--- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/dhcp-manager/nm-dhcp-manager.c b/src/dhcp-manager/nm-dhcp-manager.c index ab6966cbb6..195d50b074 100644 --- a/src/dhcp-manager/nm-dhcp-manager.c +++ b/src/dhcp-manager/nm-dhcp-manager.c @@ -507,8 +507,7 @@ nm_dhcp_manager_set_default_hostname (NMDHCPManager *manager, const char *hostna g_clear_pointer (&priv->default_hostname, g_free); /* Never send 'localhost'-type names to the DHCP server */ - if (g_strcmp0 (hostname, "localhost.localdomain") == 0 || - g_strcmp0 (hostname, "localhost6.localdomain6") == 0) + if (!nm_utils_is_specific_hostname (hostname)) return; priv->default_hostname = g_strdup (hostname); diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c index 466aa9a84f..4e90068d8d 100644 --- a/src/dns-manager/nm-dns-manager.c +++ b/src/dns-manager/nm-dns-manager.c @@ -972,8 +972,7 @@ nm_dns_manager_set_hostname (NMDnsManager *mgr, /* Certain hostnames we don't want to include in resolv.conf 'searches' */ if ( hostname - && strcmp (hostname, "localhost.localdomain") - && strcmp (hostname, "localhost6.localdomain6") + && nm_utils_is_specific_hostname (hostname) && !strstr (hostname, ".in-addr.arpa") && strchr (hostname, '.')) { filtered = hostname; diff --git a/src/nm-policy.c b/src/nm-policy.c index 36cc5b7c45..825c15f8c1 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -2084,10 +2084,7 @@ nm_policy_new (NMManager *manager, NMSettings *settings) memset (hostname, 0, sizeof (hostname)); if (gethostname (&hostname[0], HOST_NAME_MAX) == 0) { /* only cache it if it's a valid hostname */ - if ( strlen (hostname) - && strcmp (hostname, "localhost") - && strcmp (hostname, "localhost.localdomain") - && strcmp (hostname, "(none)")) + if (*hostname && nm_utils_is_specific_hostname (hostname)) priv->orig_hostname = g_strdup (hostname); } diff --git a/src/settings/plugins/ifcfg-rh/plugin.c b/src/settings/plugins/ifcfg-rh/plugin.c index 8a3f328c8e..b067c5861d 100644 --- a/src/settings/plugins/ifcfg-rh/plugin.c +++ b/src/settings/plugins/ifcfg-rh/plugin.c @@ -52,6 +52,7 @@ #include "nm-settings-error.h" #include "nm-config.h" #include "nm-logging.h" +#include "NetworkManagerUtils.h" #include "nm-ifcfg-connection.h" #include "nm-inotify-helper.h" @@ -648,10 +649,10 @@ plugin_get_hostname (SCPluginIfcfg *plugin) hostname = svGetValue (network, "HOSTNAME", FALSE); ignore_localhost = svTrueValue (network, "NM_IGNORE_HOSTNAME_LOCALHOST", FALSE); if (ignore_localhost) { - /* Ignore a hostname of 'localhost' or 'localhost.localdomain' to preserve - * 'network' service behavior. + /* Ignore a default hostname ('localhost[6]' or 'localhost[6].localdomain[6]') + * to preserve 'network' service behavior. */ - if (hostname && (!strcmp (hostname, "localhost") || !strcmp (hostname, "localhost.localdomain"))) { + if (hostname && !nm_utils_is_specific_hostname (hostname)) { g_free (hostname); hostname = NULL; }