Fix dnscore (non windows API) lookups
authorzipplet <zipplet@zipplet.co.uk>
Tue, 9 Feb 2010 21:43:58 +0000 (21:43 +0000)
committerzipplet <zipplet@zipplet.co.uk>
Tue, 9 Feb 2010 21:43:58 +0000 (21:43 +0000)
git-svn-id: file:///svnroot/lcore/branches/delphi2010@69 b1de8a11-f9be-4011-bde0-cc7ace90066a

dnsasync.pas
dnscore.pas
dnssync.pas

index fab858d5033ac969c72580652e85f97b0908c036..4efc20545d014802130f3a0df3eca20617ff7c93 100644 (file)
@@ -60,18 +60,18 @@ type
     //for this dnsasync object. This is not a reccomended mode of operation\r
     //because it limits the app to one dns server but is kept for compatibility\r
     //and special uses.\r
     //for this dnsasync object. This is not a reccomended mode of operation\r
     //because it limits the app to one dns server but is kept for compatibility\r
     //and special uses.\r
-    addr,port:string;\r
+    addr,port:ansistring;\r
 \r
     overrideaf : integer;\r
 \r
     procedure cancel;//cancel an outstanding dns request\r
 \r
     overrideaf : integer;\r
 \r
     procedure cancel;//cancel an outstanding dns request\r
-    function dnsresult:string; //get result of dnslookup as a string\r
+    function dnsresult:ansistring; //get result of dnslookup as a string\r
     procedure dnsresultbin(var binip:tbinip); //get result of dnslookup as a tbinip\r
     property dnsresultlist : tbiniplist read fresultlist;\r
     procedure dnsresultbin(var binip:tbinip); //get result of dnslookup as a tbinip\r
     property dnsresultlist : tbiniplist read fresultlist;\r
-    procedure forwardlookup(const name:string); //start forward lookup,\r
+    procedure forwardlookup(const name:ansistring); //start forward lookup,\r
                                                 //preffering ipv4\r
     procedure reverselookup(const binip:tbinip); //start reverse lookup\r
                                                 //preffering ipv4\r
     procedure reverselookup(const binip:tbinip); //start reverse lookup\r
-    procedure customlookup(const name:string;querytype:integer); //start custom type lookup\r
+    procedure customlookup(const name:ansistring;querytype:integer); //start custom type lookup\r
 \r
     constructor create(aowner:tcomponent); override;\r
     destructor destroy; override;\r
 \r
     constructor create(aowner:tcomponent); override;\r
     destructor destroy; override;\r
@@ -118,7 +118,7 @@ var
   Src    : TInetSockAddrV;\r
   SrcLen : Integer;\r
   fromip:tbinip;\r
   Src    : TInetSockAddrV;\r
   SrcLen : Integer;\r
   fromip:tbinip;\r
-  fromport:string;\r
+  fromport:ansistring;\r
 begin\r
   socketno := tlsocket(sender).tag;\r
   //writeln('got a reply on socket number ',socketno);\r
 begin\r
   socketno := tlsocket(sender).tag;\r
   //writeln('got a reply on socket number ',socketno);\r
@@ -153,7 +153,7 @@ end;
 \r
 function tdnsasync.sendquery(socketno:integer;const packet:tdnspacket;len:integer):boolean;\r
 var\r
 \r
 function tdnsasync.sendquery(socketno:integer;const packet:tdnspacket;len:integer):boolean;\r
 var\r
-  destination : string;\r
+  destination : ansistring;\r
   inaddr : tinetsockaddrv;\r
   trytolisten:integer;\r
 begin\r
   inaddr : tinetsockaddrv;\r
   trytolisten:integer;\r
 begin\r
@@ -291,10 +291,10 @@ begin
       inc(numsockused);\r
     end;\r
   {$endif}\r
       inc(numsockused);\r
     end;\r
   {$endif}\r
+\r
   for i := 0 to numsockused-1 do begin\r
     asyncprocess(i);\r
   end;\r
   for i := 0 to numsockused-1 do begin\r
     asyncprocess(i);\r
   end;\r
