From 1cdb71cd7cff87df609e996e9491aa09e9b79a3d Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Sun, 6 Jun 2021 01:01:39 +0200 Subject: [PATCH] Avoid double slashes in ODoH relay URLs --- .ci/test-odoh-proxied.toml | 2 +- dnscrypt-proxy/serversInfo.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ci/test-odoh-proxied.toml b/.ci/test-odoh-proxied.toml index 83fc8197..b1503bec 100644 --- a/.ci/test-odoh-proxied.toml +++ b/.ci/test-odoh-proxied.toml @@ -9,7 +9,7 @@ file = 'query.log' stamp = 'sdns://BQcAAAAAAAAAF29kb2guY2xvdWRmbGFyZS1kbnMuY29tCi9kbnMtcXVlcnk' [static.'odohrelay'] - stamp = 'sdns://hQcAAAAAAAAAAAAdcHJveHkub2RvaC5jbG91ZGZsYXJlLWRucy5jb20FcHJveHk' + stamp = 'sdns://hQcAAAAAAAAAAAAdcHJveHkub2RvaC5jbG91ZGZsYXJlLWRucy5jb20GL3Byb3h5' [anonymized_dns] routes = [ diff --git a/dnscrypt-proxy/serversInfo.go b/dnscrypt-proxy/serversInfo.go index 1ca3f8fb..b3a37ce3 100644 --- a/dnscrypt-proxy/serversInfo.go +++ b/dnscrypt-proxy/serversInfo.go @@ -419,7 +419,7 @@ func route(proxy *Proxy, name string) (*Relay, error) { dlog.Noticef("Anonymizing queries for [%v] via [%v]", name, relayName) return &Relay{Proto: stamps.StampProtoTypeDNSCryptRelay, Dnscrypt: &DNSCryptRelay{RelayUDPAddr: relayUDPAddr, RelayTCPAddr: relayTCPAddr}}, nil case stamps.StampProtoTypeODoHRelay: - target, err := url.Parse("https://" + relayCandidateStamp.ProviderName + "/" + relayCandidateStamp.Path) + target, err := url.Parse("https://" + url.PathEscape(relayCandidateStamp.ProviderName) + relayCandidateStamp.Path) if err != nil { return nil, err }