elif key in self.defaults:
return self.defaults[key]
else:
- raise IndexError
+ raise IndexError, "No such key: %s (dn: %s)"%(key, self.dn)
def __contains__(self, key):
return key in self.attributes
# not locked locked, just reset to something invalid like {crypt}*SSLRESET* is still active
def pw_active(self):
- if self['userPassword'] == '{crypt}*LK*':
+ if not 'userPassword' in self:
return False
- if self['userPassword'].startswith("{crypt}!"):
+ if self['userPassword'].upper() == '{CRYPT}*LK*':
+ return False
+ if self['userPassword'].upper().startswith("{CRYPT}!"):
return False
return True
def get_password(self):
p = self['userPassword']
- if not p.startswith('{crypt}') or len(p) > 50:
+ if not p.upper().startswith('{CRYPT}') or len(p) > 50:
return p
else:
return p[7:]