diff options
author | Tomas Babej <tbabej@redhat.com> | 2013-04-15 12:50:54 +0200 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2013-04-25 12:45:54 +0200 |
commit | 2973128cf068898c57d12a274b6eecbfb3213898 (patch) | |
tree | c58ed55ace837c4fdfb9f8f587c3d1b87bb3b1aa | |
parent | 4cff518517fb400a399fc3cb5cc8bf5285c7cbc5 (diff) | |
download | freeipa-2973128cf068898c57d12a274b6eecbfb3213898.tar.gz freeipa-2973128cf068898c57d12a274b6eecbfb3213898.tar.xz freeipa-2973128cf068898c57d12a274b6eecbfb3213898.zip |
Allow underscore in record targets
Makes record target validation less strict and allows underscore.
This is requirement for IPA sites.
https://fedorahosted.org/freeipa/ticket/3550
-rw-r--r-- | ipalib/plugins/dns.py | 2 | ||||
-rw-r--r-- | tests/test_xmlrpc/test_dns_plugin.py | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/ipalib/plugins/dns.py b/ipalib/plugins/dns.py index d59df59a2..3ad03402d 100644 --- a/ipalib/plugins/dns.py +++ b/ipalib/plugins/dns.py @@ -373,7 +373,7 @@ def _bind_hostname_validator(ugettext, value): try: # Allow domain name which is not fully qualified. These are supported # in bind and then translated as <non-fqdn-name>.<domain>. - validate_hostname(value, check_fqdn=False) + validate_hostname(value, check_fqdn=False, allow_underscore=True) except ValueError, e: return _('invalid domain-name: %s') \ % unicode(e) diff --git a/tests/test_xmlrpc/test_dns_plugin.py b/tests/test_xmlrpc/test_dns_plugin.py index 24fc7ecc4..0d78f80b0 100644 --- a/tests/test_xmlrpc/test_dns_plugin.py +++ b/tests/test_xmlrpc/test_dns_plugin.py @@ -677,7 +677,7 @@ class test_dns(Declarative): 'srv_part_port' : 123, 'srv_part_target' : u'foo bar'}), expected=errors.ValidationError(name='srv_target', - error=u'invalid domain-name: only letters, numbers, and - ' + + error=u'invalid domain-name: only letters, numbers, _, and - ' + u'are allowed. DNS label may not start or end with -'), ), @@ -780,7 +780,7 @@ class test_dns(Declarative): desc='Try to add invalid CNAME record %r using dnsrecord_add' % (dnsrescname), command=('dnsrecord_add', [dnszone1, dnsrescname], {'cnamerecord': u'-.example.com'}), expected=errors.ValidationError(name='hostname', - error=u'invalid domain-name: only letters, numbers, and - ' + + error=u'invalid domain-name: only letters, numbers, _, and - ' + u'are allowed. DNS label may not start or end with -'), ), @@ -849,7 +849,7 @@ class test_dns(Declarative): desc='Try to add invalid DNAME record %r using dnsrecord_add' % (dnsresdname), command=('dnsrecord_add', [dnszone1, dnsresdname], {'dnamerecord': u'-.example.com.'}), expected=errors.ValidationError(name='target', - error=u'invalid domain-name: only letters, numbers, and - ' + + error=u'invalid domain-name: only letters, numbers, _, and - ' + u'are allowed. DNS label may not start or end with -'), ), |