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:
parent
4c35297352
commit
9334846582
1 changed files with 10 additions and 5 deletions
|
@ -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())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue