mirror of
https://github.com/r4sas/py-i2phosts
synced 2025-02-05 11:24:16 +00:00
web/lib/validation.py: fix base64 validations according to zzz's explanation
This commit is contained in:
parent
f6f2d25426
commit
f3a79838e6
@ -47,8 +47,11 @@ def validate_b64hash(data, check_uniq=True):
|
||||
# Minimum key length 516 bytes
|
||||
if len(data) < 516:
|
||||
raise forms.ValidationError('Specified base64 hash are less than 516 bytes')
|
||||
# keys with cert may ends with anything, so check is relaxed
|
||||
if len(data) > 516 and re.match(r'[a-zA-Z0-9\-~]+$', data) == None:
|
||||
raise forms.ValidationError('Invalid characters in base64 hash')
|
||||
# base64-i2p
|
||||
if re.match(r'[a-zA-Z0-9\-~]+AAAA$', data) == None:
|
||||
if len(data) == 516 and re.match(r'[a-zA-Z0-9\-~]+AA$', data) == None:
|
||||
raise forms.ValidationError('Invalid base64 hash')
|
||||
if check_uniq == True:
|
||||
# Avoid adding non-unique hashes
|
||||
|
Loading…
x
Reference in New Issue
Block a user