Nouveau fichier d'adresses MAC plus complet.

Changement du format.

darcs-hash:20051026112507-d1718-00b3f734eb4fb045965ee9d9751a9b2fbed59f87.gz
This commit is contained in:
bernat 2005-10-26 13:25:07 +02:00
parent 8428eab60c
commit 86662f58af
2 changed files with 8721 additions and 7685 deletions

View file

@ -1949,26 +1949,20 @@ 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)
# On autorise tous les 00
if mac[0:2] != "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é !")
# Le test final : vendeur connu
prefix=mac[:8] + ' '
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)