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.
This commit is contained in:
2025-02-01 20:45:30 -05:00
parent a4a003d9f4
commit 4f940db063

View File

@@ -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"