From b80290c1c1e6df989a753d393307229ee7750ef7 Mon Sep 17 00:00:00 2001 From: pauget Date: Sat, 9 Oct 2004 18:14:46 +0200 Subject: [PATCH] On peux binder anonymement si on utilise la socket. darcs-hash:20041009161446-41617-aeeb51dc5107366fdcf45b7958feab32e48c0fb8.gz --- gestion/ldap_crans.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index f0dac088..d7f7d32d 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -13,10 +13,16 @@ from socket import gethostname date_format='%d/%m/%Y %H:%M' hostname = gethostname().split(".")[0] -if hostname == "zamok": +if hostname == "zamok": + anon_bind = 1 # Anonyme pour lecture seule uri = 'ldapi://%2fvar%2frun%2fldapi/' rw_uri = uri -else: +elif hostname == "sila" : + anon_bind = 1 # Anonyme pour lecture seule + uri = 'ldapi://%2fvar%2frun%2fldapi/' + rw_uri = 'ldaps://zamok.crans.org:636/' +else : + anon_bind = 0 # Doit s'authentifier pour toute action uri = 'ldaps://sila.crans.org:636/' rw_uri = 'ldaps://zamok.crans.org:636/' @@ -33,7 +39,7 @@ from time import sleep,localtime try : from secrets import ldap_password, ldap_auth_dn except : - print coul('Warning : impossible de lire le fichier de secret !','jaune') + sys.stdout.write(coul('Warning : impossible de lire le fichier de secret !','jaune')) sleep(2) ldap_password = '' ldap_auth_dn = '' @@ -202,13 +208,16 @@ class crans_ldap : def connect(self): """ Initialisation des connexion vers le serveur LDAP """ - def bind(conn) : + def bind(conn,anon_bind=0) : """ Authentification auprès du serveur ldap """ nbessais = 0 ok = False while not ok: try: - conn.bind_s(ldap_auth_dn,ldap_password,ldap.AUTH_SIMPLE) + if anon_bind : + conn.bind_s('','',ldap.AUTH_SIMPLE) + else : + conn.bind_s(ldap_auth_dn,ldap_password,ldap.AUTH_SIMPLE) ok = True except ldap.SERVER_DOWN : @@ -229,7 +238,7 @@ class crans_ldap : def new_methode(*args) : try : if not self.__conn_binded : - bind(self.conn) + bind(self.conn,anon_bind) self.__conn_binded = True return methode_base(*args) except ldap.STRONG_AUTH_REQUIRED :