chiark / gitweb /
adns_errabbrev; regress/checkall prints summary list of failed tests;
authorian <ian>
Thu, 17 Jun 1999 00:53:57 +0000 (00:53 +0000)
committerian <ian>
Thu, 17 Jun 1999 00:53:57 +0000 (00:53 +0000)
non-822 mailboxes now work; Rejection of bad characters in domains fixed;
In adnstest, do not print errno values as adns_status values.

24 files changed:
changelog
client/adnstest.c
regress/case-abbrev.err [new file with mode: 0644]
regress/case-abbrev.out [new file with mode: 0644]
regress/case-abbrev.sys [new file with mode: 0644]
regress/case-abbrevto.err [new file with mode: 0644]
regress/case-abbrevto.out [new file with mode: 0644]
regress/case-abbrevto.sys [new file with mode: 0644]
regress/case-flags10.err [new file with mode: 0644]
regress/case-flags10.out [new file with mode: 0644]
regress/case-flags10.sys [new file with mode: 0644]
regress/case-flags9.err [new file with mode: 0644]
regress/case-flags9.out [new file with mode: 0644]
regress/case-flags9.sys [new file with mode: 0644]
regress/case-ndotsbad.err
regress/case-rootqueryall.out
regress/case-sillyrp.err [new file with mode: 0644]
regress/case-sillyrp.out [new file with mode: 0644]
regress/case-sillyrp.sys [new file with mode: 0644]
regress/checkall
src/adns.h
src/general.c
src/internal.h
src/types.c

index 040fc93f6db4c2a3c68c38105bdc246edefebbc9..d83d3c2073f5ab6e89558f7795a7b4d8667b50d8 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,11 +1,18 @@
 adns (0.3) unstable; urgency=low
 
+  Features / improvements:
+  * New adns_errabbrev() for getting status abbreviation strings.
+  * regress/checkall prints summary list of failed tests, if any.
+  
   Bugfixes:
