Bug #3340
Captive Portal deletes concurrent sessions even if noconcurrentlogins is not set
100%
Description
Function captiveportal_prune_old_automac() deletes duplicate sessions even if noconcurrent logins is not set.
This comes into play when using vouchers with pass though mac automatic with username and disable concurrent logins unchecked.
Line 785 in etc/inc/captiveportal.inc:
if (isset($tmpvoucherdb[$emac['username']])) {
Should be:
if (isset($config['captiveportal'][$cpzone]['noconcurrentlogins']) && isset($tmpvoucherdb[$emac['username']])) {
Tested locally. Seems to work. All the automacs are cleared when voucher used expires.
Associated revisions
Consider setting of noconcurrent login for passthrough expiry of users. Fixes #3340
History
#1
Updated by Chris Linstruth over 7 years ago
Or would it be better to:
if (isset($config['captiveportal'][$cpzone]['noconcurrentlogins'])) {
if (isset($tmpvoucherdb[$emac['username']])) {
...
}
$tmpvoucherdb[$emac['username']] = $eid;
}
#2
Updated by Chris Linstruth about 7 years ago
Candidate patch here:
https://github.com/derelict-pf/pfsense/commit/ae6c69833f34d8f14b1c6a9508126905328340bc
#3
Updated by Ermal Luçi about 7 years ago
- Status changed from New to Feedback
- % Done changed from 0 to 100
Applied in changeset bae729da39079601b262e805a34d3818c3b994dc.
#4
Updated by Ermal Luçi about 7 years ago
Applied in changeset e8b05b83ed12ae7f65021c14686826b5aac96e00.
#5
Updated by Renato Botelho about 7 years ago
- Status changed from Feedback to Resolved
Consider setting of noconcurrent login for passthrough expiry of users. Fixes #3340