diff options
-rw-r--r-- | ipalib/util.py | 3 | ||||
-rw-r--r-- | ipaserver/install/bindinstance.py | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/ipalib/util.py b/ipalib/util.py index 53b6c80c5..ca14aee36 100644 --- a/ipalib/util.py +++ b/ipalib/util.py @@ -266,6 +266,9 @@ def validate_hostname(hostname, check_fqdn=True, allow_underscore=False): if hostname.endswith('.'): hostname = hostname[:-1] + if '..' in hostname: + raise ValueError(_('hostname contains empty label (consecutive dots)')) + if '.' not in hostname: if check_fqdn: raise ValueError(_('not fully qualified')) diff --git a/ipaserver/install/bindinstance.py b/ipaserver/install/bindinstance.py index 9f6dca525..f43a9ff0f 100644 --- a/ipaserver/install/bindinstance.py +++ b/ipaserver/install/bindinstance.py @@ -326,7 +326,9 @@ def add_ptr_rr(zone, ip_address, fqdn, dns_backup=None): add_rr(zone, name, "PTR", fqdn+".", dns_backup) def add_ns_rr(zone, hostname, dns_backup=None, force=True): - add_rr(zone, "@", "NS", hostname+'.', dns_backup=dns_backup, + if not hostname.endswith('.'): + hostname += '.' + add_rr(zone, "@", "NS", hostname, dns_backup=dns_backup, force=force) def del_rr(zone, name, type, rdata): |