La classe tant associe un adhrent et non une ip, il ne faut pas

forcment dtruire la classe de l'adhrent lors de la suppression d'une ip
dont on ne peut plus connatre  ce moment le propritaire.

darcs-hash:20060507195024-72cb0-58070c2ae10fdbe144d2a1284f577d96987fc3c3.gz
This commit is contained in:
salles 2006-05-07 21:50:24 +02:00
parent 19d8d20573
commit 3c7595139e

View file

@ -642,7 +642,7 @@ class firewall_komaz(firewall_crans) :
if not recherche :
# Il faut supprimer cette entrée
iptables_option = '-D'
tc_option = 'del'
tc_option = ''
subnet = IpSubnet(ip, conf_fw.mask[len(conf_fw.mask)-1])
regles = iptables("-t mangle -L SUBNET-%s -n | grep %s" % (subnet, ip)).split('\n')
# On sélectionne la première qui doit contenir ce que l'on veut
@ -662,8 +662,9 @@ class firewall_komaz(firewall_crans) :
warn += "Plusieurs machines avec l'IP %s\n" % ip
qdisc_id = class_id+5000 # Il nous faut un n° inférieur à 9998 unique
for interface in [self.eth_ext, self.eth_int] :
tc("class add %s %s parent 1:1 classid 1:%d htb rate %s ceil %s" % (tc_option, interface, class_id, p2p.debit_adh, p2p.debit_max))
tc("qdisc add %s %s parent 1:%d handle %d: sfq perturb 10" % (tc_option, interface, class_id, qdisc_id))
if tc_option :
tc("class %s dev %s parent 1:1 classid 1:%d htb rate %s ceil %s" % (tc_option, interface, class_id, p2p.debit_adh, p2p.debit_max))
tc("qdisc %s dev %s parent 1:%d handle %d: sfq perturb 10" % (tc_option, interface, class_id, qdisc_id))
iptables("-t mangle %s SUBNET-%s -o crans -d %s -m mark " % (iptables_option, subnet, ip) +
"--mark %s -j CLASSIFY --set-class 1:%s" % (conf_fw.mark['bittorrent'], class_id))
iptables("-t mangle %s SUBNET-%s -o ens -s %s -m mark " % (iptables_option, subnet, ip) +