mirror of
https://github.com/agent-substrate/substrate.git
synced 2026-11-12 10:35:06 +08:00
DNS lookups are case-insensitive (RFC 4343), so a client that resolves `MyActor.MySpace.actors.resources.substrate.ate.dev` reaches the router with that spelling preserved in `Host`/`:authority` (Go's http.Client and `curl -H` both send the host as written). `ParseActorDNSName` compared it byte for byte against a strictly lower-case suffix and name pattern, so the request was rejected with a 404 by `invalidHostErr` even though its DNS lookup had resolved to that very actor. Fold the name to lower case before parsing. Actor and atespace names are always lower case (`ResourceNameRegexPattern`), so a folded name either addresses the same actor its lookup resolved to, or fails validation exactly as before.