| 
					
				 | 
			
			
				@@ -20,7 +20,8 @@ import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func dnsReadConfig(_ context.Context, _ string) *dnsConfig { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if C.res_init() != 0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var state C.res_state 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if C.res_ninit(state) != 0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return &dnsConfig{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			servers:  defaultNS, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			search:   dnsDefaultSearch(), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -33,10 +34,10 @@ func dnsReadConfig(_ context.Context, _ string) *dnsConfig { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	conf := &dnsConfig{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		ndots:    1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		timeout:  5 * time.Second, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		attempts: int(C._res.retry), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		attempts: int(state.retry), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	for i := 0; i < int(C._res.nscount); i++ { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		ns := C._res.nsaddr_list[i] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	for i := 0; i < int(state.nscount); i++ { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		ns := state.nsaddr_list[i] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		addr := C.inet_ntoa(ns.sin_addr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if addr == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			continue 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44,7 +45,7 @@ func dnsReadConfig(_ context.Context, _ string) *dnsConfig { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		conf.servers = append(conf.servers, C.GoString(addr)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	for i := 0; ; i++ { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		search := C._res.dnsrch[i] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		search := state.dnsrch[i] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		if search == nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 |