+  * Non-RFC822 mailbox `domain' formatting now works, and clarified.
+  * Rejection of bad characters in domains (without quoteok) works.
   * Clean up parents from adns->childw (otherwise would abort/segfault).
   * In adnstest, allocate enough space for, and terminate, query types.
+  * In adnstest, don't print errno values as adns_status values.
  
   * Added TODO file.
-  
+
  --
 
 adns (0.2) experimental; urgency=low
index 6c2fc61a8f7106c71b78bdfea8a2e7ef9a3f69b5..52344d1475a5a4c0118049022bdb2bbc433ada4e 100644 (file)
@@ -25,6 +25,7 @@
 #include <unistd.h>
 #include <assert.h>
 #include <stdlib.h>
+#include <string.h>
 
 #ifndef OUTPUTSTREAM
 # define OUTPUTSTREAM stdout
 
 #include "adns.h"
 
-static void failure(const char *what, adns_status st) {
+static void failure_status(const char *what, adns_status st) {
   fprintf(stderr,"adns failure: %s: %s\n",what,adns_strerror(st));
   exit(2);
 }
 
+static void failure_errno(const char *what, int errnoval) {
+  fprintf(stderr,"adns failure: %s: errno=%d\n",what,errnoval);
+  exit(2);
+}
+
 static const char *defaultargv[]= { "ns.chiark.greenend.org.uk", 0 };
 
 static const adns_rrtype defaulttypes[]= {
@@ -67,13 +73,22 @@ static void dumptype(adns_status ri, const char *rrtn, const char *fmtn) {
          ri ? " " : "", ri ? adns_strerror(ri) : "");
 }
 
-static void fdom_split(const char *fdom, const char **dom_r, int *qf_r) {
+static void fdom_split(const char *fdom, const char **dom_r, int *qf_r,
+                      char *ownflags, int ownflags_l) {
   int qf;
   char *ep;
 
   qf= strtoul(fdom,&ep,0);
+  if (*ep == ',' && strchr(ep,'/')) {
+    ep++;
+    while (*ep != '/') {
+      if (--ownflags_l <= 0) { fputs("too many flags\n",stderr); exit(3); }
+      *ownflags++= *ep++;
+    }
+  }
   if (*ep != '/') { *dom_r= fdom; *qf_r= 0; }
   else { *dom_r= ep+1; *qf_r= qf; }
+  *ownflags= 0;
 }
 
 int main(int argc, char *const *argv) {
@@ -88,6 +103,7 @@ int main(int argc, char *const *argv) {
   const adns_rrtype *types;
   struct timeval now;
   adns_rrtype *types_a;
+  char ownflags[10];
 
   if (argv[0] && argv[1] && argv[1][0] == '/') {
     initstring= argv[1]+1;
@@ -131,10 +147,10 @@ int main(int argc, char *const *argv) {
   } else {
     r= adns_init(&ads,adns_if_debug|adns_if_noautosys,0);
   }
-  if (r) failure("init",r);
+  if (r) failure_errno("init",r);
 
   for (qi=0; qi<qc; qi++) {
-    fdom_split(fdomlist[qi],&domain,&qflags);
+    fdom_split(fdomlist[qi],&domain,&qflags,ownflags,sizeof(ownflags));
     for (ti=0; ti<tc; ti++) {
       fprintf(stdout,"%s flags %d type %d",domain,qflags,types[ti]);
       r= adns_submit(ads,domain,types[ti],qflags,0,&qus[qi*tc+ti]);
@@ -142,7 +158,7 @@ int main(int argc, char *const *argv) {
        fprintf(stdout," not implemented\n");
        qus[qi*tc+ti]= 0;
       } else if (r) {
-       failure("submit",r);
+       failure_errno("submit",r);
       } else {
        ri= adns_rr_info(types[ti], &rrtn,&fmtn,0, 0,0);
        putc(' ',stdout);
@@ -153,22 +169,24 @@ int main(int argc, char *const *argv) {
   }
 
   for (qi=0; qi<qc; qi++) {
-    fdom_split(fdomlist[qi],&domain,&qflags);
+    fdom_split(fdomlist[qi],&domain,&qflags,ownflags,sizeof(ownflags));
       
     for (ti=0; ti<tc; ti++) {
       qu= qus[qi*tc+ti];
       if (!qu) continue;
       
       r= adns_wait(ads,&qu,&ans,0);
-      if (r) failure("wait",r);
+      if (r) failure_errno("wait",r);
 
       if (gettimeofday(&now,0)) { perror("gettimeofday"); exit(3); }
       
       ri= adns_rr_info(ans->type, &rrtn,&fmtn,&len, 0,0);
       fprintf(stdout, "%s flags %d type ",domain,qflags);
       dumptype(ri,rrtn,fmtn);
-      fprintf(stdout, ": %s; nrrs=%d; cname=%s; owner=%s; ttl=%ld\n",
-             adns_strerror(ans->status),
+      fprintf(stdout, "%s%s: %s; nrrs=%d; cname=%s; owner=%s; ttl=%ld\n",
+             ownflags[0] ? " ownflags=" : "", ownflags,
+             strchr(ownflags,'a') ? adns_errabbrev(ans->status)
+             : adns_strerror(ans->status),
              ans->nrrs,
              ans->cname ? ans->cname : "$",
              ans->owner ? ans->owner : "$",
@@ -177,7 +195,7 @@ int main(int argc, char *const *argv) {
        assert(!ri);
        for (i=0; i<ans->nrrs; i++) {
          r= adns_rr_info(ans->type, 0,0,0, ans->rrs.bytes + i*len, &show);
-         if (r) failure("info",r);
+         if (r) failure_status("info",r);
          fprintf(stdout," %s\n",show);
          free(show);
        }
diff --git a/regress/case-abbrev.err b/regress/case-abbrev.err
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/regress/case-abbrev.out b/regress/case-abbrev.out
new file mode 100644 (file)
index 0000000..ef461cd
--- /dev/null
@@ -0,0 +1,40 @@
+adns debug: using nameserver 172.18.45.6
+greenend.org.uk flags 0 type 1 A(-) submitted
+greenend.org.uk flags 0 type 2 NS(raw) submitted
+greenend.org.uk flags 0 type 5 CNAME(-) submitted
+greenend.org.uk flags 0 type 6 SOA(raw) submitted
+greenend.org.uk flags 0 type 12 PTR(raw) submitted
+greenend.org.uk flags 0 type 13 HINFO(-) submitted
+greenend.org.uk flags 0 type 15 MX(raw) submitted
+greenend.org.uk flags 0 type 16 TXT(-) submitted
+greenend.org.uk flags 0 type 17 RP(raw) submitted
+greenend.org.uk flags 0 type 65537 A(addr) submitted
+greenend.org.uk flags 0 type 65538 NS(+addr) submitted
+greenend.org.uk flags 0 type 65548 PTR(checked) submitted
+greenend.org.uk flags 0 type 65551 MX(+addr) submitted
+greenend.org.uk flags 0 type 131078 SOA(822) submitted
+greenend.org.uk flags 0 type 131089 RP(822) submitted
+greenend.org.uk flags 0 type A(-) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type NS(raw) ownflags=a: ok; nrrs=2; cname=$; owner=$; ttl=86400
+ "ns1.relativity.greenend.org.uk"
+ "ns0.relativity.greenend.org.uk"
+greenend.org.uk flags 0 type CNAME(-) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type SOA(raw) ownflags=a: ok; nrrs=1; cname=$; owner=$; ttl=86400
+ "ns.chiark.greenend.org.uk" "hostmaster.greenend.org.uk" 1999061300 28800 7200 604800 86400
+greenend.org.uk flags 0 type PTR(raw) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type HINFO(-) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type MX(raw) ownflags=a: ok; nrrs=1; cname=$; owner=$; ttl=86400
+ 10 "chiark.greenend.org.uk"
+greenend.org.uk flags 0 type TXT(-) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type RP(raw) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type A(addr) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type NS(+addr) ownflags=a: ok; nrrs=2; cname=$; owner=$; ttl=86400
+ "ns0.relativity.greenend.org.uk": AF_INET 172.18.45.6
+ "ns1.relativity.greenend.org.uk": AF_INET 172.18.45.65
+greenend.org.uk flags 0 type PTR(checked) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type MX(+addr) ownflags=a: ok; nrrs=1; cname=$; owner=$; ttl=86400
+ 10 "chiark.greenend.org.uk": AF_INET 195.224.76.132
+greenend.org.uk flags 0 type SOA(822) ownflags=a: ok; nrrs=1; cname=$; owner=$; ttl=86400
+ "ns.chiark.greenend.org.uk" "hostmaster@greenend.org.uk" 1999061300 28800 7200 604800 86400
+greenend.org.uk flags 0 type RP(822) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+rc=0
diff --git a/regress/case-abbrev.sys b/regress/case-abbrev.sys
new file mode 100644 (file)
index 0000000..f98d716
--- /dev/null
@@ -0,0 +1,282 @@
+default
+,a/greenend.org.uk
+ start 929580078.542974
+ socket type=SOCK_DGRAM
+ socket=4
+ +0.000202
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000086
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000061
+ sendto fd=4 addr=172.18.45.6:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000623
+ sendto fd=4 addr=172.18.45.6:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000425
+ sendto fd=4 addr=172.18.45.6:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000371
+ sendto fd=4 addr=172.18.45.6:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000369
+ sendto fd=4 addr=172.18.45.6:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000369
+ sendto fd=4 addr=172.18.45.6:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000414
+ sendto fd=4 addr=172.18.45.6:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000371
+ sendto fd=4 addr=172.18.45.6:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000368
+ sendto fd=4 addr=172.18.45.6:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000368
+ sendto fd=4 addr=172.18.45.6:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000367
+ sendto fd=4 addr=172.18.45.6:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000367
+ sendto fd=4 addr=172.18.45.6:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000366
+ sendto fd=4 addr=172.18.45.6:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000378
+ sendto fd=4 addr=172.18.45.6:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000391
+ sendto fd=4 addr=172.18.45.6:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000467
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.993986
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005183
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     311f8580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000100
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000588
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000147
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.988691
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004348
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31208580 00010002 00000002 08677265 656e656e 64036f72 6702756b 00000200
+     01c00c00 02000100 01518000 11036e73 310a7265 6c617469 76697479 c00cc00c
+     00020001 00015180 0006036e 7330c031 c02d0001 00010001 51800004 ac122d41
+     c04a0001 00010001 51800004 ac122d06.
+ +0.000642
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000247
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.983879
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002737
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31218580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000500
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000541
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000099
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.980873
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005000
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31228580 00010001 00020002 08677265 656e656e 64036f72 6702756b 00000600
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180c00c 00020001
+     00015180 0011036e 73310a72 656c6174 69766974 79c00cc0 0c000200 01000151
+     80000603 6e7330c0 6ac06600 01000100 01518000 04ac122d 41c08300 01000100
+     01518000 04ac122d 06.
+ +0.000913
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000195
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.975134
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002529
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31238580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000c00
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000541
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000100
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.972333
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003175
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31248580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000d00
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000538
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000122
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.968912
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005109
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31258580 00010001 00020003 08677265 656e656e 64036f72 6702756b 00000f00
+     01c00c00 0f000100 01518000 0b000a06 63686961 726bc00c c00c0002 00010001
+     51800011 036e7331 0a72656c 61746976 697479c0 0cc00c00 02000100 01518000
+     06036e73 30c048c0 2f000100 01000151 800004c3 e04c84c0 44000100 01000151
+     800004ac 122d41c0 61000100 01000151 800004ac 122d06.
+ +0.000826
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000173
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.963175
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002746
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31268580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00001000
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000539
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000127
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.960131
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003161
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31278580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00001100
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000537
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000098
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.956703
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003055
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31288580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000100
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000537
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000126
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.953352
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004322
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31298580 00010002 00000002 08677265 656e656e 64036f72 6702756b 00000200
+     01c00c00 02000100 01518000 11036e73 300a7265 6c617469 76697479 c00cc00c
+     00020001 00015180 0006036e 7331c031 c02d0001 00010001 51800004 ac122d06
+     c04a0001 00010001 51800004 ac122d41.
+ +0.000638
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000268
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.948491
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002741
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312a8580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000c00
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000540
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000129
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.945447
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005215
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312b8580 00010001 00020003 08677265 656e656e 64036f72 6702756b 00000f00
+     01c00c00 0f000100 01518000 0b000a06 63686961 726bc00c c00c0002 00010001
+     51800011 036e7330 0a72656c 61746976 697479c0 0cc00c00 02000100 01518000
+     06036e73 31c048c0 2f000100 01000151 800004c3 e04c84c0 44000100 01000151
+     800004ac 122d06c0 61000100 01000151 800004ac 122d41.
+ +0.000822
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000197
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.939591
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004484
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312c8580 00010001 00020002 08677265 656e656e 64036f72 6702756b 00000600
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180c00c 00020001
+     00015180 0011036e 73300a72 656c6174 69766974 79c00cc0 0c000200 01000151
+     80000603 6e7331c0 6ac06600 01000100 01518000 04ac122d 06c08300 01000100
+     01518000 04ac122d 41.
+ +0.000910
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000223
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.934365
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002704
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312d8580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00001100
+     01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+     73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000537
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000099
+ close fd=4
+ close=OK
+ +0.000153
diff --git a/regress/case-abbrevto.err b/regress/case-abbrevto.err
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/regress/case-abbrevto.out b/regress/case-abbrevto.out
new file mode 100644 (file)
index 0000000..bfda79c
--- /dev/null
@@ -0,0 +1,32 @@
+adns debug: using nameserver 172.18.45.36
+greenend.org.uk flags 0 type 1 A(-) submitted
+greenend.org.uk flags 0 type 2 NS(raw) submitted
+greenend.org.uk flags 0 type 5 CNAME(-) submitted
+greenend.org.uk flags 0 type 6 SOA(raw) submitted
+greenend.org.uk flags 0 type 12 PTR(raw) submitted
+greenend.org.uk flags 0 type 13 HINFO(-) submitted
+greenend.org.uk flags 0 type 15 MX(raw) submitted
+greenend.org.uk flags 0 type 16 TXT(-) submitted
+greenend.org.uk flags 0 type 17 RP(raw) submitted
+greenend.org.uk flags 0 type 65537 A(addr) submitted
+greenend.org.uk flags 0 type 65538 NS(+addr) submitted
+greenend.org.uk flags 0 type 65548 PTR(checked) submitted
+greenend.org.uk flags 0 type 65551 MX(+addr) submitted
+greenend.org.uk flags 0 type 131078 SOA(822) submitted
+greenend.org.uk flags 0 type 131089 RP(822) submitted
+greenend.org.uk flags 0 type A(-) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type NS(raw) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type CNAME(-) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type SOA(raw) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type PTR(raw) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type HINFO(-) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type MX(raw) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type TXT(-) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type RP(raw) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type A(addr) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type NS(+addr) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type PTR(checked) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type MX(+addr) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type SOA(822) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type RP(822) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+rc=0
diff --git a/regress/case-abbrevto.sys b/regress/case-abbrevto.sys
new file mode 100644 (file)
index 0000000..3cfbcbf
--- /dev/null
@@ -0,0 +1,1236 @@
+noserver
+,a/greenend.org.uk
+ start 929580082.699581
+ socket type=SOCK_DGRAM
+ socket=4
+ +0.000192
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000084
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000062
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.014155
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000420
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000322
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000322
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000320
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000366
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000324
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000318
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000319
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000319
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000319
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000319
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000319
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000343
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000399
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981116
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-18933
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000049
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010028
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000363
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.003813
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009575
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000291
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000302
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000271
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000270
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000271
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000270
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000293
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000271
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000271
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.986185
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-14326
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000511
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009965
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000386
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000098
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009616
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000285
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000279
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000271
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000298
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000271
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000275
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.986134
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-14145
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000279
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009905
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000427
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000318
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000283
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000280
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000278
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000315
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000318
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000274
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999573
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04960
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000541
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009952
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000430
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000310
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000309
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000278
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000294
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000275
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995632
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04751
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000383
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009901
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000339
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000280
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000323
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000317
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000274
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995734
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04720
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000454
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009970
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000393
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000303
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000297
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000297
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995695
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04679
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000374
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009892
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000323
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000280
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000307
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000301
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000273
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995776
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04674
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000450
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009968
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000368
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000305
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000307
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000314
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000321
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000279
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000274
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995636
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04747
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000383
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009901
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000324
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000306
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000297
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000273
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995790
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04665
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000455
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009985
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000387
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000305
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000300
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000278
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000301
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995681
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04719
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000400
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009906
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000320
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000279
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000319
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000278
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000300
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000275
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995757
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04698
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000455
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009982
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000385
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000304
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000306
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000281
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000294
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000274
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995688
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04700
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000388
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009990
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000328
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000309
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000302
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000273
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995768
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04700
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000468
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009893
+ sendto fd=4 addr=172.18.45.36:53
+     311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000368
+ sendto fd=4 addr=172.18.45.36:53
+     31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000302
+ sendto fd=4 addr=172.18.45.36:53
+     31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+     31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+     01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+     31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000321
+ sendto fd=4 addr=172.18.45.36:53
+     31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+     01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+     31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31280100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+     01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+     312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+     01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+     312b0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+     01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+     312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+     01.
+ sendto=33
+ +0.000296
+ sendto fd=4 addr=172.18.45.36:53
+     312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=33
+ +0.000277
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995699
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04687
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000386
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009894
+ close fd=4
+ close=OK
+ +0.000779
diff --git a/regress/case-flags10.err b/regress/case-flags10.err
new file mode 100644 (file)
index 0000000..e6c1c99
--- /dev/null
@@ -0,0 +1 @@
+too many flags
diff --git a/regress/case-flags10.out b/regress/case-flags10.out
new file mode 100644 (file)
index 0000000..2f93975
--- /dev/null
@@ -0,0 +1,2 @@
+adns debug: using nameserver 172.18.45.6
+rc=3
diff --git a/regress/case-flags10.sys b/regress/case-flags10.sys
new file mode 100644 (file)
index 0000000..550bc22
--- /dev/null
@@ -0,0 +1,12 @@
+default
+:1 ,aaaaaaaaaa/chiark.greenend.org.uk
+ start 929580072.670441
+ socket type=SOCK_DGRAM
+ socket=4
+ +0.000191
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000084
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000061
diff --git a/regress/case-flags9.err b/regress/case-flags9.err
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/regress/case-flags9.out b/regress/case-flags9.out
new file mode 100644 (file)
index 0000000..679ba0d
--- /dev/null
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.18.45.6
+chiark.greenend.org.uk flags 0 type 1 A(-) submitted
+chiark.greenend.org.uk flags 0 type A(-) ownflags=aaaaaaaaa: ok; nrrs=1; cname=$; owner=$; ttl=86400
+ 195.224.76.132
+rc=0
diff --git a/regress/case-flags9.sys b/regress/case-flags9.sys
new file mode 100644 (file)
index 0000000..94ac969
--- /dev/null
@@ -0,0 +1,34 @@
+default
+:1 ,aaaaaaaaa/chiark.greenend.org.uk
+ start 929580075.263215
+ socket type=SOCK_DGRAM
+ socket=4
+ +0.000212
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000083
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000060
+ sendto fd=4 addr=172.18.45.6:53
+     311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+     02756b00 00010001.
+ sendto=40
+ +0.000625
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999375
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.007374
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     311f8580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+     02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+     64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+     7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+     0004ac12 2d06c070 00010001 00015180 0004ac12 2d41.
+ +0.001238
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000228
+ close fd=4
+ close=OK
+ +0.000205
index 9050db49dc6180c4cbc42906681ec58bbac2d06a..700201a72b9479ebae207cc8585f6070add02cab 100644 (file)
@@ -1 +1 @@
-adns failure: init: code 22
+adns failure: init: errno=22
index ba426f15c99cc756e1ec06e213fce535ed3be817..cf4c81ba651aeeb01ff031ce679c1b71e9f9edd3 100644 (file)
@@ -46,7 +46,7 @@ adns debug: using nameserver 172.18.45.6
  "D.ROOT-SERVERS.NET"
 . flags 0 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
 . flags 0 type SOA(raw): OK; nrrs=1; cname=$; owner=$; ttl=54334
- "A.ROOT-SERVERS.NET" "hostmaster@INTERNIC.NET" 1999041600 1800 900 604800 86400
+ "A.ROOT-SERVERS.NET" "hostmaster.INTERNIC.NET" 1999041600 1800 900 604800 86400
 . flags 0 type PTR(raw): No such data; nrrs=0; cname=$; owner=$; ttl=599
 adns debug: reply not found, id 3123, query owner  (NS=172.18.45.6)
 . flags 0 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
@@ -93,7 +93,7 @@ adns debug: reply not found, id 312e, query owner  (NS=172.18.45.6)
  "I.ROOT-SERVERS.NET"
 . flags 1 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
 . flags 1 type SOA(raw): OK; nrrs=1; cname=$; owner=$; ttl=49034
- "A.ROOT-SERVERS.NET" "hostmaster@INTERNIC.NET" 1999041600 1800 900 604800 86400
+ "A.ROOT-SERVERS.NET" "hostmaster.INTERNIC.NET" 1999041600 1800 900 604800 86400
 . flags 1 type PTR(raw): No such data; nrrs=0; cname=$; owner=$; ttl=599
 . flags 1 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=599
 adns debug: reply not found, id 3132, query owner  (NS=172.18.45.6)
diff --git a/regress/case-sillyrp.err b/regress/case-sillyrp.err
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/regress/case-sillyrp.out b/regress/case-sillyrp.out
new file mode 100644 (file)
index 0000000..c8937d2
--- /dev/null
@@ -0,0 +1,20 @@
+adns debug: using nameserver 172.18.45.6
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 112 type 17 RP(raw) submitted
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 112 type 131089 RP(822) submitted
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 112 type 17 RP(raw) submitted
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 112 type 131089 RP(822) submitted
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 0 type 17 RP(raw) submitted
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 0 type 131089 RP(822) submitted
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 0 type 17 RP(raw) submitted
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 0 type 131089 RP(822) submitted
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 112 type RP(raw): OK; nrrs=1; cname=$; owner=$; ttl=60
+ "i\\..root\\000null.org" ""
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 112 type RP(822): Found syntactically invalid domain name; nrrs=0; cname=$; owner=$; ttl=60
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 112 type RP(raw): OK; nrrs=1; cname=$; owner=$; ttl=60
+ "spong\\000flibble.ucam.org" ""
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 112 type RP(822): Found invalid DNS data; nrrs=0; cname=$; owner=$; ttl=60
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 0 type RP(raw): Found syntactically invalid domain name; nrrs=0; cname=$; owner=$; ttl=60
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 0 type RP(822): Found invalid DNS data; nrrs=0; cname=$; owner=$; ttl=60
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 0 type RP(raw): Found syntactically invalid domain name; nrrs=0; cname=$; owner=$; ttl=60
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 0 type RP(822): Found syntactically invalid domain name; nrrs=0; cname=$; owner=$; ttl=60
+rc=0
diff --git a/regress/case-sillyrp.sys b/regress/case-sillyrp.sys
new file mode 100644 (file)
index 0000000..2b28a49
--- /dev/null
@@ -0,0 +1,183 @@
+default
+:17,131089 0x70/silly-rp-dm.test.iwj.relativity.greenend.org.uk 0x70/silly-rp-lp.test.iwj.relativity.greenend.org.uk silly-rp-lp.test.iwj.relativity.greenend.org.uk silly-rp-dm.test.iwj.relativity.greenend.org.uk
+ start 929580348.131048
+ socket type=SOCK_DGRAM
+ socket=4
+ +0.000207
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000086
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000061
+ sendto fd=4 addr=172.18.45.6:53
+     311f0100 00010000 00000000 0b73696c 6c792d72 702d646d 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=65
+ +0.000768
+ sendto fd=4 addr=172.18.45.6:53
+     31200100 00010000 00000000 0b73696c 6c792d72 702d646d 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=65
+ +0.001010
+ sendto fd=4 addr=172.18.45.6:53
+     31210100 00010000 00000000 0b73696c 6c792d72 702d6c70 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=65
+ +0.000607
+ sendto fd=4 addr=172.18.45.6:53
+     31220100 00010000 00000000 0b73696c 6c792d72 702d6c70 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=65
+ +0.000543
+ sendto fd=4 addr=172.18.45.6:53
+     31230100 00010000 00000000 0b73696c 6c792d72 702d6c70 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=65
+ +0.000544
+ sendto fd=4 addr=172.18.45.6:53
+     31240100 00010000 00000000 0b73696c 6c792d72 702d6c70 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=65
+ +0.000535
+ sendto fd=4 addr=172.18.45.6:53
+     31250100 00010000 00000000 0b73696c 6c792d72 702d646d 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=65
+ +0.000538
+ sendto fd=4 addr=172.18.45.6:53
+     31260100 00010000 00000000 0b73696c 6c792d72 702d646d 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01.
+ sendto=65
+ +0.000569
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.994886
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005696
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     311f8580 00010001 00010001 0b73696c 6c792d72 702d646d 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01c00c00 11000100 00003c00 1302692e 09726f6f 74006e75 6c6c036f 72670000
+     04746573 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72
+     6702756b 00000200 01000000 3c000603 6e7330c0 69c08f00 01000100 01518000
+     04ac122d 06.
+ +0.000936
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000308
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.988714
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003951
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31208580 00010001 00010001 0b73696c 6c792d72 702d646d 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01c00c00 11000100 00003c00 1302692e 09726f6f 74006e75 6c6c036f 72670000
+     04746573 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72
+     6702756b 00000200 01000000 3c000603 6e7330c0 69c08f00 01000100 01518000
+     04ac122d 06.
+ +0.000891
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000192
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.984690
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003968
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31218580 00010001 00010001 0b73696c 6c792d72 702d6c70 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01c00c00 11000100 00003c00 190d7370 6f6e6700 666c6962 626c6504 7563616d
+     036f7267 00000474 65737403 69776a0a 72656c61 74697669 74790867 7265656e
+     656e6403 6f726702 756b0000 02000100 00003c00 06036e73 30c06fc0 95000100
+     01000151 800004ac 122d06.
+ +0.000915
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000193
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.980221
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004041
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31228580 00010001 00010001 0b73696c 6c792d72 702d6c70 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01c00c00 11000100 00003c00 190d7370 6f6e6700 666c6962 626c6504 7563616d
+     036f7267 00000474 65737403 69776a0a 72656c61 74697669 74790867 7265656e
+     656e6403 6f726702 756b0000 02000100 00003c00 06036e73 30c06fc0 95000100
+     01000151 800004ac 122d06.
+ +0.000915
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000154
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.975654
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003970
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31238580 00010001 00010001 0b73696c 6c792d72 702d6c70 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01c00c00 11000100 00003c00 190d7370 6f6e6700 666c6962 626c6504 7563616d
+     036f7267 00000474 65737403 69776a0a 72656c61 74697669 74790867 7265656e
+     656e6403 6f726702 756b0000 02000100 00003c00 06036e73 30c06fc0 95000100
+     01000151 800004ac 122d06.
+ +0.000911
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000173
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.971144
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005737
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31248580 00010001 00010001 0b73696c 6c792d72 702d6c70 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01c00c00 11000100 00003c00 190d7370 6f6e6700 666c6962 626c6504 7563616d
+     036f7267 00000474 65737403 69776a0a 72656c61 74697669 74790867 7265656e
+     656e6403 6f726702 756b0000 02000100 00003c00 06036e73 30c06fc0 95000100
+     01000151 800004ac 122d06.
+ +0.000914
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000151
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.964877
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004001
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31258580 00010001 00010001 0b73696c 6c792d72 702d646d 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01c00c00 11000100 00003c00 1302692e 09726f6f 74006e75 6c6c036f 72670000
+     04746573 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72
+     6702756b 00000200 01000000 3c000603 6e7330c0 69c08f00 01000100 01518000
+     04ac122d 06.
+ +0.000911
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000155
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.960348
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004043
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31268580 00010001 00010001 0b73696c 6c792d72 702d646d 04746573 74036977
+     6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+     01c00c00 11000100 00003c00 1302692e 09726f6f 74006e75 6c6c036f 72670000
+     04746573 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72
+     6702756b 00000200 01000000 3c000603 6e7330c0 69c08f00 01000100 01518000
+     04ac122d 06.
+ +0.000886
+ recvfrom fd=4 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000191
+ close fd=4
+ close=OK
+ +0.000160
index 2191ae28cc18c30a8ce2efc6e87ed45bed2dd096..9412247dd83a6207ace66b54e7e2d3cf03de4d25 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-allok=true
+failed=''
 
 for f in case-*.sys
 do
@@ -10,20 +10,21 @@ do
                :
        else
                echo
-               allok=false
+               failed="$failed $case"
                echo
        fi
 done
 
-if $allok
+if [ "x$failed" = x ]
 then
        echo "
 all tests passed."
        exit 0
 fi
 
-echo >&2 '
+echo >&2 "
 AT LEAST ONE TEST FAILED
-'
+$failed
+"
 
 exit 1
index 400ba9f466b68a26bc303475be1c1d738cf6392d..88b51f8dc8a58f48baf4fb65fab813b777e351d5 100644 (file)
@@ -91,15 +91,15 @@ typedef enum {
   
 } adns_rrtype;
 
-/* In queries without qtf_quoteok_*, all domains must have standard
- * legal syntax.  In queries _with_ qtf_anyquote, domains in the query
- * or response may contain any characters, quoted according to
- * RFC1035 5.1.  On input to adns, the char* is a pointer to the
- * interior of a " delimited string, except that " may appear in it,
- * and on output, the char* is a pointer to a string which would be
- * legal either inside or outside " delimiters, and any characters
- * not usually legal in domain names will be quoted as \X
- * (if the character is 33-126 except \ and ") or \DDD.
+/* In queries without qf_quoteok_*, all domains must have standard
+ * legal syntax.  In queries _with_ qf_quoteok_*, domains in the query
+ * or response may contain any characters, quoted according to RFC1035
+ * 5.1.  On input to adns, the char* is a pointer to the interior of a
+ * " delimited string, except that " may appear in it, and on output,
+ * the char* is a pointer to a string which would be legal either
+ * inside or outside " delimiters, and any characters not usually
+ * legal in domain names will be quoted as \X (if the character is
+ * 33-126 except \ and ") or \DDD.
  *
  * Do not ask for _raw records containing mailboxes without
  * specifying _qf_anyquote.
@@ -356,5 +356,6 @@ adns_status adns_rr_info(adns_rrtype type,
  */
 
 const char *adns_strerror(adns_status st);
+const char *adns_errabbrev(adns_status st);
 
 #endif
index 079f8b7cd30efc77b9d66f105e3f6007e1374c69..71009f7d674c36d22221e1708fba911c10bcccd7 100644 (file)
@@ -200,10 +200,11 @@ adns_status adns_rr_info(adns_rrtype type,
   return st;
 }
 
-#define SINFO(n,s) { adns_s_##n, s }
+#define SINFO(n,s) { adns_s_##n, #n, s }
 
 static const struct sinfo {
   adns_status st;
+  const char *abbrev;
   const char *string;
 } sinfos[]= {
   SINFO(  ok,                  "OK"                                            ),
@@ -244,16 +245,22 @@ static int si_compar(const void *key, const void *elem) {
   return *st < si->st ? -1 : *st > si->st ? 1 : 0;
 }
 
+static const struct sinfo *findsinfo(adns_status st) {
+  return bsearch(&st,sinfos,sizeof(sinfos)/sizeof(*sinfos),sizeof(*sinfos),si_compar);
+}
+
 const char *adns_strerror(adns_status st) {
-  static char buf[100];
+  const struct sinfo *si;
 
+  si= findsinfo(st);
+  return si->string;
+}
+
+const char *adns_errabbrev(adns_status st) {
   const struct sinfo *si;
 
-  si= bsearch(&st,sinfos,sizeof(sinfos)/sizeof(*si),sizeof(*si),si_compar);
-  if (si) return si->string;
-  
-  snprintf(buf,sizeof(buf),"code %d",st);
-  return buf;
+  si= findsinfo(st);
+  return si->abbrev;
 }
 
 void adns__isort(void *array, int nobjs, int sz, void *tempbuf,
index 7d527b2664ae0fc4ae9a82f158ee551dd926f28a..b813215f9071043fc04730bca6d5fbbd3e427708 100644 (file)
@@ -618,7 +618,7 @@ static inline void timevaladd(struct timeval *tv_io, long ms) {
 static inline int ctype_whitespace(int c) { return c==' ' || c=='\n' || c=='\t'; }
 static inline int ctype_digit(int c) { return c>='0' && c<='9'; }
 static inline int ctype_alpha(int c) {
-  return (c >= 'a' && c <= 'z') || (c >= 'A' || c <= 'Z');
+  return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
 }
 
 /* Useful macros */
index 2e1291a5bb843fdd8ee882375789ebc956f1701a..7e671fc9a98e779d5ae29fd4d9356dd0297b032c 100644 (file)
@@ -54,7 +54,7 @@
  * _strpair                   (mf,cs)
  * _intstrpair                (mf,cs)
  * _hinfo                     (pa)
- * _mailbox                   (pap)
+ * _mailbox                   (pap +pap_mailbox822)
  * _rp                        (pa)
  * _soa                       (pa,mf,cs)
  * _flat                      (mf)
@@ -791,8 +791,8 @@ static adns_status pa_hinfo(const parseinfo *pai, int cbyte, int max, void *data
  * _mailbox   (pap)
  */
 
-static adns_status pap_mailbox(const parseinfo *pai, int *cbyte_io, int max,
-                              char **mb_r) {
+static adns_status pap_mailbox822(const parseinfo *pai, int *cbyte_io, int max,
+                                 char **mb_r) {
   int lablen, labstart, i, needquote, c, r, neednorm;
   const unsigned char *p;
   char *str;
@@ -847,6 +847,16 @@ static adns_status pap_mailbox(const parseinfo *pai, int *cbyte_io, int max,
   return adns_s_ok;
 }
 
+static adns_status pap_mailbox(const parseinfo *pai, int *cbyte_io, int max,
+                              char **mb_r) {
+  if (pai->qu->typei->type & adns__qtf_mail822) {
+    return pap_mailbox822(pai, cbyte_io, max, mb_r);
+  } else {
+    return pap_domain(pai, cbyte_io, max, mb_r,
+                     pai->qu->flags & adns_qf_quoteok_anshost ? pdf_quoteok : 0);
+  }
+}
+
 /*
  * _rp   (pa)
  */