chiark / gitweb /
+ * Regression tests now include adnshost, adnslogres, adnsresfilter.
authorian <ian>
Sat, 16 Sep 2000 21:48:13 +0000 (21:48 +0000)
committerian <ian>
Sat, 16 Sep 2000 21:48:13 +0000 (21:48 +0000)
@@ -9,7 +9,7 @@
   * adnshost, adnslogres, adnsresfilter have options for config override.
   * adnsresfilter has --debug option.
   * Improvements to adnslogres (incl. new -c option) from Tony Finch.
-  * Regression tests now include `adnshost' invocations.
+  * Regression tests now include adnshost, adnslogres, adnsresfilter.
   * Test cancellation both before and after query completion.

   Portability fixes:

22 files changed:
changelog
client/adnslogres.c
client/adnsresfilter.c
regress/Makefile.in
regress/adnslogres-xinitflags.text [new file with mode: 0644]
regress/adnsresfilter-xinitflags.text [new file with mode: 0644]
regress/case-alr-norm.err [new file with mode: 0644]
regress/case-alr-norm.in [new file with mode: 0644]
regress/case-alr-norm.out [new file with mode: 0644]
regress/case-alr-norm.sys [new file with mode: 0644]
regress/case-alr-slow.err [new file with mode: 0644]
regress/case-alr-slow.in [new file with mode: 0644]
regress/case-alr-slow.out [new file with mode: 0644]
regress/case-alr-slow.sys [new file with mode: 0644]
regress/case-arf-norm.err [new file with mode: 0644]
regress/case-arf-norm.out [new file with mode: 0644]
regress/case-arf-norm.sys [new file with mode: 0644]
regress/case-arf-text.err [new file with mode: 0644]
regress/case-arf-text.out [new file with mode: 0644]
regress/case-arf-text.sys [new file with mode: 0644]
regress/m1test
regress/r1test

index 342cdc1..828aa32 100644 (file)
--- a/changelog
+++ b/changelog
@@ -9,7 +9,7 @@ adns (0.10) unstable; urgency=low
   * adnshost, adnslogres, adnsresfilter have options for config override. 
   * adnsresfilter has --debug option.
   * Improvements to adnslogres (incl. new -c option) from Tony Finch.
-  * Regression tests now include `adnshost' invocations.
+  * Regression tests now include adnshost, adnslogres, adnsresfilter.
   * Test cancellation both before and after query completion.
 
   Portability fixes:
index fc6b2cd..c1a22c0 100644 (file)
@@ -47,6 +47,10 @@ static const char * const cvsid =
 #include "config.h"
 #include "adns.h"
 
+#ifdef ADNS_REGRESS_TEST
+# include "hredirect.h"
+#endif
+
 /* maximum number of concurrent DNS queries */
 #define MAXMAXPENDING 64000
 #define DEFMAXPENDING 2000
@@ -58,7 +62,7 @@ static const char * const cvsid =
 #define OPT_DEBUG 1
 #define OPT_POLL 2
 
-static const char *progname;
+static const char *const progname= "adnslogres";
 static const char *config_text;
 
 #define guard_null(str) ((str) ? (str) : "")
