From: ian Date: Sat, 16 Sep 2000 21:48:13 +0000 (+0000) Subject: + * Regression tests now include adnshost, adnslogres, adnsresfilter. X-Git-Tag: rel-adns-pre-1-0--1~14 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=commitdiff_plain;h=67a57aae0e981c235a2cb8d27214a3d4213ff941 + * Regression tests now include adnshost, adnslogres, adnsresfilter. @@ -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: --- diff --git a/changelog b/changelog index 342cdc1..828aa32 100644 --- 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: diff --git a/client/adnslogres.c b/client/adnslogres.c index fc6b2cd..c1a22c0 100644 --- a/client/adnslogres.c +++ b/client/adnslogres.c @@ -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) diff --git a/client/adnsresfilter.c b/client/adnsresfilter.c index 02d0f4c..82aac84 100644 --- a/client/adnsresfilter.c +++ b/client/adnsresfilter.c @@ -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); } diff --git a/regress/Makefile.in b/regress/Makefile.in index fd08d80..5da4e28 100644 --- a/regress/Makefile.in +++ b/regress/Makefile.in @@ -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 index 0000000..89d4c11 --- /dev/null +++ b/regress/adnslogres-xinitflags.text @@ -0,0 +1 @@ +-d -C diff --git a/regress/adnsresfilter-xinitflags.text b/regress/adnsresfilter-xinitflags.text new file mode 100644 index 0000000..809195c --- /dev/null +++ b/regress/adnsresfilter-xinitflags.text @@ -0,0 +1 @@ +--debug --config diff --git a/regress/case-alr-norm.err b/regress/case-alr-norm.err new file mode 100644 index 0000000..eef3299 --- /dev/null +++ b/regress/case-alr-norm.err @@ -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 index 0000000..721f071 --- /dev/null +++ b/regress/case-alr-norm.in @@ -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 index 0000000..0c5a1d8 --- /dev/null +++ b/regress/case-alr-norm.out @@ -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 index 0000000..6bb0eda --- /dev/null +++ b/regress/case-alr-norm.sys @@ -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 index 0000000..03cdbbb --- /dev/null +++ b/regress/case-alr-slow.err @@ -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 index 0000000..721f071 --- /dev/null +++ b/regress/case-alr-slow.in @@ -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 index 0000000..0c5a1d8 --- /dev/null +++ b/regress/case-alr-slow.out @@ -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 index 0000000..7479a2a --- /dev/null +++ b/regress/case-alr-slow.sys @@ -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 index 0000000..ab73542 --- /dev/null +++ b/regress/case-arf-norm.err @@ -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 index 0000000..ab3f8d1 --- /dev/null +++ b/regress/case-arf-norm.out @@ -0,0 +1 @@ +rc=0 diff --git a/regress/case-arf-norm.sys b/regress/case-arf-norm.sys new file mode 100644 index 0000000..f3bbf13 --- /dev/null +++ b/regress/case-arf-norm.sys @@ -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 index 0000000..2886e3c --- /dev/null +++ b/regress/case-arf-text.err @@ -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 index 0000000..ab3f8d1 --- /dev/null +++ b/regress/case-arf-text.out @@ -0,0 +1 @@ +rc=0 diff --git a/regress/case-arf-text.sys b/regress/case-arf-text.sys new file mode 100644 index 0000000..572c2ba --- /dev/null +++ b/regress/case-arf-text.sys @@ -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 diff --git a/regress/m1test b/regress/m1test index c556f8c..f7a28f0 100755 --- a/regress/m1test +++ b/regress/m1test @@ -28,8 +28,9 @@ set -e if [ $# -lt 3 ] then echo >&2 \ -'usage: m1test [-] - [=] ' +'usage: m1test [-] ["<"] + [=] +("<" means read input from case-.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 diff --git a/regress/r1test b/regress/r1test index 96d7195..a325600 100755 --- a/regress/r1test +++ b/regress/r1test @@ -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 >"$ocase.report" >"$ocase.out" 2>"$ocase.err" \ +ADNS_TEST_IN_FD=4 \ ./${program}_playback $initflags"$initstring" $queryargs rc=$? set -e