fix(openwrt): close TollGate free-access gap and mint URL mismatch
Two bugs found live against archy-x250-pa3: TollGate-3458 (the upstream tollgate-module-basic-go installer's own default AP, rebranded from OpenWrt's factory default wireless.default_radioN sections) was left bound to `network=lan` — wide open, unmetered, and sharing the router's admin LAN — because install_ipk() runs the upstream package's own uci-defaults scripts but nothing reconciled the AP they create with the separate `tollgate` network/bridge/firewall this project's own provision_ssid() sets up for the "archipelago" SSID. Fixed by folding any default_radioN section left on `lan` onto the `tollgate` network right after it's created. Separately, a caller-supplied mint_url with a trailing slash (https://mint.minibits.cash/Bitcoin/) got written byte-for-byte into accepted_mints[0].url, which tollgate-wrt string-compares exactly against a token's embedded (slash-less) mint URL — rejecting every otherwise-valid token as an "untrusted mint". Fixed by trimming trailing slashes before the value is used anywhere. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KTdMfVJChCwCCYF1ZTRQLc
This commit is contained in:
committed by
archipelago
co-authored by
Claude Sonnet 5
parent
db52c06a72
commit
2947277205
@@ -240,10 +240,18 @@ impl RpcHandler {
|
||||
.unwrap_or_default();
|
||||
|
||||
let default_mint_url = format!("http://{}:{}", self.config.host_ip, LOCAL_MINT_PORT);
|
||||
// Trim trailing slash(es): tollgate-wrt matches a token's embedded
|
||||
// mint URL against this value with an exact string compare, and
|
||||
// Cashu wallets (Minibits included) encode mint URLs without a
|
||||
// trailing slash. A stray slash here means every otherwise-valid
|
||||
// token gets rejected as "untrusted mint" — confirmed live against
|
||||
// archy-x250-pa3 2026-09-07 with a manually-entered
|
||||
// "https://mint.minibits.cash/Bitcoin/".
|
||||
let mint_url = p
|
||||
.get("mint_url")
|
||||
.and_then(|v| v.as_str())
|
||||
.unwrap_or(&default_mint_url)
|
||||
.trim_end_matches('/')
|
||||
.to_string();
|
||||
|
||||
let config = TollGateConfig {
|
||||
|
||||
Reference in New Issue
Block a user