Bug #2082
Captive Portal error when client IPs are reused
| Status: | Resolved | Start date: | 01/11/2012 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 100% |
|
| Category: | Captive Portal | |||
| Target version: | 2.1 | |||
| Affected version: | Affected Architecture: |
Description
This captive portal scenario appears to be broken (tested on 2.0.1):
- client_a has IP x.x.x.207, logs into CP, then leaves
- Before the CP idle timeout, somehow client_b gets IP x.x.x.207
- CP redirects client_b to the login page since the MAC doesn't match
- client_b attempts to login
- CP attempts to re-use the old session with a different MAC:
Jan 11 13:15:02 logportalauth[58810]: LOGIN: client_b, nn:nn:nn:b5:df:f0, x.x.x.207 Jan 11 13:15:02 logportalauth[58810]: CONCURRENT LOGIN - REUSING OLD SESSION: client_a, nn:nn:nn:32:5d:3e, x.x.x.207 Jan 11 13:14:30 php[58810]: /index.php: The command '/sbin/ipfw table 1 add x.x.x.207 mac nn:nn:nn:b5:df:f0 22464' returned exit code '71', the output was 'ipfw: setsockopt(IP_FW_TABLE_ADD): File exists'
- The user is still redirected back to the CP login since the MAC isn't in the table.
The user can't break out of this until they get a new IP or the old session times out on its own.
Associated revisions
Fixes #2082. Correct checking of existing session to take into consideration when possible/needed the mac address
Fixes #2082. Correct checking of existing session to take into consideration when possible/needed the mac address
Fixes #2082. Actually just correct the log to display the correct information
Fixes #2082. Actually just correct the log to display the correct information
History
#1
Updated by Chris Buechler over 1 year ago
The log needs to be clarified so it detects IP reusage on a diff MAC rather than only checking the IP and thinking it's a concurrent login.
The DHCP lease length must be equal to or greater than the CP hard timeout.
#2
Updated by Ermal Luçi over 1 year ago
- Status changed from New to Feedback
- % Done changed from 0 to 100
Applied in changeset 443abb317d52d57fba132eef7ebffa839538a0e4.
#3
Updated by Ermal Luçi over 1 year ago
Applied in changeset 843a6fe25ac303ceda46450a3f4ac24f69a54ecb.
#4
Updated by Ermal Luçi over 1 year ago
- Affected version deleted (
2.0.x)
Changed error message. Probably should even warn user on dhcp timeout lower than CP timeout?
#5
Updated by Ermal Luçi over 1 year ago
Applied in changeset 2890cae51a424519662922e558bc939077b66c7c.
#6
Updated by Ermal Luçi over 1 year ago
Applied in changeset fbdc4b568453198fda514800286825fa9e74896f.
#7
Updated by Jim P over 1 year ago
A non-fatal warning there would be nice. I'm not sure we should prevent it outright but they should be aware that it can cause problems.