Aiguillage entre site nas, filaire et wifi effectué dans le auth.py à présent (règle le prb de segfault sous jessie)

This commit is contained in:
Gabriel Detraz 2015-09-13 13:59:33 +02:00
parent 4915d64e90
commit 587b76d930
2 changed files with 60 additions and 1 deletions

View file

@ -274,6 +274,18 @@ def instantiate(*_):
if TEST_SERVER:
logger.info('DBG_FREERADIUS is enabled')
@radius_event
def authorize(data):
"""Fonction qui aiguille entre nas, wifi et filaire pour authorize
On se contecte de faire une verification basique de ce que contien la requète
pour déterminer la fonction à utiliser"""
if data.get('NAS-Port-Type', '')==u'Ethernet':
return authorize_fil(data)
elif u"Wireless" in data.get('NAS-Port-Type', ''):
return authorize_wifi(data)
else:
return authorize_nas(data)
@radius_event
def authorize_wifi(data):
"""Section authorize pour le wifi
@ -358,7 +370,7 @@ def authorize_fil(data):
return (radiusd.RLM_MODULE_UPDATED,
(),
(
("Auth-Type", "crans_fil"),
("Auth-Type", "Accept"),
),
)
@ -431,6 +443,15 @@ def authorize_nas(data, ldap):
("FreeRADIUS-Client-Virtual-Server", vserver),
),
)
@radius_event
def post_auth(data):
# On cherche quel est le type de machine, et quel sites lui appliquer
if data.get('NAS-Port-Type', '')==u'Ethernet':
return post_auth_fil(data)
elif u"Wireless" in data.get('NAS-Port-Type', ''):
return post_auth_wifi(data)
@radius_event
def post_auth_wifi(data):
"""Appelé une fois que l'authentification est ok.