some small fixes and improvements to dnssync and dnsasync
authorbeware <beware@bircd.org>
Sat, 8 Jan 2022 22:10:07 +0000 (22:10 +0000)
committerbeware <beware@bircd.org>
Sat, 8 Jan 2022 22:10:07 +0000 (22:10 +0000)
git-svn-id: file:///svnroot/lcore/trunk@166 b1de8a11-f9be-4011-bde0-cc7ace90066a

dnsasync.pas
dnssync.pas

index f9fa50e974bac9b316ed0210621101d9ae180b22..5e72cc040b140ac9b3d2eb8d419ada89879870b9 100644 (file)
@@ -12,6 +12,8 @@ unit dnsasync;
 {$endif}\r
 interface\r
 \r
+{$include lcoreconfig.inc}\r
+\r
 uses\r
   {$ifdef winasyncdns}\r
     dnswin,\r
@@ -19,8 +21,6 @@ uses
   lsocket,lcore,\r
   classes,binipstuff,dnscore,btime,lcorernd;\r
 \r
-{$include lcoreconfig.inc}\r
-\r
 const\r
   numsock=1{$ifdef ipv6}+1{$endif};\r
 \r
@@ -149,7 +149,7 @@ begin
   if states[socketno].resultaction <> action_done then begin\r
     //we ignore packets that come after we are done\r
     if dnsserverids[socketno] >= 0 then begin\r
-      reportlag(dnsserverids[socketno],trunc((unixtimefloat-startts)*1000000));\r
+      reportlag(dnsserverids[socketno],trunc((wintimefloat-startts)*1000000));\r
       dnsserverids[socketno] := -1;\r
     end;\r
   {  writeln('received reply');}\r
@@ -172,7 +172,7 @@ begin
   result := false;\r
   if len = 0 then exit; {no packet}\r
   if sockets[socketno].state <> wsconnected then begin\r
-    startts := unixtimefloat;\r
+    startts := wintimefloat;\r
     if port = '' then port := '53';\r
     sockets[socketno].Proto := 'udp';\r
     sockets[socketno].ondataavailable := receivehandler;\r
@@ -267,7 +267,7 @@ begin
 \r
   if overrideaf = useaf_default then begin\r
     {$ifdef ipv6}\r
-      {$ifdef mswindows}if not (usewindns and (addr = '')) then{$endif}\r
+      {$ifdef winasyncdns}if not (usewindns and (addr = '') and (overridednsserver = '')) then{$endif}\r
       initpreferredmode;\r
     {$endif}\r
     requestaf := useaf;\r
@@ -276,7 +276,7 @@ begin
   end;\r
 \r
   {$ifdef winasyncdns}\r
-    if usewindns and (addr = '') then begin\r
+    if usewindns and (addr = '') and (overridednsserver = '') then begin\r
       dwas := tdnswinasync.create;\r
       dwas.onrequestdone := winrequestdone;\r
 \r
index 84caf9a65e51e103336f484adc9dc0beb2a1b84d..66d9802553dfab827edfe9e49217a340d01fe469 100644 (file)
@@ -328,7 +328,7 @@ begin
   end;\r
 \r
   {$ifdef mswindows}\r
-  if usewindns then begin\r
+  if usewindns and (overridednsserver = '') then begin\r
     if (useaf = useaf_v4) then a := af_inet else if (useaf = useaf_v6) then a := af_inet6 else a := 0;\r
     result := winforwardlookuplist(name,a,dummy);\r
     {$ifdef ipv6}\r
@@ -399,7 +399,7 @@ var
   state:tdnsstatearr;\r
 begin\r
   {$ifdef mswindows}\r
-    if usewindns then begin\r
+    if usewindns and (overridednsserver = '') then begin\r
       result := winreverselookup(ip,dummy);\r
       exit;\r
     end;\r