Files
pangolin/server
breken 64ae230d23 fix(rules): decode percent-encoded PATH rule patterns before matching
isPathAllowed decodes the incoming request path (and Badger already sends
Go's decoded req.URL.Path), but compared it against the rule pattern as raw
text. isValidUrlGlobPattern rejects raw spaces and non-ASCII and only accepts
them percent-encoded, so a PATH rule such as `/my%20docs/*` or `/caf%C3%A9`
was stored as `my%20docs` / `caf%C3%A9` and compared against `my docs` /
`café`, and could therefore never match any request.

Run the pattern through the same decodeAndResolvePath normalisation as the
request path so both sides are compared in decoded form.

Claude-Session: https://claude.ai/code/session_0134ujLF81GyXsCByibLcYsz
2026-09-13 19:00:59 -07:00
..
2026-09-03 11:24:36 -04:00
2026-02-04 15:19:58 -08:00
2026-09-04 09:06:58 -04:00
2026-09-03 11:35:28 -04:00
2026-02-24 17:58:11 -08:00
2026-04-21 20:51:59 -07:00
2026-08-11 12:19:28 -04:00
2025-04-06 16:06:50 -04:00
2026-08-17 12:00:13 -04:00
2026-09-03 11:35:28 -04:00
2026-08-17 12:00:13 -04:00