diff options
author | Martin Kosek <mkosek@redhat.com> | 2012-03-01 11:01:45 +0100 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2012-02-29 21:27:03 -0500 |
commit | ae8876e93c02c39c562bcdaa1396fcccaf1280c0 (patch) | |
tree | 0f794682f162136bd8eb59e01a17ee1805971602 | |
parent | 9e3dabb8a876945910b3ae58f77a7455a692a0a3 (diff) | |
download | freeipa.git-ae8876e93c02c39c562bcdaa1396fcccaf1280c0.tar.gz freeipa.git-ae8876e93c02c39c562bcdaa1396fcccaf1280c0.tar.xz freeipa.git-ae8876e93c02c39c562bcdaa1396fcccaf1280c0.zip |
Improve hostname verification in install tools
Our install tools like ipa-server-install, ipa-replica-{prepare,
install} may allow hostnames that do not match the requirements
in ipalib. This creates a disconnect and may cause issues when
user cannot delete hostnames created by install tools.
This patch makes sure that ipalib requirements are applied to
install tools hostnames as well.
https://fedorahosted.org/freeipa/ticket/2089
-rw-r--r-- | ipaserver/install/installutils.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ipaserver/install/installutils.py b/ipaserver/install/installutils.py index a9a3ec43..3e7ae41b 100644 --- a/ipaserver/install/installutils.py +++ b/ipaserver/install/installutils.py @@ -34,6 +34,7 @@ from ConfigParser import SafeConfigParser from ipapython import ipautil, dnsclient, sysrestore from ipapython.ipa_log_manager import * +from ipalib.util import validate_hostname # Used to determine install status IPA_MODULES = ['httpd', 'kadmin', 'dirsrv', 'pki-cad', 'pkids', 'install', 'krb5kdc', 'ntpd', 'named', 'ipa_memcached'] @@ -159,6 +160,12 @@ def verify_fqdn(host_name, no_host_dns=False, local_hostname=True): if ipautil.valid_ip(host_name): raise BadHostError("IP address not allowed as a hostname") + try: + # make sure that the host name meets the requirements in ipalib + validate_hostname(host_name) + except ValueError, e: + raise BadHostError("Invalid hostname '%s', %s" % (host_name, unicode(e))) + if local_hostname: try: ex_name = socket.gethostbyaddr(host_name) |