On loggue les utilisateurs du digicode.

darcs-hash:20061011213612-68412-d623cb451865fe23dea27040fc4eb86eadad94b4.gz
This commit is contained in:
glondu 2006-10-11 23:36:12 +02:00
parent 484f83120a
commit a64662f734

View file

@ -8,7 +8,7 @@ Script de test du code de la porte du local de l'imprimante
import os, sys import os, sys
from syslog import openlog, syslog from syslog import openlog, syslog
def identification ( password ) : def identification(password):
# test un code entré sur la porte : # test un code entré sur la porte :
# doit retourner 0 si le code n'est pas bon # doit retourner 0 si le code n'est pas bon
# 1 pour ouvrir la porte # 1 pour ouvrir la porte
@ -17,27 +17,32 @@ def identification ( password ) :
#Dans l'avenir tout sera sous forme de fichiers #Dans l'avenir tout sera sous forme de fichiers
#si le fichier existe le code est bon (evite les problemes par rapport au fait de #si le fichier existe le code est bon (evite les problemes par rapport au fait de
# stocker les codes dans un fichier # stocker les codes dans un fichier
try:
user = file("/var/impression/codes/%s" % password).readline().strip()
except:
user = ""
if password in os.listdir('/var/impression/codes'): if password in os.listdir('/var/impression/codes'):
if password in os.listdir('/var/impression/codes'): if password in os.listdir('/var/impression/codes'):
os.remove("/var/impression/codes/%s" %password) os.remove("/var/impression/codes/%s" %password)
return 1 return user, True
else : else:
return 0 return "", False
if __name__ == '__main__' : if __name__ == '__main__' :
openlog("digicode") openlog("digicode")
# on récupère le code dans les variables d'environement # on récupère le code dans les variables d'environement
try : try:
code = os.getenv('USER_PASSWORD','').replace('"','') code = os.getenv('USER_PASSWORD', '').replace('"', '')
except : except:
code = '' code = ''
# test de l'authentification # test de l'authentification
if identification(code) : user, ok = identification(code)
if ok:
# c'est bon # c'est bon
syslog("code %s correct" % code) syslog("code %s [%s] correct" % (code, user))
sys.exit(0) sys.exit(0)
else : else:
# c'est pas bon # c'est pas bon
syslog("code %s incorrect" % code) syslog("code %s incorrect" % code)
sys.exit(1) sys.exit(1)