@@ -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