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":
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é !")
# 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)
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)