removed redundant, and no longer valid, email address
[lcore.git] / dnswin.pas
index ffe472ba18fe2580d0180d8f256afe4e85fbc869..e9c2a16d1b30552806351797720adb8b75500756 100755 (executable)
@@ -20,7 +20,6 @@ type
   //release should only be called from the main thread\r
   tdnswinasync=class(tthread)\r
   private\r
-    ipv6preffered : boolean;\r
     freverse : boolean;\r
     error : integer;\r
     freewhendone : boolean;\r
@@ -30,9 +29,9 @@ type
   public\r
     onrequestdone:tsocketevent;\r
     name : string;\r
-    ip : tbinip;\r
+    iplist : tbiniplist;\r
 \r
-    procedure forwardlookup(name:string;ipv6preffered:boolean);\r
+    procedure forwardlookup(name:string);\r
     procedure reverselookup(ip:tbinip);\r
     destructor destroy; override;\r
     procedure release;\r
@@ -234,17 +233,7 @@ var
   getnameinforesult : integer;\r
 begin\r
 \r
-  if ip.family = AF_INET then begin\r
-    sa.InAddr.family := AF_INET;\r
-    sa.InAddr.port := 1;\r
-    sa.InAddr.addr := ip.ip;\r
-  end else {$ifdef ipv6}if ip.family = AF_INET6 then begin\r
-    sa.InAddr6.sin6_family  := AF_INET6;\r
-    sa.InAddr6.sin6_port := 1;\r
-    sa.InAddr6.sin6_addr := ip.ip6;\r
-  end else{$endif} begin\r
-    raise exception.create('unrecognised address family');\r
-  end;\r
+  makeinaddrv(ip,'1',sa);\r
   populateprocvars;\r
   setlength(result,1025);\r
   getnameinforesult := getnameinfo(@sa,sizeof(tinetsockaddrv),pchar(result),length(result),nil,0,0);\r
@@ -281,16 +270,16 @@ begin
   end;\r
 end;\r
 \r
-procedure tdnswinasync.forwardlookup(name:string;ipv6preffered:boolean);\r
+procedure tdnswinasync.forwardlookup(name:string);\r
 begin\r
   self.name := name;\r
-  self.ipv6preffered := ipv6preffered;\r
   freverse := false;\r
   resume;\r
 end;\r
 procedure tdnswinasync.reverselookup(ip:tbinip);\r
 begin\r
-  self.ip := ip;\r
+  iplist := biniplist_new;\r
+  biniplist_add(iplist,ip);\r
   freverse := true;\r
   resume;\r
 end;\r
@@ -298,14 +287,14 @@ end;
 procedure tdnswinasync.execute;\r
 var\r
   error : integer;\r
-  l:tbiniplist;\r
+\r
 begin\r
   error := 0;\r
   if reverse then begin\r
-    name := winreverselookup(ip,error);\r
+    name := winreverselookup(biniplist_get(iplist,0),error);\r
   end else begin\r
-    l := winforwardlookuplist(name,0,error);\r
-    ip := biniplist_get(l,0);\r
+    iplist := winforwardlookuplist(name,0,error);\r
+\r
   end;\r
   postmessage(hwnddnswin,wm_user,error,taddrint(self));\r
 end;\r