-\r
 end;\r
 \r
 procedure tdnsasync.reverselookup;\r
 end;\r
 \r
 procedure tdnsasync.reverselookup;\r
index 86cad69b65f7783528426c44057faad3e009b5f5..d0dbbf035f329d8e7304e32f588fdad907d09eca 100644 (file)
@@ -28,7 +28,7 @@
   when a packet is received the application should put the packet in\r
   recvbuf/recvbuflen , set state.parsepacket and call state_process again\r
 \r
   when a packet is received the application should put the packet in\r
   recvbuf/recvbuflen , set state.parsepacket and call state_process again\r
 \r
-  once the app gets action_done it can determine sucess or failure in the\r
+  once the app gets action_done it can determine success or failure in the\r
   following ways.\r
 \r
   on failure state.resultstr will be an empty string and state.resultbin will\r
   following ways.\r
 \r
   on failure state.resultstr will be an empty string and state.resultbin will\r
@@ -367,7 +367,7 @@ begin
           failurereason := 'decoding name: got out of range2';\r
           exit;\r
         end;\r
           failurereason := 'decoding name: got out of range2';\r
           exit;\r
         end;\r
-        result := result + char(arr[a]);\r
+        result := result + ansichar(arr[a]);\r
       end;\r
       inc(numread,b+1);\r
 \r
       end;\r
       inc(numread,b+1);\r
 \r
@@ -626,18 +626,18 @@ end;
   type\r
     tip_addr_string=packed record\r
       Next :pointer;\r
   type\r
     tip_addr_string=packed record\r
       Next :pointer;\r
-      IpAddress : array[0..15] of char;\r
-      ipmask    : array[0..15] of char;\r
+      IpAddress : array[0..15] of ansichar;\r
+      ipmask    : array[0..15] of ansichar;\r
       context   : dword;\r
     end;\r
     pip_addr_string=^tip_addr_string;\r
     tFIXED_INFO=packed record\r
       context   : dword;\r
     end;\r
     pip_addr_string=^tip_addr_string;\r
     tFIXED_INFO=packed record\r
-       HostName         : array[0..MAX_HOSTNAME_LEN-1] of char;\r
-       DomainName       : array[0..MAX_DOMAIN_NAME_LEN-1] of char;\r
+       HostName         : array[0..MAX_HOSTNAME_LEN-1] of ansichar;\r
+       DomainName       : array[0..MAX_DOMAIN_NAME_LEN-1] of ansichar;\r
        currentdnsserver : pip_addr_string;\r
        dnsserverlist    : tip_addr_string;\r
        nodetype         : longint;\r
        currentdnsserver : pip_addr_string;\r
        dnsserverlist    : tip_addr_string;\r
        nodetype         : longint;\r
-       ScopeId          : array[0..MAX_SCOPE_ID_LEN + 4] of char;\r
+       ScopeId          : array[0..MAX_SCOPE_ID_LEN + 4] of ansichar;\r
        enablerouting    : longbool;\r
        enableproxy      : longbool;\r
        enabledns        : longbool;\r
        enablerouting    : longbool;\r
        enableproxy      : longbool;\r
        enabledns        : longbool;\r
index a91d6f1a79cd59544be1c42430f02a6fa64b769d..7d6631c97b73011641e8bd0b778855e408d5c72c 100644 (file)
@@ -34,17 +34,17 @@ interface
 //on error the binip will have a family of 0 (other fiels are also currently\r
 //zeroed out but may be used for further error information in future)\r
 //timeout is in miliseconds, it is ignored when using windows dns\r
 //on error the binip will have a family of 0 (other fiels are also currently\r
 //zeroed out but may be used for further error information in future)\r
 //timeout is in miliseconds, it is ignored when using windows dns\r
-function forwardlookup(name:string;timeout:integer):tbinip;\r
+function forwardlookup(name:ansistring;timeout:integer):tbinip;\r
 \r
 //convert a name to a list of all IP's returned\r
 //this returns both v4 and v6 IP's, or possibly only v4 or v6, depending on settings\r
 //on error, returns an empty list\r
 \r
 //convert a name to a list of all IP's returned\r
 //this returns both v4 and v6 IP's, or possibly only v4 or v6, depending on settings\r
 //on error, returns an empty list\r
