浏览代码

Fix DNS fallback

世界 7 月之前
父节点
当前提交
d9dc7da43d
共有 2 个文件被更改,包括 8 次插入1 次删除
  1. 3 0
      dns/transport/local/local.go
  2. 5 1
      dns/transport/local/local_fallback.go

+ 3 - 0
dns/transport/local/local.go

@@ -139,6 +139,9 @@ func (t *Transport) tryOneName(ctx context.Context, config *dnsConfig, fqdn stri
 }
 
 func (t *Transport) exchangeOne(ctx context.Context, server M.Socksaddr, question mDNS.Question, timeout time.Duration, useTCP, ad bool) (*mDNS.Msg, error) {
+	if server.Port == 0 {
+		server.Port = 53
+	}
 	var networks []string
 	if useTCP {
 		networks = []string{N.NetworkTCP}

+ 5 - 1
dns/transport/local/local_fallback.go

@@ -58,8 +58,12 @@ func (f *FallbackTransport) Start(stage adapter.StartStage) error {
 	return nil
 }
 
+func (f *FallbackTransport) Close() error {
+	return nil
+}
+
 func (f *FallbackTransport) Exchange(ctx context.Context, message *mDNS.Msg) (*mDNS.Msg, error) {
-	if f.fallback {
+	if !f.fallback {
 		return f.DNSTransport.Exchange(ctx, message)
 	}
 	question := message.Question[0]