applications/luci-splash: Fix two problems with whitelisting clients
This commit is contained in:
parent
2aad24cec1
commit
0c1f8b8aa3
2 changed files with 11 additions and 7 deletions
|
@ -114,7 +114,7 @@ whitelist_add() {
|
|||
config_get mac "$1" mac
|
||||
iface=$2
|
||||
$TC filter add dev "$iface" parent ffff: protocol ip prio 1 u32 match ether src $mac police pass
|
||||
$TC filter add dev "$iface" parent 1:0 protocol ip prio 1 u32 match ether dst classid 1:1
|
||||
$TC filter add dev "$iface" parent 1:0 protocol ip prio 1 u32 match ether dst $mac classid 1:1
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -390,10 +390,12 @@ function remove_whitelist_tc(mac)
|
|||
end
|
||||
uci:foreach("luci_splash", "iface", function(s)
|
||||
local device = get_physdev(s['.name'])
|
||||
local handle = get_filter_handle('ffff:', 'src', device, mac)
|
||||
exec('tc filter del dev "%s" parent ffff: protocol ip prio 1 handle %s u32' % { device, handle })
|
||||
local handle = get_filter_handle('1:', 'dest', device, mac)
|
||||
exec('tc filter del dev "%s" parent 1:0 protocol ip prio 1 handle %s u32' % { device, handle })
|
||||
if device and device ~= "" then
|
||||
local handle = get_filter_handle('ffff:', 'src', device, mac)
|
||||
exec('tc filter del dev "%s" parent ffff: protocol ip prio 1 handle %s u32' % { device, handle })
|
||||
local handle = get_filter_handle('1:', 'dest', device, mac)
|
||||
exec('tc filter del dev "%s" parent 1:0 protocol ip prio 1 handle %s u32' % { device, handle })
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
|
@ -486,8 +488,10 @@ function add_whitelist_rule(mac)
|
|||
end
|
||||
uci:foreach("luci_splash", "iface", function(s)
|
||||
local device = get_physdev(s['.name'])
|
||||
exec('tc filter add dev "%s" parent ffff: protocol ip prio 1 u32 match ether src %s police pass' % { device, mac })
|
||||
exec('tc filter add dev "%s" parent 1:0 protocol ip prio 1 u32 match ether dst %s classid 1:1' % { device, mac })
|
||||
if device and device ~= "" then
|
||||
exec('tc filter add dev "%s" parent ffff: protocol ip prio 1 u32 match ether src %s police pass' % { device, mac })
|
||||
exec('tc filter add dev "%s" parent 1:0 protocol ip prio 1 u32 match ether dst %s classid 1:1' % { device, mac })
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue