@@ -31,12 +31,12 @@ type systemClient struct {
31
31
32
32
func (c * systemClient ) ExchangeContext (ctx context.Context , m * D.Msg ) (msg * D.Msg , err error ) {
33
33
dnsClients , err := c .getDnsClients ()
34
+ if len (dnsClients ) == 0 && len (c .defaultNS ) > 0 {
35
+ dnsClients = c .defaultNS
36
+ err = nil
37
+ }
34
38
if err != nil {
35
- if len (c .defaultNS ) > 0 {
36
- dnsClients = c .defaultNS
37
- } else {
38
- return
39
- }
39
+ return
40
40
}
41
41
msg , _ , err = batchExchange (ctx , dnsClients , m )
42
42
return
@@ -45,11 +45,16 @@ func (c *systemClient) ExchangeContext(ctx context.Context, m *D.Msg) (msg *D.Ms
45
45
// Address implements dnsClient
46
46
func (c * systemClient ) Address () string {
47
47
dnsClients , _ := c .getDnsClients ()
48
+ isDefault := ""
49
+ if len (dnsClients ) == 0 && len (c .defaultNS ) > 0 {
50
+ dnsClients = c .defaultNS
51
+ isDefault = "[defaultNS]"
52
+ }
48
53
addrs := make ([]string , 0 , len (dnsClients ))
49
54
for _ , c := range dnsClients {
50
55
addrs = append (addrs , c .Address ())
51
56
}
52
- return fmt .Sprintf ("system(%s)" , strings .Join (addrs , "," ))
57
+ return fmt .Sprintf ("system%s (%s)" , isDefault , strings .Join (addrs , "," ))
53
58
}
54
59
55
60
var _ dnsClient = (* systemClient )(nil )
0 commit comments