From 886dee06b3a66b246328e4e337ff3490440cba1e Mon Sep 17 00:00:00 2001 From: bernat Date: Mon, 26 Sep 2005 22:37:12 +0200 Subject: [PATCH] Prefixe 00 est ok darcs-hash:20050926203712-d1718-b4ede8c338498956e2acc18e892bb587fb2f7337.gz --- gestion/ldap_crans.py | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 77c0fbbf..d50e7c16 100755 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -1867,24 +1867,26 @@ class machine(base_classes_crans) : elif mac[0:11] == "44:45:53:54": raise ValueError(u"Il s'agit de l'adresse MAC d'une interface PPP.", 2) - # Le test final - # Extraction des trois premiers chiffres de la mac en - # supprimant les zéros superflus pour coller au format - # de la base d'arpwatch - prefix=mac[:8].replace(':0',':') + '\t' - if prefix[0]=='0' : prefix=prefix[1:] - vendor = '' - try: - for line in open('/usr/scripts/gestion/ethercodes.dat').readlines() : - if line.find(prefix)==0 : - vendor = line.replace(prefix,'').strip() - break - except IOError: - # Le fichier existe pas, on sors - raise RuntimeError("Fichier de fabiquants de MAC non trouvé !") - - if not vendor : - raise ValueError(u"Le constructeur correspondant à cette adresse MAC ne peut être trouvé.\nL'adresse MAC correspond peut-être à un pont réseau, désactivez ce pont réseau.\nContactez nounou si la MAC est bien celle d'une carte.",2) + # On autorise tous les 00 + if mac[0:3] != "00": + # Le test final + # Extraction des trois premiers chiffres de la mac en + # supprimant les zéros superflus pour coller au format + # de la base d'arpwatch + prefix=mac[:8].replace(':0',':') + '\t' + if prefix[0]=='0' : prefix=prefix[1:] + vendor = '' + try: + for line in open('/usr/scripts/gestion/ethercodes.dat').readlines() : + if line.find(prefix)==0 : + vendor = line.replace(prefix,'').strip() + break + except IOError: + # Le fichier existe pas, on sors + raise RuntimeError("Fichier de fabiquants de MAC non trouvé !") + + if not vendor : + raise ValueError(u"Le constructeur correspondant à cette adresse MAC ne peut être trouvé.\nL'adresse MAC correspond peut-être à un pont réseau, désactivez ce pont réseau.\nContactez nounou si la MAC est bien celle d'une carte.",2) # Lock de la mac self.lock('macAddress',mac)