@@ -85,7 +85,7 @@ var baselineResolvers = []baseline{
85
85
86
86
var trusted * pool.Pool
87
87
88
- // var detector *wildcards.Detector
88
+ var detector * wildcards.Detector
89
89
90
90
func PerformQuery (name string , qtype uint16 ) ([]dns.RR , error ) {
91
91
msg := utils .QueryMsg (name , qtype )
@@ -95,9 +95,9 @@ func PerformQuery(name string, qtype uint16) ([]dns.RR, error) {
95
95
96
96
resp , err := dnsQuery (msg , trusted , 10 )
97
97
if err == nil && resp != nil {
98
- /* if wildcardDetected(resp, detector) {
98
+ if wildcardDetected (resp , detector ) {
99
99
return nil , errors .New ("wildcard detected" )
100
- }*/
100
+ }
101
101
if len (resp .Answer ) > 0 {
102
102
if rr := utils .AnswersByType (resp , qtype ); len (rr ) > 0 {
103
103
return rr , nil
@@ -136,10 +136,14 @@ func dnsQuery(msg *dns.Msg, r *pool.Pool, attempts int) (*dns.Msg, error) {
136
136
}
137
137
138
138
func trustedResolvers () * pool.Pool {
139
- timeout := 3 * time .Second
139
+ timeout := time .Second
140
+ cpus := runtime .NumCPU ()
141
+ // wildcard detector
142
+ serv := servers .NewNameserver ("8.8.8.8" , timeout )
143
+ wconns := conn .New (cpus , selectors .NewSingle (serv ))
144
+ detector = wildcards .NewDetector (serv , wconns , nil )
145
+ // the server pool
140
146
sel := selectors .NewAuthoritative (timeout , servers .NewNameserver )
141
- conns := conn .New (runtime .NumCPU (), sel )
142
- //serv := servers.NewNameserver("8.8.8.8", timeout)
143
- //detector = wildcards.NewDetector(serv, conns, nil)
147
+ conns := conn .New (cpus , sel )
144
148
return pool .New (0 , sel , conns , nil )
145
149
}
0 commit comments