uspot: accounting: correctly handle ipv4/v6 conntrack

Only run conntrack deletion on defined client IP(s) and process both
IPv4 and IPv6.

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
This commit is contained in:
Thibaut VARÈNE
2023-05-23 15:34:21 +02:00
committed by John Crispin
parent a9df4b8549
commit f1c4a39540

View File

@@ -189,7 +189,11 @@ function client_kick(interface, mac, remove) {
};
ubus.call('spotfilter', remove ? 'client_remove' : 'client_set', payload);
system('conntrack -D -s ' + clients[interface][mac].ip4addr + ' -m 2');
if (clients[interface][mac].ip4addr)
system('conntrack -D -s ' + clients[interface][mac].ip4addr + ' -m 2');
if (clients[interface][mac].ip6addr)
system('conntrack -D -s ' + clients[interface][mac].ip6addr + ' -m 2');
if (clients[interface][mac].accounting)
clients[interface][mac].timeout.cancel();