Mercurial > p > roundup > code
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): |
