Skip to content

Commit 2358873

Browse files
authored
Synchronously update the target configuration upon failure. (#1671)
* Synchronously update the target configuration upon failure. * Notice a serverInfo failure when key updates fail. * Add server name to debug logs.
1 parent 9759dd9 commit 2358873

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

dnscrypt-proxy/proxy.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -698,8 +698,17 @@ func (proxy *Proxy) processIncomingQuery(clientProto string, serverProto string,
698698
response = nil
699699
}
700700
} else if responseCode == 401 {
701-
dlog.Notice("Forcing key update")
702-
go proxy.serversInfo.refresh(proxy)
701+
dlog.Notice("Forcing key update for " + serverInfo.Name)
702+
for _, registeredServer := range proxy.serversInfo.registeredServers {
703+
if registeredServer.name == serverInfo.Name {
704+
if err = proxy.serversInfo.refreshServer(proxy, registeredServer.name, registeredServer.stamp); err != nil {
705+
// Failed to refresh the proxy server information.
706+
dlog.Notice("Key update failed for " + serverInfo.Name)
707+
serverInfo.noticeFailure(proxy)
708+
}
709+
break
710+
}
711+
}
703712
response = nil
704713
} else {
705714
dlog.Error("Failed to receive successful response")

0 commit comments

Comments
 (0)