Skip to content

Commit

Permalink
Send a dummy initial query before RTT measurement in ODoH
Browse files Browse the repository at this point in the history
  • Loading branch information
jedisct1 committed Jun 7, 2021
1 parent fad415f commit a181a23
Showing 1 changed file with 21 additions and 7 deletions.
28 changes: 21 additions & 7 deletions dnscrypt-proxy/serversInfo.go
Original file line number Diff line number Diff line change
Expand Up @@ -594,7 +594,6 @@ func fetchDoHServerInfo(proxy *Proxy, name string, stamp stamps.ServerStamp, isN
Path: stamp.Path,
}
body := dohTestPacket(0xcafe)

useGet := false
if _, _, _, _, err := proxy.xTransport.DoHQuery(useGet, url, body, proxy.timeout); err != nil {
useGet = true
Expand Down Expand Up @@ -718,22 +717,37 @@ func _fetchODoHTargetInfo(proxy *Proxy, name string, stamp stamps.ServerStamp, i
Path: stamp.Path,
}

useGet := relay == nil

workingConfigs := make([]ODoHTargetConfig, 0)
rand.Shuffle(len(odohTargetConfigs), func(i, j int) {
odohTargetConfigs[i], odohTargetConfigs[j] = odohTargetConfigs[j], odohTargetConfigs[i]
})
for _, odohTargetConfig := range odohTargetConfigs {
query := dohNXTestPacket(0xcafe)
url := targetURL
if relay != nil {
url = relay.ODoH.URL
}

query := dohTestPacket(0xcafe)
odohQuery, err := odohTargetConfig.encryptQuery(query)
if err != nil {
continue
}
url := targetURL
if relay != nil {
url = relay.ODoH.URL

useGet := relay == nil
if _, _, _, _, err := proxy.xTransport.DoHQuery(useGet, url, odohQuery.odohMessage, proxy.timeout); err != nil {
useGet = true
if _, _, _, _, err := proxy.xTransport.DoHQuery(useGet, url, odohQuery.odohMessage, proxy.timeout); err != nil {
return ServerInfo{}, err
}
dlog.Debugf("Server [%s] doesn't appear to support POST; falling back to GET requests", name)
}

query = dohNXTestPacket(0xcafe)
odohQuery, err = odohTargetConfig.encryptQuery(query)
if err != nil {
continue
}

responseBody, responseCode, tls, rtt, err := proxy.xTransport.ObliviousDoHQuery(useGet, url, odohQuery.odohMessage, proxy.timeout)
if err != nil {
continue
Expand Down

0 comments on commit a181a23

Please sign in to comment.