L aussi, la fonction search a des problmes, on fait comme pour squid et on

fait deux recherches distinctes sur les blacklistes associes  un adhrent
et celles associes  une machine.
a vite le croisement de donnes qui limine des rsultats. En attendant
que quelqu'un ait une ide pour la fonction search.

darcs-hash:20060311073602-72cb0-a4c5593531861d8a1bae03787fde3d51cd8de3bb.gz
This commit is contained in:
salles 2006-03-11 08:36:02 +01:00
parent 4c35297352
commit 9334846582

View file

@ -670,15 +670,20 @@ class firewall_komaz(firewall_crans) :
iptables('-F BLACKLIST_SRC') iptables('-F BLACKLIST_SRC')
blacklist=[] 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']: for entite in search['adherent']+search['club']+search['machine']:
self.anim.cycle() self.anim.cycle()
sanctions = entite.blacklist_actif() 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 '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]
blacklist+=[entite]
else:
blacklist+=entite.machines()
for machine in blacklist: for machine in blacklist:
iptables("-A BLACKLIST_DST -d %s -j REJECT --reject-with icmp-host-prohibited" % machine.ip()) iptables("-A BLACKLIST_DST -d %s -j REJECT --reject-with icmp-host-prohibited" % machine.ip())