X-Git-Url: http://www.lcore.org/git/lcore.git/blobdiff_plain/2f03297fba2a10dbc860018fac7ad07c83b08ce8..94bbdfffcfac987de199779e92ac317393bb21d4:/dnsasync.pas?ds=sidebyside diff --git a/dnsasync.pas b/dnsasync.pas old mode 100755 new mode 100644 index a8e1aa6..b6e8941 --- a/dnsasync.pas +++ b/dnsasync.pas @@ -60,18 +60,18 @@ type //for this dnsasync object. This is not a reccomended mode of operation //because it limits the app to one dns server but is kept for compatibility //and special uses. - addr,port:string; + addr,port:ansistring; overrideaf : integer; procedure cancel;//cancel an outstanding dns request - function dnsresult:string; //get result of dnslookup as a string + function dnsresult:ansistring; //get result of dnslookup as a string procedure dnsresultbin(var binip:tbinip); //get result of dnslookup as a tbinip property dnsresultlist : tbiniplist read fresultlist; - procedure forwardlookup(const name:string); //start forward lookup, + procedure forwardlookup(const name:ansistring); //start forward lookup, //preffering ipv4 procedure reverselookup(const binip:tbinip); //start reverse lookup - procedure customlookup(const name:string;querytype:integer); //start custom type lookup + procedure customlookup(const name:ansistring;querytype:integer); //start custom type lookup constructor create(aowner:tcomponent); override; destructor destroy; override; @@ -100,14 +100,14 @@ var socketno : integer; begin for socketno := 0 to numsock -1 do begin - if assigned(sockets[socketno]) then begin + if assigned(sockets[socketno]) then begin if dnsserverids[socketno] >= 0 then begin reportlag(dnsserverids[socketno],-1); dnsserverids[socketno] := -1; end; sockets[socketno].release; setstate_request_init('',states[socketno]); - end; + end; end; inherited destroy; end; @@ -118,7 +118,7 @@ var Src : TInetSockAddrV; SrcLen : Integer; fromip:tbinip; - fromport:string; + fromport:ansistring; begin socketno := tlsocket(sender).tag; //writeln('got a reply on socket number ',socketno); @@ -153,7 +153,7 @@ end; function tdnsasync.sendquery(socketno:integer;const packet:tdnspacket;len:integer):boolean; var - destination : string; + destination : tbinip; inaddr : tinetsockaddrv; trytolisten:integer; begin @@ -185,11 +185,11 @@ begin end; if addr <> '' then begin dnsserverids[socketno] := -1; - destination := addr + destination := ipstrtobinf(addr); end else begin - destination := getcurrentsystemnameserver(dnsserverids[socketno]); + destination := getcurrentsystemnameserverbin(dnsserverids[socketno]); end; - destinations[socketno] := ipstrtobinf(destination); + destinations[socketno] := destination; {$ifdef ipv6}{$ifdef win32} if destinations[socketno].family = AF_INET6 then if (requestaf = useaf_default) then requestaf := useaf_preferv6; @@ -255,8 +255,6 @@ begin exit; end; - if (overridednsserver <> '') and (addr = '') then addr := overridednsserver; - if overrideaf = useaf_default then begin {$ifdef ipv6} {$ifdef win32}if not (usewindns and (addr = '')) then{$endif} @@ -291,15 +289,14 @@ begin inc(numsockused); end; {$endif} + for i := 0 to numsockused-1 do begin asyncprocess(i); end; - end; procedure tdnsasync.reverselookup; begin - if (overridednsserver <> '') and (addr = '') then addr := overridednsserver; {$ifdef win32} if usewindns and (addr = '') then begin dwas := tdnswinasync.create; @@ -316,7 +313,6 @@ end; procedure tdnsasync.customlookup; begin - if (overridednsserver <> '') and (addr = '') then addr := overridednsserver; setstate_custom(name,querytype,states[0]); numsockused := 1; asyncprocess(0);