diff --git a/gestion/gen_confs/firewall.py b/gestion/gen_confs/firewall.py index 745e6e0c..b6933e75 100755 --- a/gestion/gen_confs/firewall.py +++ b/gestion/gen_confs/firewall.py @@ -670,15 +670,20 @@ class firewall_komaz(firewall_crans) : iptables('-F BLACKLIST_SRC') blacklist=[] - search = db.search('blacklist=*&paiement=%s'% ann_scol) + # Recherche sur le champ ablacklist (clubs compris) + search = db.search('ablacklist=*&paiement=%s'% ann_scol) + for entite in search['adherent']+search['club']: + self.anim.cycle() + sanctions = entite.blacklist_actif() + if 'upload' in sanctions or 'warez' in sanctions or 'p2p' in sanctions or 'autodisc_p2p' in sanctions or 'autodisc_upload' in sanctions : + blacklist+=entite.machines() + # Recherche sur le champ mblacklist (clubs aussi compris mais on extrait pas les résultats) + search = db.search('mblacklist=*&paiement=%s'% ann_scol) for entite in search['adherent']+search['club']+search['machine']: self.anim.cycle() sanctions = entite.blacklist_actif() if 'upload' in sanctions or 'warez' in sanctions or 'p2p' in sanctions or 'autodisc_p2p' in sanctions or 'autodisc_upload' in sanctions : - if isinstance(entite, Machine): - blacklist+=[entite] - else: - blacklist+=entite.machines() + blacklist+=[entite] for machine in blacklist: iptables("-A BLACKLIST_DST -d %s -j REJECT --reject-with icmp-host-prohibited" % machine.ip())