Prefixe 00 est ok

darcs-hash:20050926203712-d1718-b4ede8c338498956e2acc18e892bb587fb2f7337.gz
This commit is contained in:
bernat 2005-09-26 22:37:12 +02:00
parent aaa962dfc6
commit 886dee06b3

View file

@ -1867,24 +1867,26 @@ class machine(base_classes_crans) :
elif mac[0:11] == "44:45:53:54": elif mac[0:11] == "44:45:53:54":
raise ValueError(u"Il s'agit de l'adresse MAC d'une interface PPP.", 2) raise ValueError(u"Il s'agit de l'adresse MAC d'une interface PPP.", 2)
# Le test final # On autorise tous les 00
# Extraction des trois premiers chiffres de la mac en if mac[0:3] != "00":
# supprimant les zéros superflus pour coller au format # Le test final
# de la base d'arpwatch # Extraction des trois premiers chiffres de la mac en
prefix=mac[:8].replace(':0',':') + '\t' # supprimant les zéros superflus pour coller au format
if prefix[0]=='0' : prefix=prefix[1:] # de la base d'arpwatch
vendor = '' prefix=mac[:8].replace(':0',':') + '\t'
try: if prefix[0]=='0' : prefix=prefix[1:]
for line in open('/usr/scripts/gestion/ethercodes.dat').readlines() : vendor = ''
if line.find(prefix)==0 : try:
vendor = line.replace(prefix,'').strip() for line in open('/usr/scripts/gestion/ethercodes.dat').readlines() :
break if line.find(prefix)==0 :
except IOError: vendor = line.replace(prefix,'').strip()
# Le fichier existe pas, on sors break
raise RuntimeError("Fichier de fabiquants de MAC non trouvé !") except IOError:
# Le fichier existe pas, on sors
if not vendor : raise RuntimeError("Fichier de fabiquants de MAC non trouvé !")
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)
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 # Lock de la mac
self.lock('macAddress',mac) self.lock('macAddress',mac)