@@ -126,29 +126,33 @@ func TestDNSIPQuery(t *testing.T) {
126126 r := NewResolver (resolverIPSandbox , false , sb .Key (), sb .(* sandbox ))
127127
128128 // test name1's IP is resolved correctly with the default A type query
129- q := new (dns.Msg )
130- q .SetQuestion ("name1" , dns .TypeA )
131- r .(* resolver ).ServeDNS (w , q )
132- resp := w .GetResponse ()
133- checkNonNullResponse (t , resp )
134- t .Log ("Response: " , resp .String ())
135- checkDNSResponseCode (t , resp , dns .RcodeSuccess )
136- checkDNSAnswersCount (t , resp , 1 )
137- checkDNSRRType (t , resp .Answer [0 ].Header ().Rrtype , dns .TypeA )
138- if answer , ok := resp .Answer [0 ].(* dns.A ); ok {
139- if ! bytes .Equal (answer .A , net .ParseIP ("192.168.0.1" )) {
140- t .Fatalf ("IP response in Answer %v does not match 192.168.0.1" , answer .A )
129+ // Also make sure DNS lookups are case insensitive
130+ names := []string {"name1" , "NaMe1" }
131+ for _ , name := range names {
132+ q := new (dns.Msg )
133+ q .SetQuestion (name , dns .TypeA )
134+ r .(* resolver ).ServeDNS (w , q )
135+ resp := w .GetResponse ()
136+ checkNonNullResponse (t , resp )
137+ t .Log ("Response: " , resp .String ())
138+ checkDNSResponseCode (t , resp , dns .RcodeSuccess )
139+ checkDNSAnswersCount (t , resp , 1 )
140+ checkDNSRRType (t , resp .Answer [0 ].Header ().Rrtype , dns .TypeA )
141+ if answer , ok := resp .Answer [0 ].(* dns.A ); ok {
142+ if ! bytes .Equal (answer .A , net .ParseIP ("192.168.0.1" )) {
143+ t .Fatalf ("IP response in Answer %v does not match 192.168.0.1" , answer .A )
144+ }
145+ } else {
146+ t .Fatal ("Answer of type A not found" )
141147 }
142- } else {
143- t .Fatal ("Answer of type A not found" )
148+ w .ClearResponse ()
144149 }
145- w .ClearResponse ()
146150
147151 // test MX query with name1 results in Success response with 0 answer records
148- q = new (dns.Msg )
152+ q : = new (dns.Msg )
149153 q .SetQuestion ("name1" , dns .TypeMX )
150154 r .(* resolver ).ServeDNS (w , q )
151- resp = w .GetResponse ()
155+ resp : = w .GetResponse ()
152156 checkNonNullResponse (t , resp )
153157 t .Log ("Response: " , resp .String ())
154158 checkDNSResponseCode (t , resp , dns .RcodeSuccess )
0 commit comments