@@ -180,7 +184,7 @@ static void proclog(FILE *inf, FILE *outf, int maxpending, int opts) {
       if (opts & OPT_DEBUG)
        msg("%d in queue; checking %.*s", len,
            head->rest-head->addr, guard_null(head->addr));
-      if (eof || len > maxpending) {
+      if (eof || len >= maxpending) {
        if (opts & OPT_POLL)
          err= adns_wait_poll(adns, &head->query, &answer, NULL);
        else
@@ -189,10 +193,15 @@ static void proclog(FILE *inf, FILE *outf, int maxpending, int opts) {
        err= adns_check(adns, &head->query, &answer, NULL);
       }
       if (err == EAGAIN) break;
+      if (err) {
+       fprintf(stderr, "%s: adns_wait/check: %s", progname, strerror(err));
+       exit(1);
+      }
       printline(outf, head->start, head->addr, head->rest,
                answer->status == adns_s_ok ? *answer->rrs.str : NULL);
       line= head; head= head->next;
-      free(line); free(answer);
+      free(line);
+      free(answer);
       len--;
     }
     if (!eof) {
@@ -220,12 +229,6 @@ int main(int argc, char *argv[]) {
   extern char *optarg;
   FILE *inf;
 
-  progname= strrchr(*argv, '/');
-  if (progname)
-    progname++;
-  else
-    progname= *argv;
-
   maxpending= DEFMAXPENDING;
   opts= 0;
   while ((c= getopt(argc, argv, "c:C:dp")) != -1)
index 02d0f4c..82aac84 100644 (file)
@@ -127,6 +127,7 @@ static void usage(void) {
             "Timeout is the maximum amount to delay any particular bit of output for.\n"
             "Lookups will go on in the background.  Default timeout = 1000 (ms).\n")
       == EOF) outputerr();
+  if (fflush(stdout)) sysfail("flush stdout");
 }
 
 static void usageerr(const char *why) NONRETURNING;
@@ -467,7 +468,6 @@ int main(int argc, const char *const *argv) {
   }
   if (nonblock(0,0)) sysfail("un-nonblock stdin");
   if (nonblock(1,0)) sysfail("un-nonblock stdout");
-  if (ferror(stdin) || fclose(stdin)) sysfail("read stdin");
-  if (fclose(stdout)) sysfail("close stdout");
+  adns_finish(ads);
   exit(0);
 }
index fd08d80..5da4e28 100644 (file)
@@ -24,7 +24,7 @@
 srcdir=                @srcdir@
 VPATH=         @srcdir@
 
-CLIENTS=       adnstest adnshost
+CLIENTS=       adnstest adnshost adnslogres adnsresfilter
 AUTOCHDRS=     harness.h hsyscalls.h hredirect.h
 AUTOCSRCS=     hrecord.c hplayback.c hcommon.c
 include                $(srcdir)/../settings.make
diff --git a/regress/adnslogres-xinitflags.text b/regress/adnslogres-xinitflags.text
new file mode 100644 (file)
index 0000000..89d4c11
--- /dev/null
@@ -0,0 +1 @@
+-d -C
diff --git a/regress/adnsresfilter-xinitflags.text b/regress/adnsresfilter-xinitflags.text
new file mode 100644 (file)
index 0000000..809195c
--- /dev/null
@@ -0,0 +1 @@
+--debug --config 
diff --git a/regress/case-alr-norm.err b/regress/case-alr-norm.err
new file mode 100644 (file)
index 0000000..eef3299
--- /dev/null
@@ -0,0 +1,29 @@
+adns debug: using nameserver 172.18.45.6
+adnslogres: submitting 172.18.45.1 -> 1.45.18.172.in-addr.arpa.
+adnslogres: 1 in queue; checking 172.18.45.1
+adnslogres: submitting 127.0.0.1 -> 1.0.0.127.in-addr.arpa.
+adnslogres: 1 in queue; checking 127.0.0.1
+adnslogres: submitting 172.30.206.14 -> 14.206.30.172.in-addr.arpa.
+adnslogres: 1 in queue; checking 172.30.206.14
+adnslogres: submitting 127.0.0.1 -> 1.0.0.127.in-addr.arpa.
+adnslogres: 2 in queue; checking 172.30.206.14
+adnslogres: submitting 172.18.45.3 -> 3.45.18.172.in-addr.arpa.
+adnslogres: 3 in queue; checking 172.30.206.14
+adnslogres: submitting 172.18.45.1 -> 1.45.18.172.in-addr.arpa.
+adnslogres: 4 in queue; checking 172.30.206.14
+adnslogres: submitting 172.18.45.8 -> 8.45.18.172.in-addr.arpa.
+adnslogres: 5 in queue; checking 172.30.206.14
+adnslogres: submitting 172.18.45.1 -> 1.45.18.172.in-addr.arpa.
+adnslogres: 6 in queue; checking 172.30.206.14
+adnslogres: submitting 172.18.45.1 -> 1.45.18.172.in-addr.arpa.
+adnslogres: 7 in queue; checking 172.30.206.14
+adnslogres: submitting 172.18.45.6 -> 6.45.18.172.in-addr.arpa.
+adnslogres: 8 in queue; checking 172.30.206.14
+adnslogres: 8 in queue; checking 172.30.206.14
+adnslogres: 7 in queue; checking 127.0.0.1
+adnslogres: 6 in queue; checking 172.18.45.3
+adnslogres: 5 in queue; checking 172.18.45.1
+adnslogres: 4 in queue; checking 172.18.45.8
+adnslogres: 3 in queue; checking 172.18.45.1
+adnslogres: 2 in queue; checking 172.18.45.1
+adnslogres: 1 in queue; checking 172.18.45.6
diff --git a/regress/case-alr-norm.in b/regress/case-alr-norm.in
new file mode 100644 (file)
index 0000000..721f071
--- /dev/null
@@ -0,0 +1,10 @@
+172.18.45.1 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/main/source/Release HTTP/1.0" 304 -
+127.0.0.1 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/contrib/source/Sources.gz HTTP/1.0" 304 -
+172.30.206.14 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/contrib/source/Release HTTP/1.0" 304 -
+127.0.0.1 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/non-free/source/Sources.gz HTTP/1.0" 304 -
+172.18.45.3 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/non-free/source/Release HTTP/1.0" 304 -
+172.18.45.1 - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79-3potato1.dsc HTTP/1.0" 200 604
+172.18.45.8 - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79.orig.tar.gz HTTP/1.0" 200 34886
+172.18.45.1 - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79.orig.tar.gz HTTP/1.0" 200 34886
+172.18.45.1 - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79-3potato1.diff.gz HTTP/1.0" 200 7962
+172.18.45.6 - - [16/Sep/2000:18:35:15 +0100] "GET / HTTP/1.0" 304 -
diff --git a/regress/case-alr-norm.out b/regress/case-alr-norm.out
new file mode 100644 (file)
index 0000000..0c5a1d8
--- /dev/null
@@ -0,0 +1,11 @@
+sfere.relativity.greenend.org.uk - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/main/source/Release HTTP/1.0" 304 -
+localhost - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/contrib/source/Sources.gz HTTP/1.0" 304 -
+172.30.206.14 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/contrib/source/Release HTTP/1.0" 304 -
+localhost - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/non-free/source/Sources.gz HTTP/1.0" 304 -
+172.18.45.3 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/non-free/source/Release HTTP/1.0" 304 -
+sfere.relativity.greenend.org.uk - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79-3potato1.dsc HTTP/1.0" 200 604
+kadath.relativity.greenend.org.uk - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79.orig.tar.gz HTTP/1.0" 200 34886
+sfere.relativity.greenend.org.uk - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79.orig.tar.gz HTTP/1.0" 200 34886
+sfere.relativity.greenend.org.uk - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79-3potato1.diff.gz HTTP/1.0" 200 7962
+davenant.relativity.greenend.org.uk - - [16/Sep/2000:18:35:15 +0100] "GET / HTTP/1.0" 304 -
+rc=0
diff --git a/regress/case-alr-norm.sys b/regress/case-alr-norm.sys
new file mode 100644 (file)
index 0000000..6bb0eda
--- /dev/null
@@ -0,0 +1,475 @@
+./adnslogres default
+
+ start 969140608.116717
+ socket type=SOCK_DGRAM
+ socket=6
+ +0.000127
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000061
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000037
+ sendto fd=6 addr=172.18.45.6:53
+     311f0100 00010000 00000000 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.001715
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     311f8580 00010001 00020002 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00220573 66657265 0a72656c
+     61746976 69747908 67726565 6e656e64 036f7267 02756b00 02343502 31380331
+     37320769 6e2d6164 64720461 72706100 00020001 00015180 0006036e 7330c03c
+     c0580002 00010001 51800006 036e7331 c03cc07a 00010001 00015180 0004ac12
+     2d06c08c 00010001 00015180 0004ac12 2d01.
+ +0.000718
+ sendto fd=6 addr=172.18.45.6:53
+     31200100 00010000 00000000 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=50
+ +0.000790
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31208580 00010001 00020002 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001c00c 00010001 00015180 0004ac12
+     2d010a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000002
+     00010001 51800006 036e7330 c042c042 00020001 00015180 0006036e 7331c042
+     c0680001 00010001 51800004 ac122d06 c07a0001 00010001 51800004 ac122d01.
+ +0.000564
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000109
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000093
+ sendto fd=6 addr=172.18.45.6:53
+     31210100 00010000 00000000 01310130 01300331 32370769 6e2d6164 64720461
+     72706100 000c0001.
+ sendto=40
+ +0.000753
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31218580 00010001 00010001 01310130 01300331 32370769 6e2d6164 64720461
+     72706100 000c0001 c00c000c 00010009 3a80000b 096c6f63 616c686f 73740003
+     31323707 696e2d61 64647204 61727061 00000200 0100093a 800002c0 34c03400
+     01000100 093a8000 047f0000 01.
+ +0.000417
+ sendto fd=6 addr=172.18.45.6:53
+     31220100 00010000 00000000 096c6f63 616c686f 73740000 010001.
+ sendto=27
+ +0.000530
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31228580 00010001 00010001 096c6f63 616c686f 73740000 010001c0 0c000100
+     0100093a 8000047f 000001c0 0c000200 0100093a 800002c0 0cc00c00 01000100
+     093a8000 047f0000 01.
+ +0.000306
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000089
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000088
+ sendto fd=6 addr=172.18.45.6:53
+     31230100 00010000 00000000 02313403 32303602 33300331 37320769 6e2d6164
+     64720461 72706100 000c0001.
+ sendto=44
+ +0.000689
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31238580 00010001 00010001 02313403 32303602 33300331 37320769 6e2d6164
+     64720461 72706100 000c0001 c00c000c 00010000 003c002a 06323036 2d31340b
+     62726f6b 656e2d7a 6f6e6504 74657374 0763756c 74757265 05646f74 61740261
+     74000332 30360233 30033137 3207696e 2d616464 72046172 70610000 02000100
+     00003c00 20036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+     6702756b 00c08500 01000100 01518000 04ac122d 06.
+ +0.000622
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.001722
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000087
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000205
+ sendto fd=6 addr=172.18.45.6:53
+     31250100 00010000 00000000 01310130 01300331 32370769 6e2d6164 64720461
+     72706100 000c0001.
+ sendto=40
+ +0.000699
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31258580 00010001 00010001 01310130 01300331 32370769 6e2d6164 64720461
+     72706100 000c0001 c00c000c 00010009 3a80000b 096c6f63 616c686f 73740003
+     31323707 696e2d61 64647204 61727061 00000200 0100093a 800002c0 34c03400
+     01000100 093a8000 047f0000 01.
+ +0.000420
+ sendto fd=6 addr=172.18.45.6:53
+     31260100 00010000 00000000 096c6f63 616c686f 73740000 010001.
+ sendto=27
+ +0.000532
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31268580 00010001 00010001 096c6f63 616c686f 73740000 010001c0 0c000100
+     0100093a 8000047f 000001c0 0c000200 0100093a 800002c0 0cc00c00 01000100
+     093a8000 047f0000 01.
+ +0.000307
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000094
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000187
+ sendto fd=6 addr=172.18.45.6:53
+     31270100 00010000 00000000 01330234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000634
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31278583 00010000 00010000 01330234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 00010234 35023138 03313732 07696e2d 61646472 04617270
+     61000006 00010001 51800041 036e7330 0a72656c 61746976 69747908 67726565
+     6e656e64 036f7267 02756b00 0a686f73 746d6173 746572c0 50000000 2800001c
+     2000000e 1000093a 80000151 80.
+ +0.000506
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000099
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000184
+ sendto fd=6 addr=172.18.45.6:53
+     31280100 00010000 00000000 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000711
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31288580 00010001 00020002 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00220573 66657265 0a72656c
+     61746976 69747908 67726565 6e656e64 036f7267 02756b00 02343502 31380331
+     37320769 6e2d6164 64720461 72706100 00020001 00015180 0006036e 7330c03c
+     c0580002 00010001 51800006 036e7331 c03cc07a 00010001 00015180 0004ac12
+     2d06c08c 00010001 00015180 0004ac12 2d01.
+ +0.000624
+ sendto fd=6 addr=172.18.45.6:53
+     31290100 00010000 00000000 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=50
+ +0.000748
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31298580 00010001 00020002 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001c00c 00010001 00015180 0004ac12
+     2d010a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000002
+     00010001 51800006 036e7330 c042c042 00020001 00015180 0006036e 7331c042
+     c0680001 00010001 51800004 ac122d06 c07a0001 00010001 51800004 ac122d01.
+ +0.000564
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000106
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000192
+ sendto fd=6 addr=172.18.45.6:53
+     312a0100 00010000 00000000 01380234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.001229
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312a8580 00010001 00020002 01380234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 0023066b 61646174 680a7265
+     6c617469 76697479 08677265 656e656e 64036f72 6702756b 00023435 02313803
+     31373207 696e2d61 64647204 61727061 00000200 01000151 80000603 6e7330c0
+     3dc05900 02000100 01518000 06036e73 31c03dc0 7b000100 01000151 800004ac
+     122d06c0 8d000100 01000151 800004ac 122d01.
+ +0.000628
+ sendto fd=6 addr=172.18.45.6:53
+     312b0100 00010000 00000000 066b6164 6174680a 72656c61 74697669 74790867
+     7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=51
+ +0.000678
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312b8580 00010001 00020002 066b6164 6174680a 72656c61 74697669 74790867
+     7265656e 656e6403 6f726702 756b0000 010001c0 0c000100 01000151 800004ac
+     122d080a 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000
+     02000100 01518000 06036e73 30c043c0 43000200 01000151 80000603 6e7331c0
+     43c06900 01000100 01518000 04ac122d 06c07b00 01000100 01518000 04ac122d
+     01.
+ +0.000565
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000127
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000202
+ sendto fd=6 addr=172.18.45.6:53
+     312c0100 00010000 00000000 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.001807
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312c8580 00010001 00020002 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00220573 66657265 0a72656c
+     61746976 69747908 67726565 6e656e64 036f7267 02756b00 02343502 31380331
+     37320769 6e2d6164 64720461 72706100 00020001 00015180 0006036e 7330c03c
+     c0580002 00010001 51800006 036e7331 c03cc07a 00010001 00015180 0004ac12
+     2d06c08c 00010001 00015180 0004ac12 2d01.
+ +0.000626
+ sendto fd=6 addr=172.18.45.6:53
+     312d0100 00010000 00000000 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=50
+ +0.000658
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312d8580 00010001 00020002 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001c00c 00010001 00015180 0004ac12
+     2d010a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000002
+     00010001 51800006 036e7330 c042c042 00020001 00015180 0006036e 7331c042
+     c0680001 00010001 51800004 ac122d06 c07a0001 00010001 51800004 ac122d01.
+ +0.000577
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000107
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000197
+ sendto fd=6 addr=172.18.45.6:53
+     312e0100 00010000 00000000 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000710
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312e8580 00010001 00020002 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00220573 66657265 0a72656c
+     61746976 69747908 67726565 6e656e64 036f7267 02756b00 02343502 31380331
+     37320769 6e2d6164 64720461 72706100 00020001 00015180 0006036e 7330c03c
+     c0580002 00010001 51800006 036e7331 c03cc07a 00010001 00015180 0004ac12
+     2d06c08c 00010001 00015180 0004ac12 2d01.
+ +0.000620
+ sendto fd=6 addr=172.18.45.6:53
+     312f0100 00010000 00000000 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=50
+ +0.000670
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312f8580 00010001 00020002 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001c00c 00010001 00015180 0004ac12
+     2d010a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000002
+     00010001 51800006 036e7330 c042c042 00020001 00015180 0006036e 7331c042
+     c0680001 00010001 51800004 ac122d06 c07a0001 00010001 51800004 ac122d01.
+ +0.000559
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000103
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000233
+ sendto fd=6 addr=172.18.45.6:53
+     31300100 00010000 00000000 01360234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000750
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31308580 00010001 00020002 01360234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00250864 6176656e 616e740a
+     72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0002 34350231
+     38033137 3207696e 2d616464 72046172 70610000 02000100 01518000 06036e73
+     30c03fc0 5b000200 01000151 80000603 6e7331c0 3fc07d00 01000100 01518000
+     04ac122d 06c08f00 01000100 01518000 04ac122d 01.
+ +0.000629
+ sendto fd=6 addr=172.18.45.6:53
+     31310100 00010000 00000000 08646176 656e616e 740a7265 6c617469 76697479
+     08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=53
+ +0.000663
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31318580 00010001 00020002 08646176 656e616e 740a7265 6c617469 76697479
+     08677265 656e656e 64036f72 6702756b 00000100 01c00c00 01000100 01518000
+     04ac122d 060a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+     00000200 01000151 80000603 6e7330c0 45c04500 02000100 01518000 06036e73
+     31c045c0 6b000100 01000151 800004ac 122d06c0 7d000100 01000151 800004ac
+     122d01.
+ +0.000568
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000135
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000191
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.977525
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-23059
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000584
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010000
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000486
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999514
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00572
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000086
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009958
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000479
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999521
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00545
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000066
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009996
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000496
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999504
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00576
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000080
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009954
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000461
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999539
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00527
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000066
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009999
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000493
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999507
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00574
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000081
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009952
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000509
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999491
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00575
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000066
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009998
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000559
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999441
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00607
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000048
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009927
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000496
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999504
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00576
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000080
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010004
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000483
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999517
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00587
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000104
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010011
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000494
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999506
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00549
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000055
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009922
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000477
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999523
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00552
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000075
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010061
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000476
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999524
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00617
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000141
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009958
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000464
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999536
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00542
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000078
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010010
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000440
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999560
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00527
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000087
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009959
+ close fd=6
+ close=OK
+ +0.002651
diff --git a/regress/case-alr-slow.err b/regress/case-alr-slow.err
new file mode 100644 (file)
index 0000000..03cdbbb
--- /dev/null
@@ -0,0 +1,27 @@
+adns debug: using nameserver 172.18.45.6
+adnslogres: submitting 172.18.45.1 -> 1.45.18.172.in-addr.arpa.
+adnslogres: 1 in queue; checking 172.18.45.1
+adnslogres: submitting 127.0.0.1 -> 1.0.0.127.in-addr.arpa.
+adnslogres: 1 in queue; checking 127.0.0.1
+adnslogres: submitting 172.30.206.14 -> 14.206.30.172.in-addr.arpa.
+adnslogres: 1 in queue; checking 172.30.206.14
+adnslogres: submitting 127.0.0.1 -> 1.0.0.127.in-addr.arpa.
+adnslogres: 2 in queue; checking 172.30.206.14
+adnslogres: submitting 172.18.45.3 -> 3.45.18.172.in-addr.arpa.
+adnslogres: 3 in queue; checking 172.30.206.14
+adnslogres: submitting 172.18.45.1 -> 1.45.18.172.in-addr.arpa.
+adnslogres: 4 in queue; checking 172.30.206.14
+adnslogres: 3 in queue; checking 127.0.0.1
+adnslogres: 2 in queue; checking 172.18.45.3
+adnslogres: 1 in queue; checking 172.18.45.1
+adnslogres: submitting 172.18.45.8 -> 8.45.18.172.in-addr.arpa.
+adnslogres: 1 in queue; checking 172.18.45.8
+adnslogres: submitting 172.18.45.1 -> 1.45.18.172.in-addr.arpa.
+adnslogres: 2 in queue; checking 172.18.45.8
+adnslogres: submitting 172.18.45.1 -> 1.45.18.172.in-addr.arpa.
+adnslogres: 3 in queue; checking 172.18.45.8
+adnslogres: submitting 172.18.45.6 -> 6.45.18.172.in-addr.arpa.
+adnslogres: 4 in queue; checking 172.18.45.8
+adnslogres: 3 in queue; checking 172.18.45.1
+adnslogres: 2 in queue; checking 172.18.45.1
+adnslogres: 1 in queue; checking 172.18.45.6
diff --git a/regress/case-alr-slow.in b/regress/case-alr-slow.in
new file mode 100644 (file)
index 0000000..721f071
--- /dev/null
@@ -0,0 +1,10 @@
+172.18.45.1 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/main/source/Release HTTP/1.0" 304 -
+127.0.0.1 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/contrib/source/Sources.gz HTTP/1.0" 304 -
+172.30.206.14 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/contrib/source/Release HTTP/1.0" 304 -
+127.0.0.1 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/non-free/source/Sources.gz HTTP/1.0" 304 -
+172.18.45.3 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/non-free/source/Release HTTP/1.0" 304 -
+172.18.45.1 - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79-3potato1.dsc HTTP/1.0" 200 604
+172.18.45.8 - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79.orig.tar.gz HTTP/1.0" 200 34886
+172.18.45.1 - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79.orig.tar.gz HTTP/1.0" 200 34886
+172.18.45.1 - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79-3potato1.diff.gz HTTP/1.0" 200 7962
+172.18.45.6 - - [16/Sep/2000:18:35:15 +0100] "GET / HTTP/1.0" 304 -
diff --git a/regress/case-alr-slow.out b/regress/case-alr-slow.out
new file mode 100644 (file)
index 0000000..0c5a1d8
--- /dev/null
@@ -0,0 +1,11 @@
+sfere.relativity.greenend.org.uk - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/main/source/Release HTTP/1.0" 304 -
+localhost - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/contrib/source/Sources.gz HTTP/1.0" 304 -
+172.30.206.14 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/contrib/source/Release HTTP/1.0" 304 -
+localhost - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/non-free/source/Sources.gz HTTP/1.0" 304 -
+172.18.45.3 - - [13/Sep/2000:23:00:26 +0100] "GET /mirror/debian-non-us/dists/stable/non-US/non-free/source/Release HTTP/1.0" 304 -
+sfere.relativity.greenend.org.uk - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79-3potato1.dsc HTTP/1.0" 200 604
+kadath.relativity.greenend.org.uk - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79.orig.tar.gz HTTP/1.0" 200 34886
+sfere.relativity.greenend.org.uk - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79.orig.tar.gz HTTP/1.0" 200 34886
+sfere.relativity.greenend.org.uk - - [13/Sep/2000:23:01:01 +0100] "GET /mirror/debian-ftp/dists/potato/main/source/devel/cvsweb_1.79-3potato1.diff.gz HTTP/1.0" 200 7962
+davenant.relativity.greenend.org.uk - - [16/Sep/2000:18:35:15 +0100] "GET / HTTP/1.0" 304 -
+rc=0
diff --git a/regress/case-alr-slow.sys b/regress/case-alr-slow.sys
new file mode 100644 (file)
index 0000000..7479a2a
--- /dev/null
@@ -0,0 +1,490 @@
+./adnslogres default
+-c4
+ start 969140728.042464
+ socket type=SOCK_DGRAM
+ socket=6
+ +0.000132
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000055
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000036
+ sendto fd=6 addr=172.18.45.6:53
+     311f0100 00010000 00000000 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.001699
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     311f8580 00010001 00020002 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00220573 66657265 0a72656c
+     61746976 69747908 67726565 6e656e64 036f7267 02756b00 02343502 31380331
+     37320769 6e2d6164 64720461 72706100 00020001 00015180 0006036e 7330c03c
+     c0580002 00010001 51800006 036e7331 c03cc07a 00010001 00015180 0004ac12
+     2d06c08c 00010001 00015180 0004ac12 2d01.
+ +0.000712
+ sendto fd=6 addr=172.18.45.6:53
+     31200100 00010000 00000000 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=50
+ +0.000793
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31208580 00010001 00020002 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001c00c 00010001 00015180 0004ac12
+     2d010a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000002
+     00010001 51800006 036e7330 c042c042 00020001 00015180 0006036e 7331c042
+     c0680001 00010001 51800004 ac122d06 c07a0001 00010001 51800004 ac122d01.
+ +0.000563
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000114
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000088
+ sendto fd=6 addr=172.18.45.6:53
+     31210100 00010000 00000000 01310130 01300331 32370769 6e2d6164 64720461
+     72706100 000c0001.
+ sendto=40
+ +0.000861
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31218580 00010001 00010001 01310130 01300331 32370769 6e2d6164 64720461
+     72706100 000c0001 c00c000c 00010009 3a80000b 096c6f63 616c686f 73740003
+     31323707 696e2d61 64647204 61727061 00000200 0100093a 800002c0 34c03400
+     01000100 093a8000 047f0000 01.
+ +0.000418
+ sendto fd=6 addr=172.18.45.6:53
+     31220100 00010000 00000000 096c6f63 616c686f 73740000 010001.
+ sendto=27
+ +0.000544
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31228580 00010001 00010001 096c6f63 616c686f 73740000 010001c0 0c000100
+     0100093a 8000047f 000001c0 0c000200 0100093a 800002c0 0cc00c00 01000100
+     093a8000 047f0000 01.
+ +0.000304
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000093
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000085
+ sendto fd=6 addr=172.18.45.6:53
+     31230100 00010000 00000000 02313403 32303602 33300331 37320769 6e2d6164
+     64720461 72706100 000c0001.
+ sendto=44
+ +0.000662
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31238580 00010001 00010001 02313403 32303602 33300331 37320769 6e2d6164
+     64720461 72706100 000c0001 c00c000c 00010000 003c002a 06323036 2d31340b
+     62726f6b 656e2d7a 6f6e6504 74657374 0763756c 74757265 05646f74 61740261
+     74000332 30360233 30033137 3207696e 2d616464 72046172 70610000 02000100
+     00003c00 20036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+     6702756b 00c08500 01000100 01518000 04ac122d 06.
+ +0.000619
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000988
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000073
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000105
+ sendto fd=6 addr=172.18.45.6:53
+     31250100 00010000 00000000 01310130 01300331 32370769 6e2d6164 64720461
+     72706100 000c0001.
+ sendto=40
+ +0.001370
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31258580 00010001 00010001 01310130 01300331 32370769 6e2d6164 64720461
+     72706100 000c0001 c00c000c 00010009 3a80000b 096c6f63 616c686f 73740003
+     31323707 696e2d61 64647204 61727061 00000200 0100093a 800002c0 34c03400
+     01000100 093a8000 047f0000 01.
+ +0.000427
+ sendto fd=6 addr=172.18.45.6:53
+     31260100 00010000 00000000 096c6f63 616c686f 73740000 010001.
+ sendto=27
+ +0.000576
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31268580 00010001 00010001 096c6f63 616c686f 73740000 010001c0 0c000100
+     0100093a 8000047f 000001c0 0c000200 0100093a 800002c0 0cc00c00 01000100
+     093a8000 047f0000 01.
+ +0.000307
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000094
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000085
+ sendto fd=6 addr=172.18.45.6:53
+     31270100 00010000 00000000 01330234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000604
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31278583 00010000 00010000 01330234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 00010234 35023138 03313732 07696e2d 61646472 04617270
+     61000006 00010001 51800041 036e7330 0a72656c 61746976 69747908 67726565
+     6e656e64 036f7267 02756b00 0a686f73 746d6173 746572c0 50000000 2800001c
+     2000000e 1000093a 80000151 80.
+ +0.000502
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000088
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000077
+ sendto fd=6 addr=172.18.45.6:53
+     31280100 00010000 00000000 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000682
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31288580 00010001 00020002 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00220573 66657265 0a72656c
+     61746976 69747908 67726565 6e656e64 036f7267 02756b00 02343502 31380331
+     37320769 6e2d6164 64720461 72706100 00020001 00015180 0006036e 7330c03c
+     c0580002 00010001 51800006 036e7331 c03cc07a 00010001 00015180 0004ac12
+     2d06c08c 00010001 00015180 0004ac12 2d01.
+ +0.000618
+ sendto fd=6 addr=172.18.45.6:53
+     31290100 00010000 00000000 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=50
+ +0.000791
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31298580 00010001 00020002 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001c00c 00010001 00015180 0004ac12
+     2d010a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000002
+     00010001 51800006 036e7330 c042c042 00020001 00015180 0006036e 7331c042
+     c0680001 00010001 51800004 ac122d06 c07a0001 00010001 51800004 ac122d01.
+ +0.000561
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000108
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.991325
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00943
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000465
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999535
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00565
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000100
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010007
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000452
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999548
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00527
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000075
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009951
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000482
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999518
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00551
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000069
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009997
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000470
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999530
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00493
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000023
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009900
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000440
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999560
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00521
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000081
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010009
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000453
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999547
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00538
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000085
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009962
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000465
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999535
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00544
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000079
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010006
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000434
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999566
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00522
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000088
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009963
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000449
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999551
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00525
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000076
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010006
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000443
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999557
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00530
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000087
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009961
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000461
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999539
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00539
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000078
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010006
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000485
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999515
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00404
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000584
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999416
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.019228
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+     74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.000586
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999414
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00751
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000165
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009979
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000185
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000085
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000118
+ sendto fd=6 addr=172.18.45.6:53
+     312a0100 00010000 00000000 01380234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000517
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000061
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000075
+ sendto fd=6 addr=172.18.45.6:53
+     312b0100 00010000 00000000 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000277
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000056
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000071
+ sendto fd=6 addr=172.18.45.6:53
+     312c0100 00010000 00000000 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000277
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000057
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000244
+ sendto fd=6 addr=172.18.45.6:53
+     312d0100 00010000 00000000 01360234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000290
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000058
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.998017
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.001322
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312a8580 00010001 00020002 01380234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 0023066b 61646174 680a7265
+     6c617469 76697479 08677265 656e656e 64036f72 6702756b 00023435 02313803
+     31373207 696e2d61 64647204 61727061 00000200 01000151 80000603 6e7330c0
+     3dc05900 02000100 01518000 06036e73 31c03dc0 7b000100 01000151 800004ac
+     122d06c0 8d000100 01000151 800004ac 122d01.
+ +0.000775
+ sendto fd=6 addr=172.18.45.6:53
+     312e0100 00010000 00000000 066b6164 6174680a 72656c61 74697669 74790867
+     7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=51
+ +0.000366
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312b8580 00010001 00020002 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00220573 66657265 0a72656c
+     61746976 69747908 67726565 6e656e64 036f7267 02756b00 02343502 31380331
+     37320769 6e2d6164 64720461 72706100 00020001 00015180 0006036e 7330c03c
+     c0580002 00010001 51800006 036e7331 c03cc07a 00010001 00015180 0004ac12
+     2d06c08c 00010001 00015180 0004ac12 2d01.
+ +0.000770
+ sendto fd=6 addr=172.18.45.6:53
+     312f0100 00010000 00000000 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=50
+ +0.000328
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312c8580 00010001 00020002 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00220573 66657265 0a72656c
+     61746976 69747908 67726565 6e656e64 036f7267 02756b00 02343502 31380331
+     37320769 6e2d6164 64720461 72706100 00020001 00015180 0006036e 7330c03c
+     c0580002 00010001 51800006 036e7331 c03cc07a 00010001 00015180 0004ac12
+     2d06c08c 00010001 00015180 0004ac12 2d01.
+ +0.000766
+ sendto fd=6 addr=172.18.45.6:53
+     31300100 00010000 00000000 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=50
+ +0.000326
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312d8580 00010001 00020002 01360234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00250864 6176656e 616e740a
+     72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0002 34350231
+     38033137 3207696e 2d616464 72046172 70610000 02000100 01518000 06036e73
+     30c03fc0 5b000200 01000151 80000603 6e7331c0 3fc07d00 01000100 01518000
+     04ac122d 06c08f00 01000100 01518000 04ac122d 01.
+ +0.000605
+ sendto fd=6 addr=172.18.45.6:53
+     31310100 00010000 00000000 08646176 656e616e 740a7265 6c617469 76697479
+     08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=53
+ +0.000473
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000073
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.995518
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.001210
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312e8580 00010001 00020002 066b6164 6174680a 72656c61 74697669 74790867
+     7265656e 656e6403 6f726702 756b0000 010001c0 0c000100 01000151 800004ac
+     122d080a 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000
+     02000100 01518000 06036e73 30c043c0 43000200 01000151 80000603 6e7331c0
+     43c06900 01000100 01518000 04ac122d 06c07b00 01000100 01518000 04ac122d
+     01.
+ +0.000754
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     312f8580 00010001 00020002 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001c00c 00010001 00015180 0004ac12
+     2d010a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000002
+     00010001 51800006 036e7330 c042c042 00020001 00015180 0006036e 7331c042
+     c0680001 00010001 51800004 ac122d06 c07a0001 00010001 51800004 ac122d01.
+ +0.000613
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31308580 00010001 00020002 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001c00c 00010001 00015180 0004ac12
+     2d010a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000002
+     00010001 51800006 036e7330 c042c042 00020001 00015180 0006036e 7331c042
+     c0680001 00010001 51800004 ac122d06 c07a0001 00010001 51800004 ac122d01.
+ +0.000633
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31318580 00010001 00020002 08646176 656e616e 740a7265 6c617469 76697479
+     08677265 656e656e 64036f72 6702756b 00000100 01c00c00 01000100 01518000
+     04ac122d 060a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+     00000200 01000151 80000603 6e7330c0 45c04500 02000100 01518000 06036e73
+     31c045c0 6b000100 01000151 800004ac 122d06c0 7d000100 01000151 800004ac
+     122d01.
+ +0.000596
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000128
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000108
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000082
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000080
+ close fd=6
+ close=OK
+ +0.000176
diff --git a/regress/case-arf-norm.err b/regress/case-arf-norm.err
new file mode 100644 (file)
index 0000000..ab73542
--- /dev/null
@@ -0,0 +1,2 @@
+adns debug: using nameserver 172.18.45.6
+adns test harness: memory leaked: 11(12) 24(76) 31(12) 43(48) 48(12) 60(72) 65(12) 77(72)
diff --git a/regress/case-arf-norm.out b/regress/case-arf-norm.out
new file mode 100644 (file)
index 0000000..ab3f8d1
--- /dev/null
@@ -0,0 +1 @@
+rc=0
diff --git a/regress/case-arf-norm.sys b/regress/case-arf-norm.sys
new file mode 100644 (file)
index 0000000..f3bbf13
--- /dev/null
@@ -0,0 +1,324 @@
+./adnsresfilter default
+
+ start 969138236.380176
+ fcntl fd=0 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000136
+ fcntl fd=0 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000047
+ fcntl fd=1 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000034
+ fcntl fd=1 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000034
+ socket type=SOCK_DGRAM
+ socket=6
+ +0.004723
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000048
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000041
+ select max=2 rfds=[0] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +3.476363
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000178
+ read fd=0 buflen=512
+ read=OK
+     736f6d65 206f7264 696e6172 79207465 78740a.
+ +0.000149
+ write fd=1
+     736f6d65 206f7264 696e6172 79207465 78740a.
+ write=19
+ +0.000594
+ select max=2 rfds=[0] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +1.-12312
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000119
+ read fd=0 buflen=512
+ read=OK
+     616e2069 70206164 64726573 73206174 20656f6c 20313732 2e31382e 34352e36
+     0a.
+ +0.000185
+ sendto fd=6 addr=172.18.45.6:53
+     311f0100 00010000 00000000 01360234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000902
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     311f8580 00010001 00020002 01360234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00250864 6176656e 616e740a
+     72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0002 34350231
+     38033137 3207696e 2d616464 72046172 70610000 02000100 01518000 06036e73
+     30c03fc0 5b000200 01000151 80000603 6e7331c0 3fc07d00 01000100 01518000
+     04ac122d 06c08f00 01000100 01518000 04ac122d 01.
+ +0.000707
+ sendto fd=6 addr=172.18.45.6:53
+     31200100 00010000 00000000 08646176 656e616e 740a7265 6c617469 76697479
+     08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=53
+ +0.000758
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31208580 00010001 00020002 08646176 656e616e 740a7265 6c617469 76697479
+     08677265 656e656e 64036f72 6702756b 00000100 01c00c00 01000100 01518000
+     04ac122d 060a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+     00000200 01000151 80000603 6e7330c0 45c04500 02000100 01518000 06036e73
+     31c045c0 6b000100 01000151 800004ac 122d06c0 7d000100 01000151 800004ac
+     122d01.
+ +0.000572
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000146
+ write fd=1
+     616e2069 70206164 64726573 73206174 20656f6c 20.
+ write=21
+ +0.000426
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=0.996185
+ select=0 rfds=[] wfds=[] efds=[]
+ +1.-05562
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000093
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000061
+ write fd=1
+     64617665 6e616e74 2e72656c 61746976 6974792e 67726565 6e656e64 2e6f7267
+     2e756b.
+ write=35
+ +0.000473
+ write fd=1
+     0a.
+ write=1
+ +0.000500
+ select max=2 rfds=[0] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +1.-31596
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000127
+ read fd=0 buflen=512
+ read=OK
+     616e2069 70206164 64726573 73203132 372e302e 302e3120 696e206d 6964646c
+     650a.
+ +0.000190
+ sendto fd=6 addr=172.18.45.6:53
+     31210100 00010000 00000000 01310130 01300331 32370769 6e2d6164 64720461
+     72706100 000c0001.
+ sendto=40
+ +0.000787
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31218580 00010001 00010001 01310130 01300331 32370769 6e2d6164 64720461
+     72706100 000c0001 c00c000c 00010009 3a80000b 096c6f63 616c686f 73740003
+     31323707 696e2d61 64647204 61727061 00000200 0100093a 800002c0 34c03400
+     01000100 093a8000 047f0000 01.
+ +0.000417
+ sendto fd=6 addr=172.18.45.6:53
+     31220100 00010000 00000000 096c6f63 616c686f 73740000 010001.
+ sendto=27
+ +0.000523
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31228580 00010001 00010001 096c6f63 616c686f 73740000 010001c0 0c000100
+     0100093a 8000047f 000001c0 0c000200 0100093a 800002c0 0cc00c00 01000100
+     093a8000 047f0000 01.
+ +0.000310
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000120
+ write fd=1
+     616e2069 70206164 64726573 7320.
+ write=14
+ +0.000394
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=0.997132
+ select=0 rfds=[] wfds=[] efds=[]
+ +1.-02556
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000082
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000054
+ write fd=1
+     6c6f6361 6c686f73 74.
+ write=9
+ +0.000354
+ write fd=1
+     20696e20 6d696464 6c650a.
+ write=11
+ +0.000538
+ select max=2 rfds=[0] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +5.-307533
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000115
+ read fd=0 buflen=512
+ read=OK
+     3137322e 31382e34 352e3120 616e2061 64647265 73732061 74206265 67696e0a.
+ +0.000165
+ sendto fd=6 addr=172.18.45.6:53
+     31230100 00010000 00000000 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001.
+ sendto=42
+ +0.000691
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31238580 00010001 00020002 01310234 35023138 03313732 07696e2d 61646472
+     04617270 6100000c 0001c00c 000c0001 00015180 00220573 66657265 0a72656c
+     61746976 69747908 67726565 6e656e64 036f7267 02756b00 02343502 31380331
+     37320769 6e2d6164 64720461 72706100 00020001 00015180 0006036e 7330c03c
+     c0580002 00010001 51800006 036e7331 c03cc07a 00010001 00015180 0004ac12
+     2d06c08c 00010001 00015180 0004ac12 2d01.
+ +0.000621
+ sendto fd=6 addr=172.18.45.6:53
+     31240100 00010000 00000000 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=50
+ +0.000716
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31248580 00010001 00020002 05736665 72650a72 656c6174 69766974 79086772
+     65656e65 6e64036f 72670275 6b000001 0001c00c 00010001 00015180 0004ac12
+     2d010a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000002
+     00010001 51800006 036e7330 c042c042 00020001 00015180 0006036e 7331c042
+     c0680001 00010001 51800004 ac122d06 c07a0001 00010001 51800004 ac122d01.
+ +0.000562
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000137
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=0.996993
+ select=0 rfds=[] wfds=[] efds=[]
+ +1.-06724
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000083
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000055
+ write fd=1
+     73666572 652e7265 6c617469 76697479 2e677265 656e656e 642e6f72 672e756b.
+ write=32
+ +0.000440
+ write fd=1
+     20616e20 61646472 65737320 61742062 6567696e 0a.
+ write=21
+ +0.000570
+ select max=2 rfds=[0] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +4.-137179
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000103
+ read fd=0 buflen=512
+ read=OK
+     3137322e 31382e34 352e34.
+ +0.000101
+ select max=2 rfds=[0] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +4.-28658
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000121
+ read fd=0 buflen=512
+ read=OK
+     3020736f 6d652073 74756666 0a.
+ +0.000112
+ sendto fd=6 addr=172.18.45.6:53
+     31250100 00010000 00000000 02343002 34350231 38033137 3207696e 2d616464
+     72046172 70610000 0c0001.
+ sendto=43
+ +0.000747
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31258580 00010001 00020002 02343002 34350231 38033137 3207696e 2d616464
+     72046172 70610000 0c0001c0 0c000c00 01000151 80002306 6e6f7277 61790a72
+     656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000234 35023138
+     03313732 07696e2d 61646472 04617270 61000002 00010001 51800006 036e7330
+     c03ec05a 00020001 00015180 0006036e 7331c03e c07c0001 00010001 51800004
+     ac122d06 c08e0001 00010001 51800004 ac122d01.
+ +0.000628
+ sendto fd=6 addr=172.18.45.6:53
+     31260100 00010000 00000000 066e6f72 7761790a 72656c61 74697669 74790867
+     7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=51
+ +0.000678
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=OK addr=172.18.45.6:53
+     31268580 00010001 00020002 066e6f72 7761790a 72656c61 74697669 74790867
+     7265656e 656e6403 6f726702 756b0000 010001c0 0c000100 01000151 800004ac
+     122d280a 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000
+     02000100 01518000 06036e73 30c043c0 43000200 01000151 80000603 6e7331c0
+     43c06900 01000100 01518000 04ac122d 06c07b00 01000100 01518000 04ac122d
+     01.
+ +0.000566
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000135
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=0.997013
+ select=0 rfds=[] wfds=[] efds=[]
+ +1.-08851
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000087
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000057
+ write fd=1
+     6e6f7277 61792e72 656c6174 69766974 792e6772 65656e65 6e642e6f 72672e75
+     6b.
+ write=33
+ +0.000466
+ write fd=1
+     20736f6d 65207374 7566660a.
+ write=12
+ +0.000545
+ select max=2 rfds=[0] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +2.-184099
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000114
+ read fd=0 buflen=512
+ read=OK
+     28627261 636b6574 73290a.
+ +0.000107
+ write fd=1
+     28627261 636b6574 73290a.
+ write=11
+ +0.000495
+ select max=2 rfds=[0] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +0.323183
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000084
+ read fd=0 buflen=512
+ read=OK
+     .
+ +0.000063
+ fcntl fd=0 cmd=F_GETFL
+ fcntl=O_NONBLOCK|...
+ +0.000041
+ fcntl fd=0 cmd=F_SETFL ~O_NONBLOCK&...
+ fcntl=OK
+ +0.000033
+ fcntl fd=1 cmd=F_GETFL
+ fcntl=O_NONBLOCK|...
+ +0.000034
+ fcntl fd=1 cmd=F_SETFL ~O_NONBLOCK&...
+ fcntl=OK
+ +0.000033
+ close fd=6
+ close=OK
+ +0.000090
diff --git a/regress/case-arf-text.err b/regress/case-arf-text.err
new file mode 100644 (file)
index 0000000..2886e3c
--- /dev/null
@@ -0,0 +1 @@
+adns debug: using nameserver 172.18.45.6
diff --git a/regress/case-arf-text.out b/regress/case-arf-text.out
new file mode 100644 (file)
index 0000000..ab3f8d1
--- /dev/null
@@ -0,0 +1 @@
+rc=0
diff --git a/regress/case-arf-text.sys b/regress/case-arf-text.sys
new file mode 100644 (file)
index 0000000..572c2ba
--- /dev/null
@@ -0,0 +1,63 @@
+./adnsresfilter default
+
+ start 969137967.465922
+ fcntl fd=0 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000132
+ fcntl fd=0 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000049
+ fcntl fd=1 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000034
+ fcntl fd=1 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000033
+ socket type=SOCK_DGRAM
+ socket=6
+ +0.004099
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000057
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000034
+ select max=2 rfds=[0] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +2.095986
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000177
+ read fd=0 buflen=512
+ read=OK
+     74657874 206f6e6c 790a.
+ +0.000121
+ write fd=1
+     74657874 206f6e6c 790a.
+ write=10
+ +0.000636
+ select max=2 rfds=[0] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +0.349329
+ recvfrom fd=6 buflen=512 *addrlen=16
+ recvfrom=EAGAIN
+ +0.000085
+ read fd=0 buflen=512
+ read=OK
+     .
+ +0.000064
+ fcntl fd=0 cmd=F_GETFL
+ fcntl=O_NONBLOCK|...
+ +0.000043
+ fcntl fd=0 cmd=F_SETFL ~O_NONBLOCK&...
+ fcntl=OK
+ +0.000065
+ fcntl fd=1 cmd=F_GETFL
+ fcntl=O_NONBLOCK|...
+ +0.000036
+ fcntl fd=1 cmd=F_SETFL ~O_NONBLOCK&...
+ fcntl=OK
+ +0.000032
+ close fd=6
+ close=OK
+ +0.000117
index c556f8c..f7a28f0 100755 (executable)
@@ -28,8 +28,9 @@ set -e
 if [ $# -lt 3 ]
 then
        echo >&2 \
-'usage: m1test <name> <initfile> [-<initflags>]
-              [=<hrecord-command-args>] <queryargs>'
+'usage: m1test <name> <initfile> [-<initflags>] ["<"]
+              [=<hrecord-command-args>] <queryargs>
+("<" means read input from case-<name>.in)'
        exit 1
 fi
 
@@ -42,6 +43,11 @@ case "$1" in
 -*)    initflags="$1"; shift
 esac
 
+if test "x$1" = "x<"
+then
+       shift; exec <"$case.in"
+fi
+
 case "$1" in
 =*)    hrecord="`echo \"$1\" | sed -e 's/^=//'`"; shift
 esac
index 96d7195..a325600 100755 (executable)
@@ -31,9 +31,9 @@ casename="$1"
 case="case-$casename"
 ocase="output-$casename"
 
-exec <"$case.sys"
-read program initfile initflags
-read queryargs
+exec 4<"$case.sys"
+read <&4 program initfile initflags
+read <&4 queryargs
 
 initstring="`cat init-$initfile.text`"
 xinitflagsf=$program-xinitflags.text
@@ -49,8 +49,16 @@ rm -f $ocase.*
 EF_DISABLE_BANNER=1
 export EF_DISABLE_BANNER
 
+if test -f "$case.in"
+then
+       exec <"$case.in"
+else
+       exec </dev/null
+fi
+
 set +e
 ADNS_TEST_REPORT_FD=3 3>>"$ocase.report" >"$ocase.out" 2>"$ocase.err" \
+ADNS_TEST_IN_FD=4 \
  ./${program}_playback $initflags"$initstring" $queryargs
 rc=$?
 set -e