From f7b4eb6a0918c0b73d4b98f47dcd76fa4e8072f5 Mon Sep 17 00:00:00 2001 From: Ondrej Hamada Date: Fri, 20 Jan 2012 13:44:48 +0100 Subject: localhost.localdomain clients refused to join Machines with hostname 'localhost' or 'localhost.localdomain' are refused from joining IPA domain and proper error message is shown. The hostname check is done both in 'ipa-client-install' script and in 'ipa-join'. https://fedorahosted.org/freeipa/ticket/2112 --- ipa-client/ipa-install/ipa-client-install | 3 +++ ipa-client/ipa-join.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install index 8e945ce9..f2f4973f 100755 --- a/ipa-client/ipa-install/ipa-client-install +++ b/ipa-client/ipa-install/ipa-client-install @@ -872,6 +872,9 @@ def install(options, env, fstore, statestore): if hostname != hostname.lower(): print 'Invalid hostname \'%s\', must be lower-case.' % hostname return CLIENT_INSTALL_ERROR + if (hostname == 'localhost') or (hostname == 'localhost.localdomain'): + print 'Invalid hostname, \'%s\' must not be used.' % hostname + return CLIENT_INSTALL_ERROR # when installing with '--no-sssd' option, check whether nss-ldap is installed if not options.sssd: diff --git a/ipa-client/ipa-join.c b/ipa-client/ipa-join.c index c174e2c1..57c7bcb2 100644 --- a/ipa-client/ipa-join.c +++ b/ipa-client/ipa-join.c @@ -937,6 +937,12 @@ join(const char *server, const char *hostname, const char *bindpw, const char *b goto cleanup; } + if ((!strcmp(host, "localhost")) || (!strcmp(host, "localhost.localdomain"))){ + fprintf(stderr, _("The hostname must not be: %s\n"), host); + rval = 16; + goto cleanup; + } + if (bindpw) rval = join_ldap(ipaserver, host, &hostdn, bindpw, basedn, &princ, &subject, quiet); else { -- cgit