From 4f940db063eb50aad0a1ca259561c29e4b83f366 Mon Sep 17 00:00:00 2001 From: Robby Zambito Date: Sat, 1 Feb 2025 20:45:30 -0500 Subject: Sanitize paths Use _ instead of . in paths. This is useful for paths like /.well-known, where the previous subject transformation would be invalid, due to two consecutive dots. --- main.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 14e75ae..8ab98dd 100644 --- a/main.go +++ b/main.go @@ -99,12 +99,13 @@ func main() { if h, _, err := net.SplitHostPort(host); err == nil { host = h } - // Use "-" instead of "." in the domain to make it a single token. - domainParts := strings.ReplaceAll(host, ".", "-") + // Use "_" instead of "." in the domain to make it a single token. + domainParts := strings.ReplaceAll(host, ".", "_") // Process path component path := strings.TrimPrefix(r.URL.Path, "/") - subjectPath := strings.ReplaceAll(path, "/", ".") + // Replace all "." with "_" and then all "/" with ".". + subjectPath := strings.ReplaceAll(strings.ReplaceAll(path, ".", "_"), "/", ".") // Build final subject subjectBase := "http" -- cgit