-function forwardlookuplist(name:string;timeout:integer):tbiniplist;\r
+function forwardlookuplist(name:ansistring;timeout:integer):tbiniplist;\r
 \r
 \r
 //convert an IP to a name, on error a null string will be returned, other\r
 //details as above\r
 \r
 \r
 //convert an IP to a name, on error a null string will be returned, other\r
 //details as above\r
-function reverselookup(ip:tbinip;timeout:integer):string;\r
+function reverselookup(ip:tbinip;timeout:integer):ansistring;\r
 \r
 \r
 \r
 \r
 \r
 \r
@@ -110,8 +110,8 @@ end;
 function sendquery(socknum:integer;const packet:tdnspacket;len:integer):boolean;\r
 var\r
   a:integer;\r
 function sendquery(socknum:integer;const packet:tdnspacket;len:integer):boolean;\r
 var\r
   a:integer;\r
-  addr       : string;\r
-  port       : string;\r
+  addr       : ansistring;\r
+  port       : ansistring;\r
   inaddr     : TInetSockAddrV;\r
 begin\r
 {  writeln('sendquery ',decodename(state.packet,state.packetlen,12,0,a),' ',state.requesttype);}\r
   inaddr     : TInetSockAddrV;\r
 begin\r
 {  writeln('sendquery ',decodename(state.packet,state.packetlen,12,0,a),' ',state.requesttype);}\r
@@ -138,7 +138,7 @@ var
   inAddrtemp : TInetSockAddrV;\r
   a:integer;\r
   biniptemp:tbinip;\r
   inAddrtemp : TInetSockAddrV;\r
   a:integer;\r
   biniptemp:tbinip;\r
-  addr:string;\r
+  addr:ansistring;\r
 begin\r
   //init both sockets smultaneously, always, so they get succesive fd's\r
   if fd[0] > 0 then exit;\r
 begin\r
   //init both sockets smultaneously, always, so they get succesive fd's\r
   if fd[0] > 0 then exit;\r
@@ -188,7 +188,7 @@ var
   Srcx   : {$ifdef win32}sockaddr_in{$else}TInetSockAddrV{$endif} absolute Src;\r
   SrcLen : Integer;\r
   fromip:tbinip;\r
   Srcx   : {$ifdef win32}sockaddr_in{$else}TInetSockAddrV{$endif} absolute Src;\r
   SrcLen : Integer;\r
   fromip:tbinip;\r
-  fromport:string;\r
+  fromport:ansistring;\r
 \r
 begin\r
   if timeout < mintimeout then timeout := defaulttimeout;\r
 \r
 begin\r
   if timeout < mintimeout then timeout := defaulttimeout;\r
@@ -296,7 +296,7 @@ end;
 \r
 \r
 \r
 \r
 \r
 \r
-function forwardlookuplist(name:string;timeout:integer):tbiniplist;\r
+function forwardlookuplist(name:ansistring;timeout:integer):tbiniplist;\r
 var\r
   dummy : integer;\r
   a,b:integer;\r
 var\r
   dummy : integer;\r
   a,b:integer;\r
@@ -367,7 +367,7 @@ begin
   end;\r
 end;\r
 \r
   end;\r
 end;\r
 \r
-function forwardlookup(name:string;timeout:integer):tbinip;\r
+function forwardlookup(name:ansistring;timeout:integer):tbinip;\r
 var\r
   listtemp:tbiniplist;\r
 begin\r
 var\r
   listtemp:tbiniplist;\r
 begin\r
@@ -375,7 +375,7 @@ begin
   result := biniplist_get(listtemp,0);\r
 end;\r
 \r
   result := biniplist_get(listtemp,0);\r
 end;\r
 \r
-function reverselookup(ip:tbinip;timeout:integer):string;\r
+function reverselookup(ip:tbinip;timeout:integer):ansistring;\r
 var\r
   dummy : integer;\r
 begin\r
 var\r
   dummy : integer;\r
 begin\r