Say the source host is signed as the URL writes it (part of #246)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
The Signature Specification read as though the hostname were signed with ":" and the port appended. The code signs the host segment as the URL writes it up to the first "/", lower-cased, so IPv6 brackets and a ":" with or without a port are kept. The README line, the TODO.md entry and the parser comment now say so. Model: opus-5-5
This commit is contained in:
@@ -39,8 +39,8 @@ P2: security: per-origin rate limiting
|
||||
password, with 400. A host with a port, or with a `:` and no port, needs a
|
||||
signature even when it is allowlisted. That is checked in the image service,
|
||||
not in `allowlist.IsAllowed`, which also matches `referer_blocklist`, where a
|
||||
`Referer` is blocked whatever its port. A URL is signed over the lower-cased
|
||||
host.
|
||||
`Referer` is blocked whatever its port. A URL is signed over its host as it
|
||||
writes it, in lower case, with any IPv6 brackets, `:` and port kept.
|
||||
- 2026-10-15 a `:` in the source path or query no longer moves where the path
|
||||
ends and the query begins (closes #247): the signed data and the cache key
|
||||
joined host, path and query with `:` and no escaping, so a URL signed for
|
||||
|
||||
Reference in New Issue
Block a user