From c4e693afebcaacfe6940e2c74d9df00c1084d8ff Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Thu, 19 Feb 2015 13:21:32 +0100 Subject: [PATCH] Fix attempt for #695. --- modoboa/lib/formutils.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/modoboa/lib/formutils.py b/modoboa/lib/formutils.py index 9c75761b2..4b1922ba5 100644 --- a/modoboa/lib/formutils.py +++ b/modoboa/lib/formutils.py @@ -333,17 +333,19 @@ class TabForms(object): # -def is_valid_host(host): - """IDN compatible domain validator - """ - host = host.encode('idna').lower() - if not hasattr(is_valid_host, '_re'): - is_valid_host._re = re.compile(r'^([0-9a-z][-\w]*[0-9a-z]\.)+[a-z0-9\-]{2,15}$') - return bool(is_valid_host._re.match(host)) +def is_valid_hostname(hostname): + """Domain name validaton.""" + if len(hostname) > 255: + return False + if hostname[-1] == ".": + hostname = hostname[:-1] # strip exactly one dot from the + # right, if present + allowed = re.compile(r"(?!-)[A-Z\d-]{1,63}(?