diff --git a/gestion/gen_confs/wifi.py b/gestion/gen_confs/wifi.py index 5fb6f4f8..0d507425 100755 --- a/gestion/gen_confs/wifi.py +++ b/gestion/gen_confs/wifi.py @@ -246,6 +246,12 @@ if [ $change -eq 1 ]; then fi echo " ok" +# On met en place le filtrage MAC +%(MACS)s + +# N'autoriser que les adresses MAC listées +wl macmode 2 + # On place un prompt pour la machine cd /tmp @@ -442,6 +448,7 @@ cat /tmp/autoexec.log | busybox logger -p local3.info -t "Statut" def _gen(self) : date = time.strftime('%A %d %B %Y %H:%M') + # Liste des bornes BORNES = u'## Liste des bornes -- source : base LDAP\n' BORNES += u'## MAC - IP - Canal - Puissance - Nom\n' for b in self.db.search('host=*.wifi.crans.org&puissance=*')['machine'] : @@ -450,6 +457,17 @@ cat /tmp/autoexec.log | busybox logger -p local3.info -t "Statut" b.puissance(), b.nom().split(".")[0] ) BORNES += u'## Fin liste des bornes' + + # Liste des adresses MAC des adhérents wifi + allmacs = map(lambda x: x.mac(), + self.db.search("host=*.wifi.crans.org&ip!=138.231.148.*")['machine']) + MACS = [] + while len(allmacs): + MACS.append(allmacs[-5:]) + del allmacs[-5:] + # On met tout dans une chaine + MACS = map(lambda x: u" ".join(x), [[]]+MACS) + MACS = u"\nwl mac ".join(MACS) AUTOEXEC = self.AUTOEXEC fd = self._open_conf(self.AUTOEXEC)