From 81e0328b7a51b73491d19515833932369e708586 Mon Sep 17 00:00:00 2001 From: bernat Date: Thu, 14 Jul 2005 20:04:01 +0200 Subject: [PATCH] =?UTF-8?q?Correction=20du=20bug=20sur=20les=20adresses=20?= =?UTF-8?q?MAC=20+=20m=C3=A9canisme=20plus=20g=C3=A9n=C3=A9ral=20pour?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit canonicaliser les adresses MAC. darcs-hash:20050714180401-d1718-d16a57cc796e6094328b8125eea4f33a3ba35281.gz --- gestion/ldap_crans.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 8e2fc175..99da146c 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -157,7 +157,14 @@ def format_mac(mac) : Retourne la mac formatée. """ l, mac = preattr(mac) - mac= mac.replace(':','').replace('-','').replace(' ','').lower() + mac = mac.strip() + if mac.count(":") + mac.count("-") == 5: + # On a une adresse de la forme 0:01:02:18:d1:90 + # On va compléter s'il manque des 0 + for car in (":", "-"): + mac = car.join(map(lambda x: x.replace(' ', '0'), + map(lambda x: "%02s" % x, mac.split(car)))) + mac= mac.replace(':','').replace('-','').lower() if len(mac)!=12 : raise ValueError(u'Longueur adresse mac incorrecte.') for c in mac[:] : @@ -455,8 +462,7 @@ class crans_ldap : el = '(%s=%s*)' % ( champ, expr) elif champ == 'macAddress' : # Formatage adresse mac - try : el = '(macAddress=%s)' % format_mac(expr) - except : return '' + el = '(macAddress=%s)' % format_mac(expr) elif champ == 'paiement' and expr == 'ok' : # Paiement donnant droit à une connexion maintenant ? # Deux cas :