uspot: fix idle-timeout handling

Fixes: WIFI-11208
Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin
2022-12-07 11:37:59 +01:00
parent e65fa74071
commit 692958d2fd

View File

@@ -90,7 +90,7 @@ function radius_acct(mac, payload) {
payload.input_gigawords = state.bytes_ul >> 32; payload.input_gigawords = state.bytes_ul >> 32;
payload.output_packets = state.packets_dl; payload.output_packets = state.packets_dl;
payload.input_packets = state.packets_ul; payload.input_packets = state.packets_ul;
if (state.data?.radius?.reply.Class) if (state.data?.radius?.reply?.Class)
payload.class = state.data.radius.reply.Class; payload.class = state.data.radius.reply.Class;
radius_call(mac, payload); radius_call(mac, payload);
@@ -241,10 +241,11 @@ uloop.timer(1000, function() {
continue; continue;
} }
if (v.idle > get_idle_timeout(k)) { if (list[k].idle > get_idle_timeout(k)) {
if (clients[k]) if (clients[k])
radius_idle_time(k); radius_idle_time(k);
client_remove(k, 'idle event'); client_remove(k, 'idle event');
continue;
} }
let timeout = get_session_timeout(k); let timeout = get_session_timeout(k);
if (timeout && ((t - list[k].data.connect) > timeout)) { if (timeout && ((t - list[k].data.connect) > timeout)) {