misc: catch idna errors when validating email addresses (#20819)

This commit is contained in:
Frédéric Péters 2017-12-20 11:40:59 +01:00
parent eb7a8abf96
commit 4c7c3902db
1 changed files with 5 additions and 1 deletions

View File

@ -838,7 +838,11 @@ class EmailWidget(StringWidget):
return
if not type(domain) is unicode:
domain = unicode(domain, 'utf-8', 'ignore')
domain = domain.encode('idna')
try:
domain = domain.encode('idna')
except UnicodeError:
self.error = _('invalid address domain')
return
# simply lookup host name; note it will fail if hostname
# doesn't have an A entry
try: