Generation d'un fichier supplementaire pour les bornes contenant tous

les clients qu'elles peuvent accepter

darcs-hash:20041218182611-d1718-848500be98b1b05366da42288f4ab85dbf615b15.gz
This commit is contained in:
bernat 2004-12-18 19:26:11 +01:00
parent c59c100795
commit b090696f4f

View file

@ -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 <<EOF | grep -i $(nvram get et0macaddr) > /tmp/params
%(BORNES)s
EOF