diff --git a/gestion/gen_confs/wifi.py b/gestion/gen_confs/wifi.py index 2aae0471..83b952b1 100755 --- a/gestion/gen_confs/wifi.py +++ b/gestion/gen_confs/wifi.py @@ -16,12 +16,17 @@ class conf_wifi(gen_config) : 3) Phase 2 : une entrée par machine 4) Bloc par machine suivant template 5) Ajout de net_crans + + Génération également de la fonction get_clients en shell + dans /etc/wifi/wifi-update/shared/config/get_clients qui permet + d'avoir l' ensemble des clients wifi. """ ######################################PARTIE DE CONFIGURATION # Fichiers à écrire # Répertoire d'écriture des fichiers de zone ISAKMPD_CONF='/etc/isakmpd/isakmpd.conf' + GET_CLIENTS='/etc/wifi/wifi-update/shared/config/get_clients' # Config générale general=""" @@ -104,18 +109,23 @@ Netmask= 0.0.0.0 def __str__(self) : return 'wifi' - def _gen(self) : + def _gen(self): + # Pour isakmpd.conf phase1 = self.phase1_debut phase2 = self.phase2_debut blocs='' + # Pour get_clients + clients = '' for machine in self.db.search('host=*.wifi.crans.org&paiement=ok')['machine'] : self.anim.cycle() if 'bloq' in machine.blacklist_actif() : continue data = { 'HOST' : machine.nom().split('.')[0] , 'IP' : machine.ip() , - 'KEY' : machine.ipsec() } - + 'KEY' : machine.ipsec() , + 'MAC' : machine.mac().lower() } + + # Pour isakmpd.conf # Phase 1 phase1 += self.phase1_template % data @@ -127,8 +137,11 @@ Netmask= 0.0.0.0 # Blocs machine blocs += self.host_template % data + + # Pour get_clients + clients += "echo %(HOST)s %(IP)s %(MAC)s\n" % data - # Ecriture du fichier + # Ecriture du fichier isakmpd.conf fd = self._open_conf(self.ISAKMPD_CONF,'#') fd.write(self.general) fd.write(phase1) @@ -139,6 +152,12 @@ Netmask= 0.0.0.0 fd.write(self.net_crans) fd.close() + # Ecriture du fichier get_clients + fd = self._open_conf(self.GET_CLIENTS, '#') + fd.write("get_clients () {\n\n") + fd.write(clients) + fd.write("\n}\n") + fd.close() class bornes_wifi(gen_config) : @@ -165,7 +184,6 @@ class bornes_wifi(gen_config) : #*********************************************************** ## On configure la nvram de la borne selon son adresse MAC (celle inscrite sur la borne) -## Modifier bornes.cf et non ce fichier qui sera modifié selon le contenu de bornes.cf cat < /tmp/params %(BORNES)s EOF