diff --git a/crans_utils.py b/crans_utils.py index 4aacd96..d853791 100644 --- a/crans_utils.py +++ b/crans_utils.py @@ -37,6 +37,7 @@ import time import smtplib import sys import os +import ldap.filter sys.path.append('/usr/scripts/gestion') import config from unicodedata import normalize @@ -173,23 +174,6 @@ def validate_name(value, more_chars=""): else: raise ValueError("Nom invalide ('%s')" % value) -def ldap_sanitize(s): - """ Échappe les caractères spéciaux ldap. - (Si vous avez une méthode plus propre pour coder ça, je suis preneur) - Todo: rajouter conversion pour caractère utf-8 multioctets ? - (cf http://blog.dzhuvinov.com/?p=585 ) - """ - replace = { - '*': '\\2a', - '(': '\\28', - ')': '\\29', - '\\': '\\5c', - '\x00': '\\00'} - def conv(c): - try: return replace[c] - except KeyError: return c - return "".join([conv(c) for c in s]) - def process_status(pid): """ Vérifie l'état du processus pid @@ -199,3 +183,8 @@ def process_status(pid): return False else: return True + +def escape(chaine): + """Renvoie une chaîne échapée pour pouvoir la mettre en toute sécurité + dans une requête ldap.""" + return ldap.filter.escape_filter_chars(chaine) diff --git a/lc_ldap.py b/lc_ldap.py index 9a99cde..16acbf2 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -88,11 +88,6 @@ def import_secrets(): #: Champs à ignorer dans l'historique HIST_IGNORE_FIELDS = ["modifiersName", "entryCSN", "modifyTimestamp", "historique"] -def escape(chaine): - """Renvoie une chaîne échapée pour pouvoir la mettre en toute sécurité - dans une requête ldap.""" - return ldap.filter.escape_filter_chars(chaine) - # A priori, ldif_to_uldif et ldif_to_cldif sont obsolètes, # du fait de l'apparition de AttrsDict dans attributs.py def ldif_to_uldif(ldif):