comparison roundup/hyperdb.py @ 5053:9792b18e0b19

issue 2550880: Ability to choose password store scheme and SSHA support. Discussion on list is tending in favor of this patch. Embedded test works, my manual test with a SSHA password assigned to a user allowed the user to log in. Ran the test suite and the tests that were not skipped passed.
author John Rouillard <rouilj@ieee.org>
date Sat, 16 Apr 2016 22:49:38 -0400
parents 0a05c4d9a221
children 2840a9e86ef2
comparison
equal deleted inserted replaced
5051:b69c5e763295 5053:9792b18e0b19
69 return int(val) 69 return int(val)
70 return val.lower() 70 return val.lower()
71 71
72 class Password(_Type): 72 class Password(_Type):
73 """An object designating a Password property.""" 73 """An object designating a Password property."""
74 def __init__(self, scheme=None, required=False, default_value = None):
75 super(Password, self).__init__(required, default_value)
76 self.scheme = scheme
77
74 def from_raw(self, value, **kw): 78 def from_raw(self, value, **kw):
75 if not value: 79 if not value:
76 return None 80 return None
77 try: 81 try:
78 return password.Password(encrypted=value, strict=True) 82 return password.Password(encrypted=value, scheme=self.scheme, strict=True)
79 except password.PasswordValueError, message: 83 except password.PasswordValueError, message:
80 raise HyperdbValueError, \ 84 raise HyperdbValueError, \
81 _('property %s: %s')%(kw['propname'], message) 85 _('property %s: %s')%(kw['propname'], message)
82 86
83 def sort_repr (self, cls, val, name): 87 def sort_repr (self, cls, val, name):

Roundup Issue Tracker: http://roundup-tracker.org/