From 4c0da75f9c86efeae95bc365da813a0dd447a32c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Elliott=20B=C3=A9cue?= Date: Fri, 8 Feb 2013 16:39:37 +0100 Subject: [PATCH] [lc_ldap] On va rendre la connexion self plus flexible. --- lc_ldap.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lc_ldap.py b/lc_ldap.py index dbf10d9..0ed2844 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -135,8 +135,19 @@ def lc_ldap_self(): """Binding LDAP en lecture seule sur la base locale. L'idée est que les machines avec un réplica bossent avec elles-mêmes pour la lecture, pas avec vert.""" - secrets = import_secrets() - return lc_ldap(uri='ldap://127.0.0.1', dn=secrets.ldap_readonly_auth_dn, cred=secrets.ldap_readonly_password) + if os.path.exists('/var/run//slapd/ldapi'): + ro_uri = 'ldapi://%2fvar%2frun%2fslapd%2fldapi/' + auth_dn = auth_pw = "" + elif os.path.exists('/var/run/ldapi'): + ro_uri = 'ldapi://%2fvar%2frun%2fldapi/' + auth_dn = auth_pw = "" + else: + secrets = import_secrets() + ro_uri = 'ldap://127.0.0.1' + auth_dn = secrets.ldap_readonly_auth_dn + auth_pw = secrets.ldap_readonly_password + + return lc_ldap(uri=ro_uri, dn=auth_dn, cred=auth_pw) class lc_ldap(ldap.ldapobject.LDAPObject): """Connexion à la base ldap crans, chaque instance représente une connexion