[enh] Catch error when LDAP server is down

This commit is contained in:
Jérôme Lebleu 2014-05-17 02:09:55 +02:00
parent dcdc4cff8e
commit c781d10b54
3 changed files with 10 additions and 6 deletions

View file

@ -10,7 +10,8 @@
"unable_authenticate" : "Unable to authenticate",
"unable_retrieve_session" : "Unable to retrieve the session",
"error_ldap_operation" : "An error occured during LDAP operation",
"ldap_server_down" : "Unable to reach LDAP server",
"ldap_operation_error" : "An error occured during LDAP operation",
"password" : "Password",
"invalid_password" : "Invalid password",

View file

@ -10,7 +10,8 @@
"unable_authenticate" : "Impossible de vous authentifier",
"unable_retrieve_session" : "Impossible de récupérer la session",
"error_ldap_operation" : "Une erreur est survenue lors de l'opération LDAP",
"ldap_server_down" : "Impossible d'atteindre le serveur LDAP",
"ldap_operation_error" : "Une erreur est survenue lors de l'opération LDAP",
"password" : "Mot de passe",
"invalid_password" : "Mot de passe incorrect",

View file

@ -66,6 +66,8 @@ class Authenticator(BaseAuthenticator):
con.simple_bind_s()
except ldap.INVALID_CREDENTIALS:
raise MoulinetteError(errno.EACCES, m18n.g('invalid_password'))
except ldap.SERVER_DOWN:
raise MoulinetteError(169, m18n.g('ldap_server_down'))
else:
self.con = con
@ -94,7 +96,7 @@ class Authenticator(BaseAuthenticator):
try:
result = self.con.search_s(base, ldap.SCOPE_SUBTREE, filter, attrs)
except:
raise MoulinetteError(169, m18n.g('error_ldap_operation'))
raise MoulinetteError(169, m18n.g('ldap_operation_error'))
result_list = []
if not attrs or 'dn' not in attrs:
@ -123,7 +125,7 @@ class Authenticator(BaseAuthenticator):
try:
self.con.add_s(dn, ldif)
except:
raise MoulinetteError(169, m18n.g('error_ldap_operation'))
raise MoulinetteError(169, m18n.g('ldap_operation_error'))
else:
return True
@ -142,7 +144,7 @@ class Authenticator(BaseAuthenticator):
try:
self.con.delete_s(dn)
except:
raise MoulinetteError(169, m18n.g('error_ldap_operation'))
raise MoulinetteError(169, m18n.g('ldap_operation_error'))
else:
return True
@ -170,7 +172,7 @@ class Authenticator(BaseAuthenticator):
self.con.modify_ext_s(dn, ldif)
except:
raise MoulinetteError(169, m18n.g('error_ldap_operation'))
raise MoulinetteError(169, m18n.g('ldap_operation_error'))
else:
return True