Added a descriptive error if domain list includes a Unicode-encoded IDN

This commit is contained in:
Travis Raines
2015-12-04 22:22:32 -08:00
parent 0f131590a4
commit df49c66124
+9
View File
@@ -144,6 +144,15 @@ def _check_config_domain_sanity(domains):
if any("xn--" in d for d in domains):
raise errors.ConfigurationError(
"Punycode domains are not supported")
# Unicode
try:
for domain in domains:
domain.encode('ascii',errors='strict')
except UnicodeDecodeError:
raise errors.ConfigurationError(
"Internationalized domain names are not supported")
# FQDN checks from
# http://www.mkyong.com/regular-expressions/domain-name-regular-expression-example/
# Characters used, domain parts < 63 chars, tld > 1 < 64 chars