You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit fdbdfc3
Browse filesBrowse the repository at this point in the historyBrowse files
Amperstrand
committed
rebase onto main (post-#836/#839/#842 merges + cross-family review base): fix(packaging): IPv6 disabled globally until captivity is v6-aware (#783 mitigation)
Copy file name to clipboardExpand all lines: packaging/files/etc/init.d/tollgate-wrt
+26-1Lines changed: 26 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -36,11 +36,36 @@ start_service() {
36
36
procd_set_param respawn 3 5 0
37
37
38
38
procd_close_instance
39
-
39
+
40
+
# Fail loudly when the guards' interfaces are missing (#757's ask): the
41
+
# nft guards silently dropping a renamed bridge's traffic is the exact
42
+
# blind spot this replaces — a WARN naming the expected interface turns
43
+
# a client-side mystery into one logread line.
44
+
_portal_if="$(uci -q get nodogsplash.@nodogsplash[0].gatewayinterface 2>/dev/null ||echo br-lan)"
45
+
if! ip link show "$_portal_if">/dev/null 2>&1;then
46
+
logger -s -t tollgate-wrt -p user.warn "WARN: the captive-portal interface '$_portal_if' (nodogsplash gatewayinterface) does not exist on this router — the nft guards and nodogsplash itself cannot serve it; rename follow-up missing? (#757)"
47
+
fi
48
+
40
49
# Log the start for debugging
41
50
echo"TollGate basic started with nodogsplash"> /tmp/basic.log
42
51
}
43
52
53
+
# Operator edits to nodogsplash uci (pre-auth allowlist changes among them)
54
+
# re-render the priority -2 allow fragment and reload the firewall — WITHOUT
55
+
# bouncing the daemon (#754: the allowlist must track uci, and nodogsplash's
56
+
# own restart reloads nothing in /etc/nftables.d, which fw4 owns).
57
+
service_triggers() {
58
+
procd_add_reload_trigger nodogsplash
59
+
}
60
+
61
+
reload_service() {
62
+
# Both nft fragments derive from config nodogsplash feeds on: the -2
63
+
# pre-auth allowlist (#754) and the interface defines the guards
64
+
# resolve (#757). One commit, one converge, no daemon bounce.
0 commit comments