=== modified file 'fedora/accounts/fasLDAP.py' --- fedora/accounts/fasLDAP.py 2007-06-08 21:14:53 +0000 +++ fedora/accounts/fasLDAP.py 2007-06-08 21:17:32 +0000 @@ -2,6 +2,9 @@ import ldap +class AuthError(Exception): + pass + class Server: def __init__(self, server='localhost', who='', password=''): self.ldapConn = ldap.open(server) @@ -280,7 +283,10 @@ ldapServer = s.ldapConn who = 'cn=%s,ou=People,dc=fedoraproject,dc=org' % who - ldapServer.simple_bind_s(who, password) + try: + ldapServer.simple_bind_s(who, password) + except ldap.LDAPError, e: + raise AuthError(e) def upgrade(self, group): base = 'cn=%s,ou=Roles,cn=%s,ou=People,dc=fedoraproject,dc=org' % (group, self.cn) === modified file 'fedora/tg/identity/safas2provider.py' --- fedora/tg/identity/safas2provider.py 2007-06-08 21:14:53 +0000 +++ fedora/tg/identity/safas2provider.py 2007-06-08 21:17:32 +0000 @@ -105,11 +105,7 @@ user = Person.byUserName(user_name) - try: - verified = self.validate_password(user, user_name, password) - except AuthError, e: - log.warning(e) - return None + verified = self.validate_password(user, user_name, password) if not verified: log.warning('Passwords do not match for user: %s', user_name) return None @@ -138,7 +134,7 @@ ''' try: result = Person.auth(user_name, password) - except Exception, e: + except AuthError, e: log.warning('AccountSystem threw an exception: %s', e) return False return True