From a64662f7343621e673a608f39ae0e36a0e5181d5 Mon Sep 17 00:00:00 2001 From: glondu Date: Wed, 11 Oct 2006 23:36:12 +0200 Subject: [PATCH] On loggue les utilisateurs du digicode. darcs-hash:20061011213612-68412-d623cb451865fe23dea27040fc4eb86eadad94b4.gz --- radius_digicode.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/radius_digicode.py b/radius_digicode.py index 646cab63..c9e4ba42 100755 --- a/radius_digicode.py +++ b/radius_digicode.py @@ -8,7 +8,7 @@ Script de test du code de la porte du local de l'imprimante import os, sys from syslog import openlog, syslog -def identification ( password ) : +def identification(password): # test un code entré sur la porte : # doit retourner 0 si le code n'est pas bon # 1 pour ouvrir la porte @@ -16,28 +16,33 @@ def identification ( password ) : #codes en statique pour les tests #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 - # 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'): os.remove("/var/impression/codes/%s" %password) - return 1 - else : - return 0 + return user, True + else: + return "", False if __name__ == '__main__' : openlog("digicode") # on récupère le code dans les variables d'environement - try : - code = os.getenv('USER_PASSWORD','').replace('"','') - except : + try: + code = os.getenv('USER_PASSWORD', '').replace('"', '') + except: code = '' # test de l'authentification - if identification(code) : + user, ok = identification(code) + if ok: # c'est bon - syslog("code %s correct" % code) + syslog("code %s [%s] correct" % (code, user)) sys.exit(0) - else : + else: # c'est pas bon syslog("code %s incorrect" % code) sys.exit(1)