Pour les serveurs et bornes aussi, on vérifie que le suffixe va bien

This commit is contained in:
Gabriel Detraz 2015-11-15 12:42:38 +01:00
parent 20ddcb12bc
commit 09497c7c7a

View file

@ -60,15 +60,19 @@ class Dialog(certificat.Dialog, blacklist.Dialog):
title="Paramètres machine",
backtitle="Gestion des machines du Crans")
def check_host(host, objectClass):
def check_host(host, objectClass, realm):
# Si c'est une machine wifi, host doit finir par wifi.crans.org
if "machineWifi" == objectClass or 'borneWifi' == objectClass:
if "machineWifi" == objectClass or 'borneWifi' == objectClass or realm == 'bornes':
hostend = ".wifi.crans.org"
# Si c'est une machine wifi, host doit finir par crans.org
elif "machineFixe" == objectClass:
elif "machineFixe" == objectClass or realm == 'serveurs':
hostend = ".crans.org"
# Si l'object class est machineCrans, pas de vérification
elif "machineCrans" == objectClass:
if realm == 'adm':
hostend = ".adm.crans.org"
if not '.' in host:
host = host + hostend
return host
# Sinon, libre à chachun d'ajouter d'autres objectClass ou de filtrer
# plus finement fonction des droits de self.conn.droits
@ -125,7 +129,7 @@ class Dialog(certificat.Dialog, blacklist.Dialog):
values = [v for v in values.split(separateur) if v]
# Pour host, on fait quelques vérification de syntaxe
if a.ldap_name == 'host':
attrs[a.ldap_name]=check_host(values, objectClass)
attrs[a.ldap_name]=check_host(values, objectClass, realm)
else:
attrs[a.ldap_name]=values
# Soit on édite une machine existante