From 4066eafd14d3c9eb36b8aac9bb42d3dbb06d6322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Elliott=20B=C3=A9cue?= Date: Mon, 28 Jan 2013 01:32:09 +0100 Subject: [PATCH] =?UTF-8?q?Erreurs=20:=20il=20ne=20faut=20pas=20faire=20de?= =?UTF-8?q?=20test=20contextuel=20quand=20on=20cr=C3=A9e=20un=20objet=20de?= =?UTF-8?q?puis=20un=20ldif.=20Il=20faut=20s'assurer=20avant=20de=20cr?= =?UTF-8?q?=C3=A9er=20l'objet=20que=20le=20ldif=20est=20valide.=20C'est=20?= =?UTF-8?q?fait=20par=20setitem=20pour=20tout=20ce=20qui=20est=20modificat?= =?UTF-8?q?ion,=20et=20par=20=5Fcreate=5Fentity=20pour=20ce=20qui=20est=20?= =?UTF-8?q?cr=C3=A9ation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lc_ldap.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lc_ldap.py b/lc_ldap.py index 7ec1aec..bceea7e 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -173,6 +173,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject): # Si on a un dn, on se connecte avec à la base ldap sinon on s'y # connecte en anonyme if dn: + secrets = import_secrets() self.conn = self.bind_s(secrets.ldap_auth_dn, secrets.ldap_password) self.dn = dn self.droits = self.search_s(dn, ldap.SCOPE_BASE, attrlist=['droits'])[0][1].get('droits', []) @@ -303,7 +304,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject): def _create_entity(self, dn, uldif): '''Crée une nouvelle entité ldap en dn, avec attributs ldif: uniquement en unicode''' - # Conversion en cldiff pour vérification des valeurs + # Conversion en cldif pour vérification des valeurs cldif = ldif_to_cldif(uldif, self) # Conversion en ascii ldif = cldif_to_ldif(cldif) @@ -420,7 +421,7 @@ class CransLdapObject(object): self.attrs = ldif if dn != base_dn: # new_cransldapobject ne donne pas de ldif formaté et utilise un ldif non formaté, donc on formate self.attrs = ldif_to_uldif(self.attrs) - self.attrs = ldif_to_cldif(self.attrs, conn, check_ctxt = True) + self.attrs = ldif_to_cldif(self.attrs, conn, check_ctxt = False) self._modifs = ldif_to_uldif(ldif) self._modifs = ldif_to_cldif(self._modifs, conn, check_ctxt = False) orig = ldif