From 01e01b98faca620bbcf959673c306237396f57c6 Mon Sep 17 00:00:00 2001 From: Hidden Z Date: Fri, 22 Oct 2010 17:15:59 +0000 Subject: [PATCH] validation.py: bugfix: look for '..' in a whole hostname, not in namepart only --- web/lib/validation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/lib/validation.py b/web/lib/validation.py index 3870272..6fbb5d6 100644 --- a/web/lib/validation.py +++ b/web/lib/validation.py @@ -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 "-."')