Skip to content

Commit d82021b

Browse files
author
Frank Denis
committed
Repair stale respones for DoH
1 parent e5608e0 commit d82021b

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

dnscrypt-proxy/proxy.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,7 @@ func (proxy *Proxy) clientsCountDec() {
573573
}
574574

575575
func (proxy *Proxy) processIncomingQuery(clientProto string, serverProto string, query []byte, clientAddr *net.Addr, clientPc net.Conn, start time.Time, onlyCached bool) (response []byte) {
576+
response = nil
576577
if len(query) < MinDNSPacketSize {
577578
return
578579
}
@@ -668,11 +669,12 @@ func (proxy *Proxy) processIncomingQuery(clientProto string, serverProto string,
668669
serverInfo.noticeBegin(proxy)
669670
serverResponse, _, tls, _, err := proxy.xTransport.DoHQuery(serverInfo.useGet, serverInfo.URL, query, proxy.timeout)
670671
SetTransactionID(query, tid)
671-
if err == nil || tls == nil || !tls.HandshakeComplete {
672-
response = nil
673-
} else if stale, ok := pluginsState.sessionData["stale"]; ok {
674-
dlog.Debug("Serving stale response")
675-
response, err = (stale.(*dns.Msg)).Pack()
672+
673+
if err != nil || tls == nil || !tls.HandshakeComplete {
674+
if stale, ok := pluginsState.sessionData["stale"]; ok {
675+
dlog.Debug("Serving stale response")
676+
response, err = (stale.(*dns.Msg)).Pack()
677+
}
676678
}
677679
if err != nil {
678680
pluginsState.returnCode = PluginsReturnCodeNetworkError

0 commit comments

Comments
 (0)