Browse Source

validation.py: bugfix: look for '..' in a whole hostname, not in namepart only

pull/1/head
Hidden Z 14 years ago
parent
commit
01e01b98fa
  1. 6
      web/lib/validation.py

6
web/lib/validation.py

@ -19,15 +19,15 @@ def validate_hostname(data): @@ -19,15 +19,15 @@ def validate_hostname(data):
# Base 32 hostnames (*.b32.i2p) are not allowed
if re.match(r'.*\.b32\.i2p$', data):
raise forms.ValidationError('Base 32 hostnames are not allowed')
# Must not contain '..'
if re.search(r'\.\.', data):
raise forms.ValidationError('".." in hostname')
# Must contain only [a-z] [0-9] '.' and '-'
h = re.match(r'([a-z0-9.-]+)\.i2p$', data)
if h == None:
raise forms.ValidationError('Illegal characters in hostname')
else:
namepart = h.groups()[0]
# Must not contain '..'
if re.search(r'\.\.', namepart):
raise forms.ValidationError('".." in hostname')
# Must not contain '.-' or '-.' (as of 0.6.1.33)
if re.search(r'(\.-)|(-\.)', namepart):
raise forms.ValidationError('Hostname contain ".-" or "-."')

Loading…
Cancel
Save