Filtrage machines du crans rtabli.
Utilisation de la socket pour le ldap. darcs-hash:20051123220635-41617-976dfc3063fc781f40c29f90ddcb92413d9b5dd9.gz
This commit is contained in:
parent
394b4773b5
commit
3007449351
1 changed files with 10 additions and 8 deletions
|
@ -29,22 +29,24 @@ def chap_ok(password, challenge, clear_pass) :
|
||||||
if __name__ == '__main__' :
|
if __name__ == '__main__' :
|
||||||
# Test chap (comme cela on est sur que c'est bien un switch qui demande)
|
# Test chap (comme cela on est sur que c'est bien un switch qui demande)
|
||||||
mac=os.getenv('USER_NAME','').replace('"','')
|
mac=os.getenv('USER_NAME','').replace('"','')
|
||||||
|
|
||||||
if not chap_ok(os.getenv('CHAP_PASSWORD'), os.getenv('CHAP_CHALLENGE'), mac) :
|
if not chap_ok(os.getenv('CHAP_PASSWORD'), os.getenv('CHAP_CHALLENGE'), mac) :
|
||||||
sys.stdout.write("Echec test CHAP")
|
sys.stdout.write("Echec test CHAP")
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# Mac dans la base LDAP
|
# Mac dans la base LDAP
|
||||||
m=crans_ldap().search('mac=%s'%mac)['machine']
|
m=crans_ldap(readonly=True).search('mac=%s'%mac)['machine']
|
||||||
if len(m)!=1 :
|
if len(m)!=1 :
|
||||||
sys.stdout.write("Pb recherche mac (nb résultat !=1)")
|
sys.stdout.write("Pb recherche mac (nb résultat !=1)")
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# N'appartient pas au Crans (évite les spoof)
|
# N'appartient pas au Crans et n'a pas de prise attribuée
|
||||||
|
# donc sur uplink ou switch non filtré
|
||||||
|
# But : éviter le spoof d'une mac d'une machine clef
|
||||||
proprio=m[0].proprietaire()
|
proprio=m[0].proprietaire()
|
||||||
# if proprio.__class__ == crans :
|
if proprio.__class__ == crans and m.prise == 'N/A' :
|
||||||
# sys.stdout.write("Machine du crans")
|
sys.stdout.write("Machine du crans")
|
||||||
# sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# Paiment ok ?
|
# Paiment ok ?
|
||||||
paid=max(proprio.paiement()+[0])
|
paid=max(proprio.paiement()+[0])
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue