Skip to content

Commit f22cf91

Browse files
committed
dnscrypt: propagate errs from refresh to client
1 parent 32e92b0 commit f22cf91

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

intra/dnscrypt/certs.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ func dnsExchange(dialer protect.RDialer, query *dns.Msg, serverAddress string, s
224224
var err error
225225
options := 0
226226

227-
for tries := 0; tries < 4; tries++ {
227+
for tries := range 4 {
228228
queryCopy := query.Copy()
229229
queryCopy.Id += uint16(options)
230230
timeout := time.Duration(200*tries) * time.Millisecond

intra/dnscrypt/multiserver.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -363,20 +363,20 @@ func (proxy *DcMulti) LiveTransports() *x.Gostr {
363363
return x.StrOf(strings.Join(proxy.liveServers[:], ","))
364364
}
365365

366-
func (proxy *DcMulti) refreshOne(uid string) bool {
366+
func (proxy *DcMulti) refreshOne(uid string) (bool, error) {
367367
proxy.RLock()
368368
r, ok := proxy.registeredServers[uid]
369369
proxy.RUnlock()
370370

371371
if !ok {
372-
return false
372+
return false, errNoServers
373373
}
374374
if err := proxy.serversInfo.refreshServer(proxy, r.name, r.stamp); err != nil {
375375
log.E("dnscrypt: refresh failed %s: %s; err: %v", r.name, stamp2str(r.stamp), err)
376-
return false
376+
return false, err
377377
}
378378
log.D("dnscrypt: refresh success %s: %s", r.name, stamp2str(r.stamp))
379-
return true
379+
return true, nil
380380
}
381381

382382
// Refresh re-registers servers
@@ -708,7 +708,7 @@ func AddTransport(p *DcMulti, id, serverstamp string) (*serverinfo, error) {
708708
return nil, dnsx.ErrNoDcProxy
709709
}
710710
if _, err := p.addOne(id, serverstamp); err == nil {
711-
if ok := p.refreshOne(id); ok {
711+
if ok, err := p.refreshOne(id); ok {
712712
log.I("dnscrypt: added %s; %s", id, serverstamp)
713713
if tr := p.serversInfo.get(id); tr != nil {
714714
go p.refreshRoutes()
@@ -719,7 +719,7 @@ func AddTransport(p *DcMulti, id, serverstamp string) (*serverinfo, error) {
719719
} else {
720720
log.W("dnscrypt: failed to add2 %s; %s", id, serverstamp)
721721
p.removeOne(id)
722-
return nil, errNoCert
722+
return nil, core.OneErr(err, errNoCert)
723723
}
724724
} else {
725725
return nil, err

0 commit comments

Comments
 (0)