Plus d'erreur sur Nectaris.
Possibilite de voir si un client est correctement authentifié en wifi. Ex : whos host=var darcs-hash:20050915094152-d1718-d35cc3f526eb9b74fbdaa2974870cad1380d0ffc.gz
This commit is contained in:
parent
586389c9c6
commit
e87420b856
2 changed files with 30 additions and 5 deletions
|
@ -13,6 +13,8 @@ set_dr () {
|
|||
chmod 775 $1
|
||||
elif [[ $1 = "$BASE/clef-wifi" ]]; then
|
||||
chmod 600 $1
|
||||
elif [[ $1 = "$BASE/clef-encap" ]]; then
|
||||
chmod 600 $1
|
||||
elif [[ $1 = "$BASE/secrets.py" ]] || [[ $1 = "$BASE/secrets.pyc" ]]; then
|
||||
chmod 640 $1
|
||||
else
|
||||
|
|
|
@ -50,7 +50,7 @@ base = None
|
|||
from ldap_crans import is_actif , crans_ldap, ann_scol, crans, hostname
|
||||
from affich_tools import *
|
||||
import user_tests
|
||||
import popen2
|
||||
import popen2, commands
|
||||
|
||||
limit_aff_details = 1
|
||||
limit_aff_historique = 4
|
||||
|
@ -395,6 +395,20 @@ def adher_details(adher) :
|
|||
|
||||
return f
|
||||
|
||||
clients_ipsec = None
|
||||
def ipsec_ok(machine) :
|
||||
"""Indique si une machine est correctement authentifiée"""
|
||||
prefix=""
|
||||
if hostname != "nectaris":
|
||||
if not os.path.isfile("/usr/scripts/gestion/clef-encap"):
|
||||
return None
|
||||
prefix = "ssh -i /usr/scripts/gestion/clef-encap "
|
||||
clients = globals()['clients_ipsec']
|
||||
if clients == None:
|
||||
clients = commands.getoutput("%snetstat -r -f encap | awk '($1 == \"0/0\") {print $3}'" % prefix).split("\n")
|
||||
globals()['clients_ipsec'] = clients
|
||||
return machine.nom() in clients
|
||||
|
||||
def machine_details(machine) :
|
||||
"""
|
||||
Formatage du détail des propriétés d'une machine
|
||||
|
@ -460,6 +474,7 @@ def machine_details(machine) :
|
|||
for (client, rssi) in clients:
|
||||
# On va chercher le nom correspondant à l'adresse MAC
|
||||
res = base.search("mac=%s" % client)['machine']
|
||||
authentification=""
|
||||
if not res:
|
||||
client_nom = '????'
|
||||
coul_rssi = 'rouge'
|
||||
|
@ -473,8 +488,16 @@ def machine_details(machine) :
|
|||
coul_rssi = 'jaune'
|
||||
else:
|
||||
coul_rssi = 'rouge'
|
||||
f += u' %s (%s) (RSSI: %s)\n' % (client, client_nom,
|
||||
coul("%d" % rssi, coul_rssi))
|
||||
# On va regarder si le client est authentifié
|
||||
auth_ok = ipsec_ok(x)
|
||||
if auth_ok != None:
|
||||
if auth_ok:
|
||||
authentification = " ; IPSec: %s" % OK
|
||||
else:
|
||||
authentification = " ; IPSec: %s" % OK
|
||||
f += u' %s (%s) (RSSI: %s%s)\n' % (client, client_nom,
|
||||
coul("%d" % rssi, coul_rssi),
|
||||
authentification)
|
||||
else:
|
||||
f += coul(u'borne éteinte','rouge')
|
||||
f += '\n'
|
||||
|
@ -966,13 +989,13 @@ if __name__ == '__main__' :
|
|||
try :
|
||||
__recherche()
|
||||
except KeyboardInterrupt :
|
||||
print u"Recherche interrompue par l'utilisateur."
|
||||
print "Recherche interrompue par l'utilisateur."
|
||||
sys.exit(255)
|
||||
except SystemExit, c :
|
||||
# Fin
|
||||
sys.exit(c)
|
||||
except :
|
||||
print u"""Une erreur fatale s'est produite durant l'exécution.
|
||||
print """Une erreur fatale s'est produite durant l'exécution.
|
||||
Pour l'amélioration de ce programme merci de prévenir nounou en spécifiant la
|
||||
marche à suivre pour reproduire cette erreur."""
|
||||
if debug :
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue