diff options
| author | Your Name <you@example.com> | 2026-05-16 04:46:32 +0530 |
|---|---|---|
| committer | Your Name <you@example.com> | 2026-05-16 04:46:32 +0530 |
| commit | 50b5975ac8793d6d820c35b5999f8a909f64e71b (patch) | |
| tree | 2592f9e7a671af2aca56e46887e50b8ad8e418b6 /main/session.h | |
| parent | 3f46bb83cb1041889034c88adce1895dd330793f (diff) | |
Captive portal detection fix + Phase 2 tests 16-18,20 passing (17/17)
- Add DoT reject server on port 853 (TCP RST forces DNS-over-TLS fallback)
- DNS hijack returns NXDOMAIN for all non-A query types (no forwarding for unauthed)
- Shorter TTL on hijack responses (10s) for faster captive detection
- Explicit 302 redirect handlers for /generate_204, /hotspot-detect.html, etc.
- HTTP and DNS request logging for debugging captive detection
- Per-MAC tracking in firewall (find_by_mac, get_mac_for_ip with ARP fallback)
- Session MAC tracking (session_find_by_mac)
- Phase 2 test 18: add route through TollGate before ping test
- All 17 Phase 2 tests pass (15-21 + whoami + portal form)
Diffstat (limited to 'main/session.h')
| -rw-r--r-- | main/session.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/main/session.h b/main/session.h index e7d78d4..8e2d48d 100644 --- a/main/session.h +++ b/main/session.h | |||
| @@ -24,6 +24,7 @@ session_t *session_create(uint32_t client_ip, uint64_t allotment_ms, | |||
| 24 | const char *spent_secrets[], int secret_count); | 24 | const char *spent_secrets[], int secret_count); |
| 25 | 25 | ||
| 26 | session_t *session_find_by_ip(uint32_t client_ip); | 26 | session_t *session_find_by_ip(uint32_t client_ip); |
| 27 | session_t *session_find_by_mac(const char *mac); | ||
| 27 | 28 | ||
| 28 | void session_extend(session_t *session, uint64_t additional_ms); | 29 | void session_extend(session_t *session, uint64_t additional_ms); |
| 29 | 30 | ||