From 09497c7c7a81f68f175e5a266a90a9ae6837860c Mon Sep 17 00:00:00 2001 From: Gabriel Detraz Date: Sun, 15 Nov 2015 12:42:38 +0100 Subject: [PATCH] =?UTF-8?q?Pour=20les=20serveurs=20et=20bornes=20aussi,=20?= =?UTF-8?q?on=20v=C3=A9rifie=20que=20le=20suffixe=20va=20bien?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gestion/dialog/machine.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gestion/dialog/machine.py b/gestion/dialog/machine.py index fbd60d41..2e461d25 100644 --- a/gestion/dialog/machine.py +++ b/gestion/dialog/machine.py @@ -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