@@ -620,25 +620,29 @@ func fetchDNSCryptServerInfo(proxy *Proxy, name string, stamp stamps.ServerStamp
620
620
& name ,
621
621
false ,
622
622
)
623
- if err == nil {
624
- if msg .Id != 0xcafe {
625
- dlog .Infof ("[%s] handling of DNS message identifiers is broken" , name )
626
- }
627
- for _ , rr := range msg .Answer {
628
- if rr .Header ().Rrtype == dns .TypeA || rr .Header ().Rrtype == dns .TypeAAAA {
629
- dlog .Warnf ("[%s] may be a lying resolver -- skipping" , name )
630
- return ServerInfo {}, fmt .Errorf ("[%s] unexpected record: [%s]" , name , rr .String ())
623
+ if err == nil && len (msg .Question ) > 0 {
624
+ question := msg .Question [0 ]
625
+ if question .Qtype == query .Question [0 ].Qtype && strings .EqualFold (question .Name , query .Question [0 ].Name ) {
626
+ dlog .Debugf ("[%s] also serves plaintext DNS" , name )
627
+ if msg .Id != 0xcafe {
628
+ dlog .Infof ("[%s] handling of DNS message identifiers is broken" , name )
631
629
}
632
- }
633
- for _ , rr := range msg .Extra {
634
- if rr .Header ().Rrtype == dns .TypeTXT {
635
- dlog .Warnf ("[%s] may be a dummy resolver -- skipping" , name )
636
- txts := rr .(* dns.TXT ).Txt
637
- cause := ""
638
- if len (txts ) > 0 {
639
- cause = txts [0 ]
630
+ for _ , rr := range msg .Answer {
631
+ if rr .Header ().Rrtype == dns .TypeA || rr .Header ().Rrtype == dns .TypeAAAA {
632
+ dlog .Warnf ("[%s] may be a lying resolver -- skipping" , name )
633
+ return ServerInfo {}, fmt .Errorf ("[%s] unexpected record: [%s]" , name , rr .String ())
634
+ }
635
+ }
636
+ for _ , rr := range msg .Extra {
637
+ if rr .Header ().Rrtype == dns .TypeTXT {
638
+ dlog .Warnf ("[%s] may be a dummy resolver -- skipping" , name )
639
+ txts := rr .(* dns.TXT ).Txt
640
+ cause := ""
641
+ if len (txts ) > 0 {
642
+ cause = txts [0 ]
643
+ }
644
+ return ServerInfo {}, fmt .Errorf ("[%s] unexpected record: [%s]" , name , cause )
640
645
}
641
- return ServerInfo {}, fmt .Errorf ("[%s] unexpected record: [%s]" , name , cause )
642
646
}
643
647
}
644
648
}
0 commit comments