summaryrefslogtreecommitdiff
path: root/regress
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2014-10-26 14:58:28 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2014-10-26 14:58:28 +0100
commit312fa1152b79fc62a4ed0f7d2782e059d350761f (patch)
treec4ed86a5a3e83fdf9e72fd256c7231e6f42ddf4c /regress
Import adns_1.5.0~rc1.orig.tar.gz
[dgit import orig adns_1.5.0~rc1.orig.tar.gz]
Diffstat (limited to 'regress')
-rw-r--r--regress/Makefile.in91
-rwxr-xr-xregress/addcases29
-rw-r--r--regress/adnshost-xinitflags.text1
-rw-r--r--regress/adnslogres-xinitflags.text1
-rw-r--r--regress/adnsresfilter-xinitflags.text1
-rw-r--r--regress/case-1stservbroken.err0
-rw-r--r--regress/case-1stservbroken.out39
-rw-r--r--regress/case-1stservbroken.sys183
-rw-r--r--regress/case-1stservtotcp.err0
-rw-r--r--regress/case-1stservtotcp.out37
-rw-r--r--regress/case-1stservtotcp.sys159
-rw-r--r--regress/case-2ndservok.err0
-rw-r--r--regress/case-2ndservok.out6
-rw-r--r--regress/case-2ndservok.sys47
-rw-r--r--regress/case-2ndservtcp.err0
-rw-r--r--regress/case-2ndservtcp.out37
-rw-r--r--regress/case-2ndservtcp.sys168
-rw-r--r--regress/case-aaaa-simple.err0
-rw-r--r--regress/case-aaaa-simple.out5
-rw-r--r--regress/case-aaaa-simple.sys40
-rw-r--r--regress/case-aaaa-sort.err0
-rw-r--r--regress/case-aaaa-sort.out10
-rw-r--r--regress/case-aaaa-sort.sys45
-rw-r--r--regress/case-abbrev.err0
-rw-r--r--regress/case-abbrev.out40
-rw-r--r--regress/case-abbrev.sys265
-rw-r--r--regress/case-abbrevto.err0
-rw-r--r--regress/case-abbrevto.out32
-rw-r--r--regress/case-abbrevto.sys1164
-rw-r--r--regress/case-addr-multi-af.err0
-rw-r--r--regress/case-addr-multi-af.out164
-rw-r--r--regress/case-addr-multi-af.sys1236
-rw-r--r--regress/case-adh-cancel.err2
-rw-r--r--regress/case-adh-cancel.out2
-rw-r--r--regress/case-adh-cancel.sys73
-rw-r--r--regress/case-adh-cancel2.err1
-rw-r--r--regress/case-adh-cancel2.out1
-rw-r--r--regress/case-adh-cancel2.sys59
-rw-r--r--regress/case-adh-cancel3.err2
-rw-r--r--regress/case-adh-cancel3.out1
-rw-r--r--regress/case-adh-cancel3.sys90
-rw-r--r--regress/case-adh-norm.err1
-rw-r--r--regress/case-adh-norm.out2
-rw-r--r--regress/case-adh-norm.sys34
-rw-r--r--regress/case-adh-pipe.err1
-rw-r--r--regress/case-adh-pipe.out2
-rw-r--r--regress/case-adh-pipe.sys48
-rw-r--r--regress/case-alr-norm.err29
-rw-r--r--regress/case-alr-norm.in10
-rw-r--r--regress/case-alr-norm.out11
-rw-r--r--regress/case-alr-norm.sys475
-rw-r--r--regress/case-alr-slow.err27
-rw-r--r--regress/case-alr-slow.in10
-rw-r--r--regress/case-alr-slow.out11
-rw-r--r--regress/case-alr-slow.sys490
-rw-r--r--regress/case-arf-norm.err2
-rw-r--r--regress/case-arf-norm.out1
-rw-r--r--regress/case-arf-norm.sys324
-rw-r--r--regress/case-arf-text.err1
-rw-r--r--regress/case-arf-text.out1
-rw-r--r--regress/case-arf-text.sys63
-rw-r--r--regress/case-bogus-sortlist.err1
-rw-r--r--regress/case-bogus-sortlist.out7
-rw-r--r--regress/case-bogus-sortlist.sys2
-rw-r--r--regress/case-brokenmail.err0
-rw-r--r--regress/case-brokenmail.out38
-rw-r--r--regress/case-brokenmail.sys516
-rw-r--r--regress/case-child.err0
-rw-r--r--regress/case-child.out5
-rw-r--r--regress/case-child.sys58
-rw-r--r--regress/case-cnametocname.err0
-rw-r--r--regress/case-cnametocname.out5
-rw-r--r--regress/case-cnametocname.sys39
-rw-r--r--regress/case-comprinf.err0
-rw-r--r--regress/case-comprinf.out4
-rw-r--r--regress/case-comprinf.sys35
-rw-r--r--regress/case-connfail.err0
-rw-r--r--regress/case-connfail.out9
-rw-r--r--regress/case-connfail.sys78
-rw-r--r--regress/case-datapluscname.err0
-rw-r--r--regress/case-datapluscname.out39
-rw-r--r--regress/case-datapluscname.sys233
-rw-r--r--regress/case-datapluscnamewait.err0
-rw-r--r--regress/case-datapluscnamewait.out78
-rw-r--r--regress/case-datapluscnamewait.sys1492
-rw-r--r--regress/case-dh-ptr-aaaa.err1
-rw-r--r--regress/case-dh-ptr-aaaa.out2
-rw-r--r--regress/case-dh-ptr-aaaa.sys68
-rw-r--r--regress/case-flags10.err1
-rw-r--r--regress/case-flags10.out2
-rw-r--r--regress/case-flags10.sys15
-rw-r--r--regress/case-flags9.err0
-rw-r--r--regress/case-flags9.out5
-rw-r--r--regress/case-flags9.sys34
-rw-r--r--regress/case-formerr.err0
-rw-r--r--regress/case-formerr.out19
-rw-r--r--regress/case-formerr.sys330
-rw-r--r--regress/case-lockup.err0
-rw-r--r--regress/case-lockup.out4
-rw-r--r--regress/case-lockup.sys135
-rw-r--r--regress/case-longdom0.err0
-rw-r--r--regress/case-longdom0.out4
-rw-r--r--regress/case-longdom0.sys47
-rw-r--r--regress/case-longdom1.err0
-rw-r--r--regress/case-longdom1.out4
-rw-r--r--regress/case-longdom1.sys15
-rw-r--r--regress/case-longdomsrch0.err0
-rw-r--r--regress/case-longdomsrch0.out4
-rw-r--r--regress/case-longdomsrch0.sys15
-rw-r--r--regress/case-longdomsrch1.err0
-rw-r--r--regress/case-longdomsrch1.out4
-rw-r--r--regress/case-longdomsrch1.sys47
-rw-r--r--regress/case-longdomsrch1b.err0
-rw-r--r--regress/case-longdomsrch1b.out4
-rw-r--r--regress/case-longdomsrch1b.sys46
-rw-r--r--regress/case-longdomsrch2.err0
-rw-r--r--regress/case-longdomsrch2.out4
-rw-r--r--regress/case-longdomsrch2.sys72
-rw-r--r--regress/case-longlab0.err0
-rw-r--r--regress/case-longlab0.out4
-rw-r--r--regress/case-longlab0.sys37
-rw-r--r--regress/case-longlab1.err0
-rw-r--r--regress/case-longlab1.out4
-rw-r--r--regress/case-longlab1.sys15
-rw-r--r--regress/case-mailboxes.err0
-rw-r--r--regress/case-mailboxes.out10
-rw-r--r--regress/case-mailboxes.sys35
-rw-r--r--regress/case-manya.err0
-rw-r--r--regress/case-manya.out8
-rw-r--r--regress/case-manya.sys36
-rw-r--r--regress/case-manyptrwrong.err0
-rw-r--r--regress/case-manyptrwrong.out127
-rw-r--r--regress/case-manyptrwrong.sys1287
-rw-r--r--regress/case-manyptrwrongrem.err0
-rw-r--r--regress/case-manyptrwrongrem.out127
-rw-r--r--regress/case-manyptrwrongrem.sys1145
-rw-r--r--regress/case-manyptrwrongrst.err0
-rw-r--r--regress/case-manyptrwrongrst.out132
-rw-r--r--regress/case-manyptrwrongrst.sys1215
-rw-r--r--regress/case-manyptrwrongrty.err0
-rw-r--r--regress/case-manyptrwrongrty.out143
-rw-r--r--regress/case-manyptrwrongrty.sys1436
-rw-r--r--regress/case-ndots-as.err0
-rw-r--r--regress/case-ndots-as.out16
-rw-r--r--regress/case-ndots-as.sys316
-rw-r--r--regress/case-ndots.err0
-rw-r--r--regress/case-ndots.out16
-rw-r--r--regress/case-ndots.sys277
-rw-r--r--regress/case-ndotsbad.err1
-rw-r--r--regress/case-ndotsbad.out3
-rw-r--r--regress/case-ndotsbad.sys2
-rw-r--r--regress/case-noinfto.err0
-rw-r--r--regress/case-noinfto.out4
-rw-r--r--regress/case-noinfto.sys123
-rw-r--r--regress/case-norecurse.err0
-rw-r--r--regress/case-norecurse.out56
-rw-r--r--regress/case-norecurse.sys636
-rw-r--r--regress/case-norecurse2.err0
-rw-r--r--regress/case-norecurse2.out60
-rw-r--r--regress/case-norecurse2.sys1224
-rw-r--r--regress/case-norecurse3.err0
-rw-r--r--regress/case-norecurse3.out32
-rw-r--r--regress/case-norecurse3.sys488
-rw-r--r--regress/case-norm.err0
-rw-r--r--regress/case-norm.out5
-rw-r--r--regress/case-norm.sys34
-rw-r--r--regress/case-owner.err0
-rw-r--r--regress/case-owner.out36
-rw-r--r--regress/case-owner.sys267
-rw-r--r--regress/case-poll.err0
-rw-r--r--regress/case-poll.out5
-rw-r--r--regress/case-poll.sys34
-rw-r--r--regress/case-polltimeout.err0
-rw-r--r--regress/case-polltimeout.out4
-rw-r--r--regress/case-polltimeout.sys135
-rw-r--r--regress/case-ptr-aaaa-caps.err0
-rw-r--r--regress/case-ptr-aaaa-caps.out5
-rw-r--r--regress/case-ptr-aaaa-caps.sys73
-rw-r--r--regress/case-ptr-aaaa-check.err0
-rw-r--r--regress/case-ptr-aaaa-check.out5
-rw-r--r--regress/case-ptr-aaaa-check.sys68
-rw-r--r--regress/case-ptr-aaaa-mismatch.err0
-rw-r--r--regress/case-ptr-aaaa-mismatch.out4
-rw-r--r--regress/case-ptr-aaaa-mismatch.sys68
-rw-r--r--regress/case-ptr-aaaa-plain.err0
-rw-r--r--regress/case-ptr-aaaa-plain.out5
-rw-r--r--regress/case-ptr-aaaa-plain.sys43
-rw-r--r--regress/case-ptr-aaaa.err0
-rw-r--r--regress/case-ptr-aaaa.out5
-rw-r--r--regress/case-ptr-aaaa.sys68
-rw-r--r--regress/case-ptrbaddom.err0
-rw-r--r--regress/case-ptrbaddom.out7
-rw-r--r--regress/case-ptrbaddom.sys36
-rw-r--r--regress/case-ptrbaddom2.err0
-rw-r--r--regress/case-ptrbaddom2.out8
-rw-r--r--regress/case-ptrbaddom2.sys15
-rw-r--r--regress/case-quote.err0
-rw-r--r--regress/case-quote.out28
-rw-r--r--regress/case-quote.sys211
-rw-r--r--regress/case-rootquery.err0
-rw-r--r--regress/case-rootquery.out8
-rw-r--r--regress/case-rootquery.sys73
-rw-r--r--regress/case-rootqueryall-as.err0
-rw-r--r--regress/case-rootqueryall-as.out118
-rw-r--r--regress/case-rootqueryall-as.sys559
-rw-r--r--regress/case-rootqueryall.err0
-rw-r--r--regress/case-rootqueryall.out127
-rw-r--r--regress/case-rootqueryall.sys925
-rw-r--r--regress/case-rr_addr-binary-compat.err0
-rw-r--r--regress/case-rr_addr-binary-compat.out18
-rw-r--r--regress/case-rr_addr-binary-compat.sys63
-rw-r--r--regress/case-search-as.err0
-rw-r--r--regress/case-search-as.out14
-rw-r--r--regress/case-search-as.sys131
-rw-r--r--regress/case-search.err0
-rw-r--r--regress/case-search.out14
-rw-r--r--regress/case-search.sys133
-rw-r--r--regress/case-searchabs.err0
-rw-r--r--regress/case-searchabs.out5
-rw-r--r--regress/case-searchabs.sys72
-rw-r--r--regress/case-sillyrp.err0
-rw-r--r--regress/case-sillyrp.out22
-rw-r--r--regress/case-sillyrp.sys183
-rw-r--r--regress/case-srvbaddom.err6
-rw-r--r--regress/case-srvbaddom.out1
-rw-r--r--regress/case-srvbaddom.sys50
-rw-r--r--regress/case-srvha.err1
-rw-r--r--regress/case-srvha.out7
-rw-r--r--regress/case-srvha.sys103
-rw-r--r--regress/case-srvok.err1
-rw-r--r--regress/case-srvok.out7
-rw-r--r--regress/case-srvok.sys85
-rw-r--r--regress/case-srvqudom.err6
-rw-r--r--regress/case-srvqudom.out1
-rw-r--r--regress/case-srvqudom.sys104
-rw-r--r--regress/case-srvsort.err1
-rw-r--r--regress/case-srvsort.out29
-rw-r--r--regress/case-srvsort.sys187
-rw-r--r--regress/case-tcpallfail.err0
-rw-r--r--regress/case-tcpallfail.out34
-rw-r--r--regress/case-tcpallfail.sys63
-rw-r--r--regress/case-tcpblock.err0
-rw-r--r--regress/case-tcpblock.out33
-rw-r--r--regress/case-tcpblock.sys109
-rw-r--r--regress/case-tcpblockbrk.err0
-rw-r--r--regress/case-tcpblockbrk.out35
-rw-r--r--regress/case-tcpblockbrk.sys139
-rw-r--r--regress/case-tcpblockwr.err0
-rw-r--r--regress/case-tcpblockwr.out105
-rw-r--r--regress/case-tcpblockwr.sys605
-rw-r--r--regress/case-tcpbreakin.err0
-rw-r--r--regress/case-tcpbreakin.out8
-rw-r--r--regress/case-tcpbreakin.sys114
-rw-r--r--regress/case-tcpmultipart.err0
-rw-r--r--regress/case-tcpmultipart.out71
-rw-r--r--regress/case-tcpmultipart.sys248
-rw-r--r--regress/case-tcpptr.err0
-rw-r--r--regress/case-tcpptr.out6
-rw-r--r--regress/case-tcpptr.sys88
-rw-r--r--regress/case-timeout.err0
-rw-r--r--regress/case-timeout.out4
-rw-r--r--regress/case-timeout.sys135
-rw-r--r--regress/case-trunc.err0
-rw-r--r--regress/case-trunc.out4
-rw-r--r--regress/case-trunc.sys34
-rw-r--r--regress/case-unknown-flags-harmless.err0
-rw-r--r--regress/case-unknown-flags-harmless.out5
-rw-r--r--regress/case-unknown-flags-harmless.sys34
-rw-r--r--regress/case-unknown-flags-init.err1
-rw-r--r--regress/case-unknown-flags-init.out1
-rw-r--r--regress/case-unknown-flags-init.sys2
-rw-r--r--regress/case-unknown-flags-query.err0
-rw-r--r--regress/case-unknown-flags-query.out3
-rw-r--r--regress/case-unknown-flags-query.sys15
-rw-r--r--regress/case-unknown-flags-type.err0
-rw-r--r--regress/case-unknown-flags-type.out3
-rw-r--r--regress/case-unknown-flags-type.sys15
-rw-r--r--regress/case-unknown2.err1
-rw-r--r--regress/case-unknown2.out5
-rw-r--r--regress/case-unknown2.sys66
-rw-r--r--regress/case-unknown33.err1
-rw-r--r--regress/case-unknown33.out2
-rw-r--r--regress/case-unknown33.sys37
-rw-r--r--regress/case-unknown5.err1
-rw-r--r--regress/case-unknown5.out2
-rw-r--r--regress/case-unknown5.sys45
-rw-r--r--regress/case-unknownq.err0
-rw-r--r--regress/case-unknownq.out3
-rw-r--r--regress/case-unknownq.sys15
-rw-r--r--regress/case-unkopts.err0
-rw-r--r--regress/case-unkopts.out10
-rw-r--r--regress/case-unkopts.sys34
-rw-r--r--regress/case-v6-map.err0
-rw-r--r--regress/case-v6-map.out11
-rw-r--r--regress/case-v6-map.sys79
-rw-r--r--regress/case-v6-transport-simple.err0
-rw-r--r--regress/case-v6-transport-simple.out34
-rw-r--r--regress/case-v6-transport-simple.sys221
-rwxr-xr-xregress/checkall70
-rwxr-xr-xregress/gdbwrap37
-rwxr-xr-xregress/hack-query-ids17
-rw-r--r--regress/harness.h44
-rw-r--r--regress/harness.h.m471
-rw-r--r--regress/hcommon.c304
-rw-r--r--regress/hcommon.c.m4328
-rw-r--r--regress/hmacros.i4140
-rw-r--r--regress/hplayback.c594
-rw-r--r--regress/hplayback.c.m4389
-rw-r--r--regress/hrecord.c257
-rw-r--r--regress/hrecord.c.m4158
-rw-r--r--regress/hredirect.h44
-rw-r--r--regress/hredirect.h.m439
-rw-r--r--regress/hsyscalls.h32
-rw-r--r--regress/hsyscalls.h.m445
-rw-r--r--regress/hsyscalls.i4143
-rw-r--r--regress/init-1stservbroken.text3
-rw-r--r--regress/init-1stservto.text3
-rw-r--r--regress/init-2ndserver.text3
-rw-r--r--regress/init-anarres.text2
-rw-r--r--regress/init-bogus-sortlist.text3
-rw-r--r--regress/init-default.text3
-rw-r--r--regress/init-distorted-v6.text3
-rw-r--r--regress/init-distorted.text3
-rw-r--r--regress/init-manyptrwrong.text1
-rw-r--r--regress/init-ncipher.text3
-rw-r--r--regress/init-ndots.text4
-rw-r--r--regress/init-ndots100.text4
-rw-r--r--regress/init-ndotsbad.text4
-rw-r--r--regress/init-noserver.text2
-rw-r--r--regress/init-tunnel.text3
-rw-r--r--regress/init-unkopts.text11
-rwxr-xr-xregress/m1test107
-rwxr-xr-xregress/r1test109
333 files changed, 27797 insertions, 0 deletions
diff --git a/regress/Makefile.in b/regress/Makefile.in
new file mode 100644
index 0000000..b0035e7
--- /dev/null
+++ b/regress/Makefile.in
@@ -0,0 +1,91 @@
+# regress/Makefile[.in] - regression test Makefile
+#
+# This file is part of adns, which is
+# Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+# Copyright (C) 2014 Mark Wooding
+# Copyright (C) 1999-2000,2003,2006 Tony Finch
+# Copyright (C) 1991 Massachusetts Institute of Technology
+# (See the file INSTALL for full details.)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation.
+
+srcdir= @srcdir@
+VPATH= @srcdir@
+
+PROGS_SYSDEP= @PROGS_HAVE_TSEARCH@
+
+CLIENTS= adnstest adnshost adnslogres $(PROGS_SYSDEP)
+AUTOCHDRS= harness.h hsyscalls.h hredirect.h
+AUTOCSRCS= hrecord.c hplayback.c hcommon.c
+include ../settings.make
+include $(srcdir)/../src/adns.make
+
+DIRCFLAGS= -I../src -I$(srcdir) -I$(srcdir)/../src
+
+HCPPFLAGS= -DADNS_REGRESS_TEST -I.
+
+REDIRLIBOBJS= $(addsuffix _d.o, $(basename $(LIBOBJS)))
+HARNLOBJS= hcommon.o $(REDIRLIBOBJS)
+TARGETS= $(addsuffix _record, $(CLIENTS)) $(addsuffix _playback, $(CLIENTS))
+ADH_OBJS= adh-main_c.o adh-opts_c.o adh-query_c.o
+ALL_OBJS= $(HARNLOBJS) dtest.o hrecord.o hplayback.o
+
+.PRECIOUS: $(AUTOCSRCS) $(AUTOCHDRS)
+
+all install uninstall: $(TARGETS)
+
+ALL_TESTS:=$(patsubst $(srcdir)/case-%.sys,%,$(wildcard $(srcdir)/case-*.sys))
+
+check: $(TARGETS) $(addprefix check-,$(ALL_TESTS))
+ @echo
+ @echo 'all tests passed or maybe skipped.'
+
+check-%: case-%.sys
+ @srcdir=$(srcdir) $(srcdir)/r1test $* || test $? = 5
+
+LINK_CMD= $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
+
+%_record: %_c.o hrecord.o $(HARNLOBJS)
+ $(LINK_CMD)
+
+%_playback: %_c.o hplayback.o $(HARNLOBJS)
+ $(LINK_CMD)
+
+.SECONDARY: $(addsuffix _c.o, $(filter-out adnshost, $(CLIENTS)))
+# Without this, make will remove <client>_c.o after building <client>.
+# This wastes effort. (Debian bug #4073.)
+#
+# Also, it exposes us to a bug (in make 3.81, at least) which can
+# cause make to run the rule for building <client> without building
+# <client>_c.o! (Debian #756123.)
+#
+# See also Savannah #29620, http://savannah.gnu.org/bugs/index.php?29620
+
+adnshost_%: $(ADH_OBJS) h%.o $(HARNLOBJS)
+ $(LINK_CMD)
+
+%_d.o: $(srcdir)/../src/%.c hredirect.h
+ $(CC) $(CFLAGS) $(HCPPFLAGS) -c -g -o $@ $<
+
+%_c.o: $(srcdir)/../client/%.c hredirect.h
+ $(CC) $(CFLAGS) $(HCPPFLAGS) -I $(srcdir)/../src -c -g -o $@ $<
+
+$(ALL_OBJS): $(srcdir)/../src/adns.h $(srcdir)/../src/internal.h
+$(ALL_OBJS): harness.h hsyscalls.h
+$(ADH_OBJS): $(srcdir)/../client/adnshost.h
+
+%:: %.m4 hmacros.i4 hsyscalls.i4
+ $(M4) -P -I$(srcdir) $< >$@-a.new
+ sed -e 's/hm_comma/,/g; s/hm_squote/'\''/g; /^[ ]*$$/d' <$@-a.new >$@-b.new
+ @mv -f $@-b.new $(srcdir)/$@; rm -f $@-a.new
diff --git a/regress/addcases b/regress/addcases
new file mode 100755
index 0000000..064a2a7
--- /dev/null
+++ b/regress/addcases
@@ -0,0 +1,29 @@
+#!/bin/sh
+# usage: ./addcases <casename> ...
+#
+# This file is part of adns, which is
+# Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+# Copyright (C) 2014 Mark Wooding
+# Copyright (C) 1999-2000,2003,2006 Tony Finch
+# Copyright (C) 1991 Massachusetts Institute of Technology
+# (See the file INSTALL for full details.)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation.
+
+set -e
+
+for f in "$@"
+do
+ cvs add "case-$f".{sys,out,err}
+done
diff --git a/regress/adnshost-xinitflags.text b/regress/adnshost-xinitflags.text
new file mode 100644
index 0000000..809195c
--- /dev/null
+++ b/regress/adnshost-xinitflags.text
@@ -0,0 +1 @@
+--debug --config
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-1stservbroken.err b/regress/case-1stservbroken.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-1stservbroken.err
diff --git a/regress/case-1stservbroken.out b/regress/case-1stservbroken.out
new file mode 100644
index 0000000..8a1790c
--- /dev/null
+++ b/regress/case-1stservbroken.out
@@ -0,0 +1,39 @@
+adns debug: using nameserver 172.18.45.2
+adns debug: using nameserver 172.18.45.6
+trunc.test.iwj.relativity.greenend.org.uk flags 0 type 12 PTR(raw) submitted
+adns warning: datagram receive error: Connection refused
+adns debug: TCP connected (NS=172.18.45.2)
+adns warning: TCP connection failed: read: Broken pipe (NS=172.18.45.2)
+adns debug: TCP connected (NS=172.18.45.6)
+trunc.test.iwj.relativity.greenend.org.uk flags 0 type PTR(raw): OK; nrrs=30; cname=$; owner=$; ttl=60
+ long.domain.to.force.truncation.0.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.1.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.2.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.3.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.4.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.5.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.6.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.7.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.8.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.9.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.10.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.11.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.12.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.13.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.14.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.15.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.16.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.17.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.18.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.19.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.20.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.21.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.22.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.23.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.24.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.25.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.26.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.27.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.28.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.29.test.iwj.relativity.greenend.org.uk
+rc=0
diff --git a/regress/case-1stservbroken.sys b/regress/case-1stservbroken.sys
new file mode 100644
index 0000000..fe4363c
--- /dev/null
+++ b/regress/case-1stservbroken.sys
@@ -0,0 +1,183 @@
+adnstest 1stservbroken
+:0x0|12 trunc.test.iwj.relativity.greenend.org.uk
+ start 940102940.701451
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000612
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000605
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000573
+ sendto fd=4 addr=172.18.45.2:53
+ 311f0100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ sendto=59
+ +0.006374
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.993626
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001402
+ recvfrom fd=4 buflen=512
+ recvfrom=ECONNREFUSED
+ +0.000666
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.991558
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-02914
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ sendto=59
+ +0.002262
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997738
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000973
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8380 00010008 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001c0 0c000c00
+ 01000000 3c004704 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275
+ 6e636174 696f6e01 30047465 73740369 776a0a72 656c6174 69766974 79086772
+ 65656e65 6e64036f 72670275 6b00c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0131 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0132 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0133 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0134 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0135 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0136 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0137 c069.
+ +0.004340
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.005126
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000742
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000604
+ connect fd=5 addr=172.18.45.2:53
+ connect=EINPROGRESS
+ +0.000797
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000829
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.987562
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.001172
+ read fd=5 buflen=1
+ read=OK
+ .
+ +0.001161
+ write fd=5
+ 003b311f 01000001 00000000 00000574 72756e63 04746573 74036977 6a0a7265
+ 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000c00 01.
+ write=61
+ +0.003598
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.981631
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.001370
+ read fd=5 buflen=2
+ read=EPIPE
+ +0.001699
+ close fd=5
+ close=OK
+ +0.000687
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.004865
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000611
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000574
+ connect fd=5 addr=172.18.45.6:53
+ connect=EINPROGRESS
+ +0.001082
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.992868
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.001011
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000595
+ write fd=5
+ 003b311f 01000001 00000000 00000574 72756e63 04746573 74036977 6a0a7265
+ 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000c00 01.
+ write=61
+ +0.005087
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.964049
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.001295
+ read fd=5 buflen=2
+ read=OK
+ 0638.
+ +0.000649
+ read fd=5 buflen=1592
+ read=OK
+ 311f8580 0001001e 00010001 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001c0 0c000c00
+ 01000000 3c004704 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275
+ 6e636174 696f6e01 30047465 73740369 776a0a72 656c6174 69766974 79086772
+ 65656e65 6e64036f 72670275 6b00c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0131 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0132 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0133 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0134 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0135 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0136 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0137 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0138 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0139 c069c00c
+ 000c0001 0000003c 0025046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0231 30c069c0 0c000c00 01000000 3c002504 6c6f6e67
+ 06646f6d 61696e02 746f0566 6f726365 0a747275 6e636174 696f6e02 3131c069
+ c00c000c 00010000 003c0025 046c6f6e 6706646f 6d61696e 02746f05 666f7263
+ 650a7472 756e6361 74696f6e 023132c0 69c00c00 0c000100 00003c00 25046c6f
+ 6e670664 6f6d6169 6e02746f 05666f72 63650a74 72756e63 6174696f 6e023133
+ c069c00c 000c0001 0000003c 0025046c 6f6e6706 646f6d61 696e0274 6f05666f
+ 7263650a 7472756e 63617469 6f6e0231 34c069c0 0c000c00 01000000 3c002504
+ 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275 6e636174 696f6e02
+ 3135c069 c00c000c 00010000 003c0025 046c6f6e 6706646f 6d61696e 02746f05
+ 666f7263 650a7472 756e6361 74696f6e 023136c0 69c00c00 0c000100 00003c00
+ 25046c6f 6e670664 6f6d6169 6e02746f 05666f72 63650a74 72756e63 6174696f
+ 6e023137 c069c00c 000c0001 0000003c 0025046c 6f6e6706 646f6d61 696e0274
+ 6f05666f 7263650a 7472756e 63617469 6f6e0231 38c069c0 0c000c00 01000000
+ 3c002504 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275 6e636174
+ 696f6e02 3139c069 c00c000c 00010000 003c0025 046c6f6e 6706646f 6d61696e
+ 02746f05 666f7263 650a7472 756e6361 74696f6e 023230c0 69c00c00 0c000100
+ 00003c00 25046c6f 6e670664 6f6d6169 6e02746f 05666f72 63650a74 72756e63
+ 6174696f 6e023231 c069c00c 000c0001 0000003c 0025046c 6f6e6706 646f6d61
+ 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0232 32c069c0 0c000c00
+ 01000000 3c002504 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275
+ 6e636174 696f6e02 3233c069 c00c000c 00010000 003c0025 046c6f6e 6706646f
+ 6d61696e 02746f05 666f7263 650a7472 756e6361 74696f6e 023234c0 69c00c00
+ 0c000100 00003c00 25046c6f 6e670664 6f6d6169 6e02746f 05666f72 63650a74
+ 72756e63 6174696f 6e023235 c069c00c 000c0001 0000003c 0025046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0232 36c069c0
+ 0c000c00 01000000 3c002504 6c6f6e67 06646f6d 61696e02 746f0566 6f726365
+ 0a747275 6e636174 696f6e02 3237c069 c00c000c 00010000 003c0025 046c6f6e
+ 6706646f 6d61696e 02746f05 666f7263 650a7472 756e6361 74696f6e 023238c0
+ 69c00c00 0c000100 00003c00 25046c6f 6e670664 6f6d6169 6e02746f 05666f72
+ 63650a74 72756e63 6174696f 6e023239 c069c069 00020001 0000003c 0006036e
+ 7330c072 036e7330 c0720001 00010001 51800004 ac122d06.
+ +0.009426
+ read fd=5 buflen=1594
+ read=EAGAIN
+ +0.033394
+ close fd=4
+ close=OK
+ +0.054384
+ close fd=5
+ close=OK
+ +0.000977
diff --git a/regress/case-1stservtotcp.err b/regress/case-1stservtotcp.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-1stservtotcp.err
diff --git a/regress/case-1stservtotcp.out b/regress/case-1stservtotcp.out
new file mode 100644
index 0000000..fe2f632
--- /dev/null
+++ b/regress/case-1stservtotcp.out
@@ -0,0 +1,37 @@
+adns debug: using nameserver 10.0.0.1
+adns debug: using nameserver 172.18.45.6
+trunc.test.iwj.relativity.greenend.org.uk flags 0 type 12 PTR(raw) submitted
+adns warning: TCP connection failed: unable to make connection: timed out (NS=10.0.0.1)
+adns debug: TCP connected (NS=172.18.45.6)
+trunc.test.iwj.relativity.greenend.org.uk flags 0 type PTR(raw): OK; nrrs=30; cname=$; owner=$; ttl=59
+ long.domain.to.force.truncation.0.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.1.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.2.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.3.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.4.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.5.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.6.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.7.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.8.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.9.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.10.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.11.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.12.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.13.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.14.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.15.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.16.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.17.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.18.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.19.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.20.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.21.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.22.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.23.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.24.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.25.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.26.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.27.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.28.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.29.test.iwj.relativity.greenend.org.uk
+rc=0
diff --git a/regress/case-1stservtotcp.sys b/regress/case-1stservtotcp.sys
new file mode 100644
index 0000000..e6ef382
--- /dev/null
+++ b/regress/case-1stservtotcp.sys
@@ -0,0 +1,159 @@
+adnstest 1stservto
+:0x0|12 trunc.test.iwj.relativity.greenend.org.uk
+ start 940100259.965940
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000698
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000611
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000582
+ sendto fd=4 addr=10.0.0.1:53
+ 311f0100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ sendto=59
+ +0.006634
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.993366
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-05507
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ sendto=59
+ +0.002310
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997690
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000996
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8380 00010008 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001c0 0c000c00
+ 01000000 3c004704 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275
+ 6e636174 696f6e01 30047465 73740369 776a0a72 656c6174 69766974 79086772
+ 65656e65 6e64036f 72670275 6b00c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0131 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0132 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0133 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0134 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0135 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0136 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0137 c069.
+ +0.004379
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.009970
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000612
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000602
+ connect fd=5 addr=10.0.0.1:53
+ connect=EINPROGRESS
+ +0.000850
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000646
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.982941
+ select=0 rfds=[] wfds=[] efds=[]
+ +14.-10600
+ close fd=5
+ close=OK
+ +0.000750
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.004957
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000593
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000582
+ connect fd=5 addr=172.18.45.6:53
+ connect=EINPROGRESS
+ +0.001140
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.991978
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.001038
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.001203
+ write fd=5
+ 003b311f 01000001 00000000 00000574 72756e63 04746573 74036977 6a0a7265
+ 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000c00 01.
+ write=61
+ +0.007301
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=15.975977
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.001431
+ read fd=5 buflen=2
+ read=OK
+ 0638.
+ +0.001841
+ read fd=5 buflen=1592
+ read=OK
+ 311f8580 0001001e 00010001 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001c0 0c000c00
+ 01000000 3c004704 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275
+ 6e636174 696f6e01 30047465 73740369 776a0a72 656c6174 69766974 79086772
+ 65656e65 6e64036f 72670275 6b00c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0131 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0132 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0133 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0134 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0135 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0136 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0137 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0138 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0139 c069c00c
+ 000c0001 0000003c 0025046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0231 30c069c0 0c000c00 01000000 3c002504 6c6f6e67
+ 06646f6d 61696e02 746f0566 6f726365 0a747275 6e636174 696f6e02 3131c069
+ c00c000c 00010000 003c0025 046c6f6e 6706646f 6d61696e 02746f05 666f7263
+ 650a7472 756e6361 74696f6e 023132c0 69c00c00 0c000100 00003c00 25046c6f
+ 6e670664 6f6d6169 6e02746f 05666f72 63650a74 72756e63 6174696f 6e023133
+ c069c00c 000c0001 0000003c 0025046c 6f6e6706 646f6d61 696e0274 6f05666f
+ 7263650a 7472756e 63617469 6f6e0231 34c069c0 0c000c00 01000000 3c002504
+ 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275 6e636174 696f6e02
+ 3135c069 c00c000c 00010000 003c0025 046c6f6e 6706646f 6d61696e 02746f05
+ 666f7263 650a7472 756e6361 74696f6e 023136c0 69c00c00 0c000100 00003c00
+ 25046c6f 6e670664 6f6d6169 6e02746f 05666f72 63650a74 72756e63 6174696f
+ 6e023137 c069c00c 000c0001 0000003c 0025046c 6f6e6706 646f6d61 696e0274
+ 6f05666f 7263650a 7472756e 63617469 6f6e0231 38c069c0 0c000c00 01000000
+ 3c002504 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275 6e636174
+ 696f6e02 3139c069 c00c000c 00010000 003c0025 046c6f6e 6706646f 6d61696e
+ 02746f05 666f7263 650a7472 756e6361 74696f6e 023230c0 69c00c00 0c000100
+ 00003c00 25046c6f 6e670664 6f6d6169 6e02746f 05666f72 63650a74 72756e63
+ 6174696f 6e023231 c069c00c 000c0001 0000003c 0025046c 6f6e6706 646f6d61
+ 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0232 32c069c0 0c000c00
+ 01000000 3c002504 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275
+ 6e636174 696f6e02 3233c069 c00c000c 00010000 003c0025 046c6f6e 6706646f
+ 6d61696e 02746f05 666f7263 650a7472 756e6361 74696f6e 023234c0 69c00c00
+ 0c000100 00003c00 25046c6f 6e670664 6f6d6169 6e02746f 05666f72 63650a74
+ 72756e63 6174696f 6e023235 c069c00c 000c0001 0000003c 0025046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0232 36c069c0
+ 0c000c00 01000000 3c002504 6c6f6e67 06646f6d 61696e02 746f0566 6f726365
+ 0a747275 6e636174 696f6e02 3237c069 c00c000c 00010000 003c0025 046c6f6e
+ 6706646f 6d61696e 02746f05 666f7263 650a7472 756e6361 74696f6e 023238c0
+ 69c00c00 0c000100 00003c00 25046c6f 6e670664 6f6d6169 6e02746f 05666f72
+ 63650a74 72756e63 6174696f 6e023239 c069c069 00020001 0000003c 0006036e
+ 7330c072 036e7330 c0720001 00010001 51800004 ac122d06.
+ +1.-990207
+ read fd=5 buflen=1594
+ read=EAGAIN
+ +0.040526
+ close fd=4
+ close=OK
+ +0.065240
+ close fd=5
+ close=OK
+ +0.000982
diff --git a/regress/case-2ndservok.err b/regress/case-2ndservok.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-2ndservok.err
diff --git a/regress/case-2ndservok.out b/regress/case-2ndservok.out
new file mode 100644
index 0000000..2c72438
--- /dev/null
+++ b/regress/case-2ndservok.out
@@ -0,0 +1,6 @@
+adns debug: using nameserver 172.18.45.36
+adns debug: using nameserver 172.18.45.6
+davenant.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+davenant.relativity.greenend.org.uk flags 0 type A(-): OK; nrrs=1; cname=$; owner=$; ttl=86400
+ 172.18.45.6
+rc=0
diff --git a/regress/case-2ndservok.sys b/regress/case-2ndservok.sys
new file mode 100644
index 0000000..6765361
--- /dev/null
+++ b/regress/case-2ndservok.sys
@@ -0,0 +1,47 @@
+adnstest 2ndserver
+:0x0|1 davenant.relativity.greenend.org.uk
+ start 940100095.012145
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000173
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000053
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000042
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08646176 656e616e 740a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=53
+ +0.001041
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998959
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04931
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.003890
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009910
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 08646176 656e616e 740a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=53
+ +0.000863
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999137
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000126
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010001 00030003 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 45000200 01000151 80000603 6e7332c0 45c06b00 01000100 01518000
+ 04ac122d 06c07d00 01000100 01518000 04ac122d 41c08f00 01000100 01518000
+ 04ac122d 01.
+ +0.001026
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000423
+ close fd=4
+ close=OK
+ +0.000435
diff --git a/regress/case-2ndservtcp.err b/regress/case-2ndservtcp.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-2ndservtcp.err
diff --git a/regress/case-2ndservtcp.out b/regress/case-2ndservtcp.out
new file mode 100644
index 0000000..857176d
--- /dev/null
+++ b/regress/case-2ndservtcp.out
@@ -0,0 +1,37 @@
+adns debug: using nameserver 172.18.45.36
+adns debug: using nameserver 172.18.45.6
+trunc.test.iwj.relativity.greenend.org.uk flags 0 type 12 PTR(raw) submitted
+adns warning: TCP connection failed: connect/read: No route to host (NS=172.18.45.36)
+adns debug: TCP connected (NS=172.18.45.6)
+trunc.test.iwj.relativity.greenend.org.uk flags 0 type PTR(raw): OK; nrrs=30; cname=$; owner=$; ttl=60
+ long.domain.to.force.truncation.0.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.1.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.2.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.3.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.4.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.5.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.6.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.7.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.8.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.9.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.10.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.11.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.12.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.13.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.14.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.15.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.16.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.17.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.18.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.19.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.20.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.21.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.22.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.23.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.24.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.25.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.26.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.27.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.28.test.iwj.relativity.greenend.org.uk
+ long.domain.to.force.truncation.29.test.iwj.relativity.greenend.org.uk
+rc=0
diff --git a/regress/case-2ndservtcp.sys b/regress/case-2ndservtcp.sys
new file mode 100644
index 0000000..fa9e994
--- /dev/null
+++ b/regress/case-2ndservtcp.sys
@@ -0,0 +1,168 @@
+adnstest 2ndserver
+:0x0|12 trunc.test.iwj.relativity.greenend.org.uk
+ start 940100083.268555
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000169
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000053
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000040
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ sendto=59
+ +0.001167
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998833
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01463
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000296
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009912
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ sendto=59
+ +0.001357
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998643
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000126
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8380 00010008 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001c0 0c000c00
+ 01000000 3c004704 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275
+ 6e636174 696f6e01 30047465 73740369 776a0a72 656c6174 69766974 79086772
+ 65656e65 6e64036f 72670275 6b00c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0131 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0132 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0133 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0134 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0135 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0136 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0137 c069.
+ +0.002022
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.000905
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000041
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000038
+ connect fd=5 addr=172.18.45.36:53
+ connect=EINPROGRESS
+ +0.000162
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000062
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.996770
+ select=1 rfds=[] wfds=[5] efds=[]
+ +1.-14443
+ read fd=5 buflen=1
+ read=EHOSTUNREACH
+ +0.000193
+ close fd=5
+ close=OK
+ +0.000146
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.000678
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000041
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000039
+ connect fd=5 addr=172.18.45.6:53
+ connect=EINPROGRESS
+ +0.000455
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.998787
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.000135
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000062
+ write fd=5
+ 003b311f 01000001 00000000 00000574 72756e63 04746573 74036977 6a0a7265
+ 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000c00 01.
+ write=61
+ +0.004082
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.005381
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.000149
+ read fd=5 buflen=2
+ read=OK
+ 0638.
+ +0.000210
+ read fd=5 buflen=1592
+ read=OK
+ 311f8580 0001001e 00010001 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0c0001c0 0c000c00
+ 01000000 3c004704 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275
+ 6e636174 696f6e01 30047465 73740369 776a0a72 656c6174 69766974 79086772
+ 65656e65 6e64036f 72670275 6b00c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0131 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0132 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0133 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0134 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0135 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0136 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0137 c069c00c
+ 000c0001 0000003c 0024046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0138 c069c00c 000c0001 0000003c 0024046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0139 c069c00c
+ 000c0001 0000003c 0025046c 6f6e6706 646f6d61 696e0274 6f05666f 7263650a
+ 7472756e 63617469 6f6e0231 30c069c0 0c000c00 01000000 3c002504 6c6f6e67
+ 06646f6d 61696e02 746f0566 6f726365 0a747275 6e636174 696f6e02 3131c069
+ c00c000c 00010000 003c0025 046c6f6e 6706646f 6d61696e 02746f05 666f7263
+ 650a7472 756e6361 74696f6e 023132c0 69c00c00 0c000100 00003c00 25046c6f
+ 6e670664 6f6d6169 6e02746f 05666f72 63650a74 72756e63 6174696f 6e023133
+ c069c00c 000c0001 0000003c 0025046c 6f6e6706 646f6d61 696e0274 6f05666f
+ 7263650a 7472756e 63617469 6f6e0231 34c069c0 0c000c00 01000000 3c002504
+ 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275 6e636174 696f6e02
+ 3135c069 c00c000c 00010000 003c0025 046c6f6e 6706646f 6d61696e 02746f05
+ 666f7263 650a7472 756e6361 74696f6e 023136c0 69c00c00 0c000100 00003c00
+ 25046c6f 6e670664 6f6d6169 6e02746f 05666f72 63650a74 72756e63 6174696f
+ 6e023137 c069c00c 000c0001 0000003c 0025046c 6f6e6706 646f6d61 696e0274
+ 6f05666f 7263650a 7472756e 63617469 6f6e0231 38c069c0 0c000c00 01000000
+ 3c002504 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275 6e636174
+ 696f6e02 3139c069 c00c000c 00010000 003c0025 046c6f6e 6706646f 6d61696e
+ 02746f05 666f7263 650a7472 756e6361 74696f6e 023230c0 69c00c00 0c000100
+ 00003c00 25046c6f 6e670664 6f6d6169 6e02746f 05666f72 63650a74 72756e63
+ 6174696f 6e023231 c069c00c 000c0001 0000003c 0025046c 6f6e6706 646f6d61
+ 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0232 32c069c0 0c000c00
+ 01000000 3c002504 6c6f6e67 06646f6d 61696e02 746f0566 6f726365 0a747275
+ 6e636174 696f6e02 3233c069 c00c000c 00010000 003c0025 046c6f6e 6706646f
+ 6d61696e 02746f05 666f7263 650a7472 756e6361 74696f6e 023234c0 69c00c00
+ 0c000100 00003c00 25046c6f 6e670664 6f6d6169 6e02746f 05666f72 63650a74
+ 72756e63 6174696f 6e023235 c069c00c 000c0001 0000003c 0025046c 6f6e6706
+ 646f6d61 696e0274 6f05666f 7263650a 7472756e 63617469 6f6e0232 36c069c0
+ 0c000c00 01000000 3c002504 6c6f6e67 06646f6d 61696e02 746f0566 6f726365
+ 0a747275 6e636174 696f6e02 3237c069 c00c000c 00010000 003c0025 046c6f6e
+ 6706646f 6d61696e 02746f05 666f7263 650a7472 756e6361 74696f6e 023238c0
+ 69c00c00 0c000100 00003c00 25046c6f 6e670664 6f6d6169 6e02746f 05666f72
+ 63650a74 72756e63 6174696f 6e023239 c069c069 00020001 0000003c 0006036e
+ 7330c072 036e7330 c0720001 00010001 51800004 ac122d06.
+ +0.006071
+ read fd=5 buflen=1594
+ read=EAGAIN
+ +0.005347
+ close fd=4
+ close=OK
+ +0.004675
+ close fd=5
+ close=OK
+ +0.000433
diff --git a/regress/case-aaaa-simple.err b/regress/case-aaaa-simple.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-aaaa-simple.err
diff --git a/regress/case-aaaa-simple.out b/regress/case-aaaa-simple.out
new file mode 100644
index 0000000..86ee6c0
--- /dev/null
+++ b/regress/case-aaaa-simple.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.29.199.224
+stratocaster.distorted.org.uk flags 0 type 28 AAAA(-) submitted
+stratocaster.distorted.org.uk flags 0 type AAAA(-): OK; nrrs=1; cname=$; owner=$; ttl=14400
+ 2001:ba8:1d9:2::4
+rc=0
diff --git a/regress/case-aaaa-simple.sys b/regress/case-aaaa-simple.sys
new file mode 100644
index 0000000..25873ed
--- /dev/null
+++ b/regress/case-aaaa-simple.sys
@@ -0,0 +1,40 @@
+./adnstest distorted
+:0x0|28 stratocaster.distorted.org.uk
+ start 1401870460.843715
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000022
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000010
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000009
+ sendto fd=6 addr=172.29.199.224:53
+ 311f0100 00010000 00000000 0c737472 61746f63 61737465 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000072
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999928
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.001805
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 311f8580 00010001 00040008 0c737472 61746f63 61737465 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010ba801
+ d9000200 00000000 000004c0 19000200 01000038 40000d07 76616d70 69726502
+ 6e73c019 c0190002 00010000 3840000d 0a74656c 65636173 746572c0 5fc01900
+ 02000100 00384000 0c097072 65636973 696f6ec0 5fc01900 02000100 00384000
+ 09067261 64697573 c05fc0a1 00010001 00003840 0004ac1d c701c0a1 001c0001
+ 00003840 00102001 04709740 00010000 00000000 0001c057 00010001 00003840
+ 0004ac1d c705c057 001c0001 00003840 00102001 04709740 00010000 00000000
+ 0005c089 00010001 00003840 0004ac1d c7b2c089 001c0001 00003840 00102001
+ 0ba801d9 00020000 00000000 0002c070 00010001 00003840 0004ac1d c7b3c070
+ 001c0001 00003840 00102001 0ba801d9 00020000 00000000 0003.
+ +0.000125
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000021
+ close fd=6
+ close=OK
+ +0.000029
diff --git a/regress/case-aaaa-sort.err b/regress/case-aaaa-sort.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-aaaa-sort.err
diff --git a/regress/case-aaaa-sort.out b/regress/case-aaaa-sort.out
new file mode 100644
index 0000000..9b36750
--- /dev/null
+++ b/regress/case-aaaa-sort.out
@@ -0,0 +1,10 @@
+adns debug: using nameserver 172.29.199.224
+maddr.dnserr.distorted.org.uk flags 0 type 28 AAAA(-) submitted
+maddr.dnserr.distorted.org.uk flags 0 type AAAA(-): OK; nrrs=6; cname=$; owner=$; ttl=14400
+ 2001:db8:2::1
+ 2001:db8:2::2
+ 2001:db8:3::2
+ 2001:db8:1::1
+ 2001:db8:1::2
+ 2001:db8:3::1
+rc=0
diff --git a/regress/case-aaaa-sort.sys b/regress/case-aaaa-sort.sys
new file mode 100644
index 0000000..4860661
--- /dev/null
+++ b/regress/case-aaaa-sort.sys
@@ -0,0 +1,45 @@
+./adnstest distorted
+:0x0|28 maddr.dnserr.distorted.org.uk
+ start 1401871954.600653
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000061
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000032
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000026
+ sendto fd=6 addr=172.29.199.224:53
+ 311f0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000195
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999805
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.004328
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 311f8580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 03000000 00000000 000002c0 0c001c00 01000038 40001020 010db800 01000000
+ 00000000 000001c0 0c001c00 01000038 40001020 010db800 01000000 00000000
+ 000002c0 0c001c00 01000038 40001020 010db800 02000000 00000000 000001c0
+ 0c001c00 01000038 40001020 010db800 02000000 00000000 000002c0 0c001c00
+ 01000038 40001020 010db800 03000000 00000000 000001c0 12000200 01000038
+ 40000d07 76616d70 69726502 6e73c012 c0120002 00010000 38400009 06726164
+ 697573c0 ebc01200 02000100 00384000 0d0a7465 6c656361 73746572 c0ebc012
+ 00020001 00003840 000c0970 72656369 73696f6e c0ebc0fc 00010001 00003840
+ 00043e31 cc92c0fc 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c0e3 00010001 00003840 00043e31 cc96c0e3 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c12a 00010001 00003840 0004d40d c646c12a
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c111 00010001
+ 00003840 0004d40d c647c111 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000428
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000092
+ close fd=6
+ close=OK
+ +0.000520
diff --git a/regress/case-abbrev.err b/regress/case-abbrev.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-abbrev.err
diff --git a/regress/case-abbrev.out b/regress/case-abbrev.out
new file mode 100644
index 0000000..991b128
--- /dev/null
+++ b/regress/case-abbrev.out
@@ -0,0 +1,40 @@
+adns debug: using nameserver 172.18.45.6
+greenend.org.uk flags 0 type 1 A(-) submitted
+greenend.org.uk flags 0 type 2 NS(raw) submitted
+greenend.org.uk flags 0 type 5 CNAME(-) submitted
+greenend.org.uk flags 0 type 6 SOA(raw) submitted
+greenend.org.uk flags 0 type 12 PTR(raw) submitted
+greenend.org.uk flags 0 type 13 HINFO(-) submitted
+greenend.org.uk flags 0 type 15 MX(raw) submitted
+greenend.org.uk flags 0 type 16 TXT(-) submitted
+greenend.org.uk flags 0 type 17 RP(raw) submitted
+greenend.org.uk flags 0 type 65537 A(addr) submitted
+greenend.org.uk flags 0 type 65538 NS(+addr) submitted
+greenend.org.uk flags 0 type 65548 PTR(checked) submitted
+greenend.org.uk flags 0 type 65551 MX(+addr) submitted
+greenend.org.uk flags 0 type 131078 SOA(822) submitted
+greenend.org.uk flags 0 type 131089 RP(822) submitted
+greenend.org.uk flags 0 type PTR(checked) ownflags=a: querydomainwrong; nrrs=0; cname=$; owner=$; ttl=604800
+greenend.org.uk flags 0 type A(-) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type NS(raw) ownflags=a: ok; nrrs=2; cname=$; owner=$; ttl=86400
+ ns1.relativity.greenend.org.uk
+ ns0.relativity.greenend.org.uk
+greenend.org.uk flags 0 type CNAME(-) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type SOA(raw) ownflags=a: ok; nrrs=1; cname=$; owner=$; ttl=86400
+ ns.chiark.greenend.org.uk hostmaster.greenend.org.uk 1999061300 28800 7200 604800 86400
+greenend.org.uk flags 0 type PTR(raw) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type HINFO(-) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type MX(raw) ownflags=a: ok; nrrs=1; cname=$; owner=$; ttl=86400
+ 10 chiark.greenend.org.uk
+greenend.org.uk flags 0 type TXT(-) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type RP(raw) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type A(addr) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+greenend.org.uk flags 0 type NS(+addr) ownflags=a: ok; nrrs=2; cname=$; owner=$; ttl=86400
+ ns0.relativity.greenend.org.uk ok 0 ok "OK" ( INET 172.18.45.6 )
+ ns1.relativity.greenend.org.uk ok 0 ok "OK" ( INET 172.18.45.65 )
+greenend.org.uk flags 0 type MX(+addr) ownflags=a: ok; nrrs=1; cname=$; owner=$; ttl=86400
+ 10 chiark.greenend.org.uk ok 0 ok "OK" ( INET 195.224.76.132 )
+greenend.org.uk flags 0 type SOA(822) ownflags=a: ok; nrrs=1; cname=$; owner=$; ttl=86400
+ ns.chiark.greenend.org.uk hostmaster@greenend.org.uk 1999061300 28800 7200 604800 86400
+greenend.org.uk flags 0 type RP(822) ownflags=a: nodata; nrrs=0; cname=$; owner=$; ttl=86400
+rc=0
diff --git a/regress/case-abbrev.sys b/regress/case-abbrev.sys
new file mode 100644
index 0000000..1d49978
--- /dev/null
+++ b/regress/case-abbrev.sys
@@ -0,0 +1,265 @@
+adnstest default -0x400
+,a/greenend.org.uk
+ start 929580078.542974
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000202
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000086
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000061
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000623
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000425
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000371
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000369
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000369
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000414
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000371
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000368
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000368
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000367
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000733
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000378
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000391
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000467
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.993986
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005183
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000100
+ 01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+ 73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000588
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000147
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.988691
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004348
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010002 00000002 08677265 656e656e 64036f72 6702756b 00000200
+ 01c00c00 02000100 01518000 11036e73 310a7265 6c617469 76697479 c00cc00c
+ 00020001 00015180 0006036e 7330c031 c02d0001 00010001 51800004 ac122d41
+ c04a0001 00010001 51800004 ac122d06.
+ +0.000642
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000247
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.983879
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002737
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000500
+ 01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+ 73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000541
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000099
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.980873
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005000
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228580 00010001 00020002 08677265 656e656e 64036f72 6702756b 00000600
+ 01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+ 73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180c00c 00020001
+ 00015180 0011036e 73310a72 656c6174 69766974 79c00cc0 0c000200 01000151
+ 80000603 6e7330c0 6ac06600 01000100 01518000 04ac122d 41c08300 01000100
+ 01518000 04ac122d 06.
+ +0.000913
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000195
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.975134
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002529
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+ 73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000541
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000100
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.972333
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003175
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+ 73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000538
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000122
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.968912
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005109
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258580 00010001 00020003 08677265 656e656e 64036f72 6702756b 00000f00
+ 01c00c00 0f000100 01518000 0b000a06 63686961 726bc00c c00c0002 00010001
+ 51800011 036e7331 0a72656c 61746976 697479c0 0cc00c00 02000100 01518000
+ 06036e73 30c048c0 2f000100 01000151 800004c3 e04c84c0 44000100 01000151
+ 800004ac 122d41c0 61000100 01000151 800004ac 122d06.
+ +0.000826
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000173
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.963175
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002746
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00001000
+ 01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+ 73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000539
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000127
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.960131
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003161
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00001100
+ 01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+ 73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000537
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000098
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.956703
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003055
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00000100
+ 01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+ 73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000537
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000126
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.953352
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004322
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8580 00010002 00000002 08677265 656e656e 64036f72 6702756b 00000200
+ 01c00c00 02000100 01518000 11036e73 300a7265 6c617469 76697479 c00cc00c
+ 00020001 00015180 0006036e 7331c031 c02d0001 00010001 51800004 ac122d06
+ c04a0001 00010001 51800004 ac122d41.
+ +0.000638
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.003678
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.945447
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005215
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8580 00010001 00020003 08677265 656e656e 64036f72 6702756b 00000f00
+ 01c00c00 0f000100 01518000 0b000a06 63686961 726bc00c c00c0002 00010001
+ 51800011 036e7330 0a72656c 61746976 697479c0 0cc00c00 02000100 01518000
+ 06036e73 31c048c0 2f000100 01000151 800004c3 e04c84c0 44000100 01000151
+ 800004ac 122d06c0 61000100 01000151 800004ac 122d41.
+ +0.000822
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000197
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.939591
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004484
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8580 00010001 00020002 08677265 656e656e 64036f72 6702756b 00000600
+ 01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+ 73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180c00c 00020001
+ 00015180 0011036e 73300a72 656c6174 69766974 79c00cc0 0c000200 01000151
+ 80000603 6e7331c0 6ac06600 01000100 01518000 04ac122d 06c08300 01000100
+ 01518000 04ac122d 41.
+ +0.000910
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000223
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.934365
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002704
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8580 00010000 00010000 08677265 656e656e 64036f72 6702756b 00001100
+ 01c00c00 06000100 01518000 2d026e73 06636869 61726bc0 0c0a686f 73746d61
+ 73746572 c00c7727 41340000 70800000 1c200009 3a800001 5180.
+ +0.000537
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000099
+ close fd=4
+ close=OK
+ +0.000153
diff --git a/regress/case-abbrevto.err b/regress/case-abbrevto.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-abbrevto.err
diff --git a/regress/case-abbrevto.out b/regress/case-abbrevto.out
new file mode 100644
index 0000000..cdccc4b
--- /dev/null
+++ b/regress/case-abbrevto.out
@@ -0,0 +1,32 @@
+adns debug: using nameserver 172.18.45.36
+greenend.org.uk flags 0 type 1 A(-) submitted
+greenend.org.uk flags 0 type 2 NS(raw) submitted
+greenend.org.uk flags 0 type 5 CNAME(-) submitted
+greenend.org.uk flags 0 type 6 SOA(raw) submitted
+greenend.org.uk flags 0 type 12 PTR(raw) submitted
+greenend.org.uk flags 0 type 13 HINFO(-) submitted
+greenend.org.uk flags 0 type 15 MX(raw) submitted
+greenend.org.uk flags 0 type 16 TXT(-) submitted
+greenend.org.uk flags 0 type 17 RP(raw) submitted
+greenend.org.uk flags 0 type 65537 A(addr) submitted
+greenend.org.uk flags 0 type 65538 NS(+addr) submitted
+greenend.org.uk flags 0 type 65548 PTR(checked) submitted
+greenend.org.uk flags 0 type 65551 MX(+addr) submitted
+greenend.org.uk flags 0 type 131078 SOA(822) submitted
+greenend.org.uk flags 0 type 131089 RP(822) submitted
+greenend.org.uk flags 0 type PTR(checked) ownflags=a: querydomainwrong; nrrs=0; cname=$; owner=$; ttl=604800
+greenend.org.uk flags 0 type A(-) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type NS(raw) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type CNAME(-) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type SOA(raw) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type PTR(raw) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type HINFO(-) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type MX(raw) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type TXT(-) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type RP(raw) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type NS(+addr) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type MX(+addr) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type SOA(822) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type RP(822) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+greenend.org.uk flags 0 type A(addr) ownflags=a: timeout; nrrs=0; cname=$; owner=$; ttl=604770
+rc=0
diff --git a/regress/case-abbrevto.sys b/regress/case-abbrevto.sys
new file mode 100644
index 0000000..b26be7b
--- /dev/null
+++ b/regress/case-abbrevto.sys
@@ -0,0 +1,1164 @@
+adnstest noserver -0x400
+,a/greenend.org.uk
+ start 929580082.699581
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000192
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000084
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000062
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.014155
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000420
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000322
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000322
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000320
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000366
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000324
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000318
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000319
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000319
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000638
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000319
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000343
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000399
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981116
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-18933
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000049
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010028
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000363
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.003813
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009575
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000291
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000302
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000271
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000270
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000271
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000270
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000565
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000271
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000271
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.986185
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-14326
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000511
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009965
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000386
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000098
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009616
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000285
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000279
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000271
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000298
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000546
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000271
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000275
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.986134
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-14145
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000279
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009905
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000427
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000317
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000283
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000280
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000278
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000315
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000551
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000318
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000274
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995581
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04960
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000541
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009952
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000430
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000310
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000309
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000278
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000567
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000275
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995632
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04751
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000383
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009901
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000339
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000280
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000323
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000317
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000548
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000274
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995734
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04720
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000454
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009970
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000393
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000303
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000297
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000546
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000297
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995695
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04679
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000374
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009892
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000323
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000280
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000307
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000547
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000301
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000273
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995776
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04674
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000450
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009968
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000368
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000305
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000307
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000314
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000600
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000274
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995636
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04747
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000383
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009901
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000324
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000306
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000297
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000547
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000273
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995790
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04665
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000455
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009985
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000387
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000305
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000300
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000278
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000550
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000301
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995681
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04719
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000400
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009906
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000320
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000279
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000319
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000278
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000548
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000300
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000275
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995757
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04698
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000455
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009982
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000385
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000304
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000306
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000281
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000568
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000274
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995688
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04700
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000388
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009990
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000328
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000309
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000302
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000277
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000549
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000273
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995768
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04700
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000468
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009893
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000368
+ sendto fd=4 addr=172.18.45.36:53
+ 31200100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000302
+ sendto fd=4 addr=172.18.45.36:53
+ 31210100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000500
+ 01.
+ sendto=33
+ +0.000272
+ sendto fd=4 addr=172.18.45.36:53
+ 31220100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+ 31230100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000c00
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31240100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000d00
+ 01.
+ sendto=33
+ +0.000275
+ sendto fd=4 addr=172.18.45.36:53
+ 31250100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000321
+ sendto fd=4 addr=172.18.45.36:53
+ 31260100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001000
+ 01.
+ sendto=33
+ +0.000276
+ sendto fd=4 addr=172.18.45.36:53
+ 31270100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 31290100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=33
+ +0.000273
+ sendto fd=4 addr=172.18.45.36:53
+ 312a0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000200
+ 01.
+ sendto=33
+ +0.000545
+ sendto fd=4 addr=172.18.45.36:53
+ 312c0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=33
+ +0.000274
+ sendto fd=4 addr=172.18.45.36:53
+ 312d0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00000600
+ 01.
+ sendto=33
+ +0.000296
+ sendto fd=4 addr=172.18.45.36:53
+ 312e0100 00010000 00000000 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=33
+ +0.000277
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995699
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04687
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000386
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009894
+ close fd=4
+ close=OK
+ +0.000779
diff --git a/regress/case-addr-multi-af.err b/regress/case-addr-multi-af.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-addr-multi-af.err
diff --git a/regress/case-addr-multi-af.out b/regress/case-addr-multi-af.out
new file mode 100644
index 0000000..d34d03b
--- /dev/null
+++ b/regress/case-addr-multi-af.out
@@ -0,0 +1,164 @@
+adns debug: using nameserver 172.29.199.224
+maddr.dnserr.distorted.org.uk flags 0 type 65537 A(addr) submitted
+maddr.dnserr.distorted.org.uk flags 0 type 65551 MX(+addr) submitted
+maddr.dnserr.distorted.org.uk flags 0 type 65537 A(addr) submitted
+maddr.dnserr.distorted.org.uk flags 0 type 65551 MX(+addr) submitted
+mx.dnserr.distorted.org.uk flags 0 type 65537 A(addr) submitted
+mx.dnserr.distorted.org.uk flags 0 type 65551 MX(+addr) submitted
+mx.dnserr.distorted.org.uk flags 0 type 65537 A(addr) submitted
+mx.dnserr.distorted.org.uk flags 0 type 65551 MX(+addr) submitted
+maddr.dnserr.distorted.org.uk flags 1024 type 65537 A(addr) submitted
+maddr.dnserr.distorted.org.uk flags 1024 type 65551 MX(+addr) submitted
+maddr.dnserr.distorted.org.uk flags 1024 type 65537 A(addr) submitted
+maddr.dnserr.distorted.org.uk flags 1024 type 65551 MX(+addr) submitted
+mx.dnserr.distorted.org.uk flags 1024 type 65537 A(addr) submitted
+mx.dnserr.distorted.org.uk flags 1024 type 65551 MX(+addr) submitted
+mx.dnserr.distorted.org.uk flags 1024 type 65537 A(addr) submitted
+mx.dnserr.distorted.org.uk flags 1024 type 65551 MX(+addr) submitted
+maddr.dnserr.distorted.org.uk flags 2048 type 65537 A(addr) submitted
+maddr.dnserr.distorted.org.uk flags 2048 type 65551 MX(+addr) submitted
+maddr.dnserr.distorted.org.uk flags 2048 type 65537 A(addr) submitted
+maddr.dnserr.distorted.org.uk flags 2048 type 65551 MX(+addr) submitted
+mx.dnserr.distorted.org.uk flags 2048 type 65537 A(addr) submitted
+mx.dnserr.distorted.org.uk flags 2048 type 65551 MX(+addr) submitted
+mx.dnserr.distorted.org.uk flags 2048 type 65537 A(addr) submitted
+mx.dnserr.distorted.org.uk flags 2048 type 65551 MX(+addr) submitted
+maddr.dnserr.distorted.org.uk flags 3072 type 65537 A(addr) submitted
+maddr.dnserr.distorted.org.uk flags 3072 type 65551 MX(+addr) submitted
+maddr.dnserr.distorted.org.uk flags 3072 type 65537 A(addr) submitted
+maddr.dnserr.distorted.org.uk flags 3072 type 65551 MX(+addr) submitted
+mx.dnserr.distorted.org.uk flags 3072 type 65537 A(addr) submitted
+mx.dnserr.distorted.org.uk flags 3072 type 65551 MX(+addr) submitted
+mx.dnserr.distorted.org.uk flags 3072 type 65537 A(addr) submitted
+mx.dnserr.distorted.org.uk flags 3072 type 65551 MX(+addr) submitted
+maddr.dnserr.distorted.org.uk flags 0 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+maddr.dnserr.distorted.org.uk flags 0 type A(addr): OK; nrrs=6; cname=$; owner=$; ttl=14400
+ INET 198.51.100.1
+ INET 198.51.100.2
+ INET 192.0.2.2
+ INET 203.0.113.1
+ INET 203.0.113.2
+ INET 192.0.2.1
+maddr.dnserr.distorted.org.uk flags 0 type A(addr): OK; nrrs=12; cname=$; owner=$; ttl=14400
+ INET 198.51.100.1
+ INET 198.51.100.2
+ INET6 2001:db8:2::1
+ INET6 2001:db8:2::2
+ INET 203.0.113.1
+ INET 203.0.113.2
+ INET 192.0.2.1
+ INET 192.0.2.2
+ INET6 2001:db8:3::1
+ INET6 2001:db8:3::2
+ INET6 2001:db8:1::1
+ INET6 2001:db8:1::2
+maddr.dnserr.distorted.org.uk flags 0 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+mx.dnserr.distorted.org.uk flags 0 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+mx.dnserr.distorted.org.uk flags 0 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+maddr.dnserr.distorted.org.uk flags 1024 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+maddr.dnserr.distorted.org.uk flags 1024 type A(addr): OK; nrrs=6; cname=$; owner=$; ttl=14400
+ INET 198.51.100.1
+ INET 198.51.100.2
+ INET 203.0.113.2
+ INET 192.0.2.1
+ INET 192.0.2.2
+ INET 203.0.113.1
+maddr.dnserr.distorted.org.uk flags 1024 type A(addr): OK; nrrs=6; cname=$; owner=$; ttl=14400
+ INET 198.51.100.1
+ INET 198.51.100.2
+ INET 192.0.2.1
+ INET 192.0.2.2
+ INET 203.0.113.1
+ INET 203.0.113.2
+maddr.dnserr.distorted.org.uk flags 1024 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+mx.dnserr.distorted.org.uk flags 1024 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+mx.dnserr.distorted.org.uk flags 1024 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+maddr.dnserr.distorted.org.uk flags 2048 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+maddr.dnserr.distorted.org.uk flags 2048 type A(addr): OK; nrrs=6; cname=$; owner=$; ttl=14400
+ INET6 2001:db8:2::2
+ INET6 2001:db8:2::1
+ INET6 2001:db8:3::1
+ INET6 2001:db8:3::2
+ INET6 2001:db8:1::1
+ INET6 2001:db8:1::2
+maddr.dnserr.distorted.org.uk flags 2048 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+maddr.dnserr.distorted.org.uk flags 2048 type A(addr): OK; nrrs=6; cname=$; owner=$; ttl=14400
+ INET6 2001:db8:2::1
+ INET6 2001:db8:2::2
+ INET6 2001:db8:3::1
+ INET6 2001:db8:3::2
+ INET6 2001:db8:1::1
+ INET6 2001:db8:1::2
+mx.dnserr.distorted.org.uk flags 2048 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+mx.dnserr.distorted.org.uk flags 2048 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+maddr.dnserr.distorted.org.uk flags 3072 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+maddr.dnserr.distorted.org.uk flags 3072 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+maddr.dnserr.distorted.org.uk flags 3072 type A(addr): OK; nrrs=12; cname=$; owner=$; ttl=14400
+ INET 198.51.100.1
+ INET 198.51.100.2
+ INET6 2001:db8:2::1
+ INET6 2001:db8:2::2
+ INET 203.0.113.2
+ INET 192.0.2.1
+ INET 192.0.2.2
+ INET 203.0.113.1
+ INET6 2001:db8:1::2
+ INET6 2001:db8:3::1
+ INET6 2001:db8:3::2
+ INET6 2001:db8:1::1
+maddr.dnserr.distorted.org.uk flags 3072 type A(addr): OK; nrrs=12; cname=$; owner=$; ttl=14400
+ INET 198.51.100.1
+ INET 198.51.100.2
+ INET6 2001:db8:2::1
+ INET6 2001:db8:2::2
+ INET 192.0.2.1
+ INET 192.0.2.2
+ INET 203.0.113.1
+ INET 203.0.113.2
+ INET6 2001:db8:3::1
+ INET6 2001:db8:3::2
+ INET6 2001:db8:1::1
+ INET6 2001:db8:1::2
+mx.dnserr.distorted.org.uk flags 3072 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+mx.dnserr.distorted.org.uk flags 3072 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+mx.dnserr.distorted.org.uk flags 0 type MX(+addr): OK; nrrs=4; cname=$; owner=$; ttl=14400
+ 69 maddr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.2 INET 198.51.100.1 INET 203.0.113.1 INET 203.0.113.2 INET 192.0.2.1 INET 192.0.2.2 )
+ 69 a.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.16 )
+ 69 aaaa.dnserr.distorted.org.uk permfail 301 nodata "No such data" ( )
+ 70 addr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.17 )
+mx.dnserr.distorted.org.uk flags 0 type MX(+addr): OK; nrrs=4; cname=$; owner=$; ttl=14400
+ 69 maddr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.1 INET 198.51.100.2 INET6 2001:db8:2::1 INET6 2001:db8:2::2 INET 203.0.113.1 INET 203.0.113.2 INET 192.0.2.1 INET 192.0.2.2 INET6 2001:db8:3::2 INET6 2001:db8:1::1 INET6 2001:db8:1::2 INET6 2001:db8:3::1 )
+ 69 a.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.16 )
+ 69 aaaa.dnserr.distorted.org.uk ok 0 ok "OK" ( INET6 2001:db8::1 )
+ 70 addr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.17 INET6 2001:db8::2 )
+mx.dnserr.distorted.org.uk flags 1024 type MX(+addr): OK; nrrs=4; cname=$; owner=$; ttl=14400
+ 69 a.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.16 )
+ 69 maddr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.1 INET 198.51.100.2 INET 192.0.2.2 INET 203.0.113.1 INET 203.0.113.2 INET 192.0.2.1 )
+ 69 aaaa.dnserr.distorted.org.uk permfail 301 nodata "No such data" ( )
+ 70 addr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.17 )
+mx.dnserr.distorted.org.uk flags 1024 type MX(+addr): OK; nrrs=4; cname=$; owner=$; ttl=14400
+ 69 a.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.16 )
+ 69 maddr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.1 INET 198.51.100.2 INET 203.0.113.1 INET 203.0.113.2 INET 192.0.2.1 INET 192.0.2.2 )
+ 69 aaaa.dnserr.distorted.org.uk permfail 301 nodata "No such data" ( )
+ 70 addr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.17 )
+mx.dnserr.distorted.org.uk flags 2048 type MX(+addr): OK; nrrs=4; cname=$; owner=$; ttl=14400
+ 69 maddr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET6 2001:db8:2::1 INET6 2001:db8:2::2 INET6 2001:db8:1::1 INET6 2001:db8:1::2 INET6 2001:db8:3::1 INET6 2001:db8:3::2 )
+ 69 aaaa.dnserr.distorted.org.uk ok 0 ok "OK" ( INET6 2001:db8::1 )
+ 69 a.dnserr.distorted.org.uk permfail 301 nodata "No such data" ( )
+ 70 addr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET6 2001:db8::2 )
+mx.dnserr.distorted.org.uk flags 2048 type MX(+addr): OK; nrrs=4; cname=$; owner=$; ttl=14400
+ 69 maddr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET6 2001:db8:2::1 INET6 2001:db8:2::2 INET6 2001:db8:1::2 INET6 2001:db8:3::1 INET6 2001:db8:3::2 INET6 2001:db8:1::1 )
+ 69 aaaa.dnserr.distorted.org.uk ok 0 ok "OK" ( INET6 2001:db8::1 )
+ 69 a.dnserr.distorted.org.uk permfail 301 nodata "No such data" ( )
+ 70 addr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET6 2001:db8::2 )
+mx.dnserr.distorted.org.uk flags 3072 type MX(+addr): OK; nrrs=4; cname=$; owner=$; ttl=14400
+ 69 a.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.16 )
+ 69 maddr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.1 INET 198.51.100.2 INET6 2001:db8:2::1 INET6 2001:db8:2::2 INET 192.0.2.2 INET 203.0.113.1 INET 203.0.113.2 INET 192.0.2.1 INET6 2001:db8:3::1 INET6 2001:db8:3::2 INET6 2001:db8:1::1 INET6 2001:db8:1::2 )
+ 69 aaaa.dnserr.distorted.org.uk ok 0 ok "OK" ( INET6 2001:db8::1 )
+ 70 addr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.17 INET6 2001:db8::2 )
+mx.dnserr.distorted.org.uk flags 3072 type MX(+addr): OK; nrrs=4; cname=$; owner=$; ttl=14400
+ 69 a.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.16 )
+ 69 maddr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.1 INET 198.51.100.2 INET6 2001:db8:2::2 INET6 2001:db8:2::1 INET 203.0.113.1 INET 203.0.113.2 INET 192.0.2.1 INET 192.0.2.2 INET6 2001:db8:3::1 INET6 2001:db8:3::2 INET6 2001:db8:1::1 INET6 2001:db8:1::2 )
+ 69 aaaa.dnserr.distorted.org.uk ok 0 ok "OK" ( INET6 2001:db8::1 )
+ 70 addr.dnserr.distorted.org.uk ok 0 ok "OK" ( INET 198.51.100.17 INET6 2001:db8::2 )
+rc=0
diff --git a/regress/case-addr-multi-af.sys b/regress/case-addr-multi-af.sys
new file mode 100644
index 0000000..1edce47
--- /dev/null
+++ b/regress/case-addr-multi-af.sys
@@ -0,0 +1,1236 @@
+./adnstest distorted
+:0x1010000|1,0x1010000|15,0x3010000|1,0x3010000|15 maddr.dnserr.distorted.org.uk mx.dnserr.distorted.org.uk 0x400/maddr.dnserr.distorted.org.uk 0x400/mx.dnserr.distorted.org.uk 0x800/maddr.dnserr.distorted.org.uk 0x800/mx.dnserr.distorted.org.uk 0xc00/maddr.dnserr.distorted.org.uk 0xc00/mx.dnserr.distorted.org.uk
+ start 1402445458.222480
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000026
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000012
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000010
+ sendto fd=6 addr=172.29.199.224:53
+ 31200100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000089
+ sendto fd=6 addr=172.29.199.224:53
+ 31210100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001.
+ sendto=47
+ +0.000043
+ sendto fd=6 addr=172.29.199.224:53
+ 31230100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000040
+ sendto fd=6 addr=172.29.199.224:53
+ 31240100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000031
+ sendto fd=6 addr=172.29.199.224:53
+ 31250100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001.
+ sendto=47
+ +0.000040
+ sendto fd=6 addr=172.29.199.224:53
+ 31270100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001.
+ sendto=44
+ +0.000038
+ sendto fd=6 addr=172.29.199.224:53
+ 31280100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001.
+ sendto=44
+ +0.000035
+ sendto fd=6 addr=172.29.199.224:53
+ 312a0100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001.
+ sendto=44
+ +0.000041
+ sendto fd=6 addr=172.29.199.224:53
+ 312b0100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 001c0001.
+ sendto=44
+ +0.000030
+ sendto fd=6 addr=172.29.199.224:53
+ 312c0100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001.
+ sendto=44
+ +0.000036
+ sendto fd=6 addr=172.29.199.224:53
+ 312e0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000041
+ sendto fd=6 addr=172.29.199.224:53
+ 312f0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001.
+ sendto=47
+ +0.000038
+ sendto fd=6 addr=172.29.199.224:53
+ 31310100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000043
+ sendto fd=6 addr=172.29.199.224:53
+ 31320100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001.
+ sendto=47
+ +0.000039
+ sendto fd=6 addr=172.29.199.224:53
+ 31340100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001.
+ sendto=44
+ +0.000039
+ sendto fd=6 addr=172.29.199.224:53
+ 31350100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001.
+ sendto=44
+ +0.000037
+ sendto fd=6 addr=172.29.199.224:53
+ 31370100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001.
+ sendto=44
+ +0.000039
+ sendto fd=6 addr=172.29.199.224:53
+ 31380100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001.
+ sendto=44
+ +0.000037
+ sendto fd=6 addr=172.29.199.224:53
+ 313a0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000045
+ sendto fd=6 addr=172.29.199.224:53
+ 313b0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001.
+ sendto=47
+ +0.000038
+ sendto fd=6 addr=172.29.199.224:53
+ 313d0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000054
+ sendto fd=6 addr=172.29.199.224:53
+ 313e0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001.
+ sendto=47
+ +0.000039
+ sendto fd=6 addr=172.29.199.224:53
+ 31400100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 001c0001.
+ sendto=44
+ +0.000040
+ sendto fd=6 addr=172.29.199.224:53
+ 31410100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001.
+ sendto=44
+ +0.000038
+ sendto fd=6 addr=172.29.199.224:53
+ 31430100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 001c0001.
+ sendto=44
+ +0.000039
+ sendto fd=6 addr=172.29.199.224:53
+ 31440100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001.
+ sendto=44
+ +0.000038
+ sendto fd=6 addr=172.29.199.224:53
+ 31460100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000046
+ sendto fd=6 addr=172.29.199.224:53
+ 31470100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000031
+ sendto fd=6 addr=172.29.199.224:53
+ 31480100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001.
+ sendto=47
+ +0.000039
+ sendto fd=6 addr=172.29.199.224:53
+ 314a0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000041
+ sendto fd=6 addr=172.29.199.224:53
+ 314b0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000031
+ sendto fd=6 addr=172.29.199.224:53
+ 314c0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001.
+ sendto=47
+ +0.000038
+ sendto fd=6 addr=172.29.199.224:53
+ 314e0100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001.
+ sendto=44
+ +0.000039
+ sendto fd=6 addr=172.29.199.224:53
+ 314f0100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 001c0001.
+ sendto=44
+ +0.000033
+ sendto fd=6 addr=172.29.199.224:53
+ 31500100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001.
+ sendto=44
+ +0.000040
+ sendto fd=6 addr=172.29.199.224:53
+ 31520100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001.
+ sendto=44
+ +0.000039
+ sendto fd=6 addr=172.29.199.224:53
+ 31530100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 001c0001.
+ sendto=44
+ +0.000029
+ sendto fd=6 addr=172.29.199.224:53
+ 31540100 00010000 00000000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001.
+ sendto=44
+ +0.000038
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.998489
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.002108
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31208580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001c0 0c000100 01000038 400004c0 000202c0
+ 0c000100 01000038 400004c6 336401c0 0c000100 01000038 400004c6 336402c0
+ 0c000100 01000038 400004cb 007101c0 0c000100 01000038 400004cb 007102c0
+ 0c000100 01000038 400004c0 000201c0 12000200 01000038 40000d07 76616d70
+ 69726502 6e73c012 c0120002 00010000 3840000d 0a74656c 65636173 746572c0
+ a3c01200 02000100 00384000 09067261 64697573 c0a3c012 00020001 00003840
+ 000c0970 72656369 73696f6e c0a3c0cd 00010001 00003840 00043e31 cc92c0cd
+ 001c0001 00003840 00102001 04701f09 1b980000 00000000 0002c09b 00010001
+ 00003840 00043e31 cc96c09b 001c0001 00003840 00102001 04701f09 1b980000
+ 00000000 0006c0e2 00010001 00003840 0004d40d c646c0e2 001c0001 00003840
+ 00102001 0ba80000 01d90000 00000000 0006c0b4 00010001 00003840 0004d40d
+ c647c0b4 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0007.
+ +0.000161
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31218580 00010000 00010000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001c0 12000600 01000038 40002a06 72616469
+ 7573c019 0a686f73 746d6173 746572c0 19780bf8 6a000151 8000000e 10001275
+ 00000038 40.
+ +0.000082
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000013
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.996257
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000270
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31238580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001c0 0c000100 01000038 400004c6 336401c0
+ 0c000100 01000038 400004c6 336402c0 0c000100 01000038 400004cb 007101c0
+ 0c000100 01000038 400004cb 007102c0 0c000100 01000038 400004c0 000201c0
+ 0c000100 01000038 400004c0 000202c0 12000200 01000038 40000f09 70726563
+ 6973696f 6e026e73 c012c012 00020001 00003840 000a0776 616d7069 7265c0a5
+ c0120002 00010000 3840000d 0a74656c 65636173 746572c0 a5c01200 02000100
+ 00384000 09067261 64697573 c0a5c0e5 00010001 00003840 00043e31 cc92c0e5
+ 001c0001 00003840 00102001 04701f09 1b980000 00000000 0002c0b6 00010001
+ 00003840 00043e31 cc96c0b6 001c0001 00003840 00102001 04701f09 1b980000
+ 00000000 0006c09b 00010001 00003840 0004d40d c646c09b 001c0001 00003840
+ 00102001 0ba80000 01d90000 00000000 0006c0cc 00010001 00003840 0004d40d
+ c647c0cc 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0007.
+ +0.000125
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000028
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.995834
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.005597
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31248580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 03000000 00000000 000001c0 0c001c00 01000038 40001020 010db800 03000000
+ 00000000 000002c0 0c001c00 01000038 40001020 010db800 01000000 00000000
+ 000001c0 0c001c00 01000038 40001020 010db800 01000000 00000000 000002c0
+ 0c001c00 01000038 40001020 010db800 02000000 00000000 000001c0 0c001c00
+ 01000038 40001020 010db800 02000000 00000000 000002c0 12000200 01000038
+ 40000d07 76616d70 69726502 6e73c012 c0120002 00010000 3840000c 09707265
+ 63697369 6f6ec0eb c0120002 00010000 38400009 06726164 697573c0 ebc01200
+ 02000100 00384000 0d0a7465 6c656361 73746572 c0ebc114 00010001 00003840
+ 00043e31 cc92c114 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c0e3 00010001 00003840 00043e31 cc96c0e3 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c0fc 00010001 00003840 0004d40d c646c0fc
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c129 00010001
+ 00003840 0004d40d c647c129 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000159
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000046
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.990103
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000396
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31258580 00010000 00010000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001c0 12000600 01000038 40002a06 72616469
+ 7573c019 0a686f73 746d6173 746572c0 19780bf8 6a000151 8000000e 10001275
+ 00000038 40.
+ +0.000049
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000035
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.989663
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000161
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31278580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000069
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000019
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.989452
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000179
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31288580 00010004 00040008 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001 c00c000f 00010000 38400009 00450461 616161c0
+ 0fc00c00 0f000100 00384000 0a004505 6d616464 72c00fc0 0c000f00 01000038
+ 40000900 46046164 6472c00f c00c000f 00010000 38400006 00450161 c00fc00f
+ 00020001 00003840 000f0970 72656369 73696f6e 026e73c0 0fc00f00 02000100
+ 00384000 0a077661 6d706972 65c094c0 0f000200 01000038 40000d0a 74656c65
+ 63617374 6572c094 c00f0002 00010000 38400009 06726164 697573c0 94c07a00
+ 01000100 00384000 04c63364 10c03a00 1c000100 00384000 1020010d b8000000
+ 00000000 00000000 01c04f00 01000100 00384000 04c63364 02c04f00 01000100
+ 00384000 04cb0071 01c04f00 01000100 00384000 04cb0071 02c04f00 01000100
+ 00384000 04c00002 01c04f00 01000100 00384000 04c00002 02c04f00 01000100
+ 00384000 04c63364 01.
+ +0.000167
+ sendto fd=6 addr=172.29.199.224:53
+ 31560100 00010000 00000000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000104
+ sendto fd=6 addr=172.29.199.224:53
+ 31580100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000083
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000029
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.988925
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000192
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 312a8580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000070
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000020
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.988643
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000123
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 312b8580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 001c0001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000069
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000019
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.988503
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000159
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 312c8580 00010004 00040008 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001 c00c000f 00010000 3840000a 0045056d 61646472
+ c00fc00c 000f0001 00003840 00090046 04616464 72c00fc0 0c000f00 01000038
+ 40000600 450161c0 0fc00c00 0f000100 00384000 09004504 61616161 c00fc00f
+ 00020001 00003840 00100a74 656c6563 61737465 72026e73 c00fc00f 00020001
+ 00003840 000c0970 72656369 73696f6e c095c00f 00020001 00003840 00090672
+ 61646975 73c095c0 0f000200 01000038 40000a07 76616d70 697265c0 95c06500
+ 01000100 00384000 04c63364 10c07700 1c000100 00384000 1020010d b8000000
+ 00000000 00000000 01c03a00 01000100 00384000 04cb0071 01c03a00 01000100
+ 00384000 04cb0071 02c03a00 01000100 00384000 04c00002 01c03a00 01000100
+ 00384000 04c00002 02c03a00 01000100 00384000 04c63364 01c03a00 01000100
+ 00384000 04c63364 02.
+ +0.000169
+ sendto fd=6 addr=172.29.199.224:53
+ 315a0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000079
+ sendto fd=6 addr=172.29.199.224:53
+ 315c0100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000058
+ sendto fd=6 addr=172.29.199.224:53
+ 315d0100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b00001c 0001.
+ sendto=46
+ +0.000045
+ sendto fd=6 addr=172.29.199.224:53
+ 315f0100 00010000 00000000 01610664 6e736572 72096469 73746f72 74656403
+ 6f726702 756b0000 1c0001.
+ sendto=43
+ +0.000058
+ sendto fd=6 addr=172.29.199.224:53
+ 31610100 00010000 00000000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000077
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 312e8580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001c0 0c000100 01000038 400004cb 007102c0
+ 0c000100 01000038 400004c0 000201c0 0c000100 01000038 400004c0 000202c0
+ 0c000100 01000038 400004c6 336401c0 0c000100 01000038 400004c6 336402c0
+ 0c000100 01000038 400004cb 007101c0 12000200 01000038 40000c06 72616469
+ 7573026e 73c012c0 12000200 01000038 40000d0a 74656c65 63617374 6572c0a2
+ c0120002 00010000 3840000a 0776616d 70697265 c0a2c012 00020001 00003840
+ 000c0970 72656369 73696f6e c0a2c09b 00010001 00003840 00043e31 cc92c09b
+ 001c0001 00003840 00102001 04701f09 1b980000 00000000 0002c0cc 00010001
+ 00003840 00043e31 cc96c0cc 001c0001 00003840 00102001 04701f09 1b980000
+ 00000000 0006c0e2 00010001 00003840 0004d40d c646c0e2 001c0001 00003840
+ 00102001 0ba80000 01d90000 00000000 0006c0b3 00010001 00003840 0004d40d
+ c647c0b3 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0007.
+ +0.000176
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 312f8580 00010000 00010000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001c0 12000600 01000038 40002a06 72616469
+ 7573c019 0a686f73 746d6173 746572c0 19780bf8 6a000151 8000000e 10001275
+ 00000038 40.
+ +0.000085
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31318580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001c0 0c000100 01000038 400004c0 000201c0
+ 0c000100 01000038 400004c0 000202c0 0c000100 01000038 400004c6 336401c0
+ 0c000100 01000038 400004c6 336402c0 0c000100 01000038 400004cb 007101c0
+ 0c000100 01000038 400004cb 007102c0 12000200 01000038 40000c06 72616469
+ 7573026e 73c012c0 12000200 01000038 40000a07 76616d70 697265c0 a2c01200
+ 02000100 00384000 0c097072 65636973 696f6ec0 a2c01200 02000100 00384000
+ 0d0a7465 6c656361 73746572 c0a2c09b 00010001 00003840 00043e31 cc92c09b
+ 001c0001 00003840 00102001 04701f09 1b980000 00000000 0002c0b3 00010001
+ 00003840 00043e31 cc96c0b3 001c0001 00003840 00102001 04701f09 1b980000
+ 00000000 0006c0c9 00010001 00003840 0004d40d c646c0c9 001c0001 00003840
+ 00102001 0ba80000 01d90000 00000000 0006c0e1 00010001 00003840 0004d40d
+ c647c0e1 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0007.
+ +0.000175
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000044
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.987536
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000757
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31328580 00010000 00010000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001c0 12000600 01000038 40002a06 72616469
+ 7573c019 0a686f73 746d6173 746572c0 19780bf8 6a000151 8000000e 10001275
+ 00000038 40.
+ +0.000072
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31348580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000058
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000020
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.986707
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000275
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31358580 00010004 00040008 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001 c00c000f 00010000 38400009 00460461 646472c0
+ 0fc00c00 0f000100 00384000 06004501 61c00fc0 0c000f00 01000038 40000900
+ 45046161 6161c00f c00c000f 00010000 3840000a 0045056d 61646472 c00fc00f
+ 00020001 00003840 000f0970 72656369 73696f6e 026e73c0 0fc00f00 02000100
+ 00384000 0d0a7465 6c656361 73746572 c094c00f 00020001 00003840 000a0776
+ 616d7069 7265c094 c00f0002 00010000 38400009 06726164 697573c0 94c04f00
+ 01000100 00384000 04c63364 10c06100 1c000100 00384000 1020010d b8000000
+ 00000000 00000000 01c07600 01000100 00384000 04c00002 02c07600 01000100
+ 00384000 04c63364 01c07600 01000100 00384000 04c63364 02c07600 01000100
+ 00384000 04cb0071 01c07600 01000100 00384000 04cb0071 02c07600 01000100
+ 00384000 04c00002 01.
+ +0.000186
+ sendto fd=6 addr=172.29.199.224:53
+ 31630100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000086
+ sendto fd=6 addr=172.29.199.224:53
+ 31650100 00010000 00000000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000072
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31378580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000094
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000019
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.986051
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000294
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31388580 00010004 00040008 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001 c00c000f 00010000 38400006 00450161 c00fc00c
+ 000f0001 00003840 00090045 04616161 61c00fc0 0c000f00 01000038 40000a00
+ 45056d61 646472c0 0fc00c00 0f000100 00384000 09004604 61646472 c00fc00f
+ 00020001 00003840 000f0970 72656369 73696f6e 026e73c0 0fc00f00 02000100
+ 00384000 09067261 64697573 c094c00f 00020001 00003840 000a0776 616d7069
+ 7265c094 c00f0002 00010000 3840000d 0a74656c 65636173 746572c0 94c03a00
+ 01000100 00384000 04c63364 10c04c00 1c000100 00384000 1020010d b8000000
+ 00000000 00000000 01c06100 01000100 00384000 04c63364 01c06100 01000100
+ 00384000 04c63364 02c06100 01000100 00384000 04cb0071 01c06100 01000100
+ 00384000 04cb0071 02c06100 01000100 00384000 04c00002 01c06100 01000100
+ 00384000 04c00002 02.
+ +0.000183
+ sendto fd=6 addr=172.29.199.224:53
+ 31670100 00010000 00000000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000083
+ sendto fd=6 addr=172.29.199.224:53
+ 31690100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000093
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 313a8580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 02000000 00000000 000002c0 0c001c00 01000038 40001020 010db800 03000000
+ 00000000 000001c0 0c001c00 01000038 40001020 010db800 03000000 00000000
+ 000002c0 0c001c00 01000038 40001020 010db800 01000000 00000000 000001c0
+ 0c001c00 01000038 40001020 010db800 01000000 00000000 000002c0 0c001c00
+ 01000038 40001020 010db800 02000000 00000000 000001c0 12000200 01000038
+ 40000c06 72616469 7573026e 73c012c0 12000200 01000038 40000d0a 74656c65
+ 63617374 6572c0ea c0120002 00010000 3840000a 0776616d 70697265 c0eac012
+ 00020001 00003840 000c0970 72656369 73696f6e c0eac0e3 00010001 00003840
+ 00043e31 cc92c0e3 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c114 00010001 00003840 00043e31 cc96c114 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c12a 00010001 00003840 0004d40d c646c12a
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c0fb 00010001
+ 00003840 0004d40d c647c0fb 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000202
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 313b8580 00010000 00010000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001c0 12000600 01000038 40002a06 72616469
+ 7573c019 0a686f73 746d6173 746572c0 19780bf8 6a000151 8000000e 10001275
+ 00000038 40.
+ +0.000095
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000018
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.985203
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.001040
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 313d8580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 03000000 00000000 000001c0 0c001c00 01000038 40001020 010db800 03000000
+ 00000000 000002c0 0c001c00 01000038 40001020 010db800 01000000 00000000
+ 000001c0 0c001c00 01000038 40001020 010db800 01000000 00000000 000002c0
+ 0c001c00 01000038 40001020 010db800 02000000 00000000 000001c0 0c001c00
+ 01000038 40001020 010db800 02000000 00000000 000002c0 12000200 01000038
+ 40000d07 76616d70 69726502 6e73c012 c0120002 00010000 38400009 06726164
+ 697573c0 ebc01200 02000100 00384000 0d0a7465 6c656361 73746572 c0ebc012
+ 00020001 00003840 000c0970 72656369 73696f6e c0ebc0fc 00010001 00003840
+ 00043e31 cc92c0fc 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c0e3 00010001 00003840 00043e31 cc96c0e3 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c12a 00010001 00003840 0004d40d c646c12a
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c111 00010001
+ 00003840 0004d40d c647c111 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000235
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 313e8580 00010000 00010000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001c0 12000600 01000038 40002a06 72616469
+ 7573c019 0a686f73 746d6173 746572c0 19780bf8 6a000151 8000000e 10001275
+ 00000038 40.
+ +0.000091
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31408580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 001c0001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000058
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31418580 00010004 00040008 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001 c00c000f 00010000 38400009 00450461 616161c0
+ 0fc00c00 0f000100 00384000 0a004505 6d616464 72c00fc0 0c000f00 01000038
+ 40000900 46046164 6472c00f c00c000f 00010000 38400006 00450161 c00fc00f
+ 00020001 00003840 000d0776 616d7069 7265026e 73c00fc0 0f000200 01000038
+ 40000d0a 74656c65 63617374 6572c092 c00f0002 00010000 38400009 06726164
+ 697573c0 92c00f00 02000100 00384000 0c097072 65636973 696f6ec0 92c07a00
+ 01000100 00384000 04c63364 10c03a00 1c000100 00384000 1020010d b8000000
+ 00000000 00000000 01c04f00 01000100 00384000 04c63364 02c04f00 01000100
+ 00384000 04cb0071 01c04f00 01000100 00384000 04cb0071 02c04f00 01000100
+ 00384000 04c00002 01c04f00 01000100 00384000 04c00002 02c04f00 01000100
+ 00384000 04c63364 01.
+ +0.000157
+ sendto fd=6 addr=172.29.199.224:53
+ 316b0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000087
+ sendto fd=6 addr=172.29.199.224:53
+ 316d0100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b00001c 0001.
+ sendto=46
+ +0.000060
+ sendto fd=6 addr=172.29.199.224:53
+ 316f0100 00010000 00000000 01610664 6e736572 72096469 73746f72 74656403
+ 6f726702 756b0000 1c0001.
+ sendto=43
+ +0.000057
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31438580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 001c0001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000057
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000019
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.983552
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000477
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31448580 00010004 00040008 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001 c00c000f 00010000 3840000a 0045056d 61646472
+ c00fc00c 000f0001 00003840 00090046 04616464 72c00fc0 0c000f00 01000038
+ 40000600 450161c0 0fc00c00 0f000100 00384000 09004504 61616161 c00fc00f
+ 00020001 00003840 00100a74 656c6563 61737465 72026e73 c00fc00f 00020001
+ 00003840 00090672 61646975 73c095c0 0f000200 01000038 40000a07 76616d70
+ 697265c0 95c00f00 02000100 00384000 0c097072 65636973 696f6ec0 95c06500
+ 01000100 00384000 04c63364 10c07700 1c000100 00384000 1020010d b8000000
+ 00000000 00000000 01c03a00 01000100 00384000 04cb0071 01c03a00 01000100
+ 00384000 04cb0071 02c03a00 01000100 00384000 04c00002 01c03a00 01000100
+ 00384000 04c00002 02c03a00 01000100 00384000 04c63364 01c03a00 01000100
+ 00384000 04c63364 02.
+ +0.000172
+ sendto fd=6 addr=172.29.199.224:53
+ 31710100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000093
+ sendto fd=6 addr=172.29.199.224:53
+ 31730100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b00001c 0001.
+ sendto=46
+ +0.000059
+ sendto fd=6 addr=172.29.199.224:53
+ 31750100 00010000 00000000 01610664 6e736572 72096469 73746f72 74656403
+ 6f726702 756b0000 1c0001.
+ sendto=43
+ +0.000058
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31468580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001c0 0c000100 01000038 400004cb 007102c0
+ 0c000100 01000038 400004c0 000201c0 0c000100 01000038 400004c0 000202c0
+ 0c000100 01000038 400004c6 336401c0 0c000100 01000038 400004c6 336402c0
+ 0c000100 01000038 400004cb 007101c0 12000200 01000038 40000c06 72616469
+ 7573026e 73c012c0 12000200 01000038 40000c09 70726563 6973696f 6ec0a2c0
+ 12000200 01000038 40000a07 76616d70 697265c0 a2c01200 02000100 00384000
+ 0d0a7465 6c656361 73746572 c0a2c09b 00010001 00003840 00043e31 cc92c09b
+ 001c0001 00003840 00102001 04701f09 1b980000 00000000 0002c0cb 00010001
+ 00003840 00043e31 cc96c0cb 001c0001 00003840 00102001 04701f09 1b980000
+ 00000000 0006c0b3 00010001 00003840 0004d40d c646c0b3 001c0001 00003840
+ 00102001 0ba80000 01d90000 00000000 0006c0e1 00010001 00003840 0004d40d
+ c647c0e1 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0007.
+ +0.000188
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31478580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 01000000 00000000 000002c0 0c001c00 01000038 40001020 010db800 02000000
+ 00000000 000001c0 0c001c00 01000038 40001020 010db800 02000000 00000000
+ 000002c0 0c001c00 01000038 40001020 010db800 03000000 00000000 000001c0
+ 0c001c00 01000038 40001020 010db800 03000000 00000000 000002c0 0c001c00
+ 01000038 40001020 010db800 01000000 00000000 000001c0 12000200 01000038
+ 40000d07 76616d70 69726502 6e73c012 c0120002 00010000 3840000c 09707265
+ 63697369 6f6ec0eb c0120002 00010000 38400009 06726164 697573c0 ebc01200
+ 02000100 00384000 0d0a7465 6c656361 73746572 c0ebc114 00010001 00003840
+ 00043e31 cc92c114 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c0e3 00010001 00003840 00043e31 cc96c0e3 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c0fc 00010001 00003840 0004d40d c646c0fc
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c129 00010001
+ 00003840 0004d40d c647c129 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000242
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31488580 00010000 00010000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001c0 12000600 01000038 40002a06 72616469
+ 7573c019 0a686f73 746d6173 746572c0 19780bf8 6a000151 8000000e 10001275
+ 00000038 40.
+ +0.000093
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 314a8580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001c0 0c000100 01000038 400004c0 000201c0
+ 0c000100 01000038 400004c0 000202c0 0c000100 01000038 400004c6 336401c0
+ 0c000100 01000038 400004c6 336402c0 0c000100 01000038 400004cb 007101c0
+ 0c000100 01000038 400004cb 007102c0 12000200 01000038 40000d07 76616d70
+ 69726502 6e73c012 c0120002 00010000 38400009 06726164 697573c0 a3c01200
+ 02000100 00384000 0c097072 65636973 696f6ec0 a3c01200 02000100 00384000
+ 0d0a7465 6c656361 73746572 c0a3c0b4 00010001 00003840 00043e31 cc92c0b4
+ 001c0001 00003840 00102001 04701f09 1b980000 00000000 0002c09b 00010001
+ 00003840 00043e31 cc96c09b 001c0001 00003840 00102001 04701f09 1b980000
+ 00000000 0006c0c9 00010001 00003840 0004d40d c646c0c9 001c0001 00003840
+ 00102001 0ba80000 01d90000 00000000 0006c0e1 00010001 00003840 0004d40d
+ c647c0e1 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0007.
+ +0.000176
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 314b8580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 02000000 00000000 000001c0 0c001c00 01000038 40001020 010db800 02000000
+ 00000000 000002c0 0c001c00 01000038 40001020 010db800 03000000 00000000
+ 000001c0 0c001c00 01000038 40001020 010db800 03000000 00000000 000002c0
+ 0c001c00 01000038 40001020 010db800 01000000 00000000 000001c0 0c001c00
+ 01000038 40001020 010db800 01000000 00000000 000002c0 12000200 01000038
+ 4000100a 74656c65 63617374 6572026e 73c012c0 12000200 01000038 40000a07
+ 76616d70 697265c0 eec01200 02000100 00384000 09067261 64697573 c0eec012
+ 00020001 00003840 000c0970 72656369 73696f6e c0eec115 00010001 00003840
+ 00043e31 cc92c115 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c0ff 00010001 00003840 00043e31 cc96c0ff 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c12a 00010001 00003840 0004d40d c646c12a
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c0e3 00010001
+ 00003840 0004d40d c647c0e3 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000241
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 314c8580 00010000 00010000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 0f0001c0 12000600 01000038 40002a06 72616469
+ 7573c019 0a686f73 746d6173 746572c0 19780bf8 6a000151 8000000e 10001275
+ 00000038 40.
+ +0.000089
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 314e8580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000056
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000019
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.981853
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000959
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 314f8580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 001c0001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000072
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31508580 00010004 00040008 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001 c00c000f 00010000 38400009 00460461 646472c0
+ 0fc00c00 0f000100 00384000 06004501 61c00fc0 0c000f00 01000038 40000900
+ 45046161 6161c00f c00c000f 00010000 3840000a 0045056d 61646472 c00fc00f
+ 00020001 00003840 000f0970 72656369 73696f6e 026e73c0 0fc00f00 02000100
+ 00384000 0a077661 6d706972 65c094c0 0f000200 01000038 40000906 72616469
+ 7573c094 c00f0002 00010000 3840000d 0a74656c 65636173 746572c0 94c04f00
+ 01000100 00384000 04c63364 10c06100 1c000100 00384000 1020010d b8000000
+ 00000000 00000000 01c07600 01000100 00384000 04c00002 02c07600 01000100
+ 00384000 04c63364 01c07600 01000100 00384000 04c63364 02c07600 01000100
+ 00384000 04cb0071 01c07600 01000100 00384000 04cb0071 02c07600 01000100
+ 00384000 04c00002 01.
+ +0.000160
+ sendto fd=6 addr=172.29.199.224:53
+ 31770100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000087
+ sendto fd=6 addr=172.29.199.224:53
+ 31780100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b00001c 0001.
+ sendto=46
+ +0.000045
+ sendto fd=6 addr=172.29.199.224:53
+ 317a0100 00010000 00000000 01610664 6e736572 72096469 73746f72 74656403
+ 6f726702 756b0000 1c0001.
+ sendto=43
+ +0.000059
+ sendto fd=6 addr=172.29.199.224:53
+ 317c0100 00010000 00000000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000060
+ sendto fd=6 addr=172.29.199.224:53
+ 317e0100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000069
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31528580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 00010001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000057
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31538580 00010000 00010000 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 001c0001 c00f0006 00010000 3840002a 06726164 697573c0
+ 160a686f 73746d61 73746572 c016780b f86a0001 51800000 0e100012 75000000
+ 3840.
+ +0.000058
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000019
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.980388
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000215
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31548580 00010004 00040008 026d7806 646e7365 72720964 6973746f 72746564
+ 036f7267 02756b00 000f0001 c00c000f 00010000 38400006 00450161 c00fc00c
+ 000f0001 00003840 00090045 04616161 61c00fc0 0c000f00 01000038 40000a00
+ 45056d61 646472c0 0fc00c00 0f000100 00384000 09004604 61646472 c00fc00f
+ 00020001 00003840 000f0970 72656369 73696f6e 026e73c0 0fc00f00 02000100
+ 00384000 09067261 64697573 c094c00f 00020001 00003840 000d0a74 656c6563
+ 61737465 72c094c0 0f000200 01000038 40000a07 76616d70 697265c0 94c03a00
+ 01000100 00384000 04c63364 10c04c00 1c000100 00384000 1020010d b8000000
+ 00000000 00000000 01c06100 01000100 00384000 04c63364 01c06100 01000100
+ 00384000 04c63364 02c06100 01000100 00384000 04cb0071 01c06100 01000100
+ 00384000 04cb0071 02c06100 01000100 00384000 04c00002 01c06100 01000100
+ 00384000 04c00002 02.
+ +0.000173
+ sendto fd=6 addr=172.29.199.224:53
+ 31800100 00010000 00000000 01610664 6e736572 72096469 73746f72 74656403
+ 6f726702 756b0000 1c0001.
+ sendto=43
+ +0.000068
+ sendto fd=6 addr=172.29.199.224:53
+ 31820100 00010000 00000000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000059
+ sendto fd=6 addr=172.29.199.224:53
+ 31840100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000067
+ sendto fd=6 addr=172.29.199.224:53
+ 31860100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001.
+ sendto=46
+ +0.000062
+ sendto fd=6 addr=172.29.199.224:53
+ 31870100 00010000 00000000 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b00001c 0001.
+ sendto=46
+ +0.000044
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000015
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.989220
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000156
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31568580 00010000 00010000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c011 00060001 00003840 002a0672 61646975
+ 73c0180a 686f7374 6d617374 6572c018 780bf86a 00015180 00000e10 00127500
+ 00003840.
+ +0.000082
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000022
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.988960
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000271
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31588580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c00c 00010001 00003840 0004c633 6411c011
+ 00020001 00003840 000f0970 72656369 73696f6e 026e73c0 11c01100 02000100
+ 00384000 09067261 64697573 c054c011 00020001 00003840 000d0a74 656c6563
+ 61737465 72c054c0 11000200 01000038 40000a07 76616d70 697265c0 54c06500
+ 01000100 00384000 043e31cc 92c06500 1c000100 00384000 10200104 701f091b
+ 98000000 00000000 02c09300 01000100 00384000 043e31cc 96c09300 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 06c04a00 01000100 00384000
+ 04d40dc6 46c04a00 1c000100 00384000 1020010b a8000001 d9000000 00000000
+ 06c07a00 01000100 00384000 04d40dc6 47c07a00 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 07.
+ +0.000285
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 315a8580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 03000000 00000000 000002c0 0c001c00 01000038 40001020 010db800 01000000
+ 00000000 000001c0 0c001c00 01000038 40001020 010db800 01000000 00000000
+ 000002c0 0c001c00 01000038 40001020 010db800 02000000 00000000 000001c0
+ 0c001c00 01000038 40001020 010db800 02000000 00000000 000002c0 0c001c00
+ 01000038 40001020 010db800 03000000 00000000 000001c0 12000200 01000038
+ 40000c06 72616469 7573026e 73c012c0 12000200 01000038 40000d0a 74656c65
+ 63617374 6572c0ea c0120002 00010000 3840000c 09707265 63697369 6f6ec0ea
+ c0120002 00010000 3840000a 0776616d 70697265 c0eac0e3 00010001 00003840
+ 00043e31 cc92c0e3 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c12c 00010001 00003840 00043e31 cc96c12c 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c114 00010001 00003840 0004d40d c646c114
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c0fb 00010001
+ 00003840 0004d40d c647c0fb 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000369
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 315c8580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c00c 00010001 00003840 0004c633 6411c011
+ 00020001 00003840 000c0672 61646975 73026e73 c011c011 00020001 00003840
+ 000c0970 72656369 73696f6e c051c011 00020001 00003840 000d0a74 656c6563
+ 61737465 72c051c0 11000200 01000038 40000a07 76616d70 697265c0 51c04a00
+ 01000100 00384000 043e31cc 92c04a00 1c000100 00384000 10200104 701f091b
+ 98000000 00000000 02c09300 01000100 00384000 043e31cc 96c09300 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 06c06200 01000100 00384000
+ 04d40dc6 46c06200 1c000100 00384000 1020010b a8000001 d9000000 00000000
+ 06c07a00 01000100 00384000 04d40dc6 47c07a00 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 07.
+ +0.000309
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000020
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.988741
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000441
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 315d8580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b00001c 0001c00c 001c0001 00003840 00102001 0db80000
+ 00000000 00000000 0002c011 00020001 00003840 000f0970 72656369 73696f6e
+ 026e73c0 11c01100 02000100 00384000 0a077661 6d706972 65c060c0 11000200
+ 01000038 40000d0a 74656c65 63617374 6572c060 c0110002 00010000 38400009
+ 06726164 697573c0 60c0a000 01000100 00384000 043e31cc 92c0a000 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 02c07100 01000100 00384000
+ 043e31cc 96c07100 1c000100 00384000 10200104 701f091b 98000000 00000000
+ 06c05600 01000100 00384000 04d40dc6 46c05600 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 06c08700 01000100 00384000 04d40dc6 47c08700
+ 1c000100 00384000 1020010b a8000001 d9000000 00000000 07.
+ +0.000200
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 315f8580 00010000 00010000 01610664 6e736572 72096469 73746f72 74656403
+ 6f726702 756b0000 1c0001c0 0e000600 01000038 40002a06 72616469 7573c015
+ 0a686f73 746d6173 746572c0 15780bf8 6a000151 8000000e 10001275 00000038
+ 40.
+ +0.000135
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31618580 00010000 00010000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c011 00060001 00003840 002a0672 61646975
+ 73c0180a 686f7374 6d617374 6572c018 780bf86a 00015180 00000e10 00127500
+ 00003840.
+ +0.000151
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31638580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c00c 00010001 00003840 0004c633 6411c011
+ 00020001 00003840 000d0776 616d7069 7265026e 73c011c0 11000200 01000038
+ 40000c09 70726563 6973696f 6ec052c0 11000200 01000038 40000906 72616469
+ 7573c052 c0110002 00010000 3840000d 0a74656c 65636173 746572c0 52c07b00
+ 01000100 00384000 043e31cc 92c07b00 1c000100 00384000 10200104 701f091b
+ 98000000 00000000 02c04a00 01000100 00384000 043e31cc 96c04a00 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 06c06300 01000100 00384000
+ 04d40dc6 46c06300 1c000100 00384000 1020010b a8000001 d9000000 00000000
+ 06c09000 01000100 00384000 04d40dc6 47c09000 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 07.
+ +0.000277
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31658580 00010000 00010000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c011 00060001 00003840 002a0672 61646975
+ 73c0180a 686f7374 6d617374 6572c018 780bf86a 00015180 00000e10 00127500
+ 00003840.
+ +0.000135
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31678580 00010000 00010000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c011 00060001 00003840 002a0672 61646975
+ 73c0180a 686f7374 6d617374 6572c018 780bf86a 00015180 00000e10 00127500
+ 00003840.
+ +0.000049
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000099
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.990153
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000667
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31698580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c00c 00010001 00003840 0004c633 6411c011
+ 00020001 00003840 000c0672 61646975 73026e73 c011c011 00020001 00003840
+ 000a0776 616d7069 7265c051 c0110002 00010000 3840000d 0a74656c 65636173
+ 746572c0 51c01100 02000100 00384000 0c097072 65636973 696f6ec0 51c04a00
+ 01000100 00384000 043e31cc 92c04a00 1c000100 00384000 10200104 701f091b
+ 98000000 00000000 02c06200 01000100 00384000 043e31cc 96c06200 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 06c09100 01000100 00384000
+ 04d40dc6 46c09100 1c000100 00384000 1020010b a8000001 d9000000 00000000
+ 06c07800 01000100 00384000 04d40dc6 47c07800 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 07.
+ +0.000262
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 316b8580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 01000000 00000000 000001c0 0c001c00 01000038 40001020 010db800 01000000
+ 00000000 000002c0 0c001c00 01000038 40001020 010db800 02000000 00000000
+ 000001c0 0c001c00 01000038 40001020 010db800 02000000 00000000 000002c0
+ 0c001c00 01000038 40001020 010db800 03000000 00000000 000001c0 0c001c00
+ 01000038 40001020 010db800 03000000 00000000 000002c0 12000200 01000038
+ 40000f09 70726563 6973696f 6e026e73 c012c012 00020001 00003840 00090672
+ 61646975 73c0edc0 12000200 01000038 40000d0a 74656c65 63617374 6572c0ed
+ c0120002 00010000 3840000a 0776616d 70697265 c0edc0fe 00010001 00003840
+ 00043e31 cc92c0fe 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c12c 00010001 00003840 00043e31 cc96c12c 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c0e3 00010001 00003840 0004d40d c646c0e3
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c113 00010001
+ 00003840 0004d40d c647c113 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000306
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 316d8580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b00001c 0001c00c 001c0001 00003840 00102001 0db80000
+ 00000000 00000000 0002c011 00020001 00003840 000f0970 72656369 73696f6e
+ 026e73c0 11c01100 02000100 00384000 09067261 64697573 c060c011 00020001
+ 00003840 000d0a74 656c6563 61737465 72c060c0 11000200 01000038 40000a07
+ 76616d70 697265c0 60c07100 01000100 00384000 043e31cc 92c07100 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 02c09f00 01000100 00384000
+ 043e31cc 96c09f00 1c000100 00384000 10200104 701f091b 98000000 00000000
+ 06c05600 01000100 00384000 04d40dc6 46c05600 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 06c08600 01000100 00384000 04d40dc6 47c08600
+ 1c000100 00384000 1020010b a8000001 d9000000 00000000 07.
+ +0.000302
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 316f8580 00010000 00010000 01610664 6e736572 72096469 73746f72 74656403
+ 6f726702 756b0000 1c0001c0 0e000600 01000038 40002a06 72616469 7573c015
+ 0a686f73 746d6173 746572c0 15780bf8 6a000151 8000000e 10001275 00000038
+ 40.
+ +0.000145
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31718580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 01000000 00000000 000002c0 0c001c00 01000038 40001020 010db800 02000000
+ 00000000 000001c0 0c001c00 01000038 40001020 010db800 02000000 00000000
+ 000002c0 0c001c00 01000038 40001020 010db800 03000000 00000000 000001c0
+ 0c001c00 01000038 40001020 010db800 03000000 00000000 000002c0 0c001c00
+ 01000038 40001020 010db800 01000000 00000000 000001c0 12000200 01000038
+ 40000d07 76616d70 69726502 6e73c012 c0120002 00010000 38400009 06726164
+ 697573c0 ebc01200 02000100 00384000 0d0a7465 6c656361 73746572 c0ebc012
+ 00020001 00003840 000c0970 72656369 73696f6e c0ebc0fc 00010001 00003840
+ 00043e31 cc92c0fc 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c0e3 00010001 00003840 00043e31 cc96c0e3 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c12a 00010001 00003840 0004d40d c646c12a
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c111 00010001
+ 00003840 0004d40d c647c111 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000327
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31738580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b00001c 0001c00c 001c0001 00003840 00102001 0db80000
+ 00000000 00000000 0002c011 00020001 00003840 000c0672 61646975 73026e73
+ c011c011 00020001 00003840 000c0970 72656369 73696f6e c05dc011 00020001
+ 00003840 000a0776 616d7069 7265c05d c0110002 00010000 3840000d 0a74656c
+ 65636173 746572c0 5dc05600 01000100 00384000 043e31cc 92c05600 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 02c08600 01000100 00384000
+ 043e31cc 96c08600 1c000100 00384000 10200104 701f091b 98000000 00000000
+ 06c06e00 01000100 00384000 04d40dc6 46c06e00 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 06c09c00 01000100 00384000 04d40dc6 47c09c00
+ 1c000100 00384000 1020010b a8000001 d9000000 00000000 07.
+ +0.000280
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31758580 00010000 00010000 01610664 6e736572 72096469 73746f72 74656403
+ 6f726702 756b0000 1c0001c0 0e000600 01000038 40002a06 72616469 7573c015
+ 0a686f73 746d6173 746572c0 15780bf8 6a000151 8000000e 10001275 00000038
+ 40.
+ +0.000135
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31778580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c00c 00010001 00003840 0004c633 6411c011
+ 00020001 00003840 00100a74 656c6563 61737465 72026e73 c011c011 00020001
+ 00003840 000c0970 72656369 73696f6e c055c011 00020001 00003840 000a0776
+ 616d7069 7265c055 c0110002 00010000 38400009 06726164 697573c0 55c09400
+ 01000100 00384000 043e31cc 92c09400 1c000100 00384000 10200104 701f091b
+ 98000000 00000000 02c07e00 01000100 00384000 043e31cc 96c07e00 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 06c06600 01000100 00384000
+ 04d40dc6 46c06600 1c000100 00384000 1020010b a8000001 d9000000 00000000
+ 06c04a00 01000100 00384000 04d40dc6 47c04a00 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 07.
+ +0.000261
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31788580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b00001c 0001c00c 001c0001 00003840 00102001 0db80000
+ 00000000 00000000 0002c011 00020001 00003840 00100a74 656c6563 61737465
+ 72026e73 c011c011 00020001 00003840 000a0776 616d7069 7265c061 c0110002
+ 00010000 3840000c 09707265 63697369 6f6ec061 c0110002 00010000 38400009
+ 06726164 697573c0 61c0a000 01000100 00384000 043e31cc 92c0a000 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 02c07200 01000100 00384000
+ 043e31cc 96c07200 1c000100 00384000 10200104 701f091b 98000000 00000000
+ 06c08800 01000100 00384000 04d40dc6 46c08800 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 06c05600 01000100 00384000 04d40dc6 47c05600
+ 1c000100 00384000 1020010b a8000001 d9000000 00000000 07.
+ +0.000272
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 317a8580 00010000 00010000 01610664 6e736572 72096469 73746f72 74656403
+ 6f726702 756b0000 1c0001c0 0e000600 01000038 40002a06 72616469 7573c015
+ 0a686f73 746d6173 746572c0 15780bf8 6a000151 8000000e 10001275 00000038
+ 40.
+ +0.000049
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 317c8580 00010000 00010000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c011 00060001 00003840 002a0672 61646975
+ 73c0180a 686f7374 6d617374 6572c018 780bf86a 00015180 00000e10 00127500
+ 00003840.
+ +0.000123
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 317e8580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 02000000 00000000 000001c0 0c001c00 01000038 40001020 010db800 02000000
+ 00000000 000002c0 0c001c00 01000038 40001020 010db800 03000000 00000000
+ 000001c0 0c001c00 01000038 40001020 010db800 03000000 00000000 000002c0
+ 0c001c00 01000038 40001020 010db800 01000000 00000000 000001c0 0c001c00
+ 01000038 40001020 010db800 01000000 00000000 000002c0 12000200 01000038
+ 40000f09 70726563 6973696f 6e026e73 c012c012 00020001 00003840 000a0776
+ 616d7069 7265c0ed c0120002 00010000 3840000d 0a74656c 65636173 746572c0
+ edc01200 02000100 00384000 09067261 64697573 c0edc12d 00010001 00003840
+ 00043e31 cc92c12d 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c0fe 00010001 00003840 00043e31 cc96c0fe 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c0e3 00010001 00003840 0004d40d c646c0e3
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c114 00010001
+ 00003840 0004d40d c647c114 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000294
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31808580 00010000 00010000 01610664 6e736572 72096469 73746f72 74656403
+ 6f726702 756b0000 1c0001c0 0e000600 01000038 40002a06 72616469 7573c015
+ 0a686f73 746d6173 746572c0 15780bf8 6a000151 8000000e 10001275 00000038
+ 40.
+ +0.000075
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31828580 00010000 00010000 04616161 6106646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c011 00060001 00003840 002a0672 61646975
+ 73c0180a 686f7374 6d617374 6572c018 780bf86a 00015180 00000e10 00127500
+ 00003840.
+ +0.000041
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000026
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.992946
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000486
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31848580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010db800
+ 02000000 00000000 000002c0 0c001c00 01000038 40001020 010db800 03000000
+ 00000000 000001c0 0c001c00 01000038 40001020 010db800 03000000 00000000
+ 000002c0 0c001c00 01000038 40001020 010db800 01000000 00000000 000001c0
+ 0c001c00 01000038 40001020 010db800 01000000 00000000 000002c0 0c001c00
+ 01000038 40001020 010db800 02000000 00000000 000001c0 12000200 01000038
+ 40000d07 76616d70 69726502 6e73c012 c0120002 00010000 3840000c 09707265
+ 63697369 6f6ec0eb c0120002 00010000 38400009 06726164 697573c0 ebc01200
+ 02000100 00384000 0d0a7465 6c656361 73746572 c0ebc114 00010001 00003840
+ 00043e31 cc92c114 001c0001 00003840 00102001 04701f09 1b980000 00000000
+ 0002c0e3 00010001 00003840 00043e31 cc96c0e3 001c0001 00003840 00102001
+ 04701f09 1b980000 00000000 0006c0fc 00010001 00003840 0004d40d c646c0fc
+ 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0006c129 00010001
+ 00003840 0004d40d c647c129 001c0001 00003840 00102001 0ba80000 01d90000
+ 00000000 0007.
+ +0.000144
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31868580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b000001 0001c00c 00010001 00003840 0004c633 6411c011
+ 00020001 00003840 000c0672 61646975 73026e73 c011c011 00020001 00003840
+ 000d0a74 656c6563 61737465 72c051c0 11000200 01000038 40000c09 70726563
+ 6973696f 6ec051c0 11000200 01000038 40000a07 76616d70 697265c0 51c04a00
+ 01000100 00384000 043e31cc 92c04a00 1c000100 00384000 10200104 701f091b
+ 98000000 00000000 02c09300 01000100 00384000 043e31cc 96c09300 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 06c07b00 01000100 00384000
+ 04d40dc6 46c07b00 1c000100 00384000 1020010b a8000001 d9000000 00000000
+ 06c06200 01000100 00384000 04d40dc6 47c06200 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 07.
+ +0.000128
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31878580 00010001 00040008 04616464 7206646e 73657272 09646973 746f7274
+ 6564036f 72670275 6b00001c 0001c00c 001c0001 00003840 00102001 0db80000
+ 00000000 00000000 0002c011 00020001 00003840 00100a74 656c6563 61737465
+ 72026e73 c011c011 00020001 00003840 00090672 61646975 73c061c0 11000200
+ 01000038 40000a07 76616d70 697265c0 61c01100 02000100 00384000 0c097072
+ 65636973 696f6ec0 61c07200 01000100 00384000 043e31cc 92c07200 1c000100
+ 00384000 10200104 701f091b 98000000 00000000 02c08700 01000100 00384000
+ 043e31cc 96c08700 1c000100 00384000 10200104 701f091b 98000000 00000000
+ 06c09d00 01000100 00384000 04d40dc6 46c09d00 1c000100 00384000 1020010b
+ a8000001 d9000000 00000000 06c05600 01000100 00384000 04d40dc6 47c05600
+ 1c000100 00384000 1020010b a8000001 d9000000 00000000 07.
+ +0.000110
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000024
+ close fd=6
+ close=OK
+ +0.000143
diff --git a/regress/case-adh-cancel.err b/regress/case-adh-cancel.err
new file mode 100644
index 0000000..93afa6c
--- /dev/null
+++ b/regress/case-adh-cancel.err
@@ -0,0 +1,2 @@
+adns debug: using nameserver 172.18.45.6
+adns debug: reply not found, id 3120, query owner chiark.greenend.org.uk (NS=172.18.45.6)
diff --git a/regress/case-adh-cancel.out b/regress/case-adh-cancel.out
new file mode 100644
index 0000000..043c851
--- /dev/null
+++ b/regress/case-adh-cancel.out
@@ -0,0 +1,2 @@
+davenant.relativity.greenend.org.uk A INET 172.18.45.6
+rc=0
diff --git a/regress/case-adh-cancel.sys b/regress/case-adh-cancel.sys
new file mode 100644
index 0000000..a7889c9
--- /dev/null
+++ b/regress/case-adh-cancel.sys
@@ -0,0 +1,73 @@
+./adnshost default -f -A4
+
+ start 969124425.922896
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000162
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000058
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000035
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +0.000135
+ read fd=0 buflen=40
+ read=OK
+ 2d2d6173 796e6368 2d696420 34320a63 68696172 6b2e6772 65656e65 6e642e6f
+ 72672e75 6b0a2d2d.
+ +0.000254
+ sendto fd=6 addr=172.18.45.6:53
+ 31200100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000825
+ read fd=0 buflen=38
+ read=OK
+ 6173796e 63682d69 64203433 0a646176 656e616e 742e7265 6c617469 76697479
+ 2e677265 656e.
+ +0.000184
+ read fd=0 buflen=15
+ read=OK
+ 656e642e 6f72672e 756b0a2d 2d6361.
+ +0.000106
+ sendto fd=6 addr=172.18.45.6:53
+ 31220100 00010000 00000000 08646176 656e616e 740a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=53
+ +0.000624
+ read fd=0 buflen=36
+ read=OK
+ 6e63656c 2d696420 34320a.
+ +0.000145
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=1.999231
+ select=2 rfds=[0,6] wfds=[] efds=[]
+ +0.000157
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d01.
+ +0.000551
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228580 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.000579
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000151
+ read fd=0 buflen=40
+ read=OK
+ .
+ +0.000043
+ close fd=6
+ close=OK
+ +0.000961
diff --git a/regress/case-adh-cancel2.err b/regress/case-adh-cancel2.err
new file mode 100644
index 0000000..2886e3c
--- /dev/null
+++ b/regress/case-adh-cancel2.err
@@ -0,0 +1 @@
+adns debug: using nameserver 172.18.45.6
diff --git a/regress/case-adh-cancel2.out b/regress/case-adh-cancel2.out
new file mode 100644
index 0000000..ab3f8d1
--- /dev/null
+++ b/regress/case-adh-cancel2.out
@@ -0,0 +1 @@
+rc=0
diff --git a/regress/case-adh-cancel2.sys b/regress/case-adh-cancel2.sys
new file mode 100644
index 0000000..90f114f
--- /dev/null
+++ b/regress/case-adh-cancel2.sys
@@ -0,0 +1,59 @@
+./adnshost default -f -A4
+
+ start 969124594.885114
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000160
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000057
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000035
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +6.-286734
+ read fd=0 buflen=40
+ read=OK
+ 2d2d6173 796e6368 2d696420 34320a.
+ +0.000727
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +0.000147
+ read fd=0 buflen=40
+ read=OK
+ 63686961 726b2e67 7265656e 656e642e 6f72672e 756b0a.
+ +0.000129
+ sendto fd=6 addr=172.18.45.6:53
+ 31200100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000802
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=1.999198
+ select=1 rfds=[0,6] wfds=[] efds=[]
+ +0.000135
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d01.
+ +0.000553
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000195
+ read fd=0 buflen=40
+ read=OK
+ 2d2d6361 6e63656c 2d696420 34320a.
+ +0.000688
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +2.-11588
+ read fd=0 buflen=40
+ read=OK
+ .
+ +0.000089
+ close fd=6
+ close=OK
+ +0.000149
diff --git a/regress/case-adh-cancel3.err b/regress/case-adh-cancel3.err
new file mode 100644
index 0000000..d183cd5
--- /dev/null
+++ b/regress/case-adh-cancel3.err
@@ -0,0 +1,2 @@
+adns debug: using nameserver 172.18.45.6
+adns debug: server failure on unidentifiable query (NS=172.18.45.6)
diff --git a/regress/case-adh-cancel3.out b/regress/case-adh-cancel3.out
new file mode 100644
index 0000000..ab3f8d1
--- /dev/null
+++ b/regress/case-adh-cancel3.out
@@ -0,0 +1 @@
+rc=0
diff --git a/regress/case-adh-cancel3.sys b/regress/case-adh-cancel3.sys
new file mode 100644
index 0000000..3e99426
--- /dev/null
+++ b/regress/case-adh-cancel3.sys
@@ -0,0 +1,90 @@
+./adnshost default -f
+
+ start 969129578.690081
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000809
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000531
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000512
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +17.-461569
+ read fd=0 buflen=40
+ read=OK
+ 2d2d6173 796e6368 2d696420 34320a.
+ +0.000686
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +0.000915
+ read fd=0 buflen=40
+ read=OK
+ 2d692031 37322e33 302e3230 362e3134 0a.
+ +0.000583
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 02313403 32303602 33300331 37320769 6e2d6164
+ 64720461 72706100 000c0001.
+ sendto=44
+ +0.001629
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=1.998371
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000910
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 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.001417
+ sendto fd=6 addr=172.18.45.6:53
+ 31200100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+ 74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.001988
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000537
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=1.996058
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-05146
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=0.001204
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009951
+ sendto fd=6 addr=172.18.45.6:53
+ 31200100 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+ 74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ sendto=58
+ +0.001141
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=1.998859
+ select=1 rfds=[0] wfds=[] efds=[]
+ +0.551215
+ read fd=0 buflen=40
+ read=OK
+ 2d2d6361 6e63656c 2d696420 34320a.
+ +0.000599
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=null
+ select=1 rfds=[6] wfds=[] efds=[]
+ +42.-794672
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208182 00010000 00000000 06323036 2d31340b 62726f6b 656e2d7a 6f6e6504
+ 74657374 0763756c 74757265 05646f74 61740261 74000001 0001.
+ +0.000986
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.003836
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +6.662470
+ read fd=0 buflen=40
+ read=OK
+ .
+ +0.000545
+ close fd=6
+ close=OK
+ +0.000686
diff --git a/regress/case-adh-norm.err b/regress/case-adh-norm.err
new file mode 100644
index 0000000..2886e3c
--- /dev/null
+++ b/regress/case-adh-norm.err
@@ -0,0 +1 @@
+adns debug: using nameserver 172.18.45.6
diff --git a/regress/case-adh-norm.out b/regress/case-adh-norm.out
new file mode 100644
index 0000000..662ff60
--- /dev/null
+++ b/regress/case-adh-norm.out
@@ -0,0 +1,2 @@
+chiark.greenend.org.uk A INET 195.224.76.132
+rc=0
diff --git a/regress/case-adh-norm.sys b/regress/case-adh-norm.sys
new file mode 100644
index 0000000..fa6cd4b
--- /dev/null
+++ b/regress/case-adh-norm.sys
@@ -0,0 +1,34 @@
+./adnshost default -A4
+chiark.greenend.org.uk
+ start 969122933.609498
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000155
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000057
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000037
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000827
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999173
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000158
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d01.
+ +0.000895
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000149
+ close fd=4
+ close=OK
+ +0.000290
diff --git a/regress/case-adh-pipe.err b/regress/case-adh-pipe.err
new file mode 100644
index 0000000..2886e3c
--- /dev/null
+++ b/regress/case-adh-pipe.err
@@ -0,0 +1 @@
+adns debug: using nameserver 172.18.45.6
diff --git a/regress/case-adh-pipe.out b/regress/case-adh-pipe.out
new file mode 100644
index 0000000..662ff60
--- /dev/null
+++ b/regress/case-adh-pipe.out
@@ -0,0 +1,2 @@
+chiark.greenend.org.uk A INET 195.224.76.132
+rc=0
diff --git a/regress/case-adh-pipe.sys b/regress/case-adh-pipe.sys
new file mode 100644
index 0000000..6e9ec3c
--- /dev/null
+++ b/regress/case-adh-pipe.sys
@@ -0,0 +1,48 @@
+./adnshost default -f -A4
+
+ start 969123801.904882
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000156
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000057
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000035
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +4.-792858
+ read fd=0 buflen=40
+ read=OK
+ 63686961 726b2e67 7265656e 656e642e 6f72672e 756b0a.
+ +0.000235
+ sendto fd=6 addr=172.18.45.6:53
+ 31200100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000847
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=1.999153
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000140
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d01.
+ +0.000548
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000184
+ select max=7 rfds=[0,6] wfds=[] efds=[] to=null
+ select=1 rfds=[0] wfds=[] efds=[]
+ +0.715699
+ read fd=0 buflen=40
+ read=OK
+ .
+ +0.000090
+ close fd=6
+ close=OK
+ +0.000134
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..ca076c1
--- /dev/null
+++ b/regress/case-alr-norm.sys
@@ -0,0 +1,475 @@
+./adnslogres default
+
+ start 969140608.116717
+ socket domain=AF_INET 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000109
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000089
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000087
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000094
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000099
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000106
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000127
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000107
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000103
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000135
+ recvfrom fd=6 buflen=512
+ 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..ba5d4c3
--- /dev/null
+++ b/regress/case-alr-slow.sys
@@ -0,0 +1,490 @@
+./adnslogres default
+-c4
+ start 969140728.042464
+ socket domain=AF_INET 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000114
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000093
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000073
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000094
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000088
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000185
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000085
+ recvfrom fd=6 buflen=512
+ 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
+ recvfrom=EAGAIN
+ +0.000061
+ recvfrom fd=6 buflen=512
+ 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
+ recvfrom=EAGAIN
+ +0.000056
+ recvfrom fd=6 buflen=512
+ 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
+ recvfrom=EAGAIN
+ +0.000057
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000128
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000108
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000082
+ recvfrom fd=6 buflen=512
+ 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..4a69d6c
--- /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 24 31 43 48 60 65 77
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..a9beaf3
--- /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 domain=AF_INET 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000093
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000082
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000083
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ recvfrom=EAGAIN
+ +0.000087
+ recvfrom fd=6 buflen=512
+ 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
+ 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
+ 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..4a2ca57
--- /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 domain=AF_INET 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
+ 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
+ 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/case-bogus-sortlist.err b/regress/case-bogus-sortlist.err
new file mode 100644
index 0000000..31d3eab
--- /dev/null
+++ b/regress/case-bogus-sortlist.err
@@ -0,0 +1 @@
+adns failure: init: errno=EINVAL
diff --git a/regress/case-bogus-sortlist.out b/regress/case-bogus-sortlist.out
new file mode 100644
index 0000000..1e01772
--- /dev/null
+++ b/regress/case-bogus-sortlist.out
@@ -0,0 +1,7 @@
+adns debug: using nameserver 172.18.45.6
+adns: <supplied configuration text>:2: prefix length 24 in sortlist overlaps address `198.51.100.1'
+adns: <supplied configuration text>:2: prefix length 10 in sortlist overlaps address `2001:db8:2::'
+adns: <supplied configuration text>:2: network address `255.0.0.0' in sortlist is not in classed ranges, must specify mask explicitly
+adns: <supplied configuration text>:2: mask length `33' invalid
+adns: <supplied configuration text>:2: mask length `129' invalid
+rc=2
diff --git a/regress/case-bogus-sortlist.sys b/regress/case-bogus-sortlist.sys
new file mode 100644
index 0000000..4cb4b26
--- /dev/null
+++ b/regress/case-bogus-sortlist.sys
@@ -0,0 +1,2 @@
+./adnstest bogus-sortlist
+:0x0|1 chiark.greenend.org.uk
diff --git a/regress/case-brokenmail.err b/regress/case-brokenmail.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-brokenmail.err
diff --git a/regress/case-brokenmail.out b/regress/case-brokenmail.out
new file mode 100644
index 0000000..14757ba
--- /dev/null
+++ b/regress/case-brokenmail.out
@@ -0,0 +1,38 @@
+adns debug: using nameserver 172.18.45.6
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 0 type 15 MX(raw) submitted
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 0 type 65551 MX(+addr) submitted
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 256 type 15 MX(raw) submitted
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 256 type 65551 MX(+addr) submitted
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 260 type 15 MX(raw) submitted
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 260 type 65551 MX(+addr) submitted
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 0 type MX(raw): OK; nrrs=4; cname=$; owner=$; ttl=60
+ 10 manyaddrs.test.iwj.relativity.greenend.org.uk
+ 20 host.broken-delg.test.iwj.relativity.greenend.org.uk
+ 30 172.18.45.36
+ 40 cname-ptr.test.iwj.relativity.greenend.org.uk
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 256 type MX(raw): OK; nrrs=4; cname=$; owner=$; ttl=60
+ 10 manyaddrs.test.iwj.relativity.greenend.org.uk
+ 20 host.broken-delg.test.iwj.relativity.greenend.org.uk
+ 30 172.18.45.36
+ 40 cname-ptr.test.iwj.relativity.greenend.org.uk
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 260 type MX(raw): OK; nrrs=4; cname=$; owner=broken-mail.test.iwj.relativity.greenend.org.uk; ttl=60
+ 10 manyaddrs.test.iwj.relativity.greenend.org.uk
+ 20 host.broken-delg.test.iwj.relativity.greenend.org.uk
+ 30 172.18.45.36
+ 40 cname-ptr.test.iwj.relativity.greenend.org.uk
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 0 type MX(+addr): OK; nrrs=4; cname=$; owner=$; ttl=30
+ 10 manyaddrs.test.iwj.relativity.greenend.org.uk ok 0 ok "OK" ( INET 127.0.0.1 INET 172.18.45.6 INET 172.18.45.1 INET 172.18.45.35 )
+ 20 host.broken-delg.test.iwj.relativity.greenend.org.uk remotefail 30 timeout "DNS query timed out" ?
+ 30 172.18.45.36 permfail 300 nxdomain "No such domain" ( )
+ 40 cname-ptr.test.iwj.relativity.greenend.org.uk misconfig 101 prohibitedcname "DNS alias found where canonical name wanted" ( )
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 256 type MX(+addr): OK; nrrs=4; cname=$; owner=$; ttl=30
+ 10 manyaddrs.test.iwj.relativity.greenend.org.uk ok 0 ok "OK" ( INET 127.0.0.1 INET 172.18.45.6 INET 172.18.45.1 INET 172.18.45.35 )
+ 20 host.broken-delg.test.iwj.relativity.greenend.org.uk remotefail 30 timeout "DNS query timed out" ?
+ 30 172.18.45.36 permfail 300 nxdomain "No such domain" ( )
+ 40 cname-ptr.test.iwj.relativity.greenend.org.uk ok 0 ok "OK" ( INET 172.18.45.37 )
+broken-mail.test.iwj.relativity.greenend.org.uk. flags 260 type MX(+addr): OK; nrrs=4; cname=$; owner=broken-mail.test.iwj.relativity.greenend.org.uk; ttl=30
+ 10 manyaddrs.test.iwj.relativity.greenend.org.uk ok 0 ok "OK" ( INET 127.0.0.1 INET 172.18.45.6 INET 172.18.45.1 INET 172.18.45.35 )
+ 20 host.broken-delg.test.iwj.relativity.greenend.org.uk remotefail 30 timeout "DNS query timed out" ?
+ 30 172.18.45.36 permfail 300 nxdomain "No such domain" ( )
+ 40 cname-ptr.test.iwj.relativity.greenend.org.uk ok 0 ok "OK" ( INET 172.18.45.37 )
+rc=0
diff --git a/regress/case-brokenmail.sys b/regress/case-brokenmail.sys
new file mode 100644
index 0000000..c9ead48
--- /dev/null
+++ b/regress/case-brokenmail.sys
@@ -0,0 +1,516 @@
+adnstest default -0x400
+:0x0|15,0x1010000|15 broken-mail.test.iwj.relativity.greenend.org.uk. 256/broken-mail.test.iwj.relativity.greenend.org.uk. 0x104/broken-mail.test.iwj.relativity.greenend.org.uk.
+ start 934726868.117908
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000425
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000059
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000043
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=65
+ +0.001836
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=65
+ +0.002502
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=65
+ +0.001986
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=65
+ +0.002269
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=65
+ +0.001950
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01.
+ sendto=65
+ +0.001914
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.987543
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000654
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010004 00010005 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01c00c00 0f000100 00003c00 38001404 686f7374 0b62726f 6b656e2d 64656c67
+ 04746573 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00c00c00 0f000100 00003c00 10001e03 31373202 31380234 35023336
+ 00c00c00 0f000100 00003c00 0e002809 636e616d 652d7074 72c060c0 0c000f00
+ 01000000 3c000e00 0a096d61 6e796164 647273c0 60c06000 02000100 00003c00
+ 06036e73 30c069c0 c9000100 01000000 3c0004ac 122d23c0 c9000100 01000000
+ 3c0004ac 122d06c0 c9000100 01000000 3c0004ac 122d01c0 c9000100 01000000
+ 3c00047f 000001c0 e1000100 01000151 800004ac 122d06.
+ +0.001320
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010004 00010005 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01c00c00 0f000100 00003c00 10001e03 31373202 31380234 35023336 00c00c00
+ 0f000100 00003c00 31002809 636e616d 652d7074 72047465 73740369 776a0a72
+ 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b00c00c 000f0001
+ 0000003c 000e000a 096d616e 79616464 7273c075 c00c000f 00010000 003c0015
+ 00140468 6f73740b 62726f6b 656e2d64 656c67c0 75c07500 02000100 00003c00
+ 06036e73 30c07ec0 a8000100 01000000 3c0004ac 122d23c0 a8000100 01000000
+ 3c0004ac 122d06c0 a8000100 01000000 3c0004ac 122d01c0 a8000100 01000000
+ 3c00047f 000001c0 e1000100 01000151 800004ac 122d06.
+ +0.001688
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03313732 02313802 34350233 36000001 0001.
+ sendto=30
+ +0.000653
+ sendto fd=4 addr=172.18.45.6:53
+ 31280100 00010000 00000000 09636e61 6d652d70 74720474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=63
+ +0.000825
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.001147
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010004 00010005 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01c00c00 0f000100 00003c00 31002809 636e616d 652d7074 72047465 73740369
+ 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b00c00c
+ 000f0001 0000003c 000e000a 096d616e 79616464 7273c059 c00c000f 00010000
+ 003c0015 00140468 6f73740b 62726f6b 656e2d64 656c67c0 59c00c00 0f000100
+ 00003c00 10001e03 31373202 31380234 35023336 00c05900 02000100 00003c00
+ 06036e73 30c062c0 8c000100 01000000 3c0004ac 122d23c0 8c000100 01000000
+ 3c0004ac 122d06c0 8c000100 01000000 3c0004ac 122d01c0 8c000100 01000000
+ 3c00047f 000001c0 e1000100 01000151 800004ac 122d06.
+ +0.001330
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228580 00010004 00010005 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01c00c00 0f000100 00003c00 31000a09 6d616e79 61646472 73047465 73740369
+ 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b00c00c
+ 000f0001 0000003c 00150014 04686f73 740b6272 6f6b656e 2d64656c 67c059c0
+ 0c000f00 01000000 3c001000 1e033137 32023138 02343502 333600c0 0c000f00
+ 01000000 3c000e00 2809636e 616d652d 707472c0 59c05900 02000100 00003c00
+ 06036e73 30c062c0 4f000100 01000000 3c0004ac 122d23c0 4f000100 01000000
+ 3c0004ac 122d06c0 4f000100 01000000 3c0004ac 122d01c0 4f000100 01000000
+ 3c00047f 000001c0 e1000100 01000151 800004ac 122d06.
+ +0.001524
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.001003
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03313732 02313802 34350233 36000001 0001.
+ sendto=30
+ +0.000569
+ sendto fd=4 addr=172.18.45.6:53
+ 31300100 00010000 00000000 09636e61 6d652d70 74720474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=63
+ +0.000842
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238580 00010004 00010005 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01c00c00 0f000100 00003c00 38001404 686f7374 0b62726f 6b656e2d 64656c67
+ 04746573 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00c00c00 0f000100 00003c00 10001e03 31373202 31380234 35023336
+ 00c00c00 0f000100 00003c00 0e002809 636e616d 652d7074 72c060c0 0c000f00
+ 01000000 3c000e00 0a096d61 6e796164 647273c0 60c06000 02000100 00003c00
+ 06036e73 30c069c0 c9000100 01000000 3c0004ac 122d23c0 c9000100 01000000
+ 3c0004ac 122d06c0 c9000100 01000000 3c0004ac 122d01c0 c9000100 01000000
+ 3c00047f 000001c0 e1000100 01000151 800004ac 122d06.
+ +0.001306
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248580 00010004 00010005 0b62726f 6b656e2d 6d61696c 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000f00
+ 01c00c00 0f000100 00003c00 10001e03 31373202 31380234 35023336 00c00c00
+ 0f000100 00003c00 31002809 636e616d 652d7074 72047465 73740369 776a0a72
+ 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b00c00c 000f0001
+ 0000003c 000e000a 096d616e 79616464 7273c075 c00c000f 00010000 003c0015
+ 00140468 6f73740b 62726f6b 656e2d64 656c67c0 75c07500 02000100 00003c00
+ 06036e73 30c07ec0 a8000100 01000000 3c0004ac 122d23c0 a8000100 01000000
+ 3c0004ac 122d06c0 a8000100 01000000 3c0004ac 122d01c0 a8000100 01000000
+ 3c00047f 000001c0 e1000100 01000151 800004ac 122d06.
+ +0.001507
+ sendto fd=4 addr=172.18.45.6:53
+ 31320100 00010000 00000000 03313732 02313802 34350233 36000001 0001.
+ sendto=30
+ +0.000637
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 09636e61 6d652d70 74720474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=63
+ +0.000932
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000931
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268583 00010000 00000000 03313732 02313802 34350233 36000001 0001.
+ +0.000242
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31288580 00010002 00010001 09636e61 6d652d70 74720474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001c0
+ 0c000500 01000000 3c002903 70747204 74657374 0369776a 0a72656c 61746976
+ 69747908 67726565 6e656e64 036f7267 02756b00 c04b0001 00010000 003c0004
+ ac122d25 c04f0002 00010000 003c0006 036e7330 c058c090 00010001 00015180
+ 0004ac12 2d06.
+ +0.000737
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8583 00010000 00000000 03313732 02313802 34350233 36000001 0001.
+ +0.000223
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31308580 00010002 00010001 09636e61 6d652d70 74720474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001c0
+ 0c000500 01000000 3c002903 70747204 74657374 0369776a 0a72656c 61746976
+ 69747908 67726565 6e656e64 036f7267 02756b00 c04b0001 00010000 003c0004
+ ac122d25 c04f0002 00010000 003c0006 036e7330 c058c090 00010001 00015180
+ 0004ac12 2d06.
+ +0.000756
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31328583 00010000 00000000 03313732 02313802 34350233 36000001 0001.
+ +0.000291
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31348580 00010002 00010001 09636e61 6d652d70 74720474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001c0
+ 0c000500 01000000 3c002903 70747204 74657374 0369776a 0a72656c 61746976
+ 69747908 67726565 6e656e64 036f7267 02756b00 c04b0001 00010000 003c0004
+ ac122d25 c04f0002 00010000 003c0006 036e7330 c058c090 00010001 00015180
+ 0004ac12 2d06.
+ +0.000726
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000162
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.980649
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-04341
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000794
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000608
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000695
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997903
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.007910
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000823
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000611
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000571
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997995
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.007991
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000694
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000579
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000571
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998156
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.008157
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000655
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000749
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000606
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997990
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.007995
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000836
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000612
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000631
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997921
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.007925
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000699
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000725
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000606
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997970
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.007965
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000739
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000582
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000570
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998109
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.008104
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000641
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000598
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000716
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998045
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.008043
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000646
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000576
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000594
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998184
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.008190
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000673
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000578
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000572
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998177
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.008168
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000659
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000577
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000571
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998193
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.008199
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000653
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000604
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000573
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998170
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.008181
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000699
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000589
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000758
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997954
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.008126
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000684
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000582
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 04686f73 740b6272 6f6b656e 2d64656c 67047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000578
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998156
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.007969
+ close fd=4
+ close=OK
+ +0.000812
diff --git a/regress/case-child.err b/regress/case-child.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-child.err
diff --git a/regress/case-child.out b/regress/case-child.out
new file mode 100644
index 0000000..6c0b673
--- /dev/null
+++ b/regress/case-child.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.18.45.6
+134.76.224.195.in-addr.arpa flags 0 type 65548 PTR(checked) submitted
+134.76.224.195.in-addr.arpa flags 0 type PTR(checked): OK; nrrs=1; cname=$; owner=$; ttl=78694
+ permutation-city.greenend.org.uk
+rc=0
diff --git a/regress/case-child.sys b/regress/case-child.sys
new file mode 100644
index 0000000..49829c0
--- /dev/null
+++ b/regress/case-child.sys
@@ -0,0 +1,58 @@
+adnstest default
+:0x10000|12 134.76.224.195.in-addr.arpa
+ start 929574747.401802
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000189
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000080
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000058
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03313334 02373603 32323403 31393507 696e2d61
+ 64647204 61727061 00000c00 01.
+ sendto=45
+ +0.000595
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999405
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.008975
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010001 00050005 03313334 02373603 32323403 31393507 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 01336600 22107065 726d7574
+ 6174696f 6e2d6369 74790867 7265656e 656e6403 6f726702 756b0002 37360332
+ 32340331 39350769 6e2d6164 64720461 72706100 00020001 00013366 00110464
+ 6e733006 656c6d61 696c0263 6fc057c0 5b000200 01000133 66000704 646e7331
+ c083c05b 00020001 00013366 00070464 6e7332c0 83c05b00 02000100 01336600
+ 0e036e73 32047861 7261036e 657400c0 5b000200 01000133 66000603 6e7333c0
+ c5c07e00 01000100 00149d00 04c17ae9 11c09b00 01000100 00149d00 04c17ae9
+ 01c0ae00 01000100 00149d00 04c3e04c c1c0c100 01000100 0284e500 04c28fa1
+ 6bc0db00 01000100 0284e500 04c28fa3 19.
+ +0.001671
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 10706572 6d757461 74696f6e 2d636974 79086772
+ 65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=50
+ +0.000683
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000108
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997538
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005811
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010001 00020002 10706572 6d757461 74696f6e 2d636974 79086772
+ 65656e65 6e64036f 72670275 6b000001 0001c00c 00010001 00015180 0004c3e0
+ 4c860867 7265656e 656e6403 6f726702 756b0000 02000100 01518000 11036e73
+ 300a7265 6c617469 76697479 c042c042 00020001 00015180 0006036e 7331c061
+ c05d0001 00010001 51800004 ac122d06 c07a0001 00010001 51800004 ac122d41.
+ +0.000862
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000193
+ close fd=4
+ close=OK
+ +0.000207
diff --git a/regress/case-cnametocname.err b/regress/case-cnametocname.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-cnametocname.err
diff --git a/regress/case-cnametocname.out b/regress/case-cnametocname.out
new file mode 100644
index 0000000..6d60fb2
--- /dev/null
+++ b/regress/case-cnametocname.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.18.45.6
+intel.ugcs.caltech.edu. flags 0 type 1 A(-) submitted
+adns debug: allegedly canonical name ugintel.best.ugcs.caltech.edu is actually alias for drachma.ugcs.caltech.edu (QNAME=intel.ugcs.caltech.edu, QTYPE=A, NS=172.18.45.6)
+intel.ugcs.caltech.edu. flags 0 type A(-): DNS alias found where canonical name wanted; nrrs=0; cname=ugintel.best.ugcs.caltech.edu; owner=$; ttl=497758
+rc=0
diff --git a/regress/case-cnametocname.sys b/regress/case-cnametocname.sys
new file mode 100644
index 0000000..33cbd7d
--- /dev/null
+++ b/regress/case-cnametocname.sys
@@ -0,0 +1,39 @@
+adnstest default
+:0x0|1 intel.ugcs.caltech.edu.
+ start 938369896.279735
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000179
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000054
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000041
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 05696e74 656c0475 67637307 63616c74 65636803
+ 65647500 00010001.
+ sendto=40
+ +0.001628
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998372
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.586476
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010003 00050005 05696e74 656c0475 67637307 63616c74 65636803
+ 65647500 00010001 05696e74 656c0475 67637307 63616c74 65636803 65647500
+ 00050001 0007985e 000f0775 67696e74 656c0462 657374c0 2ec04a00 05000100
+ 00000a00 0a076472 6163686d 61c02ec0 65000100 01000798 83000483 d72bacc0
+ 2e000200 01000935 be000b08 70757263 68617365 c02ec02e 00020001 000935be
+ 00070465 6e7679c0 2ec02e00 02000100 0935be00 09036f66 62036e65 7400c02e
+ 00020001 000935be 00090674 7962616c 74c033c0 2e000200 01000935 be000e08
+ 6d657263 7574696f 026e69c0 33c08b00 01000100 0935be00 0483d72b a7c0a200
+ 01000100 0935be00 0483d72b 87c0b500 01000100 001ef800 04c6b4b6 07c0ca00
+ 01000100 0100d700 0483d78b 64c0df00 01000100 0100d700 0483d7fe 63.
+ +0.001423
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000646
+ close fd=4
+ close=OK
+ +0.000242
diff --git a/regress/case-comprinf.err b/regress/case-comprinf.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-comprinf.err
diff --git a/regress/case-comprinf.out b/regress/case-comprinf.out
new file mode 100644
index 0000000..b7ea5e8
--- /dev/null
+++ b/regress/case-comprinf.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.6
+37.45.18.172.in-addr.arpa. flags 0 type 12 PTR(raw) submitted
+37.45.18.172.in-addr.arpa. flags 0 type PTR(raw): Found overly-long domain name; nrrs=0; cname=37.45.18.172.in-addr.arpa.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+rc=0
diff --git a/regress/case-comprinf.sys b/regress/case-comprinf.sys
new file mode 100644
index 0000000..01411ba
--- /dev/null
+++ b/regress/case-comprinf.sys
@@ -0,0 +1,35 @@
+adnstest default
+:0x0|12 37.45.18.172.in-addr.arpa.
+ start 951961094.184850
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000134
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000053
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000035
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 02333702 34350231 38033137 3207696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000960
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999040
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000200
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010002 00010001 02333702 34350231 38033137 3207696e 2d616464
+ 72046172 70610000 0c0001c0 0c000500 01000151 80003f02 33370234 35023138
+ 03313732 07696e2d 61646472 04617270 61047465 73740369 776a0a72 656c6174
+ 69766974 79086772 65656e65 6e64036f 72670275 6b00c037 000c0001 0000003c
+ 00060370 7472c082 c0510002 00010000 003c0006 036e7330 c05ac094 00010001
+ 00015180 0004ac12 2d06.
+ +0.000624
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000222
+ close fd=4
+ close=OK
+ +0.000197
diff --git a/regress/case-connfail.err b/regress/case-connfail.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-connfail.err
diff --git a/regress/case-connfail.out b/regress/case-connfail.out
new file mode 100644
index 0000000..bc01126
--- /dev/null
+++ b/regress/case-connfail.out
@@ -0,0 +1,9 @@
+adns debug: using nameserver 172.18.45.36
+adns debug: using nameserver 172.18.45.6
+davenant.greenend.org.uk flags 2 type 1adns warning: TCP connection failed: connect: Socket operation on non-socket (NS=172.18.45.36)
+adns warning: TCP connection failed: connect: Socket operation on non-socket (NS=172.18.45.6)
+ A(-) submitted
+adns warning: TCP connection failed: connect: Socket operation on non-socket (NS=172.18.45.36)
+adns warning: TCP connection failed: connect: Socket operation on non-socket (NS=172.18.45.6)
+davenant.greenend.org.uk flags 2 type A(-): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+rc=0
diff --git a/regress/case-connfail.sys b/regress/case-connfail.sys
new file mode 100644
index 0000000..f84f99d
--- /dev/null
+++ b/regress/case-connfail.sys
@@ -0,0 +1,78 @@
+./adnstest 2ndserver
+:0x0|1 2/davenant.greenend.org.uk
+ start 1056289303.784817
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000031
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000010
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000007
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=7
+ +0.000059
+ fcntl fd=7 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000007
+ fcntl fd=7 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000006
+ connect fd=7 addr=172.18.45.36:53
+ connect=ENOTSOCK
+ +0.000013
+ close fd=7
+ close=OK
+ +0.000031
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=7
+ +0.000035
+ fcntl fd=7 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000006
+ fcntl fd=7 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000007
+ connect fd=7 addr=172.18.45.6:53
+ connect=ENOTSOCK
+ +0.000008
+ close fd=7
+ close=OK
+ +0.000013
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000036
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=7
+ +0.000036
+ fcntl fd=7 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000007
+ fcntl fd=7 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000006
+ connect fd=7 addr=172.18.45.36:53
+ connect=ENOTSOCK
+ +0.000008
+ close fd=7
+ close=OK
+ +0.000013
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=7
+ +0.000036
+ fcntl fd=7 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000007
+ fcntl fd=7 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000006
+ connect fd=7 addr=172.18.45.6:53
+ connect=ENOTSOCK
+ +0.000008
+ close fd=7
+ close=OK
+ +0.000012
+ close fd=6
+ close=OK
+ +0.000023
diff --git a/regress/case-datapluscname.err b/regress/case-datapluscname.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-datapluscname.err
diff --git a/regress/case-datapluscname.out b/regress/case-datapluscname.out
new file mode 100644
index 0000000..fa83e09
--- /dev/null
+++ b/regress/case-datapluscname.out
@@ -0,0 +1,39 @@
+adns debug: using nameserver 172.18.45.6
+170.99.219.194.in-addr.arpa flags 292 type 1 A(-) submitted
+170.99.219.194.in-addr.arpa flags 292 type 2 NS(raw) submitted
+170.99.219.194.in-addr.arpa flags 292 type 5 CNAME(-) submitted
+170.99.219.194.in-addr.arpa flags 292 type 6 SOA(raw) submitted
+170.99.219.194.in-addr.arpa flags 292 type 12 PTR(raw) submitted
+170.99.219.194.in-addr.arpa flags 292 type 13 HINFO(-) submitted
+170.99.219.194.in-addr.arpa flags 292 type 15 MX(raw) submitted
+170.99.219.194.in-addr.arpa flags 292 type 16 TXT(-) submitted
+170.99.219.194.in-addr.arpa flags 292 type 17 RP(raw) submitted
+170.99.219.194.in-addr.arpa flags 292 type 65537 A(addr) submitted
+170.99.219.194.in-addr.arpa flags 292 type 65538 NS(+addr) submitted
+170.99.219.194.in-addr.arpa flags 292 type 65548 PTR(checked) submitted
+170.99.219.194.in-addr.arpa flags 292 type 65551 MX(+addr) submitted
+170.99.219.194.in-addr.arpa flags 292 type 131078 SOA(822) submitted
+170.99.219.194.in-addr.arpa flags 292 type 131089 RP(822) submitted
+adns debug: ignoring CNAME (to 170.168.99.219.194.in-addr.arpa) coexisting with RR (QNAME=170.99.219.194.in-addr.arpa, QTYPE=PTR(raw), NS=172.18.45.6)
+adns debug: ignoring RR with an unexpected owner 170.168.99.219.194.in-addr.arpa (QNAME=170.99.219.194.in-addr.arpa, QTYPE=PTR(raw), NS=172.18.45.6)
+adns debug: ignoring CNAME (to 170.168.99.219.194.in-addr.arpa) coexisting with RR (QNAME=170.99.219.194.in-addr.arpa, QTYPE=PTR(checked), NS=172.18.45.6)
+adns debug: ignoring RR with an unexpected owner 170.168.99.219.194.in-addr.arpa (QNAME=170.99.219.194.in-addr.arpa, QTYPE=PTR(checked), NS=172.18.45.6)
+170.99.219.194.in-addr.arpa flags 292 type A(-): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type NS(raw): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type SOA(raw): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type PTR(raw): OK; nrrs=1; cname=$; owner=170.99.219.194.in-addr.arpa; ttl=171727
+ proxy.scoplife.gr
+170.99.219.194.in-addr.arpa flags 292 type HINFO(-): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type MX(raw): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type TXT(-): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type RP(raw): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type NS(+addr): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type MX(+addr): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type SOA(822): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type RP(822): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type A(addr): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type PTR(checked): OK; nrrs=1; cname=$; owner=170.99.219.194.in-addr.arpa; ttl=171727
+ proxy.scoplife.gr
+170.99.219.194.in-addr.arpa flags 292 type CNAME(-): OK; nrrs=1; cname=$; owner=170.99.219.194.in-addr.arpa; ttl=171726
+ 170.168.99.219.194.in-addr.arpa
+rc=0
diff --git a/regress/case-datapluscname.sys b/regress/case-datapluscname.sys
new file mode 100644
index 0000000..fd5d83f
--- /dev/null
+++ b/regress/case-datapluscname.sys
@@ -0,0 +1,233 @@
+adnstest default -0x400
+292/170.99.219.194.in-addr.arpa
+ start 933809668.543946
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000199
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000081
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000063
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.003027
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.002832
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.004403
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.004763
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000c00 01.
+ sendto=45
+ +0.002558
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01.
+ sendto=45
+ +0.004339
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.002664
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01.
+ sendto=45
+ +0.004889
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.002642
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.002552
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.007571
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000c00 01.
+ sendto=45
+ +0.004820
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.004771
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.004879
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.004728
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.938562
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000329
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000688
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.003135
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000762
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238180 00010003 00040004 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 029ecf00 13057072 6f787908
+ 73636f70 6c696665 02677200 c00c0005 00010002 a2ec0021 03313730 03313638
+ 02393903 32313903 31393407 696e2d61 64647204 61727061 00c05800 0c000100
+ 029ecf00 02c039c0 5c000200 0100029e cf001004 696e666f 08666f72 74686e65
+ 74c048c0 5c000200 0100029e cf000805 6e736865 72c098c0 5c000200 0100029e
+ cf000805 6e737468 65c098c0 5c000200 0100029e cf000c09 74656972 65736961
+ 73c098c0 93000100 010004be 3900048b 5b0111c0 af000100 01000542 ba0004c1
+ 5c1e13c0 c3000100 01000542 800004c1 5c6e01c0 d7000100 01000542 800004c2
+ dbe302.
+ +0.001873
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000969
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000699
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000717
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.003514
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000783
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.003279
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8180 00010003 00040004 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 029ecf00 13057072 6f787908
+ 73636f70 6c696665 02677200 c00c0005 00010002 a2ec0021 03313730 03313638
+ 02393903 32313903 31393407 696e2d61 64647204 61727061 00c05800 0c000100
+ 029ecf00 02c039c0 5c000200 0100029e cf001004 696e666f 08666f72 74686e65
+ 74c048c0 5c000200 0100029e cf000805 6e736865 72c098c0 5c000200 0100029e
+ cf000805 6e737468 65c098c0 5c000200 0100029e cf000c09 74656972 65736961
+ 73c098c0 93000100 010004be 3900048b 5b0111c0 af000100 01000542 ba0004c1
+ 5c1e13c0 c3000100 01000542 800004c1 5c6e01c0 d7000100 01000542 800004c2
+ dbe302.
+ +0.001960
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 0570726f 78790873 636f706c 69666502 67720000
+ 010001.
+ sendto=35
+ +0.005061
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.003253
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000782
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01c00c00 05000100 02a2ec00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000698
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000173
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.915746
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.014046
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312f8180 00010001 00040004 0570726f 78790873 636f706c 69666502 67720000
+ 010001c0 0c000100 01000288 220004c2 db63aa08 73636f70 6c696665 02677200
+ 00020001 000542ba 0011056e 73617468 08666f72 74686e65 74c03cc0 33000200
+ 01000542 ba000805 6e736865 72c050c0 33000200 01000542 ba000805 6e737468
+ 65c050c0 33000200 01000542 ba000c09 74656972 65736961 73c050c0 4a000100
+ 01000542 800004c1 5c9603c0 67000100 01000542 ba0004c1 5c1e13c0 7b000100
+ 01000542 800004c1 5c6e01c0 8f000100 01000542 800004c2 dbe302.
+ +0.001422
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000197
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.900081
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.203705
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218180 00010001 00050005 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01c00c00 05000100 029ece00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100c041 00020001
+ 00029ece 00120469 6e666f08 666f7274 686e6574 02677200 c0410002 00010002
+ 9ece0008 056e7368 6572c06b c0410002 00010002 9ece0008 056e7374 6865c06b
+ c0410002 00010002 9ece0008 056e7361 7468c06b c0410002 00010002 9ece000c
+ 09746569 72657369 6173c06b c0660001 00010005 41ce0004 8b5b0111 c0840001
+ 00010005 42b90004 c15c1e13 c0980001 00010005 427f0004 c15c6e01 c0ac0001
+ 00010005 427f0004 c15c9603 c0c00001 00010005 427f0004 c2dbe302.
+ +0.001798
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000249
+ close fd=4
+ close=OK
+ +0.000219
diff --git a/regress/case-datapluscnamewait.err b/regress/case-datapluscnamewait.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-datapluscnamewait.err
diff --git a/regress/case-datapluscnamewait.out b/regress/case-datapluscnamewait.out
new file mode 100644
index 0000000..ea38cbe
--- /dev/null
+++ b/regress/case-datapluscnamewait.out
@@ -0,0 +1,78 @@
+adns debug: using nameserver 172.18.45.6
+170.99.219.194.in-addr.arpa flags 292 type 1 A(-) submitted
+170.99.219.194.in-addr.arpa flags 292 type 2 NS(raw) submitted
+170.99.219.194.in-addr.arpa flags 292 type 5 CNAME(-) submitted
+170.99.219.194.in-addr.arpa flags 292 type 6 SOA(raw) submitted
+170.99.219.194.in-addr.arpa flags 292 type 12 PTR(raw) submitted
+170.99.219.194.in-addr.arpa flags 292 type 13 HINFO(-) submitted
+170.99.219.194.in-addr.arpa flags 292 type 15 MX(raw) submitted
+170.99.219.194.in-addr.arpa flags 292 type 16 TXT(-) submitted
+170.99.219.194.in-addr.arpa flags 292 type 17 RP(raw) submitted
+170.99.219.194.in-addr.arpa flags 292 type 65537 A(addr) submitted
+170.99.219.194.in-addr.arpa flags 292 type 65538 NS(+addr) submitted
+170.99.219.194.in-addr.arpa flags 292 type 65548 PTR(checked) submitted
+170.99.219.194.in-addr.arpa flags 292 type 65551 MX(+addr) submitted
+170.99.219.194.in-addr.arpa flags 292 type 131078 SOA(822) submitted
+170.99.219.194.in-addr.arpa flags 292 type 131089 RP(822) submitted
+adns debug: ignoring CNAME (to 170.168.99.219.194.in-addr.arpa) coexisting with RR (QNAME=170.99.219.194.in-addr.arpa, QTYPE=PTR(raw), NS=172.18.45.6)
+adns debug: ignoring RR with an unexpected owner 170.168.99.219.194.in-addr.arpa (QNAME=170.99.219.194.in-addr.arpa, QTYPE=PTR(raw), NS=172.18.45.6)
+adns debug: ignoring CNAME (to 170.168.99.219.194.in-addr.arpa) coexisting with RR (QNAME=170.99.219.194.in-addr.arpa, QTYPE=PTR(checked), NS=172.18.45.6)
+adns debug: ignoring RR with an unexpected owner 170.168.99.219.194.in-addr.arpa (QNAME=170.99.219.194.in-addr.arpa, QTYPE=PTR(checked), NS=172.18.45.6)
+170.99.219.194.in-addr.arpa flags 292 type PTR(raw): OK; nrrs=1; cname=$; owner=170.99.219.194.in-addr.arpa; ttl=171763
+ proxy.scoplife.gr
+170.99.219.194.in-addr.arpa flags 292 type PTR(checked): OK; nrrs=1; cname=$; owner=170.99.219.194.in-addr.arpa; ttl=171763
+ proxy.scoplife.gr
+170.99.219.194.in-addr.arpa flags 292 type A(-): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=600
+170.99.219.194.in-addr.arpa flags 292 type MX(raw): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type RP(raw): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type A(addr): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=600
+170.99.219.194.in-addr.arpa flags 292 type NS(+addr): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type MX(+addr): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+170.99.219.194.in-addr.arpa flags 292 type RP(822): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=0
+adns debug: reply not found, id 3120, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3122, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3124, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3126, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+170.99.219.194.in-addr.arpa flags 292 type NS(raw): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=600
+170.99.219.194.in-addr.arpa flags 292 type SOA(raw): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=600
+170.99.219.194.in-addr.arpa flags 292 type HINFO(-): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=600
+170.99.219.194.in-addr.arpa flags 292 type TXT(-): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=600
+170.99.219.194.in-addr.arpa flags 292 type SOA(822): No such data; nrrs=0; cname=170.168.99.219.194.in-addr.arpa; owner=170.99.219.194.in-addr.arpa; ttl=599
+adns debug: reply not found, id 312e, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312d, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312c, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312a, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3129, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3127, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3126, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3125, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3124, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3122, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3120, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 311f, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312e, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312d, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312c, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312a, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3129, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3127, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3126, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3125, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3124, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3122, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3120, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 311f, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312c, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312a, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3129, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3127, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3126, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3125, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3124, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3122, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3120, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 311f, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312d, query owner 170.168.99.219.194.in-addr.arpa (NS=172.18.45.6)
+170.99.219.194.in-addr.arpa flags 292 type CNAME(-): OK; nrrs=1; cname=$; owner=170.99.219.194.in-addr.arpa; ttl=110056
+ 170.168.99.219.194.in-addr.arpa
+rc=0
diff --git a/regress/case-datapluscnamewait.sys b/regress/case-datapluscnamewait.sys
new file mode 100644
index 0000000..07e55e8
--- /dev/null
+++ b/regress/case-datapluscnamewait.sys
@@ -0,0 +1,1492 @@
+adnstest default -0x400
+292/170.99.219.194.in-addr.arpa
+ start 933809632.795174
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000201
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000083
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000062
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.005997
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.016139
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.006108
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.015626
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000c00 01.
+ sendto=45
+ +0.006041
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01.
+ sendto=45
+ +0.016937
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.005443
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01.
+ sendto=45
+ +0.015782
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.006303
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.015591
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.006039
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000c00 01.
+ sendto=45
+ +0.017765
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.006116
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.015294
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.006158
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.838661
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000324
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238180 00010003 00040004 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 029ef300 13057072 6f787908
+ 73636f70 6c696665 02677200 c00c0005 00010002 9ef50021 03313730 03313638
+ 02393903 32313903 31393407 696e2d61 64647204 61727061 00c05800 0c000100
+ 029ef300 02c039c0 5c000200 0100029e f3001004 696e666f 08666f72 74686e65
+ 74c048c0 5c000200 0100029e f3000805 6e736865 72c098c0 5c000200 0100029e
+ f3000805 6e737468 65c098c0 5c000200 0100029e f3000c09 74656972 65736961
+ 73c098c0 93000100 010004be 5d00048b 5b0111c0 af000100 01000542 de0004c1
+ 5c1e13c0 c3000100 01000542 a40004c1 5c6e01c0 d7000100 01000542 a40004c2
+ dbe302.
+ +0.007330
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8180 00010003 00040004 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 029ef300 13057072 6f787908
+ 73636f70 6c696665 02677200 c00c0005 00010002 9ef50021 03313730 03313638
+ 02393903 32313903 31393407 696e2d61 64647204 61727061 00c05800 0c000100
+ 029ef300 02c039c0 5c000200 0100029e f3001004 696e666f 08666f72 74686e65
+ 74c048c0 5c000200 0100029e f3000805 6e736865 72c098c0 5c000200 0100029e
+ f3000805 6e737468 65c098c0 5c000200 0100029e f3000c09 74656972 65736961
+ 73c098c0 93000100 010004be 5d00048b 5b0111c0 af000100 01000542 de0004c1
+ 5c1e13c0 c3000100 01000542 a40004c1 5c6e01c0 d7000100 01000542 a40004c2
+ dbe302.
+ +0.002315
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 0570726f 78790873 636f706c 69666502 67720000
+ 010001.
+ sendto=35
+ +0.005642
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000159
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.822891
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.007207
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312f8180 00010001 00040004 0570726f 78790873 636f706c 69666502 67720000
+ 010001c0 0c000100 01000288 460004c2 db63aa08 73636f70 6c696665 02677200
+ 00020001 000542de 0011056e 73617468 08666f72 74686e65 74c03cc0 33000200
+ 01000542 de000805 6e736865 72c050c0 33000200 01000542 de000805 6e737468
+ 65c050c0 33000200 01000542 de000c09 74656972 65736961 73c050c0 4a000100
+ 01000542 a40004c1 5c9603c0 67000100 01000542 de0004c1 5c1e13c0 7b000100
+ 01000542 a40004c1 5c6e01c0 8f000100 01000542 a40004c2 dbe302.
+ +0.001427
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000219
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.814038
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-185431
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.001281
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.004185
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008703
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.001091
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.010530
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.018894
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.001185
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.001033
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.017193
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.017773
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01.
+ sendto=45
+ +0.001148
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.015209
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.018840
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.001149
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000663
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008852
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01.
+ sendto=45
+ +0.001085
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.006508
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009065
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.001094
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.002652
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009275
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.001088
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.007880
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008377
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.001077
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.022230
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.028895
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.001155
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.001072
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.012518
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.017777
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.001095
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.838996
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-161506
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000502
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009962
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.001211
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.001066
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.018231
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.017752
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000479
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009982
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.001151
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.001038
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008299
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008021
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000278
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009792
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01.
+ sendto=45
+ +0.001143
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009331
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008852
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000479
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009985
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.001184
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01.
+ sendto=45
+ +0.001060
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008400
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.007976
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000424
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009931
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.001097
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.000764
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008465
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008502
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.000787
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.029148
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.028673
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000475
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009961
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.001131
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.001027
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008360
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.007873
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000487
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009998
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.001092
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.838948
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-161498
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000446
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009968
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.001172
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.001037
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.018281
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.017811
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000470
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009988
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.001156
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.001034
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008294
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.007805
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000489
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010003
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01.
+ sendto=45
+ +0.001162
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009304
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008831
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000473
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009990
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.001153
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01.
+ sendto=45
+ +0.001036
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008446
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.007809
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000637
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010143
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.001092
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.000740
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.000706
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.037740
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.037284
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000456
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009974
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.001135
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.001077
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008299
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.007902
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000397
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010170
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.000771
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.839018
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-161432
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000450
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009951
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.000533
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.000467
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.019507
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.019027
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000480
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009995
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.000505
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.000453
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009525
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009036
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000489
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009993
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01.
+ sendto=45
+ +0.000504
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009975
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009493
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000482
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009994
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.000528
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01.
+ sendto=45
+ +0.000454
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009647
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009014
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000633
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010175
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.000499
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.000450
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.000447
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.038859
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.038404
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000455
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009958
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.000474
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.000453
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009854
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009107
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000747
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010102
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.000502
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.839433
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-161012
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000445
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010011
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.000502
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.000455
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.019499
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.019014
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000485
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009983
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.000498
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.000458
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009533
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009049
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000484
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009996
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01.
+ sendto=45
+ +0.000500
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009979
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009494
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000485
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009996
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.000564
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01.
+ sendto=45
+ +0.000452
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009644
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008982
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000662
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010145
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.000527
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.000453
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.000449
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.038846
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.038396
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000450
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009997
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.000504
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.000454
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009631
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009036
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000595
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010011
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.000494
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.839591
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-160907
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000498
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009988
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.000516
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.000455
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.019493
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005671
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010001 00010000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01c00c00 05000100 029ee900 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100c03d 00060001
+ 00000258 00380974 65697265 73696173 08666f72 74686e65 74026772 000a686f
+ 73746d61 73746572 c0707709 a5220000 54600000 0e100036 ee800002 a300.
+ +0.001103
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000252
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.012467
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.011997
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000470
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009991
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.000503
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.000454
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009523
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009039
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000484
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009993
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01.
+ sendto=45
+ +0.000596
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009885
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009400
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000485
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009995
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.000496
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01.
+ sendto=45
+ +0.000452
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009685
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005326
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01c00c00 05000100 029ee900 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000679
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000223
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.003457
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.002820
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000637
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010141
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.000502
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01.
+ sendto=45
+ +0.000452
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.000445
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.038919
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004982
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01c00c00 05000100 029ee900 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000678
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000193
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.033066
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003845
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298180 00010001 00010000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000100 01c00c00 05000100 029ee900 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100c03d 00060001
+ 00000258 00380974 65697265 73696173 08666f72 74686e65 74026772 000a686f
+ 73746d61 73746572 c0707709 a5220000 54600000 0e100036 ee800002 a300.
+ +0.001064
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000234
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.027923
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002680
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01c00c00 05000100 029ee900 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000678
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000187
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.024378
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.023895
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000483
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009993
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01.
+ sendto=45
+ +0.000504
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.000448
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009543
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.008307
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000f00 01c00c00 05000100 029ee900 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000709
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000195
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000332
+ select=0 rfds=[] wfds=[] efds=[]
+ +1.-990116
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01.
+ sendto=45
+ +0.000501
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.839522
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.055562
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8180 00010001 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001100 01c00c00 05000100 029ee800 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100.
+ +0.000679
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000223
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.783058
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.111990
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000200 01.
+ +0.000458
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000171
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.670439
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.084620
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000600 01.
+ +0.000444
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000167
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.585208
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.105188
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000d00 01.
+ +0.000511
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000168
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.479341
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004276
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00001000 01.
+ +0.000441
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000162
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.474462
+ select=0 rfds=[] wfds=[] efds=[]
+ +1.473985
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000477
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009985
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01.
+ sendto=45
+ +0.000545
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.019932
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.019448
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000484
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004980
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.000489
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.000454
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010001 00010000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000200 01c00c00 05000100 02a30000 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100c03d 00060001
+ 00000258 00380974 65697265 73696173 08666f72 74686e65 74026772 000a686f
+ 73746d61 73746572 c0707709 a5220000 54600000 0e100036 ee800002 a300.
+ +0.001060
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000249
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.013241
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.007284
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228180 00010001 00010000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01c00c00 05000100 02a30000 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100c03d 00060001
+ 00000258 00380974 65697265 73696173 08666f72 74686e65 74026772 000a686f
+ 73746d61 73746572 c0707709 a5220000 54600000 0e100036 ee800002 a300.
+ +0.001134
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000207
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.004616
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.004131
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000485
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009996
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01.
+ sendto=45
+ +0.000510
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.009970
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005957
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248180 00010001 00010000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000d00 01c00c00 05000100 02a30000 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100c03d 00060001
+ 00000258 00380974 65697265 73696173 08666f72 74686e65 74026772 000a686f
+ 73746d61 73746572 c0707709 a5220000 54600000 0e100036 ee800002 a300.
+ +0.001093
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000200
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.002720
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.002235
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000485
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009985
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01.
+ sendto=45
+ +0.000495
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.059970
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.007581
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268180 00010001 00010000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00001000 01c00c00 05000100 02a30000 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100c03d 00060001
+ 00000258 00380974 65697265 73696173 08666f72 74686e65 74026772 000a686f
+ 73746d61 73746572 c0707709 a5220000 54600000 0e100036 ee800002 a300.
+ +0.001095
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000204
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.051090
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.050594
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000496
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010020
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01.
+ sendto=45
+ +0.000510
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.884517
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-971134
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010001 00010000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000600 01c00c00 05000100 02a2ff00 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100c03d 00060001
+ 00000257 00380974 65697265 73696173 08666f72 74686e65 74026772 000a686f
+ 73746d61 73746572 c0707709 a5220000 54600000 0e100036 ee800002 a300.
+ +0.001129
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000209
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.854313
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.294993
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00001100 01.
+ +0.000451
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000174
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.558695
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.012449
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000600 01.
+ +0.000443
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000195
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.545608
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.033254
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000f00 01.
+ +0.000442
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000165
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.511747
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.033698
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000200 01.
+ +0.000445
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000165
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.477439
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.087089
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000100 01.
+ +0.000475
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000165
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.389710
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.013746
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00001100 01.
+ +0.000440
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000165
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.375359
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.019341
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00001000 01.
+ +0.000440
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000165
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.355413
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.027349
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000f00 01.
+ +0.000442
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000167
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.327455
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-481849
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000d00 01.
+ +0.000476
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000178
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.808650
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004046
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000600 01.
+ +0.000443
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000223
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.803938
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003854
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000200 01.
+ +0.000442
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000169
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.799473
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004099
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000100 01.
+ +0.000431
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000159
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.794784
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.799306
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.000587
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999413
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.089275
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00001100 01.
+ +0.000477
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000179
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.909482
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-954601
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000600 01.
+ +0.000444
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000166
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.863473
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.176995
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000f00 01.
+ +0.000520
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000236
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.685722
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.009094
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000200 01.
+ +0.000441
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000165
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.676022
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004004
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000100 01.
+ +0.000437
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000160
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.671421
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003792
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00001100 01.
+ +0.000441
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000189
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.666999
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.108860
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00001000 01.
+ +0.000450
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000164
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.557525
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.378539
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000f00 01.
+ +0.000446
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000165
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.178375
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.021040
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000d00 01.
+ +0.000485
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000162
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.156688
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004025
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000600 01.
+ +0.000434
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000160
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.152069
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003840
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000200 01.
+ +0.000436
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000160
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.147633
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.135825
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000100 01.
+ +0.000442
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000164
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.011202
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010716
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000486
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009980
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.000496
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999504
+ select=1 rfds=[4] wfds=[] efds=[]
+ +2.-383424
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000f00 01.
+ +0.000484
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000222
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.382222
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004359
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000200 01.
+ +0.000454
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000163
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.377246
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003697
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000100 01.
+ +0.000440
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000161
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.372948
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003846
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00001100 01.
+ +0.000439
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000191
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.368472
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.101004
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00001000 01.
+ +0.000442
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000163
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.266863
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004860
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000f00 01.
+ +0.000458
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000162
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.261383
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003486
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000d00 01.
+ +0.000436
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000207
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.257254
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005999
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000600 01.
+ +0.000444
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000163
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.250648
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003548
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000200 01.
+ +0.000437
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000159
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.246504
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003713
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000100 01.
+ +0.000464
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000161
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.242166
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.241706
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000460
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009972
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.000493
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999507
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00956
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000463
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009960
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01.
+ sendto=45
+ +0.000477
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999523
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-273409
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010000 00000000 03313730 03313638 02393903 32313903 31393407
+ 696e2d61 64647204 61727061 00000600 01.
+ +0.000463
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000177
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.272292
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.110798
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218180 00010001 00050005 03313730 02393903 32313903 31393407 696e2d61
+ 64647204 61727061 00000500 01c00c00 05000100 01ade800 21033137 30033136
+ 38023939 03323139 03313934 07696e2d 61646472 04617270 6100c044 00020001
+ 0000bc71 00170974 65697265 73696173 08666f72 74686e65 74026772 00c04400
+ 02000100 00bc7100 0d026e73 04726970 65036e65 7400c044 00020001 0000bc71
+ 0008056e 73617468 c070c044 00020001 0000bc71 0008056e 73746865 c070c044
+ 00020001 0000bc71 0008056e 73686572 c070c066 00010001 00054576 0004c2db
+ e302c089 00010001 00029904 0004c100 00c1c0a2 00010001 0004c1d7 0004c15c
+ 9603c0b6 00010001 000484f0 0004c15c 6e01c0ca 00010001 00054600 0004c15c
+ 1e13.
+ +0.001965
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000301
+ close fd=4
+ close=OK
+ +0.000256
diff --git a/regress/case-dh-ptr-aaaa.err b/regress/case-dh-ptr-aaaa.err
new file mode 100644
index 0000000..67419fb
--- /dev/null
+++ b/regress/case-dh-ptr-aaaa.err
@@ -0,0 +1 @@
+adns debug: using nameserver 172.29.199.224
diff --git a/regress/case-dh-ptr-aaaa.out b/regress/case-dh-ptr-aaaa.out
new file mode 100644
index 0000000..64060d2
--- /dev/null
+++ b/regress/case-dh-ptr-aaaa.out
@@ -0,0 +1,2 @@
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa PTR stratocaster.distorted.org.uk
+rc=0
diff --git a/regress/case-dh-ptr-aaaa.sys b/regress/case-dh-ptr-aaaa.sys
new file mode 100644
index 0000000..dcd7136
--- /dev/null
+++ b/regress/case-dh-ptr-aaaa.sys
@@ -0,0 +1,68 @@
+./adnshost distorted
+-i2001:ba8:1d9:2::4
+ start 1401919808.588362
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000058
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000031
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000026
+ sendto fd=6 addr=172.29.199.224:53
+ 311f0100 00010000 00000000 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390164 01310130 01380161
+ 01620130 01310130 01300132 03697036 04617270 6100000c 0001.
+ sendto=90
+ +0.000233
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999767
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.004488
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 311f8580 00010001 00040008 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390164 01310130 01380161
+ 01620130 01310130 01300132 03697036 04617270 6100000c 0001c00c 000c0001
+ 00003840 001f0c73 74726174 6f636173 74657209 64697374 6f727465 64036f72
+ 6702756b 00c03400 02000100 00384000 0d0a7465 6c656361 73746572 c073c034
+ 00020001 00003840 00090672 61646975 73c073c0 34000200 01000038 40000c09
+ 70726563 6973696f 6ec073c0 34000200 01000038 40000a07 76616d70 697265c0
+ 73c0aa00 01000100 00384000 04ac1dc7 01c0aa00 1c000100 00384000 10200104
+ 70974000 01000000 00000000 01c0d700 01000100 00384000 04ac1dc7 05c0d700
+ 1c000100 00384000 10200104 70974000 01000000 00000000 05c0bf00 01000100
+ 00384000 04ac1dc7 b2c0bf00 1c000100 00384000 1020010b a801d900 02000000
+ 00000000 02c09100 01000100 00384000 04ac1dc7 b3c09100 1c000100 00384000
+ 1020010b a801d900 02000000 00000000 03.
+ +0.000405
+ sendto fd=6 addr=172.29.199.224:53
+ 31200100 00010000 00000000 0c737472 61746f63 61737465 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000175
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000040
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999380
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.002002
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31208580 00010001 00040008 0c737472 61746f63 61737465 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010ba801
+ d9000200 00000000 000004c0 19000200 01000038 4000100a 74656c65 63617374
+ 6572026e 73c019c0 19000200 01000038 40000c09 70726563 6973696f 6ec062c0
+ 19000200 01000038 40000906 72616469 7573c062 c0190002 00010000 3840000a
+ 0776616d 70697265 c062c08b 00010001 00003840 0004ac1d c701c08b 001c0001
+ 00003840 00102001 04709740 00010000 00000000 0001c0a0 00010001 00003840
+ 0004ac1d c705c0a0 001c0001 00003840 00102001 04709740 00010000 00000000
+ 0005c073 00010001 00003840 0004ac1d c7b2c073 001c0001 00003840 00102001
+ 0ba801d9 00020000 00000000 0002c057 00010001 00003840 0004ac1d c7b3c057
+ 001c0001 00003840 00102001 0ba801d9 00020000 00000000 0003.
+ +0.000280
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000051
+ close fd=6
+ close=OK
+ +0.000134
diff --git a/regress/case-flags10.err b/regress/case-flags10.err
new file mode 100644
index 0000000..e6c1c99
--- /dev/null
+++ b/regress/case-flags10.err
@@ -0,0 +1 @@
+too many flags
diff --git a/regress/case-flags10.out b/regress/case-flags10.out
new file mode 100644
index 0000000..2f93975
--- /dev/null
+++ b/regress/case-flags10.out
@@ -0,0 +1,2 @@
+adns debug: using nameserver 172.18.45.6
+rc=3
diff --git a/regress/case-flags10.sys b/regress/case-flags10.sys
new file mode 100644
index 0000000..24431ed
--- /dev/null
+++ b/regress/case-flags10.sys
@@ -0,0 +1,15 @@
+adnstest default
+:0x0|1 ,aaaaaaaaaa/chiark.greenend.org.uk
+ start 929580072.670441
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000191
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000084
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000061
+ close fd=4
+ close=OK
+ +0.000001
diff --git a/regress/case-flags9.err b/regress/case-flags9.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-flags9.err
diff --git a/regress/case-flags9.out b/regress/case-flags9.out
new file mode 100644
index 0000000..679ba0d
--- /dev/null
+++ b/regress/case-flags9.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.18.45.6
+chiark.greenend.org.uk flags 0 type 1 A(-) submitted
+chiark.greenend.org.uk flags 0 type A(-) ownflags=aaaaaaaaa: ok; nrrs=1; cname=$; owner=$; ttl=86400
+ 195.224.76.132
+rc=0
diff --git a/regress/case-flags9.sys b/regress/case-flags9.sys
new file mode 100644
index 0000000..4b01b37
--- /dev/null
+++ b/regress/case-flags9.sys
@@ -0,0 +1,34 @@
+adnstest default
+:0x0|1 ,aaaaaaaaa/chiark.greenend.org.uk
+ start 929580075.263215
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000212
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000083
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000060
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000625
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999375
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.007374
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d41.
+ +0.001238
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000228
+ close fd=4
+ close=OK
+ +0.000205
diff --git a/regress/case-formerr.err b/regress/case-formerr.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-formerr.err
diff --git a/regress/case-formerr.out b/regress/case-formerr.out
new file mode 100644
index 0000000..8f70764
--- /dev/null
+++ b/regress/case-formerr.out
@@ -0,0 +1,19 @@
+adns debug: using nameserver 172.18.45.6
+h.rndrobwlxxxxxxxxxxlllantysiliogogllanfairpwllgwyngyllgogerychw.relativity.greenend.org.uk. flags 1 type 1 A(-) submitted
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+adns warning: server cannot understand our query (Format Error) (NS=172.18.45.6)
+h.rndrobwlxxxxxxxxxxlllantysiliogogllanfairpwllgwyngyllgogerychw.relativity.greenend.org.uk. flags 1 type A(-): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+rc=0
diff --git a/regress/case-formerr.sys b/regress/case-formerr.sys
new file mode 100644
index 0000000..79c4c4e
--- /dev/null
+++ b/regress/case-formerr.sys
@@ -0,0 +1,330 @@
+adnstest default
+:0x0|1 1/h.rndrobwlxxxxxxxxxxlllantysiliogogllanfairpwllgwyngyllgogerychw.relativity.greenend.org.uk.
+ start 951956380.814815
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000130
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000056
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000033
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000977
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999023
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000192
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000130
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000088
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998613
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01236
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000766
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999234
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000115
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000116
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000065
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998938
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01066
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000004
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009983
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000688
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999312
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000113
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000114
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000065
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999020
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00961
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000702
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999298
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000113
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000114
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000066
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999005
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00753
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000714
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999286
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000117
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000117
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000069
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998983
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01199
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000182
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009922
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000689
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999311
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000114
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000113
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000064
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999020
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00958
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000716
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999284
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000114
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000136
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000066
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998968
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01033
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000001
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009977
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000669
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999331
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000113
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000115
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000065
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999038
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00943
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000720
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999280
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000113
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000114
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000065
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998988
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01009
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000703
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999297
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000134
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000115
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000066
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998982
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01006
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000760
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999240
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000120
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000116
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000070
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998934
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01050
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000816
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999184
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000124
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000120
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000074
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998866
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01045
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000888
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999112
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000127
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000119
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000072
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998794
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01003
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000840
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999160
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000297
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000124
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000077
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998662
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01614
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000276
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010069
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01683e72 6e64726f 62776c78 78787878 78787878
+ 786c6c6c 616e7479 73696c69 6f676f67 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 770a7265 6c617469 76697479 08677265 656e656e
+ 64036f72 6702756b 00000100 01.
+ sendto=109
+ +0.000791
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999209
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000117
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8181 00010000 00000000.
+ +0.000271
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000080
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998741
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-01357
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000098
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009963
+ close fd=4
+ close=OK
+ +0.000234
diff --git a/regress/case-lockup.err b/regress/case-lockup.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-lockup.err
diff --git a/regress/case-lockup.out b/regress/case-lockup.out
new file mode 100644
index 0000000..a3f7495
--- /dev/null
+++ b/regress/case-lockup.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.36
+chiark.greenend.org.uk flags 0 type 1 A(-) submitted
+chiark.greenend.org.uk flags 0 type A(-): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+rc=0
diff --git a/regress/case-lockup.sys b/regress/case-lockup.sys
new file mode 100644
index 0000000..486632a
--- /dev/null
+++ b/regress/case-lockup.sys
@@ -0,0 +1,135 @@
+adnstest noserver
+:0x0|1 chiark.greenend.org.uk
+ start 912889153.349504
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000193
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000088
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000072
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000617
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999383
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.008683
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000406
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999594
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009544
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000428
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999572
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009567
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000449
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999551
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009551
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000381
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999619
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009614
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000383
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999617
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009622
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000387
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999613
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009603
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000404
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999596
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009607
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000468
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999532
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009526
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000431
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999569
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009564
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000429
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999571
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009586
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000479
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999521
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009511
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000430
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999570
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009571
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000440
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999560
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009564
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +2.000439
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ close fd=4
+ close=OK
+ +0.000267
diff --git a/regress/case-longdom0.err b/regress/case-longdom0.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-longdom0.err
diff --git a/regress/case-longdom0.out b/regress/case-longdom0.out
new file mode 100644
index 0000000..bba739e
--- /dev/null
+++ b/regress/case-longdom0.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.6
+0rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk. flags 1 type 1 A(-) submitted
+0rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk. flags 1 type A(-): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+rc=0
diff --git a/regress/case-longdom0.sys b/regress/case-longdom0.sys
new file mode 100644
index 0000000..f6d3a56
--- /dev/null
+++ b/regress/case-longdom0.sys
@@ -0,0 +1,47 @@
+adnstest default
+:0x0|1 1/0rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk.
+ start 951955651.857473
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000126
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000056
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000036
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 2230726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f670a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=271
+ +0.003710
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.996290
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000332
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8583 00010000 00010000 2230726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f670a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 0100010a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 06000100 01518000 27036e73 30c10f0a 686f7374
+ 6d617374 6572c10f 0000002d 00001c20 00000e10 00093a80 00015180.
+ +0.001276
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000148
+ close fd=4
+ close=OK
+ +0.000154
diff --git a/regress/case-longdom1.err b/regress/case-longdom1.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-longdom1.err
diff --git a/regress/case-longdom1.out b/regress/case-longdom1.out
new file mode 100644
index 0000000..191a82f
--- /dev/null
+++ b/regress/case-longdom1.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.6
+10rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk. flags 1 type 1 A(-) submitted
+10rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk. flags 1 type A(-): Domain name or component is too long; nrrs=0; cname=$; owner=$; ttl=604800
+rc=0
diff --git a/regress/case-longdom1.sys b/regress/case-longdom1.sys
new file mode 100644
index 0000000..718aaed
--- /dev/null
+++ b/regress/case-longdom1.sys
@@ -0,0 +1,15 @@
+adnstest default
+:0x0|1 1/10rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk.
+ start 951955690.505811
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000126
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000058
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000035
+ close fd=4
+ close=OK
+ +0.000269
diff --git a/regress/case-longdomsrch0.err b/regress/case-longdomsrch0.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-longdomsrch0.err
diff --git a/regress/case-longdomsrch0.out b/regress/case-longdomsrch0.out
new file mode 100644
index 0000000..14a33a3
--- /dev/null
+++ b/regress/case-longdomsrch0.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.6
+10rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk flags 1 type 1 A(-) submitted
+10rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk flags 1 type A(-): No such domain; nrrs=0; cname=$; owner=$; ttl=604800
+rc=0
diff --git a/regress/case-longdomsrch0.sys b/regress/case-longdomsrch0.sys
new file mode 100644
index 0000000..ff0a22d
--- /dev/null
+++ b/regress/case-longdomsrch0.sys
@@ -0,0 +1,15 @@
+adnstest ndots100
+:0x0|1 1/10rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk
+ start 951956073.321566
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000131
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000056
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000034
+ close fd=4
+ close=OK
+ +0.000340
diff --git a/regress/case-longdomsrch1.err b/regress/case-longdomsrch1.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-longdomsrch1.err
diff --git a/regress/case-longdomsrch1.out b/regress/case-longdomsrch1.out
new file mode 100644
index 0000000..a1fa6b4
--- /dev/null
+++ b/regress/case-longdomsrch1.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.6
+0rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk flags 1 type 1 A(-) submitted
+0rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk flags 1 type A(-): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+rc=0
diff --git a/regress/case-longdomsrch1.sys b/regress/case-longdomsrch1.sys
new file mode 100644
index 0000000..c3deb1b
--- /dev/null
+++ b/regress/case-longdomsrch1.sys
@@ -0,0 +1,47 @@
+adnstest ndots100
+:0x0|1 1/0rndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk
+ start 951956087.269350
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000132
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000060
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000038
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 2230726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f670a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=271
+ +0.001749
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998251
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000215
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218583 00010000 00010000 2230726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f673f 6c6c616e 66616972 70776c6c 6777796e
+ 67796c6c 676f6765 72796368 7779726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f670a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 0100010a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 06000100 01518000 27036e73 30c10f0a 686f7374
+ 6d617374 6572c10f 0000002d 00001c20 00000e10 00093a80 00015180.
+ +0.001176
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000173
+ close fd=4
+ close=OK
+ +0.000152
diff --git a/regress/case-longdomsrch1b.err b/regress/case-longdomsrch1b.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-longdomsrch1b.err
diff --git a/regress/case-longdomsrch1b.out b/regress/case-longdomsrch1b.out
new file mode 100644
index 0000000..af09658
--- /dev/null
+++ b/regress/case-longdomsrch1b.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.6
+1xxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk flags 1 type 1 A(-) submitted
+1xxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk flags 1 type A(-): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+rc=0
diff --git a/regress/case-longdomsrch1b.sys b/regress/case-longdomsrch1b.sys
new file mode 100644
index 0000000..3ef9468
--- /dev/null
+++ b/regress/case-longdomsrch1b.sys
@@ -0,0 +1,46 @@
+adnstest ndots100
+:0x0|1 1/1xxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk
+ start 951956136.566877
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000137
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000060
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000038
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 13317878 786c6c6c 616e7479 73696c69 6f676f67
+ 3f6c6c61 6e666169 7270776c 6c677779 6e67796c 6c676f67 65727963 68777972
+ 6e64726f 62776c78 78787878 78787878 786c6c6c 616e7479 73696c69 6f676f67
+ 3f6c6c61 6e666169 7270776c 6c677779 6e67796c 6c676f67 65727963 68777972
+ 6e64726f 62776c78 78787878 78787878 786c6c6c 616e7479 73696c69 6f676f67
+ 3f6c6c61 6e666169 7270776c 6c677779 6e67796c 6c676f67 65727963 68777972
+ 6e64726f 62776c78 78787878 78787878 786c6c6c 616e7479 73696c69 6f676f67
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 00010001.
+ sendto=256
+ +0.004128
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995872
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000232
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218583 00010000 00010000 13317878 786c6c6c 616e7479 73696c69 6f676f67
+ 3f6c6c61 6e666169 7270776c 6c677779 6e67796c 6c676f67 65727963 68777972
+ 6e64726f 62776c78 78787878 78787878 786c6c6c 616e7479 73696c69 6f676f67
+ 3f6c6c61 6e666169 7270776c 6c677779 6e67796c 6c676f67 65727963 68777972
+ 6e64726f 62776c78 78787878 78787878 786c6c6c 616e7479 73696c69 6f676f67
+ 3f6c6c61 6e666169 7270776c 6c677779 6e67796c 6c676f67 65727963 68777972
+ 6e64726f 62776c78 78787878 78787878 786c6c6c 616e7479 73696c69 6f676f67
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 00010001
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 00060001
+ 00015180 0027036e 7330c100 0a686f73 746d6173 746572c1 00000000 2d00001c
+ 2000000e 1000093a 80000151 80.
+ +0.001145
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000155
+ close fd=4
+ close=OK
+ +0.000161
diff --git a/regress/case-longdomsrch2.err b/regress/case-longdomsrch2.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-longdomsrch2.err
diff --git a/regress/case-longdomsrch2.out b/regress/case-longdomsrch2.out
new file mode 100644
index 0000000..c4a3a23
--- /dev/null
+++ b/regress/case-longdomsrch2.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.6
+xxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk flags 1 type 1 A(-) submitted
+xxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk flags 1 type A(-): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+rc=0
diff --git a/regress/case-longdomsrch2.sys b/regress/case-longdomsrch2.sys
new file mode 100644
index 0000000..683c44b
--- /dev/null
+++ b/regress/case-longdomsrch2.sys
@@ -0,0 +1,72 @@
+adnstest ndots100
+:0x0|1 1/xxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.llanfairpwllgwyngyllgogerychwyrndrobwlxxxxxxxxxxlllantysiliogog.relativity.greenend.org.uk
+ start 951956143.624786
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000137
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000058
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000035
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 12787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f670a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=271
+ +0.004067
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.995933
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000223
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208583 00010000 00010000 12787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f670a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0867 7265656e
+ 656e6403 6f726702 756b0000 01000108 67726565 6e656e64 036f7267 02756b00
+ 00060001 00015180 002d026e 73066368 6961726b c10f0a68 6f73746d 61737465
+ 72c10f77 35e86000 00708000 001c2000 093a8000 015180.
+ +0.001177
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 12787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f670a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=255
+ +0.002348
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218583 00010000 00010000 12787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f673f
+ 6c6c616e 66616972 70776c6c 6777796e 67796c6c 676f6765 72796368 7779726e
+ 64726f62 776c7878 78787878 78787878 6c6c6c61 6e747973 696c696f 676f670a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 0100010a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 06000100
+ 01518000 27036e73 30c0ff0a 686f7374 6d617374 6572c0ff 0000002d 00001c20
+ 00000e10 00093a80 00015180.
+ +0.001060
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000105
+ close fd=4
+ close=OK
+ +0.000176
diff --git a/regress/case-longlab0.err b/regress/case-longlab0.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-longlab0.err
diff --git a/regress/case-longlab0.out b/regress/case-longlab0.out
new file mode 100644
index 0000000..19f05e0
--- /dev/null
+++ b/regress/case-longlab0.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.6
+yrndrobwlxxxxxxxxxxlllantysiliogogllanfairpwllgwyngyllgogerychw.relativity.greenend.org.uk. flags 1 type 1 A(-) submitted
+yrndrobwlxxxxxxxxxxlllantysiliogogllanfairpwllgwyngyllgogerychw.relativity.greenend.org.uk. flags 1 type A(-): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+rc=0
diff --git a/regress/case-longlab0.sys b/regress/case-longlab0.sys
new file mode 100644
index 0000000..bea6488
--- /dev/null
+++ b/regress/case-longlab0.sys
@@ -0,0 +1,37 @@
+adnstest default
+:0x0|1 1/yrndrobwlxxxxxxxxxxlllantysiliogogllanfairpwllgwyngyllgogerychw.relativity.greenend.org.uk.
+ start 951955250.786132
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000123
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000055
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000034
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 3f79726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f676c 6c616e66 61697270 776c6c67 77796e67
+ 796c6c67 6f676572 79636877 0a72656c 61746976 69747908 67726565 6e656e64
+ 036f7267 02756b00 00010001.
+ sendto=108
+ +0.003243
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.996757
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000534
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8583 00010000 00010000 3f79726e 64726f62 776c7878 78787878 78787878
+ 6c6c6c61 6e747973 696c696f 676f676c 6c616e66 61697270 776c6c67 77796e67
+ 796c6c67 6f676572 79636877 0a72656c 61746976 69747908 67726565 6e656e64
+ 036f7267 02756b00 00010001 0a72656c 61746976 69747908 67726565 6e656e64
+ 036f7267 02756b00 00060001 00015180 0027036e 7330c06c 0a686f73 746d6173
+ 746572c0 6c000000 2d00001c 2000000e 1000093a 80000151 80.
+ +0.000686
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000147
+ close fd=4
+ close=OK
+ +0.000151
diff --git a/regress/case-longlab1.err b/regress/case-longlab1.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-longlab1.err
diff --git a/regress/case-longlab1.out b/regress/case-longlab1.out
new file mode 100644
index 0000000..6f8b445
--- /dev/null
+++ b/regress/case-longlab1.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.6
+hyrndrobwlxxxxxxxxxxlllantysiliogogllanfairpwllgwyngyllgogerychw.relativity.greenend.org.uk. flags 1 type 1 A(-) submitted
+hyrndrobwlxxxxxxxxxxlllantysiliogogllanfairpwllgwyngyllgogerychw.relativity.greenend.org.uk. flags 1 type A(-): Domain name or component is too long; nrrs=0; cname=$; owner=$; ttl=604800
+rc=0
diff --git a/regress/case-longlab1.sys b/regress/case-longlab1.sys
new file mode 100644
index 0000000..bc8d0f0
--- /dev/null
+++ b/regress/case-longlab1.sys
@@ -0,0 +1,15 @@
+adnstest default
+:0x0|1 1/hyrndrobwlxxxxxxxxxxlllantysiliogogllanfairpwllgwyngyllgogerychw.relativity.greenend.org.uk.
+ start 951955261.286712
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000128
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000053
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000033
+ close fd=4
+ close=OK
+ +0.000238
diff --git a/regress/case-mailboxes.err b/regress/case-mailboxes.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-mailboxes.err
diff --git a/regress/case-mailboxes.out b/regress/case-mailboxes.out
new file mode 100644
index 0000000..61d1757
--- /dev/null
+++ b/regress/case-mailboxes.out
@@ -0,0 +1,10 @@
+adns debug: using nameserver 172.18.45.6
+silly-rp.test.iwj.relativity.greenend.org.uk flags 0 type 131089 RP(822) submitted
+silly-rp.test.iwj.relativity.greenend.org.uk flags 0 type RP(822): OK; nrrs=6; cname=$; owner=$; ttl=60
+ . .
+ i@ucam.org .
+ i.j@ucam.org .
+ "i..j"@ucam.org .
+ ".i"@ucam.org .
+ "i."@ucam.org .
+rc=0
diff --git a/regress/case-mailboxes.sys b/regress/case-mailboxes.sys
new file mode 100644
index 0000000..5889227
--- /dev/null
+++ b/regress/case-mailboxes.sys
@@ -0,0 +1,35 @@
+adnstest default
+:0x20000|17 silly-rp.test.iwj.relativity.greenend.org.uk
+ start 923859567.899146
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000411
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000094
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000073
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 0873696c 6c792d72 70047465 73740369 776a0a72
+ 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000011 0001.
+ sendto=62
+ +0.000670
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999330
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.008169
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010006 00000000 0873696c 6c792d72 70047465 73740369 776a0a72
+ 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000011 0001c00c
+ 00110001 0000003c 00020000 c00c0011 00010000 003c000d 01690475 63616d03
+ 6f726700 00c00c00 11000100 00003c00 0703692e 6ac05a00 c00c0011 00010000
+ 003c0008 04692e2e 6ac05a00 c00c0011 00010000 003c0006 022e69c0 5a00c00c
+ 00110001 0000003c 00060269 2ec05a00.
+ +0.000992
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000604
+ close fd=4
+ close=OK
+ +0.000359
diff --git a/regress/case-manya.err b/regress/case-manya.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-manya.err
diff --git a/regress/case-manya.out b/regress/case-manya.out
new file mode 100644
index 0000000..08cee50
--- /dev/null
+++ b/regress/case-manya.out
@@ -0,0 +1,8 @@
+adns debug: using nameserver 172.18.45.6
+manyaddrs.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+manyaddrs.test.iwj.relativity.greenend.org.uk flags 0 type A(-): OK; nrrs=4; cname=$; owner=$; ttl=60
+ 127.0.0.1
+ 172.18.45.6
+ 172.18.45.1
+ 172.18.45.35
+rc=0
diff --git a/regress/case-manya.sys b/regress/case-manya.sys
new file mode 100644
index 0000000..4eb0386
--- /dev/null
+++ b/regress/case-manya.sys
@@ -0,0 +1,36 @@
+adnstest default
+:0x0|1 manyaddrs.test.iwj.relativity.greenend.org.uk
+ start 912888920.123769
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000245
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000705
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000073
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 096d616e 79616464 72730474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=63
+ +0.000698
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999302
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.006236
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010004 00010001 096d616e 79616464 72730474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001c0
+ 0c000100 01000000 3c0004ac 122d23c0 0c000100 01000000 3c0004ac 122d06c0
+ 0c000100 01000000 3c0004ac 122d01c0 0c000100 01000000 3c00047f 00000104
+ 74657374 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267
+ 02756b00 00020001 0000003c 0006036e 7330c088 c0ae0001 00010001 51800004
+ ac122d06.
+ +0.001078
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000329
+ close fd=4
+ close=OK
+ +0.000240
diff --git a/regress/case-manyptrwrong.err b/regress/case-manyptrwrong.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-manyptrwrong.err
diff --git a/regress/case-manyptrwrong.out b/regress/case-manyptrwrong.out
new file mode 100644
index 0000000..983422f
--- /dev/null
+++ b/regress/case-manyptrwrong.out
@@ -0,0 +1,127 @@
+adns debug: using nameserver 195.224.55.129
+254.0.99.203.in-addr.arpa flags 0 type 1 A(-) submitted
+254.0.99.203.in-addr.arpa flags 0 type 2 NS(raw) submitted
+254.0.99.203.in-addr.arpa flags 0 type 5 CNAME(-) submitted
+254.0.99.203.in-addr.arpa flags 0 type 6 SOA(raw) submitted
+254.0.99.203.in-addr.arpa flags 0 type 12 PTR(raw) submitted
+254.0.99.203.in-addr.arpa flags 0 type 13 HINFO(-) submitted
+254.0.99.203.in-addr.arpa flags 0 type 15 MX(raw) submitted
+254.0.99.203.in-addr.arpa flags 0 type 16 TXT(-) submitted
+254.0.99.203.in-addr.arpa flags 0 type 17 RP(raw) submitted
+254.0.99.203.in-addr.arpa flags 0 type 65537 A(addr) submitted
+254.0.99.203.in-addr.arpa flags 0 type 65538 NS(+addr) submitted
+254.0.99.203.in-addr.arpa flags 0 type 65548 PTR(checked) submitted
+254.0.99.203.in-addr.arpa flags 0 type 65551 MX(+addr) submitted
+254.0.99.203.in-addr.arpa flags 0 type 131078 SOA(822) submitted
+254.0.99.203.in-addr.arpa flags 0 type 131089 RP(822) submitted
+adns debug: TCP connected (NS=195.224.55.129)
+254.0.99.203.in-addr.arpa flags 0 type PTR(raw): OK; nrrs=94; cname=$; owner=$; ttl=80790
+ ns.security.co.nz
+ tetra.co.nz
+ mail.agate.co.nz
+ ns.agate.co.nz
+ securitytraining.co.nz
+ ns.giftbasket.co.nz
+ ns.security.gen.nz
+ bouquet.co.nz
+ investigation.co.nz
+ ns.nzipi.org.nz
+ mail.neru.co.nz
+ security.co.nz
+ ns.storewatch.co.nz
+ security.gen.nz
+ ns.tetra.co.nz
+ mail.tetra.co.nz
+ ns.securicard.co.nz
+ ns.underhour.co.nz
+ bcc.co.nz
+ security.org.nz
+ burglaralarms.co.nz
+ ns.safes.co.nz
+ ns.security.org.nz
+ couperconsulting.co.nz
+ securityguards.co.nz
+ ns.guards.co.nz
+ asis.org.nz
+ neru.co.nz
+ giftbasket.co.nz
+ magic.co.nz
+ mail.bcc.co.nz
+ ns.investigation.co.nz
+ nzipi.org.nz
+ ns.bouquet.co.nz
+ mail.safes.co.nz
+ ns.bcc.co.nz
+ ns.burglaralarms.co.nz
+ ns.securityguards.co.nz
+ covertcameras.co.nz
+ ns.neru.co.nz
+ ns.covertcameras.co.nz
+ bouquets.co.nz
+ concentric.co.nz
+ ns.securitytraining.co.nz
+ mail.couperconsulting.co.nz
+ retailsecurity.co.nz
+ ns.concentric.co.nz
+ mail.magic.co.nz
+ nzangling.co.nz
+ ns.couperconsulting.co.nz
+ ns.nzangling.co.nz
+ mail.storewatch.co.nz
+ swift.co.nz
+ mail.selective.co.nz
+ ns.forefront.co.nz
+ mail.nzangling.co.nz
+ guards.co.nz
+ mail.nzdesigns.co.nz
+ storewatch.co.nz
+ ns.securitymanagement.co.nz
+ mail.woolworths.co.nz
+ mail.concentric.co.nz
+ selective.co.nz
+ specialinvestigations.co.nz
+ ns.swift.co.nz
+ mail.swift.co.nz
+ ns.securenet.net.nz
+ privateinvestigation.co.nz
+ ns.privateinvestigation.co.nz
+ etrade.co.nz
+ ns.specialinvestigations.co.nz
+ mail.ansett.co.nz
+ ftp.warrent.co.nz
+ ns.retailsecurity.co.nz
+ mail.securitymanagement.co.nz
+ ns.magic.co.nz
+ mail.forefront.co.nz
+ mail.securicard.co.nz
+ securicard.co.nz
+ ns.nzdesigns.co.nz
+ safes.co.nz
+ ns.selective.co.nz
+ forefront.co.nz
+ securitymanagement.co.nz
+ underhour.co.nz
+ securenet.net.nz
+ mail.specialinvestigations.co.nz
+ nzdesigns.co.nz
+ ns.etrade.co.nz
+ mail.nzipi.org.nz
+ mail.underhour.co.nz
+ ns.asis.org.nz
+ ns.bouquets.co.nz
+ agate.co.nz
+254.0.99.203.in-addr.arpa flags 0 type PTR(checked): Inconsistent resource records in DNS; nrrs=0; cname=$; owner=$; ttl=80790
+254.0.99.203.in-addr.arpa flags 0 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type NS(raw): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type SOA(raw): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type NS(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type SOA(822): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+254.0.99.203.in-addr.arpa flags 0 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+rc=0
diff --git a/regress/case-manyptrwrong.sys b/regress/case-manyptrwrong.sys
new file mode 100644
index 0000000..27c8cac
--- /dev/null
+++ b/regress/case-manyptrwrong.sys
@@ -0,0 +1,1287 @@
+adnstest ncipher -0x400
+254.0.99.203.in-addr.arpa
+ start 933269010.293417
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000166
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000063
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000049
+ sendto fd=4 addr=195.224.55.129:53
+ 311f0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.000861
+ sendto fd=4 addr=195.224.55.129:53
+ 31200100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.000518
+ sendto fd=4 addr=195.224.55.129:53
+ 31210100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.000511
+ sendto fd=4 addr=195.224.55.129:53
+ 31220100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.000533
+ sendto fd=4 addr=195.224.55.129:53
+ 31230100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000573
+ sendto fd=4 addr=195.224.55.129:53
+ 31240100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0d0001.
+ sendto=43
+ +0.000523
+ sendto fd=4 addr=195.224.55.129:53
+ 31250100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.000518
+ sendto fd=4 addr=195.224.55.129:53
+ 31260100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 100001.
+ sendto=43
+ +0.000544
+ sendto fd=4 addr=195.224.55.129:53
+ 31270100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.000509
+ sendto fd=4 addr=195.224.55.129:53
+ 31290100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.000543
+ sendto fd=4 addr=195.224.55.129:53
+ 312a0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.000528
+ sendto fd=4 addr=195.224.55.129:53
+ 312b0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000576
+ sendto fd=4 addr=195.224.55.129:53
+ 312c0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.000515
+ sendto fd=4 addr=195.224.55.129:53
+ 312d0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.000635
+ sendto fd=4 addr=195.224.55.129:53
+ 312e0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.000525
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.991588
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001474
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31238380 00010013 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 0100013b 96001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 00013b96 00080574 65747261 c043c00c
+ 000c0001 00013b96 000d046d 61696c05 61676174 65c043c0 0c000c00 0100013b
+ 96000502 6e73c06f c00c000c 00010001 3b960013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 0100013b 96001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 0100013b 96001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 013b9600 0a07626f 75717565 74c043c0 0c000c00 0100013b
+ 9600100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 0100013b 96000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 00013b96 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 00013b96 0002c03a c00c000c 00010001 3b960010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010001 3b960002 c0d2c00c
+ 000c0001 00013b96 0005026e 73c056c0 0c000c00 0100013b 96000704 6d61696c
+ c056c00c 000c0001 00013b96 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 00013b96 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 013b9600 06036263 63c043.
+ +0.001498
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.000954
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000053
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000047
+ connect fd=5 addr=195.224.55.129:53
+ connect=EINPROGRESS
+ +0.000195
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000071
+ select max=6 rfds=[4] wfds=[5] efds=[] to=1.987296
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.000949
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000147
+ write fd=5
+ 002b3123 01000001 00000000 00000332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.000532
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.985668
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.011715
+ read fd=5 buflen=2
+ read=OK
+ 097f.
+ +0.000186
+ read fd=5 buflen=2431
+ read=OK
+ 31238180 0001005e 00020002 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 0100013b 96001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 00013b96 00080574 65747261 c043c00c
+ 000c0001 00013b96 000d046d 61696c05 61676174 65c043c0 0c000c00 0100013b
+ 96000502 6e73c06f c00c000c 00010001 3b960013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 0100013b 96001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 0100013b 96001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 013b9600 0a07626f 75717565 74c043c0 0c000c00 0100013b
+ 9600100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 0100013b 96000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 00013b96 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 00013b96 0002c03a c00c000c 00010001 3b960010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010001 3b960002 c0d2c00c
+ 000c0001 00013b96 0005026e 73c056c0 0c000c00 0100013b 96000704 6d61696c
+ c056c00c 000c0001 00013b96 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 00013b96 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 013b9600 06036263 63c043c0 0c000c00 0100013b 96000b08 73656375 72697479
+ c128c00c 000c0001 00013b96 00100d62 7572676c 6172616c 61726d73 c043c00c
+ 000c0001 00013b96 000b026e 73057361 666573c0 43c00c00 0c000100 013b9600
+ 05026e73 c1f7c00c 000c0001 00013b96 00131063 6f757065 72636f6e 73756c74
+ 696e67c0 43c00c00 0c000100 013b9600 110e7365 63757269 74796775 61726473
+ c043c00c 000c0001 00013b96 000c026e 73066775 61726473 c043c00c 000c0001
+ 00013b96 00070461 736973c1 28c00c00 0c000100 013b9600 02c13fc0 0c000c00
+ 0100013b 960002c0 b6c00c00 0c000100 013b9600 08056d61 676963c0 43c00c00
+ 0c000100 013b9600 07046d61 696cc1e5 c00c000c 00010001 3b960005 026e73c1
+ 03c00c00 0c000100 013b9600 02c122c0 0c000c00 0100013b 96000502 6e73c0ed
+ c00c000c 00010001 3b960007 046d6169 6cc22dc0 0c000c00 0100013b 96000502
+ 6e73c1e5 c00c000c 00010001 3b960005 026e73c2 0ec00c00 0c000100 013b9600
+ 05026e73 c271c00c 000c0001 00013b96 00100d63 6f766572 7463616d 65726173
+ c043c00c 000c0001 00013b96 0005026e 73c13fc0 0c000c00 0100013b 96001302
+ 6e730d63 6f766572 7463616d 65726173 c043c00c 000c0001 00013b96 000b0862
+ 6f757175 657473c0 43c00c00 0c000100 013b9600 0d0a636f 6e63656e 74726963
+ c043c00c 000c0001 00013b96 0005026e 73c094c0 0c000c00 0100013b 96000704
+ 6d61696c c252c00c 000c0001 00013b96 00110e72 65746169 6c736563 75726974
+ 79c043c0 0c000c00 0100013b 96001002 6e730a63 6f6e6365 6e747269 63c043c0
+ 0c000c00 0100013b 96000d04 6d61696c 056d6167 6963c043 c00c000c 00010001
+ 3b96000c 096e7a61 6e676c69 6e67c043 c00c000c 00010001 3b960005 026e73c2
+ 52c00c00 0c000100 013b9600 0f026e73 096e7a61 6e676c69 6e67c043 c00c000c
+ 00010001 3b960007 046d6169 6cc163c0 0c000c00 0100013b 96000805 73776966
+ 74c043c0 0c000c00 0100013b 96001104 6d61696c 0973656c 65637469 7665c043
+ c00c000c 00010001 3b96000f 026e7309 666f7265 66726f6e 74c043c0 0c000c00
+ 0100013b 96001104 6d61696c 096e7a61 6e676c69 6e67c043 c00c000c 00010001
+ 3b960009 06677561 726473c0 43c00c00 0c000100 013b9600 11046d61 696c096e
+ 7a646573 69676e73 c043c00c 000c0001 00013b96 0002c163 c00c000c 00010001
+ 3b960018 026e7312 73656375 72697479 6d616e61 67656d65 6e74c043 c00c000c
+ 00010001 3b960012 046d6169 6c0a776f 6f6c776f 72746873 c043c00c 000c0001
+ 00013b96 0012046d 61696c0a 636f6e63 656e.
+ +0.003706
+ read fd=5 buflen=973
+ read=EAGAIN
+ +0.000190
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.969871
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000115
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 312b8380 00010013 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 0100013b 96001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 00013b96 00080574 65747261 c043c00c
+ 000c0001 00013b96 000d046d 61696c05 61676174 65c043c0 0c000c00 0100013b
+ 96000502 6e73c06f c00c000c 00010001 3b960013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 0100013b 96001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 0100013b 96001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 013b9600 0a07626f 75717565 74c043c0 0c000c00 0100013b
+ 9600100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 0100013b 96000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 00013b96 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 00013b96 0002c03a c00c000c 00010001 3b960010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010001 3b960002 c0d2c00c
+ 000c0001 00013b96 0005026e 73c056c0 0c000c00 0100013b 96000704 6d61696c
+ c056c00c 000c0001 00013b96 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 00013b96 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 013b9600 06036263 63c043.
+ +0.001180
+ write fd=5
+ 002b312b 01000001 00000000 00000332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.000444
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000085
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.968047
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.000311
+ read fd=5 buflen=973
+ read=OK
+ 74726963 c043c00c 000c0001 00013b96 000c0973 656c6563 74697665 c043c00c
+ 000c0001 00013b96 00181573 70656369 616c696e 76657374 69676174 696f6e73
+ c043c00c 000c0001 00013b96 000b026e 73057377 696674c0 43c00c00 0c000100
+ 013b9600 0d046d61 696c0573 77696674 c043c00c 000c0001 00013b96 0013026e
+ 73097365 63757265 6e657403 6e6574c0 46c00c00 0c000100 013b9600 17147072
+ 69766174 65696e76 65737469 67617469 6f6ec043 c00c000c 00010001 3b96001a
+ 026e7314 70726976 61746569 6e766573 74696761 74696f6e c043c00c 000c0001
+ 00013b96 00090665 74726164 65c043c0 0c000c00 0100013b 96001b02 6e731573
+ 70656369 616c696e 76657374 69676174 696f6e73 c043c00c 000c0001 00013b96
+ 000e046d 61696c06 616e7365 7474c043 c00c000c 00010001 3b96000e 03667470
+ 07776172 72656e74 c043c00c 000c0001 00013b96 0014026e 730e7265 7461696c
+ 73656375 72697479 c043c00c 000c0001 00013b96 001a046d 61696c12 73656375
+ 72697479 6d616e61 67656d65 6e74c043 c00c000c 00010001 3b96000b 026e7305
+ 6d616769 63c043c0 0c000c00 0100013b 96001104 6d61696c 09666f72 6566726f
+ 6e74c043 c00c000c 00010001 3b960007 046d6169 6cc1b1c0 0c000c00 0100013b
+ 960002c1 b1c00c00 0c000100 013b9600 0f026e73 096e7a64 65736967 6e73c043
+ c00c000c 00010001 3b960002 c22dc00c 000c0001 00013b96 000f026e 73097365
+ 6c656374 697665c0 43c00c00 0c000100 013b9600 0c09666f 72656672 6f6e74c0
+ 43c00c00 0c000100 013b9600 15127365 63757269 74796d61 6e616765 6d656e74
+ c043c00c 000c0001 00013b96 0002c1cd c00c000c 00010001 3b960010 09736563
+ 7572656e 6574036e 6574c046 c00c000c 00010001 3b96001d 046d6169 6c157370
+ 65636961 6c696e76 65737469 67617469 6f6e73c0 43c00c00 0c000100 013b9600
+ 0c096e7a 64657369 676e73c0 43c00c00 0c000100 013b9600 0c026e73 06657472
+ 616465c0 43c00c00 0c000100 013b9600 07046d61 696cc122 c00c000c 00010001
+ 3b960007 046d6169 6cc1cdc0 0c000c00 0100013b 96000a02 6e730461 736973c1
+ 28c00c00 0c000100 013b9600 0e026e73 08626f75 71756574 73c043c0 0c000c00
+ 0100013b 960002c0 6f013002 39390332 30330749 4e2d4144 44520441 52504100
+ 00020001 00053014 0002c037 01300239 39033230 3307494e 2d414444 52044152
+ 50410000 02000100 05301400 11036e73 31077761 696b6174 6f026163 c046c037
+ 00010001 00013c19 0004cb63 00fe036e 73310777 61696b61 746f0261 63c04600
+ 01000100 013d0200 048cc880 0d.
+ +0.002240
+ read fd=5 buflen=2433
+ read=EAGAIN
+ +0.012290
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.953206
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.014898
+ read fd=5 buflen=2433
+ read=OK
+ 097f312b 81800001 005e0002 00020332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 013b9600 13026e73 08736563
+ 75726974 7902636f 026e7a00 c00c000c 00010001 3b960008 05746574 7261c043
+ c00c000c 00010001 3b96000d 046d6169 6c056167 617465c0 43c00c00 0c000100
+ 013b9600 05026e73 c06fc00c 000c0001 00013b96 00131073 65637572 69747974
+ 7261696e 696e67c0 43c00c00 0c000100 013b9600 10026e73 0a676966 74626173
+ 6b6574c0 43c00c00 0c000100 013b9600 12026e73 08736563 75726974 79036765
+ 6ec046c0 0c000c00 0100013b 96000a07 626f7571 756574c0 43c00c00 0c000100
+ 013b9600 100d696e 76657374 69676174 696f6ec0 43c00c00 0c000100 013b9600
+ 0f026e73 056e7a69 7069036f 7267c046 c00c000c 00010001 3b96000c 046d6169
+ 6c046e65 7275c043 c00c000c 00010001 3b960002 c03ac00c 000c0001 00013b96
+ 0010026e 730a7374 6f726577 61746368 c043c00c 000c0001 00013b96 0002c0d2
+ c00c000c 00010001 3b960005 026e73c0 56c00c00 0c000100 013b9600 07046d61
+ 696cc056 c00c000c 00010001 3b960010 026e730a 73656375 72696361 7264c043
+ c00c000c 00010001 3b96000f 026e7309 756e6465 72686f75 72c043c0 0c000c00
+ 0100013b 96000603 626363c0 43c00c00 0c000100 013b9600 0b087365 63757269
+ 7479c128 c00c000c 00010001 3b960010 0d627572 676c6172 616c6172 6d73c043
+ c00c000c 00010001 3b96000b 026e7305 73616665 73c043c0 0c000c00 0100013b
+ 96000502 6e73c1f7 c00c000c 00010001 3b960013 10636f75 70657263 6f6e7375
+ 6c74696e 67c043c0 0c000c00 0100013b 9600110e 73656375 72697479 67756172
+ 6473c043 c00c000c 00010001 3b96000c 026e7306 67756172 6473c043 c00c000c
+ 00010001 3b960007 04617369 73c128c0 0c000c00 0100013b 960002c1 3fc00c00
+ 0c000100 013b9600 02c0b6c0 0c000c00 0100013b 96000805 6d616769 63c043c0
+ 0c000c00 0100013b 96000704 6d61696c c1e5c00c 000c0001 00013b96 0005026e
+ 73c103c0 0c000c00 0100013b 960002c1 22c00c00 0c000100 013b9600 05026e73
+ c0edc00c 000c0001 00013b96 0007046d 61696cc2 2dc00c00 0c000100 013b9600
+ 05026e73 c1e5c00c 000c0001 00013b96 0005026e 73c20ec0 0c000c00 0100013b
+ 96000502 6e73c271 c00c000c 00010001 3b960010 0d636f76 65727463 616d6572
+ 6173c043 c00c000c 00010001 3b960005 026e73c1 3fc00c00 0c000100 013b9600
+ 13026e73 0d636f76 65727463 616d6572 6173c043 c00c000c 00010001 3b96000b
+ 08626f75 71756574 73c043c0 0c000c00 0100013b 96000d0a 636f6e63 656e7472
+ 6963c043 c00c000c 00010001 3b960005 026e73c0 94c00c00 0c000100 013b9600
+ 07046d61 696cc252 c00c000c 00010001 3b960011 0e726574 61696c73 65637572
+ 697479c0 43c00c00 0c000100 013b9600 10026e73 0a636f6e 63656e74 726963c0
+ 43c00c00 0c000100 013b9600 0d046d61 696c056d 61676963 c043c00c 000c0001
+ 00013b96 000c096e 7a616e67 6c696e67 c043c00c 000c0001 00013b96 0005026e
+ 73c252c0 0c000c00 0100013b 96000f02 6e73096e 7a616e67 6c696e67 c043c00c
+ 000c0001 00013b96 0007046d 61696cc1 63c00c00 0c000100 013b9600 08057377
+ 696674c0 43c00c00 0c000100 013b9600 11046d61 696c0973 656c6563 74697665
+ c043c00c 000c0001 00013b96 000f026e 7309666f 72656672 6f6e74c0 43c00c00
+ 0c000100 013b9600 11046d61 696c096e 7a616e67 6c696e67 c043c00c 000c0001
+ 00013b96 00090667 75617264 73c043c0 0c000c00 0100013b 96001104 6d61696c
+ 096e7a64 65736967 6e73c043 c00c000c 00010001 3b960002 c163c00c 000c0001
+ 00013b96 0018026e 73127365 63757269 74796d61 6e616765 6d656e74 c043c00c
+ 000c0001 00013b96 0012046d 61696c0a 776f6f6c 776f7274 6873c043 c00c000c
+ 00010001 3b960012 046d6169 6c0a636f 6e63656e.
+ +0.003337
+ read fd=5 buflen=973
+ read=EAGAIN
+ +0.000189
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.934782
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.102926
+ read fd=5 buflen=973
+ read=OK
+ 74726963 c043c00c 000c0001 00013b96 000c0973 656c6563 74697665 c043c00c
+ 000c0001 00013b96 00181573 70656369 616c696e 76657374 69676174 696f6e73
+ c043c00c 000c0001 00013b96 000b026e 73057377 696674c0 43c00c00 0c000100
+ 013b9600 0d046d61 696c0573 77696674 c043c00c 000c0001 00013b96 0013026e
+ 73097365 63757265 6e657403 6e6574c0 46c00c00 0c000100 013b9600 17147072
+ 69766174 65696e76 65737469 67617469 6f6ec043 c00c000c 00010001 3b96001a
+ 026e7314 70726976 61746569 6e766573 74696761 74696f6e c043c00c 000c0001
+ 00013b96 00090665 74726164 65c043c0 0c000c00 0100013b 96001b02 6e731573
+ 70656369 616c696e 76657374 69676174 696f6e73 c043c00c 000c0001 00013b96
+ 000e046d 61696c06 616e7365 7474c043 c00c000c 00010001 3b96000e 03667470
+ 07776172 72656e74 c043c00c 000c0001 00013b96 0014026e 730e7265 7461696c
+ 73656375 72697479 c043c00c 000c0001 00013b96 001a046d 61696c12 73656375
+ 72697479 6d616e61 67656d65 6e74c043 c00c000c 00010001 3b96000b 026e7305
+ 6d616769 63c043c0 0c000c00 0100013b 96001104 6d61696c 09666f72 6566726f
+ 6e74c043 c00c000c 00010001 3b960007 046d6169 6cc1b1c0 0c000c00 0100013b
+ 960002c1 b1c00c00 0c000100 013b9600 0f026e73 096e7a64 65736967 6e73c043
+ c00c000c 00010001 3b960002 c22dc00c 000c0001 00013b96 000f026e 73097365
+ 6c656374 697665c0 43c00c00 0c000100 013b9600 0c09666f 72656672 6f6e74c0
+ 43c00c00 0c000100 013b9600 15127365 63757269 74796d61 6e616765 6d656e74
+ c043c00c 000c0001 00013b96 0002c1cd c00c000c 00010001 3b960010 09736563
+ 7572656e 6574036e 6574c046 c00c000c 00010001 3b96001d 046d6169 6c157370
+ 65636961 6c696e76 65737469 67617469 6f6e73c0 43c00c00 0c000100 013b9600
+ 0c096e7a 64657369 676e73c0 43c00c00 0c000100 013b9600 0c026e73 06657472
+ 616465c0 43c00c00 0c000100 013b9600 07046d61 696cc122 c00c000c 00010001
+ 3b960007 046d6169 6cc1cdc0 0c000c00 0100013b 96000a02 6e730461 736973c1
+ 28c00c00 0c000100 013b9600 0e026e73 08626f75 71756574 73c043c0 0c000c00
+ 0100013b 960002c0 6f013002 39390332 30330749 4e2d4144 44520441 52504100
+ 00020001 00053014 0002c037 01300239 39033230 3307494e 2d414444 52044152
+ 50410000 02000100 05301400 11036e73 31077761 696b6174 6f026163 c046c037
+ 00010001 00013c19 0004cb63 00fe036e 73310777 61696b61 746f0261 63c04600
+ 01000100 013d0200 048cc880 0d.
+ +0.002246
+ sendto fd=4 addr=195.224.55.129:53
+ 312f0100 00010000 00000000 026e7308 73656375 72697479 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001645
+ sendto fd=4 addr=195.224.55.129:53
+ 31300100 00010000 00000000 05746574 72610263 6f026e7a 00000100 01.
+ sendto=29
+ +0.000578
+ sendto fd=4 addr=195.224.55.129:53
+ 31310100 00010000 00000000 046d6169 6c056167 61746502 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000605
+ sendto fd=4 addr=195.224.55.129:53
+ 31320100 00010000 00000000 026e7305 61676174 6502636f 026e7a00 00010001.
+ sendto=32
+ +0.000624
+ sendto fd=4 addr=195.224.55.129:53
+ 31330100 00010000 00000000 10736563 75726974 79747261 696e696e 6702636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.000624
+ sendto fd=4 addr=195.224.55.129:53
+ 31340100 00010000 00000000 026e730a 67696674 6261736b 65740263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.000647
+ sendto fd=4 addr=195.224.55.129:53
+ 31350100 00010000 00000000 026e7308 73656375 72697479 0367656e 026e7a00
+ 00010001.
+ sendto=36
+ +0.000624
+ sendto fd=4 addr=195.224.55.129:53
+ 31360100 00010000 00000000 07626f75 71756574 02636f02 6e7a0000 010001.
+ sendto=31
+ +0.000606
+ sendto fd=4 addr=195.224.55.129:53
+ 31370100 00010000 00000000 0d696e76 65737469 67617469 6f6e0263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.000591
+ sendto fd=4 addr=195.224.55.129:53
+ 31380100 00010000 00000000 026e7305 6e7a6970 69036f72 67026e7a 00000100
+ 01.
+ sendto=33
+ +0.000617
+ sendto fd=4 addr=195.224.55.129:53
+ 31390100 00010000 00000000 046d6169 6c046e65 72750263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.000622
+ sendto fd=4 addr=195.224.55.129:53
+ 313a0100 00010000 00000000 08736563 75726974 7902636f 026e7a00 00010001.
+ sendto=32
+ +0.000608
+ sendto fd=4 addr=195.224.55.129:53
+ 313b0100 00010000 00000000 026e730a 73746f72 65776174 63680263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.000655
+ sendto fd=4 addr=195.224.55.129:53
+ 313c0100 00010000 00000000 08736563 75726974 79036765 6e026e7a 00000100
+ 01.
+ sendto=33
+ +0.000617
+ sendto fd=4 addr=195.224.55.129:53
+ 313d0100 00010000 00000000 026e7305 74657472 6102636f 026e7a00 00010001.
+ sendto=32
+ +0.000622
+ sendto fd=4 addr=195.224.55.129:53
+ 313e0100 00010000 00000000 046d6169 6c057465 74726102 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000638
+ sendto fd=4 addr=195.224.55.129:53
+ 313f0100 00010000 00000000 026e730a 73656375 72696361 72640263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.000645
+ sendto fd=4 addr=195.224.55.129:53
+ 31400100 00010000 00000000 026e7309 756e6465 72686f75 7202636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.000621
+ sendto fd=4 addr=195.224.55.129:53
+ 31410100 00010000 00000000 03626363 02636f02 6e7a0000 010001.
+ sendto=27
+ +0.000634
+ sendto fd=4 addr=195.224.55.129:53
+ 31420100 00010000 00000000 08736563 75726974 79036f72 67026e7a 00000100
+ 01.
+ sendto=33
+ +0.000669
+ sendto fd=4 addr=195.224.55.129:53
+ 31430100 00010000 00000000 0d627572 676c6172 616c6172 6d730263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.000788
+ sendto fd=4 addr=195.224.55.129:53
+ 31440100 00010000 00000000 026e7305 73616665 7302636f 026e7a00 00010001.
+ sendto=32
+ +0.000784
+ sendto fd=4 addr=195.224.55.129:53
+ 31450100 00010000 00000000 026e7308 73656375 72697479 036f7267 026e7a00
+ 00010001.
+ sendto=36
+ +0.000824
+ sendto fd=4 addr=195.224.55.129:53
+ 31460100 00010000 00000000 10636f75 70657263 6f6e7375 6c74696e 6702636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.000796
+ sendto fd=4 addr=195.224.55.129:53
+ 31470100 00010000 00000000 0e736563 75726974 79677561 72647302 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.000849
+ sendto fd=4 addr=195.224.55.129:53
+ 31480100 00010000 00000000 026e7306 67756172 64730263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.000819
+ sendto fd=4 addr=195.224.55.129:53
+ 31490100 00010000 00000000 04617369 73036f72 67026e7a 00000100 01.
+ sendto=29
+ +0.000730
+ sendto fd=4 addr=195.224.55.129:53
+ 314a0100 00010000 00000000 046e6572 7502636f 026e7a00 00010001.
+ sendto=28
+ +0.000761
+ sendto fd=4 addr=195.224.55.129:53
+ 314b0100 00010000 00000000 0a676966 74626173 6b657402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000781
+ sendto fd=4 addr=195.224.55.129:53
+ 314c0100 00010000 00000000 056d6167 69630263 6f026e7a 00000100 01.
+ sendto=29
+ +0.000760
+ sendto fd=4 addr=195.224.55.129:53
+ 314d0100 00010000 00000000 046d6169 6c036263 6302636f 026e7a00 00010001.
+ sendto=32
+ +0.000770
+ sendto fd=4 addr=195.224.55.129:53
+ 314e0100 00010000 00000000 026e730d 696e7665 73746967 6174696f 6e02636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.000825
+ sendto fd=4 addr=195.224.55.129:53
+ 314f0100 00010000 00000000 056e7a69 7069036f 7267026e 7a000001 0001.
+ sendto=30
+ +0.000781
+ sendto fd=4 addr=195.224.55.129:53
+ 31500100 00010000 00000000 026e7307 626f7571 75657402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000816
+ sendto fd=4 addr=195.224.55.129:53
+ 31510100 00010000 00000000 046d6169 6c057361 66657302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000796
+ sendto fd=4 addr=195.224.55.129:53
+ 31520100 00010000 00000000 026e7303 62636302 636f026e 7a000001 0001.
+ sendto=30
+ +0.000785
+ sendto fd=4 addr=195.224.55.129:53
+ 31530100 00010000 00000000 026e730d 62757267 6c617261 6c61726d 7302636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.000780
+ sendto fd=4 addr=195.224.55.129:53
+ 31540100 00010000 00000000 026e730e 73656375 72697479 67756172 64730263
+ 6f026e7a 00000100 01.
+ sendto=41
+ +0.000840
+ sendto fd=4 addr=195.224.55.129:53
+ 31550100 00010000 00000000 0d636f76 65727463 616d6572 61730263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.000816
+ sendto fd=4 addr=195.224.55.129:53
+ 31560100 00010000 00000000 026e7304 6e657275 02636f02 6e7a0000 010001.
+ sendto=31
+ +0.000778
+ sendto fd=4 addr=195.224.55.129:53
+ 31570100 00010000 00000000 026e730d 636f7665 72746361 6d657261 7302636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.000840
+ sendto fd=4 addr=195.224.55.129:53
+ 31580100 00010000 00000000 08626f75 71756574 7302636f 026e7a00 00010001.
+ sendto=32
+ +0.000765
+ sendto fd=4 addr=195.224.55.129:53
+ 31590100 00010000 00000000 0a636f6e 63656e74 72696302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000829
+ sendto fd=4 addr=195.224.55.129:53
+ 315a0100 00010000 00000000 026e7310 73656375 72697479 74726169 6e696e67
+ 02636f02 6e7a0000 010001.
+ sendto=43
+ +0.000815
+ sendto fd=4 addr=195.224.55.129:53
+ 315b0100 00010000 00000000 046d6169 6c10636f 75706572 636f6e73 756c7469
+ 6e670263 6f026e7a 00000100 01.
+ sendto=45
+ +0.000857
+ sendto fd=4 addr=195.224.55.129:53
+ 315c0100 00010000 00000000 0e726574 61696c73 65637572 69747902 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.000827
+ sendto fd=4 addr=195.224.55.129:53
+ 315d0100 00010000 00000000 026e730a 636f6e63 656e7472 69630263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.000807
+ sendto fd=4 addr=195.224.55.129:53
+ 315e0100 00010000 00000000 046d6169 6c056d61 67696302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000830
+ sendto fd=4 addr=195.224.55.129:53
+ 315f0100 00010000 00000000 096e7a61 6e676c69 6e670263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.000809
+ sendto fd=4 addr=195.224.55.129:53
+ 31600100 00010000 00000000 026e7310 636f7570 6572636f 6e73756c 74696e67
+ 02636f02 6e7a0000 010001.
+ sendto=43
+ +0.000864
+ sendto fd=4 addr=195.224.55.129:53
+ 31610100 00010000 00000000 026e7309 6e7a616e 676c696e 6702636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.000806
+ sendto fd=4 addr=195.224.55.129:53
+ 31620100 00010000 00000000 046d6169 6c0a7374 6f726577 61746368 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001021
+ sendto fd=4 addr=195.224.55.129:53
+ 31630100 00010000 00000000 05737769 66740263 6f026e7a 00000100 01.
+ sendto=29
+ +0.000910
+ sendto fd=4 addr=195.224.55.129:53
+ 31640100 00010000 00000000 046d6169 6c097365 6c656374 69766502 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.000882
+ sendto fd=4 addr=195.224.55.129:53
+ 31650100 00010000 00000000 026e7309 666f7265 66726f6e 7402636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.000888
+ sendto fd=4 addr=195.224.55.129:53
+ 31660100 00010000 00000000 046d6169 6c096e7a 616e676c 696e6702 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.000941
+ sendto fd=4 addr=195.224.55.129:53
+ 31670100 00010000 00000000 06677561 72647302 636f026e 7a000001 0001.
+ sendto=30
+ +0.000901
+ sendto fd=4 addr=195.224.55.129:53
+ 31680100 00010000 00000000 046d6169 6c096e7a 64657369 676e7302 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.000952
+ sendto fd=4 addr=195.224.55.129:53
+ 31690100 00010000 00000000 0a73746f 72657761 74636802 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000922
+ sendto fd=4 addr=195.224.55.129:53
+ 316a0100 00010000 00000000 026e7312 73656375 72697479 6d616e61 67656d65
+ 6e740263 6f026e7a 00000100 01.
+ sendto=45
+ +0.000921
+ sendto fd=4 addr=195.224.55.129:53
+ 316b0100 00010000 00000000 046d6169 6c0a776f 6f6c776f 72746873 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.000970
+ sendto fd=4 addr=195.224.55.129:53
+ 316c0100 00010000 00000000 046d6169 6c0a636f 6e63656e 74726963 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.000911
+ sendto fd=4 addr=195.224.55.129:53
+ 316d0100 00010000 00000000 0973656c 65637469 76650263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.000909
+ sendto fd=4 addr=195.224.55.129:53
+ 316e0100 00010000 00000000 15737065 6369616c 696e7665 73746967 6174696f
+ 6e730263 6f026e7a 00000100 01.
+ sendto=45
+ +0.000952
+ sendto fd=4 addr=195.224.55.129:53
+ 316f0100 00010000 00000000 026e7305 73776966 7402636f 026e7a00 00010001.
+ sendto=32
+ +0.000912
+ sendto fd=4 addr=195.224.55.129:53
+ 31700100 00010000 00000000 046d6169 6c057377 69667402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000910
+ sendto fd=4 addr=195.224.55.129:53
+ 31710100 00010000 00000000 026e7309 73656375 72656e65 74036e65 74026e7a
+ 00000100 01.
+ sendto=37
+ +0.000937
+ sendto fd=4 addr=195.224.55.129:53
+ 31720100 00010000 00000000 14707269 76617465 696e7665 73746967 6174696f
+ 6e02636f 026e7a00 00010001.
+ sendto=44
+ +0.000955
+ sendto fd=4 addr=195.224.55.129:53
+ 31730100 00010000 00000000 026e7314 70726976 61746569 6e766573 74696761
+ 74696f6e 02636f02 6e7a0000 010001.
+ sendto=47
+ +0.000949
+ sendto fd=4 addr=195.224.55.129:53
+ 31740100 00010000 00000000 06657472 61646502 636f026e 7a000001 0001.
+ sendto=30
+ +0.000929
+ sendto fd=4 addr=195.224.55.129:53
+ 31750100 00010000 00000000 026e7315 73706563 69616c69 6e766573 74696761
+ 74696f6e 7302636f 026e7a00 00010001.
+ sendto=48
+ +0.000948
+ sendto fd=4 addr=195.224.55.129:53
+ 31760100 00010000 00000000 046d6169 6c06616e 73657474 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.000956
+ sendto fd=4 addr=195.224.55.129:53
+ 31770100 00010000 00000000 03667470 07776172 72656e74 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.000882
+ sendto fd=4 addr=195.224.55.129:53
+ 31780100 00010000 00000000 026e730e 72657461 696c7365 63757269 74790263
+ 6f026e7a 00000100 01.
+ sendto=41
+ +0.001013
+ sendto fd=4 addr=195.224.55.129:53
+ 31790100 00010000 00000000 046d6169 6c127365 63757269 74796d61 6e616765
+ 6d656e74 02636f02 6e7a0000 010001.
+ sendto=47
+ +0.000970
+ sendto fd=4 addr=195.224.55.129:53
+ 317a0100 00010000 00000000 026e7305 6d616769 6302636f 026e7a00 00010001.
+ sendto=32
+ +0.000945
+ sendto fd=4 addr=195.224.55.129:53
+ 317b0100 00010000 00000000 046d6169 6c09666f 72656672 6f6e7402 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.000971
+ sendto fd=4 addr=195.224.55.129:53
+ 317c0100 00010000 00000000 046d6169 6c0a7365 63757269 63617264 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.000947
+ sendto fd=4 addr=195.224.55.129:53
+ 317d0100 00010000 00000000 0a736563 75726963 61726402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000933
+ sendto fd=4 addr=195.224.55.129:53
+ 317e0100 00010000 00000000 026e7309 6e7a6465 7369676e 7302636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.000952
+ sendto fd=4 addr=195.224.55.129:53
+ 317f0100 00010000 00000000 05736166 65730263 6f026e7a 00000100 01.
+ sendto=29
+ +0.000954
+ sendto fd=4 addr=195.224.55.129:53
+ 31800100 00010000 00000000 026e7309 73656c65 63746976 6502636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.000964
+ sendto fd=4 addr=195.224.55.129:53
+ 31810100 00010000 00000000 09666f72 6566726f 6e740263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.000967
+ sendto fd=4 addr=195.224.55.129:53
+ 31820100 00010000 00000000 12736563 75726974 796d616e 6167656d 656e7402
+ 636f026e 7a000001 0001.
+ sendto=42
+ +0.000966
+ sendto fd=4 addr=195.224.55.129:53
+ 31830100 00010000 00000000 09756e64 6572686f 75720263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.000942
+ sendto fd=4 addr=195.224.55.129:53
+ 31840100 00010000 00000000 09736563 7572656e 6574036e 6574026e 7a000001
+ 0001.
+ sendto=34
+ +0.000972
+ sendto fd=4 addr=195.224.55.129:53
+ 31850100 00010000 00000000 046d6169 6c157370 65636961 6c696e76 65737469
+ 67617469 6f6e7302 636f026e 7a000001 0001.
+ sendto=50
+ +0.000939
+ sendto fd=4 addr=195.224.55.129:53
+ 31860100 00010000 00000000 096e7a64 65736967 6e730263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.000978
+ sendto fd=4 addr=195.224.55.129:53
+ 31870100 00010000 00000000 026e7306 65747261 64650263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.000980
+ sendto fd=4 addr=195.224.55.129:53
+ 31880100 00010000 00000000 046d6169 6c056e7a 69706903 6f726702 6e7a0000
+ 010001.
+ sendto=35
+ +0.001012
+ sendto fd=4 addr=195.224.55.129:53
+ 31890100 00010000 00000000 046d6169 6c09756e 64657268 6f757202 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.000973
+ sendto fd=4 addr=195.224.55.129:53
+ 318a0100 00010000 00000000 026e7304 61736973 036f7267 026e7a00 00010001.
+ sendto=32
+ +0.000972
+ sendto fd=4 addr=195.224.55.129:53
+ 318b0100 00010000 00000000 026e7308 626f7571 75657473 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001216
+ sendto fd=4 addr=195.224.55.129:53
+ 318c0100 00010000 00000000 05616761 74650263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001028
+ read fd=5 buflen=2433
+ read=EAGAIN
+ +0.000212
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.749926
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000262
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 312f8180 00010001 00020002 026e7308 73656375 72697479 02636f02 6e7a0000
+ 010001c0 0c000100 0100013c 190004cb 6300fe08 73656375 72697479 02636f02
+ 6e7a0000 02000100 013c1900 02c00cc0 33000200 0100013c 19001103 6e733107
+ 7761696b 61746f02 6163c03f c00c0001 00010001 3c190004 cb6300fe c05b0001
+ 00010001 3d020004 8cc8800d.
+ +0.000482
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31308180 00010001 00020002 05746574 72610263 6f026e7a 00000100 01c00c00
+ 01000100 013c1400 04cb6300 fec00c00 02000100 013c1400 05026e73 c00cc00c
+ 00020001 00013c14 0013036e 73310777 61696b61 746f0261 63026e7a 00c03900
+ 01000100 013c1400 04cb6300 fec04a00 01000100 013d0200 048cc880 0d.
+ +0.001031
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31318180 00010001 00020002 046d6169 6c056167 61746502 636f026e 7a000001
+ 0001c00c 00010001 00013c11 0004cb63 00fe0561 67617465 02636f02 6e7a0000
+ 02000100 013d0100 11036e73 31077761 696b6174 6f026163 c03bc032 00020001
+ 00013d01 0005026e 73c032c0 49000100 0100013d 0200048c c8800dc0 66000100
+ 0100013d 010004cb 6300fe.
+ +0.000920
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31328180 00010001 00020002 026e7305 61676174 6502636f 026e7a00 00010001
+ c00c0001 00010001 3d010004 cb6300fe 05616761 74650263 6f026e7a 00000200
+ 0100013d 01001103 6e733107 7761696b 61746f02 6163c039 c0300002 00010001
+ 3d010002 c00cc047 00010001 00013d02 00048cc8 800dc00c 00010001 00013d01
+ 0004cb63 00fe.
+ +0.000909
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31338180 00010001 00020002 10736563 75726974 79747261 696e696e 6702636f
+ 026e7a00 00010001 c00c0001 00010001 3c150004 cb6300fe c00c0002 00010001
+ 3c150005 026e73c0 0cc00c00 02000100 013c1500 13036e73 31077761 696b6174
+ 6f026163 026e7a00 c0440001 00010000 6ada0004 cb6300fe c0550001 00010001
+ 3d020004 8cc8800d.
+ +0.000890
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31348180 00010001 00020002 026e730a 67696674 6261736b 65740263 6f026e7a
+ 00000100 01c00c00 01000100 013c1800 04cb6300 fe0a6769 66746261 736b6574
+ 02636f02 6e7a0000 02000100 013c1800 02c00cc0 35000200 0100013c 18001103
+ 6e733107 7761696b 61746f02 6163c043 c00c0001 00010001 3c180004 cb6300fe
+ c05f0001 00010001 3d020004 8cc8800d.
+ +0.000922
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31358180 00010001 00020002 026e7308 73656375 72697479 0367656e 026e7a00
+ 00010001 c00c0001 00010000 5a4d0004 cb6300fe 08736563 75726974 79036765
+ 6e026e7a 00000200 0100013c 11001103 6e733107 7761696b 61746f02 6163c041
+ c0340002 00010001 3c110002 c00cc04f 00010001 00013d02 00048cc8 800dc00c
+ 00010001 00005a4d 0004cb63 00fe.
+ +0.000900
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31368180 00010001 00020002 07626f75 71756574 02636f02 6e7a0000 010001c0
+ 0c000100 0100013c 150004cb 6300fec0 0c000200 0100013c 15000502 6e73c00c
+ c00c0002 00010001 3c150013 036e7331 07776169 6b61746f 02616302 6e7a00c0
+ 3b000100 01000064 ce0004cb 6300fec0 4c000100 0100013d 0200048c c8800d.
+ +0.000863
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31378180 00010001 00020002 0d696e76 65737469 67617469 6f6e0263 6f026e7a
+ 00000100 01c00c00 01000100 013c1100 04cb6300 fec00c00 02000100 013c1100
+ 05026e73 c00cc00c 00020001 00013c11 0013036e 73310777 61696b61 746f0261
+ 63024e5a 00c04100 01000100 012b3100 04cb6300 fec05200 01000100 013d0200
+ 048cc880 0d.
+ +0.000907
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31388180 00010001 00020002 026e7305 6e7a6970 69036f72 67026e7a 00000100
+ 01c00c00 01000100 013d0100 04cb6300 fe056e7a 69706903 6f726702 6e7a0000
+ 02000100 013d0100 02c00cc0 31000200 0100013d 01001103 6e733107 7761696b
+ 61746f02 6163c03b c00c0001 00010001 3d010004 cb6300fe c0570001 00010001
+ 3d020004 8cc8800d.
+ +0.000880
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31398180 00010001 00020002 046d6169 6c046e65 72750263 6f026e7a 00000100
+ 01c00c00 01000100 013c1100 04cb6300 fe046e65 72750263 6f026e7a 00000200
+ 0100013c 12001103 6e733107 7761696b 61746f02 6163c039 c0310002 00010001
+ 3c120005 026e73c0 31c04700 01000100 013d0200 048cc880 0dc06400 01000100
+ 0064cc00 04cb6300 fe.
+ +0.000898
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 313a8180 00010001 00020002 08736563 75726974 7902636f 026e7a00 00010001
+ c00c0001 00010001 3c190004 cb6300fe c00c0002 00010001 3c190005 026e73c0
+ 0cc00c00 02000100 013c1900 13036e73 31077761 696b6174 6f026163 024e5a00
+ c03c0001 00010001 3c190004 cb6300fe c04d0001 00010001 3d020004 8cc8800d.
+ +0.000858
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 313b8583 00010000 00010000 026e730a 73746f72 65776174 63680263 6f026e7a
+ 00000100 0102636f 026e7a00 00060001 0000014b 002c046e 73393907 7761696b
+ 61746f02 6163c028 03736f61 c03b7727 6ec50000 0e100000 07080027 8d000001
+ 5180.
+ +0.000799
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 313c8180 00010001 00020002 08736563 75726974 79036765 6e026e7a 00000100
+ 01c00c00 01000100 013c1100 04cb6300 fec00c00 02000100 013c1100 13036e73
+ 31077761 696b6174 6f026163 026e7a00 c00c0002 00010001 3c110005 026e73c0
+ 0cc03d00 01000100 013d0200 048cc880 0dc05c00 01000100 005a4d00 04cb6300
+ fe.
+ +0.015730
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 313d8180 00010001 00020002 026e7305 74657472 6102636f 026e7a00 00010001
+ c00c0001 00010001 3c140004 cb6300fe 05746574 72610263 6f026e7a 00000200
+ 0100013c 140002c0 0cc03000 02000100 013c1400 11036e73 31077761 696b6174
+ 6f026163 c039c00c 00010001 00013c14 0004cb63 00fec055 00010001 00013d02
+ 00048cc8 800d.
+ +0.000552
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 313e8180 00010001 00020002 046d6169 6c057465 74726102 636f026e 7a000001
+ 0001c00c 00010001 00013c12 0004cb63 00fe0574 65747261 02636f02 6e7a0000
+ 02000100 013c1400 05026e73 c032c032 00020001 00013c14 0011036e 73310777
+ 61696b61 746f0261 63c03bc0 49000100 0100013c 140004cb 6300fec0 5a000100
+ 0100013d 0200048c c8800d.
+ +0.000560
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 313f8180 00010001 00020002 026e730a 73656375 72696361 72640263 6f026e7a
+ 00000100 01c00c00 01000100 013d0100 04cb6300 fe0a7365 63757269 63617264
+ 02636f02 6e7a0000 02000100 013d0100 02c00cc0 35000200 0100013d 01001103
+ 6e733107 7761696b 61746f02 6163c043 c00c0001 00010001 3d010004 cb6300fe
+ c05f0001 00010001 3d020004 8cc8800d.
+ +0.000545
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31408180 00010001 00020002 026e7309 756e6465 72686f75 7202636f 026e7a00
+ 00010001 c00c0001 00010001 3d010004 cb6300fe 09756e64 6572686f 75720263
+ 6f026e7a 00000200 0100013d 010002c0 0cc03400 02000100 013d0100 11036e73
+ 31077761 696b6174 6f026163 c041c00c 00010001 00013d01 0004cb63 00fec05d
+ 00010001 00013d02 00048cc8 800d.
+ +0.000542
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31418180 00010001 00020002 03626363 02636f02 6e7a0000 010001c0 0c000100
+ 0100013c 120004cb 6300fec0 0c000200 0100013c 18000502 6e73c00c c00c0002
+ 00010001 3c180013 036e7331 07776169 6b61746f 02616302 6e7a00c0 37000100
+ 0100006a dc0004cb 6300fec0 48000100 0100013d 0200048c c8800d.
+ +0.000518
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31428180 00010001 00020002 08736563 75726974 79036f72 67026e7a 00000100
+ 01c00c00 01000100 013c1200 04cb6300 fec00c00 02000100 013c1200 05026e73
+ c00cc00c 00020001 00013c12 0013036e 73310777 61696b61 746f0261 63026e7a
+ 00c03d00 01000100 013c1200 04cb6300 fec04e00 01000100 013d0200 048cc880
+ 0d.
+ +0.000512
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31438180 00010001 00020002 0d627572 676c6172 616c6172 6d730263 6f026e7a
+ 00000100 01c00c00 01000100 013c1200 04cb6300 fec00c00 02000100 013c1200
+ 05026e73 c00cc00c 00020001 00013c12 0013036e 73310777 61696b61 746f0261
+ 63026e7a 00c04100 01000100 0064cc00 04cb6300 fec05200 01000100 013d0200
+ 048cc880 0d.
+ +0.000548
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31448583 00010000 00010000 026e7305 73616665 7302636f 026e7a00 00010001
+ 05736166 65730263 6f026e7a 00000600 01000001 4c002e03 6e733104 69687567
+ 036e6574 c0290373 6f610469 687567c0 26772768 a9000151 8000002a 30001275
+ 000002a3 00.
+ +0.000452
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31458180 00010001 00020002 026e7308 73656375 72697479 036f7267 026e7a00
+ 00010001 c00c0001 00010001 3c120004 cb6300fe 08736563 75726974 79036f72
+ 67026e7a 00000200 0100013c 120002c0 0cc03400 02000100 013c1200 11036e73
+ 31077761 696b6174 6f026163 c041c00c 00010001 00013c12 0004cb63 00fec05d
+ 00010001 00013d02 00048cc8 800d.
+ +0.000539
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31468180 00010001 00020002 10636f75 70657263 6f6e7375 6c74696e 6702636f
+ 026e7a00 00010001 c00c0001 00010001 3c120004 cb6300fe c00c0002 00010001
+ 3d010013 036e7331 07776169 6b61746f 02616302 6e7a00c0 0c000200 0100013d
+ 01000502 6e73c00c c0440001 00010001 3d020004 8cc8800d c0630001 00010000
+ 718c0004 cb6300fe.
+ +0.000547
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31478180 00010001 00020002 0e736563 75726974 79677561 72647302 636f026e
+ 7a000001 0001c00c 00010001 00013c12 0004cb63 00fec00c 00020001 00013c12
+ 0005026e 73c00cc0 0c000200 0100013c 12001303 6e733107 7761696b 61746f02
+ 6163026e 7a00c042 00010001 000064cc 0004cb63 00fec053 00010001 00013d02
+ 00048cc8 800d.
+ +0.000649
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31488180 00010001 00020002 026e7306 67756172 64730263 6f026e7a 00000100
+ 01c00c00 01000100 013cfa00 04cb6300 fe066775 61726473 02636f02 6e7a0000
+ 02000100 013cfa00 02c00cc0 31000200 0100013c fa001103 6e733107 7761696b
+ 61746f02 6163c03b c00c0001 00010001 3cfa0004 cb6300fe c0570001 00010001
+ 3d020004 8cc8800d.
+ +0.000551
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31498180 00010001 00020002 04617369 73036f72 67026e7a 00000100 01c00c00
+ 01000100 013c1200 04cb6300 fec00c00 02000100 013c1200 05026e73 c00cc00c
+ 00020001 00013c12 0013036e 73310777 61696b61 746f0261 63026e7a 00c03900
+ 01000100 006ad900 04cb6300 fec04a00 01000100 013d0200 048cc880 0d.
+ +0.000503
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 314a8180 00010001 00020002 046e6572 7502636f 026e7a00 00010001 c00c0001
+ 00010001 3c120004 cb6300fe c00c0002 00010001 3c120013 036e7331 07776169
+ 6b61746f 02616302 6e7a00c0 0c000200 0100013c 12000502 6e73c00c c0380001
+ 00010001 3d020004 8cc8800d c0570001 00010000 64cc0004 cb6300fe.
+ +0.000499
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 314b8180 00010001 00020002 0a676966 74626173 6b657402 636f026e 7a000001
+ 0001c00c 00010001 00013c18 0004cb63 00fec00c 00020001 00013c18 0005026e
+ 73c00cc0 0c000200 0100013c 18001303 6e733107 7761696b 61746f02 6163024e
+ 5a00c03e 00010001 00013c18 0004cb63 00fec04f 00010001 00013d02 00048cc8
+ 800d.
+ +0.000529
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 314c8180 00010001 00020002 056d6167 69630263 6f026e7a 00000100 01c00c00
+ 01000100 013c1c00 04cb6300 fec00c00 02000100 013d0100 05026e73 c00cc00c
+ 00020001 00013d01 0013036e 73310777 61696b61 746f0261 63026e7a 00c03900
+ 01000100 00718c00 04cb6300 fec04a00 01000100 013d0200 048cc880 0d.
+ +0.000503
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 314d8180 00010001 00020002 046d6169 6c036263 6302636f 026e7a00 00010001
+ c00c0001 00010001 3c180004 cb6300fe 03626363 02636f02 6e7a0000 02000100
+ 013c1800 05026e73 c030c030 00020001 00013c18 0011036e 73310777 61696b61
+ 746f0261 63c037c0 45000100 0100006a dc0004cb 6300fec0 56000100 0100013d
+ 0200048c c8800d.
+ +0.000544
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 314e8180 00010001 00020002 026e730d 696e7665 73746967 6174696f 6e02636f
+ 026e7a00 00010001 c00c0001 00010001 2b310004 cb6300fe 0d696e76 65737469
+ 67617469 6f6e0263 6f026e7a 00000200 0100013c 110002c0 0cc03800 02000100
+ 013c1100 11036e73 31077761 696b6174 6f026163 c049c00c 00010001 00012b31
+ 0004cb63 00fec065 00010001 00013d02 00048cc8 800d.
+ +0.000562
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 314f8180 00010001 00020002 056e7a69 7069036f 7267026e 7a000001 0001c00c
+ 00010001 00013c18 0004cb63 00fec00c 00020001 00013d01 0005026e 73c00cc0
+ 0c000200 0100013d 01001303 6e733107 7761696b 61746f02 6163024e 5a00c03a
+ 00010001 00013d01 0004cb63 00fec04b 00010001 00013d02 00048cc8 800d.
+ +0.000505
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31508180 00010001 00020002 026e7307 626f7571 75657402 636f026e 7a000001
+ 0001c00c 00010001 00005fc3 0004cb63 00fe0762 6f757175 65740263 6f026e7a
+ 00000200 0100013c 150002c0 0cc03200 02000100 013c1500 11036e73 31077761
+ 696b6174 6f026163 c03dc00c 00010001 00005fc3 0004cb63 00fec059 00010001
+ 00013d02 00048cc8 800d.
+ +0.000561
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31518583 00010000 00010000 046d6169 6c057361 66657302 636f026e 7a000001
+ 00010573 61666573 02636f02 6e7a0000 06000100 00014c00 2e036e73 31046968
+ 7567036e 6574c02b 03736f61 04696875 67c02877 2768a900 01518000 002a3000
+ 12750000 02a300.
+ +0.000456
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31528180 00010001 00020002 026e7303 62636302 636f026e 7a000001 0001c00c
+ 00010001 00006584 0004cb63 00fe0362 63630263 6f026e7a 00000200 0100013c
+ 180002c0 0cc02e00 02000100 013c1800 11036e73 31077761 696b6174 6f026163
+ c035c00c 00010001 00006584 0004cb63 00fec051 00010001 00013d02 00048cc8
+ 800d.
+ +0.000510
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31538180 00010001 00020002 026e730d 62757267 6c617261 6c61726d 7302636f
+ 026e7a00 00010001 c00c0001 00010000 5fc10004 cb6300fe 0d627572 676c6172
+ 616c6172 6d730263 6f026e7a 00000200 0100013c 120002c0 0cc03800 02000100
+ 013c1200 11036e73 31077761 696b6174 6f026163 c049c00c 00010001 00005fc1
+ 0004cb63 00fec065 00010001 00013d02 00048cc8 800d.
+ +0.000695
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31548180 00010001 00020002 026e730e 73656375 72697479 67756172 64730263
+ 6f026e7a 00000100 01c00c00 01000100 005fc100 04cb6300 fe0e7365 63757269
+ 74796775 61726473 02636f02 6e7a0000 02000100 013c1200 02c00cc0 39000200
+ 0100013c 12001103 6e733107 7761696b 61746f02 6163c04b c00c0001 00010000
+ 5fc10004 cb6300fe c0670001 00010001 3d020004 8cc8800d.
+ +0.000563
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 318c8180 00010001 00020002 05616761 74650263 6f026e7a 00000100 01c00c00
+ 01000100 013d0100 04cb6300 fec00c00 02000100 013d0100 13036e73 31077761
+ 696b6174 6f026163 024e5a00 c00c0002 00010001 3d010005 026e73c0 0cc03900
+ 01000100 013d0200 048cc880 0dc05800 01000100 013d0100 04cb6300 fe.
+ +0.000525
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000199
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.709006
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.182313
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 311f8580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 01000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000371
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000183
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.527000
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.008955
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31208580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 02000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000371
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000153
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.518039
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.009375
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31218580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 05000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000369
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000166
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.508640
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.019379
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31228580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 06000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000372
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000151
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.489844
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.031580
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31248580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0d000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000386
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000181
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.458220
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.031691
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31258580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000369
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000150
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.426528
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.028650
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31268580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 10000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000370
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000159
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.397893
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.029986
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31278580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 11000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000369
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000145
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.367902
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.029845
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 31298580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 01000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000384
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000148
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.338068
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.033093
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 312a8580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 02000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000368
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000145
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.305566
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-780664
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 312c8580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000375
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000147
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.086223
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000393
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 312d8580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 06000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000367
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000152
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.085946
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000401
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=195.224.55.129:53
+ 312e8580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 11000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000367
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000142
+ close fd=4
+ close=OK
+ +0.000250
+ close fd=5
+ close=OK
+ +0.000095
diff --git a/regress/case-manyptrwrongrem.err b/regress/case-manyptrwrongrem.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-manyptrwrongrem.err
diff --git a/regress/case-manyptrwrongrem.out b/regress/case-manyptrwrongrem.out
new file mode 100644
index 0000000..6d0370c
--- /dev/null
+++ b/regress/case-manyptrwrongrem.out
@@ -0,0 +1,127 @@
+adns debug: using nameserver 140.200.128.13
+254.0.99.203.in-addr.arpa flags 292 type 1 A(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 2 NS(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 5 CNAME(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 6 SOA(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 12 PTR(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 13 HINFO(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 15 MX(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 16 TXT(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 17 RP(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65537 A(addr) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65538 NS(+addr) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65548 PTR(checked) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65551 MX(+addr) submitted
+254.0.99.203.in-addr.arpa flags 292 type 131078 SOA(822) submitted
+254.0.99.203.in-addr.arpa flags 292 type 131089 RP(822) submitted
+254.0.99.203.in-addr.arpa flags 292 type A(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type CNAME(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type SOA(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type NS(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type HINFO(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type TXT(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type MX(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type RP(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type A(addr): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type MX(+addr): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type NS(+addr): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type SOA(822): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type RP(822): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+adns debug: TCP connected (NS=140.200.128.13)
+254.0.99.203.in-addr.arpa flags 292 type PTR(raw): OK; nrrs=94; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+ ns.security.co.nz
+ tetra.co.nz
+ mail.agate.co.nz
+ ns.agate.co.nz
+ securitytraining.co.nz
+ ns.giftbasket.co.nz
+ ns.security.gen.nz
+ bouquet.co.nz
+ investigation.co.nz
+ ns.nzipi.org.nz
+ mail.neru.co.nz
+ security.co.nz
+ ns.storewatch.co.nz
+ security.gen.nz
+ ns.tetra.co.nz
+ mail.tetra.co.nz
+ ns.securicard.co.nz
+ ns.underhour.co.nz
+ bcc.co.nz
+ security.org.nz
+ burglaralarms.co.nz
+ ns.safes.co.nz
+ ns.security.org.nz
+ couperconsulting.co.nz
+ securityguards.co.nz
+ ns.guards.co.nz
+ asis.org.nz
+ neru.co.nz
+ giftbasket.co.nz
+ magic.co.nz
+ mail.bcc.co.nz
+ ns.investigation.co.nz
+ nzipi.org.nz
+ ns.bouquet.co.nz
+ mail.safes.co.nz
+ ns.bcc.co.nz
+ ns.burglaralarms.co.nz
+ ns.securityguards.co.nz
+ covertcameras.co.nz
+ ns.neru.co.nz
+ ns.covertcameras.co.nz
+ bouquets.co.nz
+ concentric.co.nz
+ ns.securitytraining.co.nz
+ mail.couperconsulting.co.nz
+ retailsecurity.co.nz
+ ns.concentric.co.nz
+ mail.magic.co.nz
+ nzangling.co.nz
+ ns.couperconsulting.co.nz
+ ns.nzangling.co.nz
+ mail.storewatch.co.nz
+ swift.co.nz
+ mail.selective.co.nz
+ ns.forefront.co.nz
+ mail.nzangling.co.nz
+ guards.co.nz
+ mail.nzdesigns.co.nz
+ storewatch.co.nz
+ ns.securitymanagement.co.nz
+ mail.woolworths.co.nz
+ mail.concentric.co.nz
+ selective.co.nz
+ specialinvestigations.co.nz
+ ns.swift.co.nz
+ mail.swift.co.nz
+ ns.securenet.net.nz
+ privateinvestigation.co.nz
+ ns.privateinvestigation.co.nz
+ etrade.co.nz
+ ns.specialinvestigations.co.nz
+ mail.ansett.co.nz
+ ftp.warrent.co.nz
+ ns.retailsecurity.co.nz
+ mail.securitymanagement.co.nz
+ ns.magic.co.nz
+ mail.forefront.co.nz
+ mail.securicard.co.nz
+ securicard.co.nz
+ ns.nzdesigns.co.nz
+ safes.co.nz
+ ns.selective.co.nz
+ forefront.co.nz
+ securitymanagement.co.nz
+ underhour.co.nz
+ securenet.net.nz
+ mail.specialinvestigations.co.nz
+ nzdesigns.co.nz
+ ns.etrade.co.nz
+ mail.nzipi.org.nz
+ mail.underhour.co.nz
+ ns.asis.org.nz
+ ns.bouquets.co.nz
+ agate.co.nz
+254.0.99.203.in-addr.arpa flags 292 type PTR(checked): Inconsistent resource records in DNS; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86399
+rc=0
diff --git a/regress/case-manyptrwrongrem.sys b/regress/case-manyptrwrongrem.sys
new file mode 100644
index 0000000..ccb3530
--- /dev/null
+++ b/regress/case-manyptrwrongrem.sys
@@ -0,0 +1,1145 @@
+adnstest manyptrwrong -0x400
+292/254.0.99.203.in-addr.arpa
+ start 933286859.476326
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000271
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000083
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000062
+ sendto fd=4 addr=140.200.128.13:53
+ 311f0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.001694
+ sendto fd=4 addr=140.200.128.13:53
+ 31200100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.001119
+ sendto fd=4 addr=140.200.128.13:53
+ 31210100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.001130
+ sendto fd=4 addr=140.200.128.13:53
+ 31220100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.001150
+ sendto fd=4 addr=140.200.128.13:53
+ 31230100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001229
+ sendto fd=4 addr=140.200.128.13:53
+ 31240100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0d0001.
+ sendto=43
+ +0.001161
+ sendto fd=4 addr=140.200.128.13:53
+ 31250100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.001179
+ sendto fd=4 addr=140.200.128.13:53
+ 31260100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 100001.
+ sendto=43
+ +0.001152
+ sendto fd=4 addr=140.200.128.13:53
+ 31270100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.001143
+ sendto fd=4 addr=140.200.128.13:53
+ 31290100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.001191
+ sendto fd=4 addr=140.200.128.13:53
+ 312a0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.001150
+ sendto fd=4 addr=140.200.128.13:53
+ 312b0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001220
+ sendto fd=4 addr=140.200.128.13:53
+ 312c0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.001148
+ sendto fd=4 addr=140.200.128.13:53
+ 312d0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.001183
+ sendto fd=4 addr=140.200.128.13:53
+ 312e0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.001193
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981958
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.502250
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 311f8500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 01000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.001383
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000487
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.479532
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-892259
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31218500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 05000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000890
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000419
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.370482
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038604
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31228500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 06000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000852
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000399
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.330627
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038734
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31208500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 02000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000835
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000354
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.294103
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038824
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31248500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0d000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000863
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000406
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.254010
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.129111
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31238300 00010013 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000151 80001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 00015180 00080574 65747261 c043c00c
+ 000c0001 00015180 000d046d 61696c05 61676174 65c043c0 0c000c00 01000151
+ 80000502 6e73c06f c00c000c 00010001 51800013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 01000151 80001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 01000151 80001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 01518000 0a07626f 75717565 74c043c0 0c000c00 01000151
+ 8000100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 01000151 80000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 00015180 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 00015180 0002c03a c00c000c 00010001 51800010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010001 51800002 c0d2c00c
+ 000c0001 00015180 0005026e 73c056c0 0c000c00 01000151 80000704 6d61696c
+ c056c00c 000c0001 00015180 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 00015180 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 01518000 06036263 63c043.
+ +0.003324
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.001351
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000068
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000060
+ connect fd=5 addr=140.200.128.13:53
+ connect=EINPROGRESS
+ +0.000280
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000124
+ select max=6 rfds=[4] wfds=[5] efds=[] to=1.122082
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.034396
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31268500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 10000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000862
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000377
+ select max=6 rfds=[4] wfds=[5] efds=[] to=1.086447
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038752
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31258500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000842
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000365
+ select max=6 rfds=[4] wfds=[5] efds=[] to=1.048819
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038761
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31278500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 11000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000834
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000362
+ select max=6 rfds=[4] wfds=[5] efds=[] to=1.010005
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038783
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31298500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 01000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000832
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000411
+ select max=6 rfds=[4] wfds=[5] efds=[] to=0.971170
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.139078
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 312b8300 00010013 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000151 80001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 00015180 00080574 65747261 c043c00c
+ 000c0001 00015180 000d046d 61696c05 61676174 65c043c0 0c000c00 01000151
+ 80000502 6e73c06f c00c000c 00010001 51800013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 01000151 80001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 01000151 80001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 01518000 0a07626f 75717565 74c043c0 0c000c00 01000151
+ 8000100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 01000151 80000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 00015180 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 00015180 0002c03a c00c000c 00010001 51800010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010001 51800002 c0d2c00c
+ 000c0001 00015180 0005026e 73c056c0 0c000c00 01000151 80000704 6d61696c
+ c056c00c 000c0001 00015180 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 00015180 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 01518000 06036263 63c043.
+ +0.002995
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000416
+ select max=6 rfds=[4] wfds=[5] efds=[] to=0.828681
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.036200
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 312c8500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000832
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000371
+ select max=6 rfds=[4] wfds=[5] efds=[] to=0.791278
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038747
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 312a8500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 02000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000836
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000364
+ select max=6 rfds=[4] wfds=[5] efds=[] to=0.754849
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038774
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 312d8500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 06000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000832
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000430
+ select max=6 rfds=[4] wfds=[5] efds=[] to=0.715996
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038729
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 312e8500 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 11000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000837
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000373
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.539402
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.008807
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000213
+ write fd=5
+ 002b3123 01000001 00000000 00000332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.000894
+ write fd=5
+ 002b312b 01000001 00000000 00000332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.000449
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.529039
+ select=1 rfds=[5] wfds=[] efds=[]
+ +1.-90216
+ read fd=5 buflen=2
+ read=OK
+ 097f.
+ +0.000334
+ read fd=5 buflen=2431
+ read=OK
+ 31238500 0001005e 00020002 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000151 80001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 00015180 00080574 65747261 c043c00c
+ 000c0001 00015180 000d046d 61696c05 61676174 65c043c0 0c000c00 01000151
+ 80000502 6e73c06f c00c000c 00010001 51800013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 01000151 80001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 01000151 80001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 01518000 0a07626f 75717565 74c043c0 0c000c00 01000151
+ 8000100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 01000151 80000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 00015180 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 00015180 0002c03a c00c000c 00010001 51800010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010001 51800002 c0d2c00c
+ 000c0001 00015180 0005026e 73c056c0 0c000c00 01000151 80000704 6d61696c
+ c056c00c 000c0001 00015180 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 00015180 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 01518000 06036263 63c043c0 0c000c00 01000151 80000b08 73656375 72697479
+ c128c00c 000c0001 00015180 00100d62 7572676c 6172616c 61726d73 c043c00c
+ 000c0001 00015180 000b026e 73057361 666573c0 43c00c00 0c000100 01518000
+ 05026e73 c1f7c00c 000c0001 00015180 00131063 6f757065 72636f6e 73756c74
+ 696e67c0 43c00c00 0c000100 01518000 110e7365 63757269 74796775 61726473
+ c043c00c 000c0001 00015180 000c026e 73066775 61726473 c043c00c 000c0001
+ 00015180 00070461 736973c1 28c00c00 0c000100 01518000 02c13fc0 0c000c00
+ 01000151 800002c0 b6c00c00 0c000100 01518000 08056d61 676963c0 43c00c00
+ 0c000100 01518000 07046d61 696cc1e5 c00c000c 00010001 51800005 026e73c1
+ 03c00c00 0c000100 01518000 02c122c0 0c000c00 01000151 80000502 6e73c0ed
+ c00c000c 00010001 51800007 046d6169 6cc22dc0 0c000c00 01000151 80000502
+ 6e73c1e5 c00c000c 00010001 51800005 026e73c2 0ec00c00 0c000100 01518000
+ 05026e73 c271c00c 000c0001 00015180 00100d63 6f766572 7463616d 65726173
+ c043c00c 000c0001 00015180 0005026e 73c13fc0 0c000c00 01000151 80001302
+ 6e730d63 6f766572 7463616d 65726173 c043c00c 000c0001 00015180 000b0862
+ 6f757175 657473c0 43c00c00 0c000100 01518000 0d0a636f 6e63656e 74726963
+ c043c00c 000c0001 00015180 0005026e 73c094c0 0c000c00 01000151 80000704
+ 6d61696c c252c00c 000c0001 00015180 00110e72 65746169 6c736563 75726974
+ 79c043c0 0c000c00 01000151 80001002 6e730a63 6f6e6365 6e747269 63c043c0
+ 0c000c00 01000151 80000d04 6d61696c 056d6167 6963c043 c00c000c 00010001
+ 5180000c 096e7a61 6e676c69 6e67c043 c00c000c 00010001 51800005 026e73c2
+ 52c00c00 0c000100 01518000 0f026e73 096e7a61 6e676c69 6e67c043 c00c000c
+ 00010001 51800007 046d6169 6cc163c0 0c000c00 01000151 80000805 73776966
+ 74c043c0 0c000c00 01000151 80001104 6d61696c 0973656c 65637469 7665c043
+ c00c000c 00010001 5180000f 026e7309 666f7265 66726f6e 74c043c0 0c000c00
+ 01000151 80001104 6d61696c 096e7a61 6e676c69 6e67c043 c00c000c 00010001
+ 51800009 06677561 726473c0 43c00c00 0c000100 01518000 11046d61 696c096e
+ 7a646573 69676e73 c043c00c 000c0001 00015180 0002c163 c00c000c 00010001
+ 51800018 026e7312 73656375 72697479 6d616e61 67656d65 6e74c043 c00c000c
+ 00010001 51800012 046d6169 6c0a776f 6f6c776f 72746873 c043c00c 000c0001
+ 00015180 0012046d 61696c0a 636f6e63 656e.
+ +0.009121
+ read fd=5 buflen=973
+ read=EAGAIN
+ +0.000255
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=28.609545
+ select=1 rfds=[5] wfds=[] efds=[]
+ +1.-260444
+ read fd=5 buflen=973
+ read=OK
+ 74726963 c043c00c 000c0001 00015180 000c0973 656c6563 74697665 c043c00c
+ 000c0001 00015180 00181573 70656369 616c696e 76657374 69676174 696f6e73
+ c043c00c 000c0001 00015180 000b026e 73057377 696674c0 43c00c00 0c000100
+ 01518000 0d046d61 696c0573 77696674 c043c00c 000c0001 00015180 0013026e
+ 73097365 63757265 6e657403 6e6574c0 46c00c00 0c000100 01518000 17147072
+ 69766174 65696e76 65737469 67617469 6f6ec043 c00c000c 00010001 5180001a
+ 026e7314 70726976 61746569 6e766573 74696761 74696f6e c043c00c 000c0001
+ 00015180 00090665 74726164 65c043c0 0c000c00 01000151 80001b02 6e731573
+ 70656369 616c696e 76657374 69676174 696f6e73 c043c00c 000c0001 00015180
+ 000e046d 61696c06 616e7365 7474c043 c00c000c 00010001 5180000e 03667470
+ 07776172 72656e74 c043c00c 000c0001 00015180 0014026e 730e7265 7461696c
+ 73656375 72697479 c043c00c 000c0001 00015180 001a046d 61696c12 73656375
+ 72697479 6d616e61 67656d65 6e74c043 c00c000c 00010001 5180000b 026e7305
+ 6d616769 63c043c0 0c000c00 01000151 80001104 6d61696c 09666f72 6566726f
+ 6e74c043 c00c000c 00010001 51800007 046d6169 6cc1b1c0 0c000c00 01000151
+ 800002c1 b1c00c00 0c000100 01518000 0f026e73 096e7a64 65736967 6e73c043
+ c00c000c 00010001 51800002 c22dc00c 000c0001 00015180 000f026e 73097365
+ 6c656374 697665c0 43c00c00 0c000100 01518000 0c09666f 72656672 6f6e74c0
+ 43c00c00 0c000100 01518000 15127365 63757269 74796d61 6e616765 6d656e74
+ c043c00c 000c0001 00015180 0002c1cd c00c000c 00010001 51800010 09736563
+ 7572656e 6574036e 6574c046 c00c000c 00010001 5180001d 046d6169 6c157370
+ 65636961 6c696e76 65737469 67617469 6f6e73c0 43c00c00 0c000100 01518000
+ 0c096e7a 64657369 676e73c0 43c00c00 0c000100 01518000 0c026e73 06657472
+ 616465c0 43c00c00 0c000100 01518000 07046d61 696cc122 c00c000c 00010001
+ 51800007 046d6169 6cc1cdc0 0c000c00 01000151 80000a02 6e730461 736973c1
+ 28c00c00 0c000100 01518000 0e026e73 08626f75 71756574 73c043c0 0c000c00
+ 01000151 800002c0 6f013002 39390332 30330769 6e2d6164 64720461 72706100
+ 00020001 00015180 0002c037 01300239 39033230 3307696e 2d616464 72046172
+ 70610000 02000100 01518000 11036e73 31077761 696b6174 6f026163 c046c037
+ 00010001 00015180 0004cb63 00fe036e 73310777 61696b61 746f0261 63c04600
+ 01000100 01518000 048cc880 0d.
+ +0.005825
+ read fd=5 buflen=2433
+ read=EAGAIN
+ +0.018754
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=28.145272
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.355726
+ read fd=5 buflen=2433
+ read=OK
+ 097f312b 85000001 005e0002 00020332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 01518000 13026e73 08736563
+ 75726974 7902636f 026e7a00 c00c000c 00010001 51800008 05746574 7261c043
+ c00c000c 00010001 5180000d 046d6169 6c056167 617465c0 43c00c00 0c000100
+ 01518000 05026e73 c06fc00c 000c0001 00015180 00131073 65637572 69747974
+ 7261696e 696e67c0 43c00c00 0c000100 01518000 10026e73 0a676966 74626173
+ 6b6574c0 43c00c00 0c000100 01518000 12026e73 08736563 75726974 79036765
+ 6ec046c0 0c000c00 01000151 80000a07 626f7571 756574c0 43c00c00 0c000100
+ 01518000 100d696e 76657374 69676174 696f6ec0 43c00c00 0c000100 01518000
+ 0f026e73 056e7a69 7069036f 7267c046 c00c000c 00010001 5180000c 046d6169
+ 6c046e65 7275c043 c00c000c 00010001 51800002 c03ac00c 000c0001 00015180
+ 0010026e 730a7374 6f726577 61746368 c043c00c 000c0001 00015180 0002c0d2
+ c00c000c 00010001 51800005 026e73c0 56c00c00 0c000100 01518000 07046d61
+ 696cc056 c00c000c 00010001 51800010 026e730a 73656375 72696361 7264c043
+ c00c000c 00010001 5180000f 026e7309 756e6465 72686f75 72c043c0 0c000c00
+ 01000151 80000603 626363c0 43c00c00 0c000100 01518000 0b087365 63757269
+ 7479c128 c00c000c 00010001 51800010 0d627572 676c6172 616c6172 6d73c043
+ c00c000c 00010001 5180000b 026e7305 73616665 73c043c0 0c000c00 01000151
+ 80000502 6e73c1f7 c00c000c 00010001 51800013 10636f75 70657263 6f6e7375
+ 6c74696e 67c043c0 0c000c00 01000151 8000110e 73656375 72697479 67756172
+ 6473c043 c00c000c 00010001 5180000c 026e7306 67756172 6473c043 c00c000c
+ 00010001 51800007 04617369 73c128c0 0c000c00 01000151 800002c1 3fc00c00
+ 0c000100 01518000 02c0b6c0 0c000c00 01000151 80000805 6d616769 63c043c0
+ 0c000c00 01000151 80000704 6d61696c c1e5c00c 000c0001 00015180 0005026e
+ 73c103c0 0c000c00 01000151 800002c1 22c00c00 0c000100 01518000 05026e73
+ c0edc00c 000c0001 00015180 0007046d 61696cc2 2dc00c00 0c000100 01518000
+ 05026e73 c1e5c00c 000c0001 00015180 0005026e 73c20ec0 0c000c00 01000151
+ 80000502 6e73c271 c00c000c 00010001 51800010 0d636f76 65727463 616d6572
+ 6173c043 c00c000c 00010001 51800005 026e73c1 3fc00c00 0c000100 01518000
+ 13026e73 0d636f76 65727463 616d6572 6173c043 c00c000c 00010001 5180000b
+ 08626f75 71756574 73c043c0 0c000c00 01000151 80000d0a 636f6e63 656e7472
+ 6963c043 c00c000c 00010001 51800005 026e73c0 94c00c00 0c000100 01518000
+ 07046d61 696cc252 c00c000c 00010001 51800011 0e726574 61696c73 65637572
+ 697479c0 43c00c00 0c000100 01518000 10026e73 0a636f6e 63656e74 726963c0
+ 43c00c00 0c000100 01518000 0d046d61 696c056d 61676963 c043c00c 000c0001
+ 00015180 000c096e 7a616e67 6c696e67 c043c00c 000c0001 00015180 0005026e
+ 73c252c0 0c000c00 01000151 80000f02 6e73096e 7a616e67 6c696e67 c043c00c
+ 000c0001 00015180 0007046d 61696cc1 63c00c00 0c000100 01518000 08057377
+ 696674c0 43c00c00 0c000100 01518000 11046d61 696c0973 656c6563 74697665
+ c043c00c 000c0001 00015180 000f026e 7309666f 72656672 6f6e74c0 43c00c00
+ 0c000100 01518000 11046d61 696c096e 7a616e67 6c696e67 c043c00c 000c0001
+ 00015180 00090667 75617264 73c043c0 0c000c00 01000151 80001104 6d61696c
+ 096e7a64 65736967 6e73c043 c00c000c 00010001 51800002 c163c00c 000c0001
+ 00015180 0018026e 73127365 63757269 74796d61 6e616765 6d656e74 c043c00c
+ 000c0001 00015180 0012046d 61696c0a 776f6f6c 776f7274 6873c043 c00c000c
+ 00010001 51800012 046d6169 6c0a636f 6e63656e.
+ +0.008610
+ read fd=5 buflen=973
+ read=EAGAIN
+ +0.000242
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=27.780694
+ select=1 rfds=[5] wfds=[] efds=[]
+ +1.-129629
+ read fd=5 buflen=973
+ read=OK
+ 74726963 c043c00c 000c0001 00015180 000c0973 656c6563 74697665 c043c00c
+ 000c0001 00015180 00181573 70656369 616c696e 76657374 69676174 696f6e73
+ c043c00c 000c0001 00015180 000b026e 73057377 696674c0 43c00c00 0c000100
+ 01518000 0d046d61 696c0573 77696674 c043c00c 000c0001 00015180 0013026e
+ 73097365 63757265 6e657403 6e6574c0 46c00c00 0c000100 01518000 17147072
+ 69766174 65696e76 65737469 67617469 6f6ec043 c00c000c 00010001 5180001a
+ 026e7314 70726976 61746569 6e766573 74696761 74696f6e c043c00c 000c0001
+ 00015180 00090665 74726164 65c043c0 0c000c00 01000151 80001b02 6e731573
+ 70656369 616c696e 76657374 69676174 696f6e73 c043c00c 000c0001 00015180
+ 000e046d 61696c06 616e7365 7474c043 c00c000c 00010001 5180000e 03667470
+ 07776172 72656e74 c043c00c 000c0001 00015180 0014026e 730e7265 7461696c
+ 73656375 72697479 c043c00c 000c0001 00015180 001a046d 61696c12 73656375
+ 72697479 6d616e61 67656d65 6e74c043 c00c000c 00010001 5180000b 026e7305
+ 6d616769 63c043c0 0c000c00 01000151 80001104 6d61696c 09666f72 6566726f
+ 6e74c043 c00c000c 00010001 51800007 046d6169 6cc1b1c0 0c000c00 01000151
+ 800002c1 b1c00c00 0c000100 01518000 0f026e73 096e7a64 65736967 6e73c043
+ c00c000c 00010001 51800002 c22dc00c 000c0001 00015180 000f026e 73097365
+ 6c656374 697665c0 43c00c00 0c000100 01518000 0c09666f 72656672 6f6e74c0
+ 43c00c00 0c000100 01518000 15127365 63757269 74796d61 6e616765 6d656e74
+ c043c00c 000c0001 00015180 0002c1cd c00c000c 00010001 51800010 09736563
+ 7572656e 6574036e 6574c046 c00c000c 00010001 5180001d 046d6169 6c157370
+ 65636961 6c696e76 65737469 67617469 6f6e73c0 43c00c00 0c000100 01518000
+ 0c096e7a 64657369 676e73c0 43c00c00 0c000100 01518000 0c026e73 06657472
+ 616465c0 43c00c00 0c000100 01518000 07046d61 696cc122 c00c000c 00010001
+ 51800007 046d6169 6cc1cdc0 0c000c00 01000151 80000a02 6e730461 736973c1
+ 28c00c00 0c000100 01518000 0e026e73 08626f75 71756574 73c043c0 0c000c00
+ 01000151 800002c0 6f013002 39390332 30330769 6e2d6164 64720461 72706100
+ 00020001 00015180 0002c037 01300239 39033230 3307696e 2d616464 72046172
+ 70610000 02000100 01518000 11036e73 31077761 696b6174 6f026163 c046c037
+ 00010001 00015180 0004cb63 00fe036e 73310777 61696b61 746f0261 63c04600
+ 01000100 01518000 048cc880 0d.
+ +0.005848
+ sendto fd=4 addr=140.200.128.13:53
+ 312f0100 00010000 00000000 026e7308 73656375 72697479 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.002592
+ sendto fd=4 addr=140.200.128.13:53
+ 31300100 00010000 00000000 05746574 72610263 6f026e7a 00000100 01.
+ sendto=29
+ +0.000963
+ sendto fd=4 addr=140.200.128.13:53
+ 31310100 00010000 00000000 046d6169 6c056167 61746502 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000973
+ sendto fd=4 addr=140.200.128.13:53
+ 31320100 00010000 00000000 026e7305 61676174 6502636f 026e7a00 00010001.
+ sendto=32
+ +0.000977
+ sendto fd=4 addr=140.200.128.13:53
+ 31330100 00010000 00000000 10736563 75726974 79747261 696e696e 6702636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001007
+ sendto fd=4 addr=140.200.128.13:53
+ 31340100 00010000 00000000 026e730a 67696674 6261736b 65740263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001027
+ sendto fd=4 addr=140.200.128.13:53
+ 31350100 00010000 00000000 026e7308 73656375 72697479 0367656e 026e7a00
+ 00010001.
+ sendto=36
+ +0.000989
+ sendto fd=4 addr=140.200.128.13:53
+ 31360100 00010000 00000000 07626f75 71756574 02636f02 6e7a0000 010001.
+ sendto=31
+ +0.000946
+ sendto fd=4 addr=140.200.128.13:53
+ 31370100 00010000 00000000 0d696e76 65737469 67617469 6f6e0263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.000996
+ sendto fd=4 addr=140.200.128.13:53
+ 31380100 00010000 00000000 026e7305 6e7a6970 69036f72 67026e7a 00000100
+ 01.
+ sendto=33
+ +0.000972
+ sendto fd=4 addr=140.200.128.13:53
+ 31390100 00010000 00000000 046d6169 6c046e65 72750263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.000980
+ sendto fd=4 addr=140.200.128.13:53
+ 313a0100 00010000 00000000 08736563 75726974 7902636f 026e7a00 00010001.
+ sendto=32
+ +0.000958
+ sendto fd=4 addr=140.200.128.13:53
+ 313b0100 00010000 00000000 026e730a 73746f72 65776174 63680263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001038
+ sendto fd=4 addr=140.200.128.13:53
+ 313c0100 00010000 00000000 08736563 75726974 79036765 6e026e7a 00000100
+ 01.
+ sendto=33
+ +0.001003
+ sendto fd=4 addr=140.200.128.13:53
+ 313d0100 00010000 00000000 026e7305 74657472 6102636f 026e7a00 00010001.
+ sendto=32
+ +0.000972
+ sendto fd=4 addr=140.200.128.13:53
+ 313e0100 00010000 00000000 046d6169 6c057465 74726102 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.000983
+ sendto fd=4 addr=140.200.128.13:53
+ 313f0100 00010000 00000000 026e730a 73656375 72696361 72640263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.000996
+ sendto fd=4 addr=140.200.128.13:53
+ 31400100 00010000 00000000 026e7309 756e6465 72686f75 7202636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.000989
+ sendto fd=4 addr=140.200.128.13:53
+ 31410100 00010000 00000000 03626363 02636f02 6e7a0000 010001.
+ sendto=27
+ +0.000944
+ sendto fd=4 addr=140.200.128.13:53
+ 31420100 00010000 00000000 08736563 75726974 79036f72 67026e7a 00000100
+ 01.
+ sendto=33
+ +0.001001
+ sendto fd=4 addr=140.200.128.13:53
+ 31430100 00010000 00000000 0d627572 676c6172 616c6172 6d730263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001213
+ sendto fd=4 addr=140.200.128.13:53
+ 31440100 00010000 00000000 026e7305 73616665 7302636f 026e7a00 00010001.
+ sendto=32
+ +0.001241
+ sendto fd=4 addr=140.200.128.13:53
+ 31450100 00010000 00000000 026e7308 73656375 72697479 036f7267 026e7a00
+ 00010001.
+ sendto=36
+ +0.001489
+ sendto fd=4 addr=140.200.128.13:53
+ 31460100 00010000 00000000 10636f75 70657263 6f6e7375 6c74696e 6702636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001355
+ sendto fd=4 addr=140.200.128.13:53
+ 31470100 00010000 00000000 0e736563 75726974 79677561 72647302 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001389
+ sendto fd=4 addr=140.200.128.13:53
+ 31480100 00010000 00000000 026e7306 67756172 64730263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001299
+ sendto fd=4 addr=140.200.128.13:53
+ 31490100 00010000 00000000 04617369 73036f72 67026e7a 00000100 01.
+ sendto=29
+ +0.001325
+ sendto fd=4 addr=140.200.128.13:53
+ 314a0100 00010000 00000000 046e6572 7502636f 026e7a00 00010001.
+ sendto=28
+ +0.001328
+ sendto fd=4 addr=140.200.128.13:53
+ 314b0100 00010000 00000000 0a676966 74626173 6b657402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001356
+ sendto fd=4 addr=140.200.128.13:53
+ 314c0100 00010000 00000000 056d6167 69630263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001307
+ sendto fd=4 addr=140.200.128.13:53
+ 314d0100 00010000 00000000 046d6169 6c036263 6302636f 026e7a00 00010001.
+ sendto=32
+ +0.001375
+ sendto fd=4 addr=140.200.128.13:53
+ 314e0100 00010000 00000000 026e730d 696e7665 73746967 6174696f 6e02636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001386
+ sendto fd=4 addr=140.200.128.13:53
+ 314f0100 00010000 00000000 056e7a69 7069036f 7267026e 7a000001 0001.
+ sendto=30
+ +0.001327
+ sendto fd=4 addr=140.200.128.13:53
+ 31500100 00010000 00000000 026e7307 626f7571 75657402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001327
+ sendto fd=4 addr=140.200.128.13:53
+ 31510100 00010000 00000000 046d6169 6c057361 66657302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001405
+ sendto fd=4 addr=140.200.128.13:53
+ 31520100 00010000 00000000 026e7303 62636302 636f026e 7a000001 0001.
+ sendto=30
+ +0.001360
+ sendto fd=4 addr=140.200.128.13:53
+ 31530100 00010000 00000000 026e730d 62757267 6c617261 6c61726d 7302636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001401
+ sendto fd=4 addr=140.200.128.13:53
+ 31540100 00010000 00000000 026e730e 73656375 72697479 67756172 64730263
+ 6f026e7a 00000100 01.
+ sendto=41
+ +0.001460
+ sendto fd=4 addr=140.200.128.13:53
+ 31550100 00010000 00000000 0d636f76 65727463 616d6572 61730263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001355
+ sendto fd=4 addr=140.200.128.13:53
+ 31560100 00010000 00000000 026e7304 6e657275 02636f02 6e7a0000 010001.
+ sendto=31
+ +0.001384
+ sendto fd=4 addr=140.200.128.13:53
+ 31570100 00010000 00000000 026e730d 636f7665 72746361 6d657261 7302636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001389
+ sendto fd=4 addr=140.200.128.13:53
+ 31580100 00010000 00000000 08626f75 71756574 7302636f 026e7a00 00010001.
+ sendto=32
+ +0.001386
+ sendto fd=4 addr=140.200.128.13:53
+ 31590100 00010000 00000000 0a636f6e 63656e74 72696302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001352
+ sendto fd=4 addr=140.200.128.13:53
+ 315a0100 00010000 00000000 026e7310 73656375 72697479 74726169 6e696e67
+ 02636f02 6e7a0000 010001.
+ sendto=43
+ +0.001418
+ sendto fd=4 addr=140.200.128.13:53
+ 315b0100 00010000 00000000 046d6169 6c10636f 75706572 636f6e73 756c7469
+ 6e670263 6f026e7a 00000100 01.
+ sendto=45
+ +0.001422
+ sendto fd=4 addr=140.200.128.13:53
+ 315c0100 00010000 00000000 0e726574 61696c73 65637572 69747902 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001320
+ sendto fd=4 addr=140.200.128.13:53
+ 315d0100 00010000 00000000 026e730a 636f6e63 656e7472 69630263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001391
+ sendto fd=4 addr=140.200.128.13:53
+ 315e0100 00010000 00000000 046d6169 6c056d61 67696302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001430
+ sendto fd=4 addr=140.200.128.13:53
+ 315f0100 00010000 00000000 096e7a61 6e676c69 6e670263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001373
+ sendto fd=4 addr=140.200.128.13:53
+ 31600100 00010000 00000000 026e7310 636f7570 6572636f 6e73756c 74696e67
+ 02636f02 6e7a0000 010001.
+ sendto=43
+ +0.001399
+ sendto fd=4 addr=140.200.128.13:53
+ 31610100 00010000 00000000 026e7309 6e7a616e 676c696e 6702636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001403
+ sendto fd=4 addr=140.200.128.13:53
+ 31620100 00010000 00000000 046d6169 6c0a7374 6f726577 61746368 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001431
+ sendto fd=4 addr=140.200.128.13:53
+ 31630100 00010000 00000000 05737769 66740263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001341
+ sendto fd=4 addr=140.200.128.13:53
+ 31640100 00010000 00000000 046d6169 6c097365 6c656374 69766502 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001383
+ sendto fd=4 addr=140.200.128.13:53
+ 31650100 00010000 00000000 026e7309 666f7265 66726f6e 7402636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001398
+ sendto fd=4 addr=140.200.128.13:53
+ 31660100 00010000 00000000 046d6169 6c096e7a 616e676c 696e6702 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001396
+ sendto fd=4 addr=140.200.128.13:53
+ 31670100 00010000 00000000 06677561 72647302 636f026e 7a000001 0001.
+ sendto=30
+ +0.001338
+ sendto fd=4 addr=140.200.128.13:53
+ 31680100 00010000 00000000 046d6169 6c096e7a 64657369 676e7302 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001383
+ sendto fd=4 addr=140.200.128.13:53
+ 31690100 00010000 00000000 0a73746f 72657761 74636802 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001411
+ sendto fd=4 addr=140.200.128.13:53
+ 316a0100 00010000 00000000 026e7312 73656375 72697479 6d616e61 67656d65
+ 6e740263 6f026e7a 00000100 01.
+ sendto=45
+ +0.001441
+ sendto fd=4 addr=140.200.128.13:53
+ 316b0100 00010000 00000000 046d6169 6c0a776f 6f6c776f 72746873 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001416
+ sendto fd=4 addr=140.200.128.13:53
+ 316c0100 00010000 00000000 046d6169 6c0a636f 6e63656e 74726963 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001440
+ sendto fd=4 addr=140.200.128.13:53
+ 316d0100 00010000 00000000 0973656c 65637469 76650263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001390
+ sendto fd=4 addr=140.200.128.13:53
+ 316e0100 00010000 00000000 15737065 6369616c 696e7665 73746967 6174696f
+ 6e730263 6f026e7a 00000100 01.
+ sendto=45
+ +0.001803
+ sendto fd=4 addr=140.200.128.13:53
+ 316f0100 00010000 00000000 026e7305 73776966 7402636f 026e7a00 00010001.
+ sendto=32
+ +0.001450
+ sendto fd=4 addr=140.200.128.13:53
+ 31700100 00010000 00000000 046d6169 6c057377 69667402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001516
+ sendto fd=4 addr=140.200.128.13:53
+ 31710100 00010000 00000000 026e7309 73656375 72656e65 74036e65 74026e7a
+ 00000100 01.
+ sendto=37
+ +0.001511
+ sendto fd=4 addr=140.200.128.13:53
+ 31720100 00010000 00000000 14707269 76617465 696e7665 73746967 6174696f
+ 6e02636f 026e7a00 00010001.
+ sendto=44
+ +0.001585
+ sendto fd=4 addr=140.200.128.13:53
+ 31730100 00010000 00000000 026e7314 70726976 61746569 6e766573 74696761
+ 74696f6e 02636f02 6e7a0000 010001.
+ sendto=47
+ +0.001571
+ sendto fd=4 addr=140.200.128.13:53
+ 31740100 00010000 00000000 06657472 61646502 636f026e 7a000001 0001.
+ sendto=30
+ +0.001459
+ sendto fd=4 addr=140.200.128.13:53
+ 31750100 00010000 00000000 026e7315 73706563 69616c69 6e766573 74696761
+ 74696f6e 7302636f 026e7a00 00010001.
+ sendto=48
+ +0.001537
+ sendto fd=4 addr=140.200.128.13:53
+ 31760100 00010000 00000000 046d6169 6c06616e 73657474 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001466
+ sendto fd=4 addr=140.200.128.13:53
+ 31770100 00010000 00000000 03667470 07776172 72656e74 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001485
+ sendto fd=4 addr=140.200.128.13:53
+ 31780100 00010000 00000000 026e730e 72657461 696c7365 63757269 74790263
+ 6f026e7a 00000100 01.
+ sendto=41
+ +0.001528
+ sendto fd=4 addr=140.200.128.13:53
+ 31790100 00010000 00000000 046d6169 6c127365 63757269 74796d61 6e616765
+ 6d656e74 02636f02 6e7a0000 010001.
+ sendto=47
+ +0.001593
+ sendto fd=4 addr=140.200.128.13:53
+ 317a0100 00010000 00000000 026e7305 6d616769 6302636f 026e7a00 00010001.
+ sendto=32
+ +0.001465
+ sendto fd=4 addr=140.200.128.13:53
+ 317b0100 00010000 00000000 046d6169 6c09666f 72656672 6f6e7402 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001473
+ sendto fd=4 addr=140.200.128.13:53
+ 317c0100 00010000 00000000 046d6169 6c0a7365 63757269 63617264 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001525
+ sendto fd=4 addr=140.200.128.13:53
+ 317d0100 00010000 00000000 0a736563 75726963 61726402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001499
+ sendto fd=4 addr=140.200.128.13:53
+ 317e0100 00010000 00000000 026e7309 6e7a6465 7369676e 7302636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001489
+ sendto fd=4 addr=140.200.128.13:53
+ 317f0100 00010000 00000000 05736166 65730263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001441
+ sendto fd=4 addr=140.200.128.13:53
+ 31800100 00010000 00000000 026e7309 73656c65 63746976 6502636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001542
+ sendto fd=4 addr=140.200.128.13:53
+ 31810100 00010000 00000000 09666f72 6566726f 6e740263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001473
+ sendto fd=4 addr=140.200.128.13:53
+ 31820100 00010000 00000000 12736563 75726974 796d616e 6167656d 656e7402
+ 636f026e 7a000001 0001.
+ sendto=42
+ +0.001525
+ sendto fd=4 addr=140.200.128.13:53
+ 31830100 00010000 00000000 09756e64 6572686f 75720263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001469
+ sendto fd=4 addr=140.200.128.13:53
+ 31840100 00010000 00000000 09736563 7572656e 6574036e 6574026e 7a000001
+ 0001.
+ sendto=34
+ +0.001535
+ sendto fd=4 addr=140.200.128.13:53
+ 31850100 00010000 00000000 046d6169 6c157370 65636961 6c696e76 65737469
+ 67617469 6f6e7302 636f026e 7a000001 0001.
+ sendto=50
+ +0.001597
+ sendto fd=4 addr=140.200.128.13:53
+ 31860100 00010000 00000000 096e7a64 65736967 6e730263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001526
+ sendto fd=4 addr=140.200.128.13:53
+ 31870100 00010000 00000000 026e7306 65747261 64650263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001451
+ sendto fd=4 addr=140.200.128.13:53
+ 31880100 00010000 00000000 046d6169 6c056e7a 69706903 6f726702 6e7a0000
+ 010001.
+ sendto=35
+ +0.001513
+ sendto fd=4 addr=140.200.128.13:53
+ 31890100 00010000 00000000 046d6169 6c09756e 64657268 6f757202 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001508
+ sendto fd=4 addr=140.200.128.13:53
+ 318a0100 00010000 00000000 026e7304 61736973 036f7267 026e7a00 00010001.
+ sendto=32
+ +0.001491
+ sendto fd=4 addr=140.200.128.13:53
+ 318b0100 00010000 00000000 026e7308 626f7571 75657473 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001507
+ sendto fd=4 addr=140.200.128.13:53
+ 318c0100 00010000 00000000 05616761 74650263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001445
+ read fd=5 buflen=2433
+ read=EAGAIN
+ +0.000151
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.866584
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-544428
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31308500 00010001 00020002 05746574 72610263 6f026e7a 00000100 01c00c00
+ 01000100 01518000 04cb6300 fec00c00 02000100 01518000 05026e73 c00cc00c
+ 00020001 00015180 0013036e 73310777 61696b61 746f0261 63026e7a 00c03900
+ 01000100 01518000 04cb6300 fec04a00 01000100 01518000 048cc880 0d.
+ +0.000996
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000668
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.409348
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038307
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31318500 00010001 00020002 046d6169 6c056167 61746502 636f026e 7a000001
+ 0001c00c 00010001 00015180 0004cb63 00fe0561 67617465 02636f02 6e7a0000
+ 02000100 01518000 11036e73 31077761 696b6174 6f026163 c03bc032 00020001
+ 00015180 0005026e 73c032c0 49000100 01000151 8000048c c8800dc0 66000100
+ 01000151 800004cb 6300fe.
+ +0.000984
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000506
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.369551
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.048503
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 312f8500 00010001 00020002 026e7308 73656375 72697479 02636f02 6e7a0000
+ 010001c0 0c000100 01000151 800004cb 6300fe08 73656375 72697479 02636f02
+ 6e7a0000 02000100 01518000 11036e73 31077761 696b6174 6f026163 c03fc033
+ 00020001 00015180 0002c00c c04d0001 00010001 51800004 8cc8800d c00c0001
+ 00010001 51800004 cb6300fe.
+ +0.000997
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000452
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.319599
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038521
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31348500 00010001 00020002 026e730a 67696674 6261736b 65740263 6f026e7a
+ 00000100 01c00c00 01000100 01518000 04cb6300 fe0a6769 66746261 736b6574
+ 02636f02 6e7a0000 02000100 01518000 11036e73 31077761 696b6174 6f026163
+ c043c035 00020001 00015180 0002c00c c0510001 00010001 51800004 8cc8800d
+ c00c0001 00010001 51800004 cb6300fe.
+ +0.001008
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000490
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.279580
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.048476
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31358500 00010001 00020002 026e7308 73656375 72697479 0367656e 026e7a00
+ 00010001 c00c0001 00010001 51800004 cb6300fe 08736563 75726974 79036765
+ 6e026e7a 00000200 01000151 80001103 6e733107 7761696b 61746f02 6163c041
+ c0340002 00010001 51800002 c00cc04f 00010001 00015180 00048cc8 800dc00c
+ 00010001 00015180 0004cb63 00fe.
+ +0.000998
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000439
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.229667
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038524
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31368500 00010001 00020002 07626f75 71756574 02636f02 6e7a0000 010001c0
+ 0c000100 01000151 800004cb 6300fec0 0c000200 01000151 80000502 6e73c00c
+ c00c0002 00010001 51800013 036e7331 07776169 6b61746f 02616302 6e7a00c0
+ 3b000100 01000151 800004cb 6300fec0 4c000100 01000151 8000048c c8800d.
+ +0.000911
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000464
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.189768
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038708
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31328500 00010001 00020002 026e7305 61676174 6502636f 026e7a00 00010001
+ c00c0001 00010001 51800004 cb6300fe 05616761 74650263 6f026e7a 00000200
+ 01000151 80001103 6e733107 7761696b 61746f02 6163c039 c0300002 00010001
+ 51800002 c00cc047 00010001 00015180 00048cc8 800dc00c 00010001 00015180
+ 0004cb63 00fe.
+ +0.000951
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000436
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.149673
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.048494
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31338500 00010001 00020002 10736563 75726974 79747261 696e696e 6702636f
+ 026e7a00 00010001 c00c0001 00010001 51800004 cb6300fe c00c0002 00010001
+ 51800005 026e73c0 0cc00c00 02000100 01518000 13036e73 31077761 696b6174
+ 6f026163 026e7a00 c0440001 00010001 51800004 cb6300fe c0550001 00010001
+ 51800004 8cc8800d.
+ +0.000991
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000442
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.099746
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038540
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31378500 00010001 00020002 0d696e76 65737469 67617469 6f6e0263 6f026e7a
+ 00000100 01c00c00 01000100 01518000 04cb6300 fec00c00 02000100 01518000
+ 05026e73 c00cc00c 00020001 00015180 0013036e 73310777 61696b61 746f0261
+ 63026e7a 00c04100 01000100 01518000 04cb6300 fec05200 01000100 01518000
+ 048cc880 0d.
+ +0.000944
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000437
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.059825
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038599
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 31388500 00010001 00020002 026e7305 6e7a6970 69036f72 67026e7a 00000100
+ 01c00c00 01000100 01518000 04cb6300 fe056e7a 69706903 6f726702 6e7a0000
+ 02000100 01518000 11036e73 31077761 696b6174 6f026163 c03bc031 00020001
+ 00015180 0002c00c c0490001 00010001 51800004 8cc8800d c00c0001 00010001
+ 51800004 cb6300fe.
+ +0.000960
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000445
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.019821
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.048560
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 313a8500 00010001 00020002 08736563 75726974 7902636f 026e7a00 00010001
+ c00c0001 00010001 51800004 cb6300fe c00c0002 00010001 51800013 036e7331
+ 07776169 6b61746f 02616302 6e7a00c0 0c000200 01000151 80000502 6e73c00c
+ c03c0001 00010001 51800004 8cc8800d c05b0001 00010001 51800004 cb6300fe.
+ +0.000913
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000471
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.969877
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.028575
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=140.200.128.13:53
+ 313b8503 00010000 00010000 026e730a 73746f72 65776174 63680263 6f026e7a
+ 00000100 0102636f 026e7a00 00060001 00015180 002c046e 73393907 7761696b
+ 61746f02 6163c028 03736f61 c03b7727 6ec50000 0e100000 07080027 8d000001
+ 5180.
+ +0.000739
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.023574
+ close fd=4
+ close=OK
+ +0.000464
+ close fd=5
+ close=OK
+ +0.000179
diff --git a/regress/case-manyptrwrongrst.err b/regress/case-manyptrwrongrst.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-manyptrwrongrst.err
diff --git a/regress/case-manyptrwrongrst.out b/regress/case-manyptrwrongrst.out
new file mode 100644
index 0000000..450b07d
--- /dev/null
+++ b/regress/case-manyptrwrongrst.out
@@ -0,0 +1,132 @@
+adns debug: using nameserver 172.18.45.6
+254.0.99.203.in-addr.arpa flags 292 type 1 A(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 2 NS(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 5 CNAME(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 6 SOA(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 12 PTR(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 13 HINFO(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 15 MX(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 16 TXT(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 17 RP(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65537 A(addr) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65538 NS(+addr) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65548 PTR(checked) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65551 MX(+addr) submitted
+254.0.99.203.in-addr.arpa flags 292 type 131078 SOA(822) submitted
+254.0.99.203.in-addr.arpa flags 292 type 131089 RP(822) submitted
+254.0.99.203.in-addr.arpa flags 292 type A(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=162
+254.0.99.203.in-addr.arpa flags 292 type NS(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type CNAME(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type HINFO(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type A(addr): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=162
+254.0.99.203.in-addr.arpa flags 292 type TXT(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=162
+254.0.99.203.in-addr.arpa flags 292 type SOA(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+254.0.99.203.in-addr.arpa flags 292 type MX(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+adns debug: reply not found, id 312a, query owner 254.0.99.203.in-addr.arpa (NS=172.18.45.6)
+254.0.99.203.in-addr.arpa flags 292 type NS(+addr): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=600
+254.0.99.203.in-addr.arpa flags 292 type MX(+addr): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=600
+254.0.99.203.in-addr.arpa flags 292 type SOA(822): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=600
+adns debug: reply not found, id 312c, query owner 254.0.99.203.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312d, query owner 254.0.99.203.in-addr.arpa (NS=172.18.45.6)
+254.0.99.203.in-addr.arpa flags 292 type RP(822): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+adns debug: reply not found, id 312e, query owner 254.0.99.203.in-addr.arpa (NS=172.18.45.6)
+254.0.99.203.in-addr.arpa flags 292 type RP(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=598
+adns debug: TCP connected (NS=172.18.45.6)
+adns debug: reply not found, id 312b, query owner 254.0.99.203.in-addr.arpa (NS=172.18.45.6)
+254.0.99.203.in-addr.arpa flags 292 type PTR(raw): OK; nrrs=94; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=20169
+ ns.security.co.nz
+ tetra.co.nz
+ mail.agate.co.nz
+ ns.agate.co.nz
+ securitytraining.co.nz
+ ns.giftbasket.co.nz
+ ns.security.gen.nz
+ bouquet.co.nz
+ investigation.co.nz
+ ns.nzipi.org.nz
+ mail.neru.co.nz
+ security.co.nz
+ ns.storewatch.co.nz
+ security.gen.nz
+ ns.tetra.co.nz
+ mail.tetra.co.nz
+ ns.securicard.co.nz
+ ns.underhour.co.nz
+ bcc.co.nz
+ security.org.nz
+ burglaralarms.co.nz
+ ns.safes.co.nz
+ ns.security.org.nz
+ couperconsulting.co.nz
+ securityguards.co.nz
+ ns.guards.co.nz
+ asis.org.nz
+ neru.co.nz
+ giftbasket.co.nz
+ magic.co.nz
+ mail.bcc.co.nz
+ ns.investigation.co.nz
+ nzipi.org.nz
+ ns.bouquet.co.nz
+ mail.safes.co.nz
+ ns.bcc.co.nz
+ ns.burglaralarms.co.nz
+ ns.securityguards.co.nz
+ covertcameras.co.nz
+ ns.neru.co.nz
+ ns.covertcameras.co.nz
+ bouquets.co.nz
+ concentric.co.nz
+ ns.securitytraining.co.nz
+ mail.couperconsulting.co.nz
+ retailsecurity.co.nz
+ ns.concentric.co.nz
+ mail.magic.co.nz
+ nzangling.co.nz
+ ns.couperconsulting.co.nz
+ ns.nzangling.co.nz
+ mail.storewatch.co.nz
+ swift.co.nz
+ mail.selective.co.nz
+ ns.forefront.co.nz
+ mail.nzangling.co.nz
+ guards.co.nz
+ mail.nzdesigns.co.nz
+ storewatch.co.nz
+ ns.securitymanagement.co.nz
+ mail.woolworths.co.nz
+ mail.concentric.co.nz
+ selective.co.nz
+ specialinvestigations.co.nz
+ ns.swift.co.nz
+ mail.swift.co.nz
+ ns.securenet.net.nz
+ privateinvestigation.co.nz
+ ns.privateinvestigation.co.nz
+ etrade.co.nz
+ ns.specialinvestigations.co.nz
+ mail.ansett.co.nz
+ ftp.warrent.co.nz
+ ns.retailsecurity.co.nz
+ mail.securitymanagement.co.nz
+ ns.magic.co.nz
+ mail.forefront.co.nz
+ mail.securicard.co.nz
+ securicard.co.nz
+ ns.nzdesigns.co.nz
+ safes.co.nz
+ ns.selective.co.nz
+ forefront.co.nz
+ securitymanagement.co.nz
+ underhour.co.nz
+ securenet.net.nz
+ mail.specialinvestigations.co.nz
+ nzdesigns.co.nz
+ ns.etrade.co.nz
+ mail.nzipi.org.nz
+ mail.underhour.co.nz
+ ns.asis.org.nz
+ ns.bouquets.co.nz
+ agate.co.nz
+254.0.99.203.in-addr.arpa flags 292 type PTR(checked): Inconsistent resource records in DNS; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=20167
+rc=0
diff --git a/regress/case-manyptrwrongrst.sys b/regress/case-manyptrwrongrst.sys
new file mode 100644
index 0000000..80e8381
--- /dev/null
+++ b/regress/case-manyptrwrongrst.sys
@@ -0,0 +1,1215 @@
+adnstest default -0x400
+292/254.0.99.203.in-addr.arpa
+ start 933289772.727140
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000265
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000089
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000067
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.004394
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.003204
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.003203
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.003315
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.003207
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0d0001.
+ sendto=43
+ +0.003263
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.003208
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 100001.
+ sendto=43
+ +0.003221
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.003221
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.003315
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.003215
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.003247
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.003252
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.003368
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.003230
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.950137
+ select=1 rfds=[4] wfds=[] efds=[]
+ +2.-643984
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 01000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 00a2002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.001188
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000472
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.596855
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.176497
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 02000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000885
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000392
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.422285
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.049249
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 05000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.001133
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000450
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.374656
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.026086
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0d000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000914
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000411
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.347245
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.041288
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 01000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 00a2002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000882
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000437
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.304638
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.035548
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 10000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 00a2002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.001120
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000442
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.267528
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038130
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 06000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.001107
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000697
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.230909
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.088915
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000881
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000428
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.140685
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.149669
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.002605
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.001310
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.007369
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.002868
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.002427
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.004373
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.002425
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.002419
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005328
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.002641
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.000001
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 02000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 0258002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000001
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 02000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 0258002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000001
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.002664
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.964877
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003669
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 0258002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000882
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 06000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 0258002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.003257
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000436
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.956633
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.015305
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 0258002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.001159
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000349
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.939820
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038251
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 06000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 0258002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000880
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000323
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.900366
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039069
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 11000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000881
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000448
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.859968
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-420413
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 11000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 0257002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000922
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000399
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.279060
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.176624
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 11000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 0256002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000917
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000466
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.101053
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.100567
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000486
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009988
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001186
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008955
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008816
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000139
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009991
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001137
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.978870
+ select=1 rfds=[4] wfds=[] efds=[]
+ +2.-569657
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238380 00010013 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 0100004e cb001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 00004ecb 00080574 65747261 c043c00c
+ 000c0001 00004ecb 000d046d 61696c05 61676174 65c043c0 0c000c00 0100004e
+ cb000502 6e73c06f c00c000c 00010000 4ecb0013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 0100004e cb001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 0100004e cb001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 004ecb00 0a07626f 75717565 74c043c0 0c000c00 0100004e
+ cb00100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 0100004e cb000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 00004ecb 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 00004ecb 0002c03a c00c000c 00010000 4ecb0010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010000 4ecb0002 c0d2c00c
+ 000c0001 00004ecb 0005026e 73c056c0 0c000c00 0100004e cb000704 6d61696c
+ c056c00c 000c0001 00004ecb 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 00004ecb 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 004ecb00 06036263 63c043.
+ +0.003463
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.001488
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000076
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000067
+ connect fd=5 addr=172.18.45.6:53
+ connect=EINPROGRESS
+ +0.000978
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000143
+ select max=6 rfds=[4] wfds=[5] efds=[] to=0.562305
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.001347
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000274
+ write fd=5
+ 002b3123 01000001 00000000 00000332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.001176
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.559508
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.559030
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.000478
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010029
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001273
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.998727
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.140762
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8380 00010013 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 0100004e ca001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 00004eca 00080574 65747261 c043c00c
+ 000c0001 00004eca 000d046d 61696c05 61676174 65c043c0 0c000c00 0100004e
+ ca000502 6e73c06f c00c000c 00010000 4eca0013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 0100004e ca001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 0100004e ca001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 004eca00 0a07626f 75717565 74c043c0 0c000c00 0100004e
+ ca00100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 0100004e ca000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 00004eca 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 00004eca 0002c03a c00c000c 00010000 4eca0010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010000 4eca0002 c0d2c00c
+ 000c0001 00004eca 0005026e 73c056c0 0c000c00 0100004e ca000704 6d61696c
+ c056c00c 000c0001 00004eca 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 00004eca 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 004eca00 06036263 63c043.
+ +0.003063
+ write fd=5
+ 002b312b 01000001 00000000 00000332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.001448
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000169
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.275214
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-921124
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8380 00010013 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 0100004e ca001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 00004eca 00080574 65747261 c043c00c
+ 000c0001 00004eca 000d046d 61696c05 61676174 65c043c0 0c000c00 0100004e
+ ca000502 6e73c06f c00c000c 00010000 4eca0013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 0100004e ca001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 0100004e ca001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 004eca00 0a07626f 75717565 74c043c0 0c000c00 0100004e
+ ca00100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 0100004e ca000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 00004eca 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 00004eca 0002c03a c00c000c 00010000 4eca0010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010000 4eca0002 c0d2c00c
+ 000c0001 00004eca 0005026e 73c056c0 0c000c00 0100004e ca000704 6d61696c
+ c056c00c 000c0001 00004eca 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 00004eca 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 004eca00 06036263 63c043.
+ +0.003054
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000483
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.192801
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.817055
+ read fd=5 buflen=2
+ read=OK
+ 096f.
+ +0.000391
+ read fd=5 buflen=2415
+ read=OK
+ 31238180 0001005e 00020001 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 0100004e c9001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 00004ec9 00080574 65747261 c043c00c
+ 000c0001 00004ec9 000d046d 61696c05 61676174 65c043c0 0c000c00 0100004e
+ c9000502 6e73c06f c00c000c 00010000 4ec90013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 0100004e c9001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 0100004e c9001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 004ec900 0a07626f 75717565 74c043c0 0c000c00 0100004e
+ c900100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 0100004e c9000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 00004ec9 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 00004ec9 0002c03a c00c000c 00010000 4ec90010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010000 4ec90002 c0d2c00c
+ 000c0001 00004ec9 0005026e 73c056c0 0c000c00 0100004e c9000704 6d61696c
+ c056c00c 000c0001 00004ec9 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 00004ec9 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 004ec900 06036263 63c043c0 0c000c00 0100004e c9000b08 73656375 72697479
+ c128c00c 000c0001 00004ec9 00100d62 7572676c 6172616c 61726d73 c043c00c
+ 000c0001 00004ec9 000b026e 73057361 666573c0 43c00c00 0c000100 004ec900
+ 05026e73 c1f7c00c 000c0001 00004ec9 00131063 6f757065 72636f6e 73756c74
+ 696e67c0 43c00c00 0c000100 004ec900 110e7365 63757269 74796775 61726473
+ c043c00c 000c0001 00004ec9 000c026e 73066775 61726473 c043c00c 000c0001
+ 00004ec9 00070461 736973c1 28c00c00 0c000100 004ec900 02c13fc0 0c000c00
+ 0100004e c90002c0 b6c00c00 0c000100 004ec900 08056d61 676963c0 43c00c00
+ 0c000100 004ec900 07046d61 696cc1e5 c00c000c 00010000 4ec90005 026e73c1
+ 03c00c00 0c000100 004ec900 02c122c0 0c000c00 0100004e c9000502 6e73c0ed
+ c00c000c 00010000 4ec90007 046d6169 6cc22dc0 0c000c00 0100004e c9000502
+ 6e73c1e5 c00c000c 00010000 4ec90005 026e73c2 0ec00c00 0c000100 004ec900
+ 05026e73 c271c00c 000c0001 00004ec9 00100d63 6f766572 7463616d 65726173
+ c043c00c 000c0001 00004ec9 0005026e 73c13fc0 0c000c00 0100004e c9001302
+ 6e730d63 6f766572 7463616d 65726173 c043c00c 000c0001 00004ec9 000b0862
+ 6f757175 657473c0 43c00c00 0c000100 004ec900 0d0a636f 6e63656e 74726963
+ c043c00c 000c0001 00004ec9 0005026e 73c094c0 0c000c00 0100004e c9000704
+ 6d61696c c252c00c 000c0001 00004ec9 00110e72 65746169 6c736563 75726974
+ 79c043c0 0c000c00 0100004e c9001002 6e730a63 6f6e6365 6e747269 63c043c0
+ 0c000c00 0100004e c9000d04 6d61696c 056d6167 6963c043 c00c000c 00010000
+ 4ec9000c 096e7a61 6e676c69 6e67c043 c00c000c 00010000 4ec90005 026e73c2
+ 52c00c00 0c000100 004ec900 0f026e73 096e7a61 6e676c69 6e67c043 c00c000c
+ 00010000 4ec90007 046d6169 6cc163c0 0c000c00 0100004e c9000805 73776966
+ 74c043c0 0c000c00 0100004e c9001104 6d61696c 0973656c 65637469 7665c043
+ c00c000c 00010000 4ec9000f 026e7309 666f7265 66726f6e 74c043c0 0c000c00
+ 0100004e c9001104 6d61696c 096e7a61 6e676c69 6e67c043 c00c000c 00010000
+ 4ec90009 06677561 726473c0 43c00c00 0c000100 004ec900 11046d61 696c096e
+ 7a646573 69676e73 c043c00c 000c0001 00004ec9 0002c163 c00c000c 00010000
+ 4ec90018 026e7312 73656375 72697479 6d616e61 67656d65 6e74c043 c00c000c
+ 00010000 4ec90012 046d6169 6c0a776f 6f6c776f 72746873 c043c00c 000c0001
+ 00004ec9 0012046d 61696c0a 636f6e63 656e.
+ +0.010287
+ read fd=5 buflen=957
+ read=OK
+ 74726963 c043c00c 000c0001 00004ec9 000c0973 656c6563 74697665 c043c00c
+ 000c0001 00004ec9 00181573 70656369 616c696e 76657374 69676174 696f6e73
+ c043c00c 000c0001 00004ec9 000b026e 73057377 696674c0 43c00c00 0c000100
+ 004ec900 0d046d61 696c0573 77696674 c043c00c 000c0001 00004ec9 0013026e
+ 73097365 63757265 6e657403 6e6574c0 46c00c00 0c000100 004ec900 17147072
+ 69766174 65696e76 65737469 67617469 6f6ec043 c00c000c 00010000 4ec9001a
+ 026e7314 70726976 61746569 6e766573 74696761 74696f6e c043c00c 000c0001
+ 00004ec9 00090665 74726164 65c043c0 0c000c00 0100004e c9001b02 6e731573
+ 70656369 616c696e 76657374 69676174 696f6e73 c043c00c 000c0001 00004ec9
+ 000e046d 61696c06 616e7365 7474c043 c00c000c 00010000 4ec9000e 03667470
+ 07776172 72656e74 c043c00c 000c0001 00004ec9 0014026e 730e7265 7461696c
+ 73656375 72697479 c043c00c 000c0001 00004ec9 001a046d 61696c12 73656375
+ 72697479 6d616e61 67656d65 6e74c043 c00c000c 00010000 4ec9000b 026e7305
+ 6d616769 63c043c0 0c000c00 0100004e c9001104 6d61696c 09666f72 6566726f
+ 6e74c043 c00c000c 00010000 4ec90007 046d6169 6cc1b1c0 0c000c00 0100004e
+ c90002c1 b1c00c00 0c000100 004ec900 0f026e73 096e7a64 65736967 6e73c043
+ c00c000c 00010000 4ec90002 c22dc00c 000c0001 00004ec9 000f026e 73097365
+ 6c656374 697665c0 43c00c00 0c000100 004ec900 0c09666f 72656672 6f6e74c0
+ 43c00c00 0c000100 004ec900 15127365 63757269 74796d61 6e616765 6d656e74
+ c043c00c 000c0001 00004ec9 0002c1cd c00c000c 00010000 4ec90010 09736563
+ 7572656e 6574036e 6574c046 c00c000c 00010000 4ec9001d 046d6169 6c157370
+ 65636961 6c696e76 65737469 67617469 6f6e73c0 43c00c00 0c000100 004ec900
+ 0c096e7a 64657369 676e73c0 43c00c00 0c000100 004ec900 0c026e73 06657472
+ 616465c0 43c00c00 0c000100 004ec900 07046d61 696cc122 c00c000c 00010000
+ 4ec90007 046d6169 6cc1cdc0 0c000c00 0100004e c9000a02 6e730461 736973c1
+ 28c00c00 0c000100 004ec900 0e026e73 08626f75 71756574 73c043c0 0c000c00
+ 0100004e c90002c0 6f013002 39390332 30330769 6e2d6164 64720461 72706100
+ 00020001 000545fc 0002c037 01300239 39033230 3307696e 2d616464 72046172
+ 70610000 02000100 0545fc00 11036e73 31077761 696b6174 6f026163 c046036e
+ 73310777 61696b61 746f0261 63c04600 01000100 02a30000 048cc880 0d.
+ +0.005913
+ read fd=5 buflen=2417
+ read=EAGAIN
+ +0.019409
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.059852
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.028945
+ read fd=5 buflen=2417
+ read=OK
+ 096f312b 81800001 005e0002 00010332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 004ec900 13026e73 08736563
+ 75726974 7902636f 026e7a00 c00c000c 00010000 4ec90008 05746574 7261c043
+ c00c000c 00010000 4ec9000d 046d6169 6c056167 617465c0 43c00c00 0c000100
+ 004ec900 05026e73 c06fc00c 000c0001 00004ec9 00131073 65637572 69747974
+ 7261696e 696e67c0 43c00c00 0c000100 004ec900 10026e73 0a676966 74626173
+ 6b6574c0 43c00c00 0c000100 004ec900 12026e73 08736563 75726974 79036765
+ 6ec046c0 0c000c00 0100004e c9000a07 626f7571 756574c0 43c00c00 0c000100
+ 004ec900 100d696e 76657374 69676174 696f6ec0 43c00c00 0c000100 004ec900
+ 0f026e73 056e7a69 7069036f 7267c046 c00c000c 00010000 4ec9000c 046d6169
+ 6c046e65 7275c043 c00c000c 00010000 4ec90002 c03ac00c 000c0001 00004ec9
+ 0010026e 730a7374 6f726577 61746368 c043c00c 000c0001 00004ec9 0002c0d2
+ c00c000c 00010000 4ec90005 026e73c0 56c00c00 0c000100 004ec900 07046d61
+ 696cc056 c00c000c 00010000 4ec90010 026e730a 73656375 72696361 7264c043
+ c00c000c 00010000 4ec9000f 026e7309 756e6465 72686f75 72c043c0 0c000c00
+ 0100004e c9000603 626363c0 43c00c00 0c000100 004ec900 0b087365 63757269
+ 7479c128 c00c000c 00010000 4ec90010 0d627572 676c6172 616c6172 6d73c043
+ c00c000c 00010000 4ec9000b 026e7305 73616665 73c043c0 0c000c00 0100004e
+ c9000502 6e73c1f7 c00c000c 00010000 4ec90013 10636f75 70657263 6f6e7375
+ 6c74696e 67c043c0 0c000c00 0100004e c900110e 73656375 72697479 67756172
+ 6473c043 c00c000c 00010000 4ec9000c 026e7306 67756172 6473c043 c00c000c
+ 00010000 4ec90007 04617369 73c128c0 0c000c00 0100004e c90002c1 3fc00c00
+ 0c000100 004ec900 02c0b6c0 0c000c00 0100004e c9000805 6d616769 63c043c0
+ 0c000c00 0100004e c9000704 6d61696c c1e5c00c 000c0001 00004ec9 0005026e
+ 73c103c0 0c000c00 0100004e c90002c1 22c00c00 0c000100 004ec900 05026e73
+ c0edc00c 000c0001 00004ec9 0007046d 61696cc2 2dc00c00 0c000100 004ec900
+ 05026e73 c1e5c00c 000c0001 00004ec9 0005026e 73c20ec0 0c000c00 0100004e
+ c9000502 6e73c271 c00c000c 00010000 4ec90010 0d636f76 65727463 616d6572
+ 6173c043 c00c000c 00010000 4ec90005 026e73c1 3fc00c00 0c000100 004ec900
+ 13026e73 0d636f76 65727463 616d6572 6173c043 c00c000c 00010000 4ec9000b
+ 08626f75 71756574 73c043c0 0c000c00 0100004e c9000d0a 636f6e63 656e7472
+ 6963c043 c00c000c 00010000 4ec90005 026e73c0 94c00c00 0c000100 004ec900
+ 07046d61 696cc252 c00c000c 00010000 4ec90011 0e726574 61696c73 65637572
+ 697479c0 43c00c00 0c000100 004ec900 10026e73 0a636f6e 63656e74 726963c0
+ 43c00c00 0c000100 004ec900 0d046d61 696c056d 61676963 c043c00c 000c0001
+ 00004ec9 000c096e 7a616e67 6c696e67 c043c00c 000c0001 00004ec9 0005026e
+ 73c252c0 0c000c00 0100004e c9000f02 6e73096e 7a616e67 6c696e67 c043c00c
+ 000c0001 00004ec9 0007046d 61696cc1 63c00c00 0c000100 004ec900 08057377
+ 696674c0 43c00c00 0c000100 004ec900 11046d61 696c0973 656c6563 74697665
+ c043c00c 000c0001 00004ec9 000f026e 7309666f 72656672 6f6e74c0 43c00c00
+ 0c000100 004ec900 11046d61 696c096e 7a616e67 6c696e67 c043c00c 000c0001
+ 00004ec9 00090667 75617264 73c043c0 0c000c00 0100004e c9001104 6d61696c
+ 096e7a64 65736967 6e73c043 c00c000c 00010000 4ec90002 c163c00c 000c0001
+ 00004ec9 0018026e 73127365 63757269 74796d61 6e616765 6d656e74 c043c00c
+ 000c0001 00004ec9 0012046d 61696c0a 776f6f6c 776f7274 6873c043 c00c000c
+ 00010000 4ec90012 046d6169 6c0a636f 6e63656e.
+ +0.008722
+ read fd=5 buflen=957
+ read=EAGAIN
+ +0.000264
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.021921
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.063001
+ read fd=5 buflen=957
+ read=OK
+ 74726963 c043c00c 000c0001 00004ec9 000c0973 656c6563 74697665 c043c00c
+ 000c0001 00004ec9 00181573 70656369 616c696e 76657374 69676174 696f6e73
+ c043c00c 000c0001 00004ec9 000b026e 73057377 696674c0 43c00c00 0c000100
+ 004ec900 0d046d61 696c0573 77696674 c043c00c 000c0001 00004ec9 0013026e
+ 73097365 63757265 6e657403 6e6574c0 46c00c00 0c000100 004ec900 17147072
+ 69766174 65696e76 65737469 67617469 6f6ec043 c00c000c 00010000 4ec9001a
+ 026e7314 70726976 61746569 6e766573 74696761 74696f6e c043c00c 000c0001
+ 00004ec9 00090665 74726164 65c043c0 0c000c00 0100004e c9001b02 6e731573
+ 70656369 616c696e 76657374 69676174 696f6e73 c043c00c 000c0001 00004ec9
+ 000e046d 61696c06 616e7365 7474c043 c00c000c 00010000 4ec9000e 03667470
+ 07776172 72656e74 c043c00c 000c0001 00004ec9 0014026e 730e7265 7461696c
+ 73656375 72697479 c043c00c 000c0001 00004ec9 001a046d 61696c12 73656375
+ 72697479 6d616e61 67656d65 6e74c043 c00c000c 00010000 4ec9000b 026e7305
+ 6d616769 63c043c0 0c000c00 0100004e c9001104 6d61696c 09666f72 6566726f
+ 6e74c043 c00c000c 00010000 4ec90007 046d6169 6cc1b1c0 0c000c00 0100004e
+ c90002c1 b1c00c00 0c000100 004ec900 0f026e73 096e7a64 65736967 6e73c043
+ c00c000c 00010000 4ec90002 c22dc00c 000c0001 00004ec9 000f026e 73097365
+ 6c656374 697665c0 43c00c00 0c000100 004ec900 0c09666f 72656672 6f6e74c0
+ 43c00c00 0c000100 004ec900 15127365 63757269 74796d61 6e616765 6d656e74
+ c043c00c 000c0001 00004ec9 0002c1cd c00c000c 00010000 4ec90010 09736563
+ 7572656e 6574036e 6574c046 c00c000c 00010000 4ec9001d 046d6169 6c157370
+ 65636961 6c696e76 65737469 67617469 6f6e73c0 43c00c00 0c000100 004ec900
+ 0c096e7a 64657369 676e73c0 43c00c00 0c000100 004ec900 0c026e73 06657472
+ 616465c0 43c00c00 0c000100 004ec900 07046d61 696cc122 c00c000c 00010000
+ 4ec90007 046d6169 6cc1cdc0 0c000c00 0100004e c9000a02 6e730461 736973c1
+ 28c00c00 0c000100 004ec900 0e026e73 08626f75 71756574 73c043c0 0c000c00
+ 0100004e c90002c0 6f013002 39390332 30330769 6e2d6164 64720461 72706100
+ 00020001 000545fc 0002c037 01300239 39033230 3307696e 2d616464 72046172
+ 70610000 02000100 0545fc00 11036e73 31077761 696b6174 6f026163 c046036e
+ 73310777 61696b61 746f0261 63c04600 01000100 02a30000 048cc880 0d.
+ +0.005816
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 026e7308 73656375 72697479 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.002957
+ sendto fd=4 addr=172.18.45.6:53
+ 31300100 00010000 00000000 05746574 72610263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001178
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 046d6169 6c056167 61746502 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001193
+ sendto fd=4 addr=172.18.45.6:53
+ 31320100 00010000 00000000 026e7305 61676174 6502636f 026e7a00 00010001.
+ sendto=32
+ +0.001166
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 10736563 75726974 79747261 696e696e 6702636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001265
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 026e730a 67696674 6261736b 65740263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001219
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 026e7308 73656375 72697479 0367656e 026e7a00
+ 00010001.
+ sendto=36
+ +0.001212
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 07626f75 71756574 02636f02 6e7a0000 010001.
+ sendto=31
+ +0.001210
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 0d696e76 65737469 67617469 6f6e0263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001220
+ sendto fd=4 addr=172.18.45.6:53
+ 31380100 00010000 00000000 026e7305 6e7a6970 69036f72 67026e7a 00000100
+ 01.
+ sendto=33
+ +0.001203
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 046d6169 6c046e65 72750263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001223
+ sendto fd=4 addr=172.18.45.6:53
+ 313a0100 00010000 00000000 08736563 75726974 7902636f 026e7a00 00010001.
+ sendto=32
+ +0.001251
+ sendto fd=4 addr=172.18.45.6:53
+ 313b0100 00010000 00000000 026e730a 73746f72 65776174 63680263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001242
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 08736563 75726974 79036765 6e026e7a 00000100
+ 01.
+ sendto=33
+ +0.001165
+ sendto fd=4 addr=172.18.45.6:53
+ 313d0100 00010000 00000000 026e7305 74657472 6102636f 026e7a00 00010001.
+ sendto=32
+ +0.001208
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 046d6169 6c057465 74726102 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001212
+ sendto fd=4 addr=172.18.45.6:53
+ 313f0100 00010000 00000000 026e730a 73656375 72696361 72640263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +1.-998781
+ sendto fd=4 addr=172.18.45.6:53
+ 31400100 00010000 00000000 026e7309 756e6465 72686f75 7202636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001202
+ sendto fd=4 addr=172.18.45.6:53
+ 31410100 00010000 00000000 03626363 02636f02 6e7a0000 010001.
+ sendto=27
+ +0.001186
+ sendto fd=4 addr=172.18.45.6:53
+ 31420100 00010000 00000000 08736563 75726974 79036f72 67026e7a 00000100
+ 01.
+ sendto=33
+ +0.001192
+ sendto fd=4 addr=172.18.45.6:53
+ 31430100 00010000 00000000 0d627572 676c6172 616c6172 6d730263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001520
+ sendto fd=4 addr=172.18.45.6:53
+ 31440100 00010000 00000000 026e7305 73616665 7302636f 026e7a00 00010001.
+ sendto=32
+ +0.001501
+ sendto fd=4 addr=172.18.45.6:53
+ 31450100 00010000 00000000 026e7308 73656375 72697479 036f7267 026e7a00
+ 00010001.
+ sendto=36
+ +0.002041
+ sendto fd=4 addr=172.18.45.6:53
+ 31460100 00010000 00000000 10636f75 70657263 6f6e7375 6c74696e 6702636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001682
+ sendto fd=4 addr=172.18.45.6:53
+ 31470100 00010000 00000000 0e736563 75726974 79677561 72647302 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001629
+ sendto fd=4 addr=172.18.45.6:53
+ 31480100 00010000 00000000 026e7306 67756172 64730263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001671
+ sendto fd=4 addr=172.18.45.6:53
+ 31490100 00010000 00000000 04617369 73036f72 67026e7a 00000100 01.
+ sendto=29
+ +0.001592
+ sendto fd=4 addr=172.18.45.6:53
+ 314a0100 00010000 00000000 046e6572 7502636f 026e7a00 00010001.
+ sendto=28
+ +0.001561
+ sendto fd=4 addr=172.18.45.6:53
+ 314b0100 00010000 00000000 0a676966 74626173 6b657402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001907
+ sendto fd=4 addr=172.18.45.6:53
+ 314c0100 00010000 00000000 056d6167 69630263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001654
+ sendto fd=4 addr=172.18.45.6:53
+ 314d0100 00010000 00000000 046d6169 6c036263 6302636f 026e7a00 00010001.
+ sendto=32
+ +0.001634
+ sendto fd=4 addr=172.18.45.6:53
+ 314e0100 00010000 00000000 026e730d 696e7665 73746967 6174696f 6e02636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001656
+ sendto fd=4 addr=172.18.45.6:53
+ 314f0100 00010000 00000000 056e7a69 7069036f 7267026e 7a000001 0001.
+ sendto=30
+ +0.001595
+ sendto fd=4 addr=172.18.45.6:53
+ 31500100 00010000 00000000 026e7307 626f7571 75657402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001672
+ sendto fd=4 addr=172.18.45.6:53
+ 31510100 00010000 00000000 046d6169 6c057361 66657302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001801
+ sendto fd=4 addr=172.18.45.6:53
+ 31520100 00010000 00000000 026e7303 62636302 636f026e 7a000001 0001.
+ sendto=30
+ +0.001626
+ sendto fd=4 addr=172.18.45.6:53
+ 31530100 00010000 00000000 026e730d 62757267 6c617261 6c61726d 7302636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001697
+ sendto fd=4 addr=172.18.45.6:53
+ 31540100 00010000 00000000 026e730e 73656375 72697479 67756172 64730263
+ 6f026e7a 00000100 01.
+ sendto=41
+ +0.001694
+ sendto fd=4 addr=172.18.45.6:53
+ 31550100 00010000 00000000 0d636f76 65727463 616d6572 61730263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001665
+ sendto fd=4 addr=172.18.45.6:53
+ 31560100 00010000 00000000 026e7304 6e657275 02636f02 6e7a0000 010001.
+ sendto=31
+ +0.001613
+ sendto fd=4 addr=172.18.45.6:53
+ 31570100 00010000 00000000 026e730d 636f7665 72746361 6d657261 7302636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001761
+ sendto fd=4 addr=172.18.45.6:53
+ 31580100 00010000 00000000 08626f75 71756574 7302636f 026e7a00 00010001.
+ sendto=32
+ +0.001635
+ sendto fd=4 addr=172.18.45.6:53
+ 31590100 00010000 00000000 0a636f6e 63656e74 72696302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001693
+ sendto fd=4 addr=172.18.45.6:53
+ 315a0100 00010000 00000000 026e7310 73656375 72697479 74726169 6e696e67
+ 02636f02 6e7a0000 010001.
+ sendto=43
+ +0.001762
+ sendto fd=4 addr=172.18.45.6:53
+ 315b0100 00010000 00000000 046d6169 6c10636f 75706572 636f6e73 756c7469
+ 6e670263 6f026e7a 00000100 01.
+ sendto=45
+ +0.001727
+ sendto fd=4 addr=172.18.45.6:53
+ 315c0100 00010000 00000000 0e726574 61696c73 65637572 69747902 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001636
+ sendto fd=4 addr=172.18.45.6:53
+ 315d0100 00010000 00000000 026e730a 636f6e63 656e7472 69630263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001667
+ sendto fd=4 addr=172.18.45.6:53
+ 315e0100 00010000 00000000 046d6169 6c056d61 67696302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001674
+ sendto fd=4 addr=172.18.45.6:53
+ 315f0100 00010000 00000000 096e7a61 6e676c69 6e670263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001676
+ sendto fd=4 addr=172.18.45.6:53
+ 31600100 00010000 00000000 026e7310 636f7570 6572636f 6e73756c 74696e67
+ 02636f02 6e7a0000 010001.
+ sendto=43
+ +0.001709
+ sendto fd=4 addr=172.18.45.6:53
+ 31610100 00010000 00000000 026e7309 6e7a616e 676c696e 6702636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001623
+ sendto fd=4 addr=172.18.45.6:53
+ 31620100 00010000 00000000 046d6169 6c0a7374 6f726577 61746368 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001647
+ sendto fd=4 addr=172.18.45.6:53
+ 31630100 00010000 00000000 05737769 66740263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001638
+ sendto fd=4 addr=172.18.45.6:53
+ 31640100 00010000 00000000 046d6169 6c097365 6c656374 69766502 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001714
+ sendto fd=4 addr=172.18.45.6:53
+ 31650100 00010000 00000000 026e7309 666f7265 66726f6e 7402636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001705
+ sendto fd=4 addr=172.18.45.6:53
+ 31660100 00010000 00000000 046d6169 6c096e7a 616e676c 696e6702 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001701
+ sendto fd=4 addr=172.18.45.6:53
+ 31670100 00010000 00000000 06677561 72647302 636f026e 7a000001 0001.
+ sendto=30
+ +0.001623
+ sendto fd=4 addr=172.18.45.6:53
+ 31680100 00010000 00000000 046d6169 6c096e7a 64657369 676e7302 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001653
+ sendto fd=4 addr=172.18.45.6:53
+ 31690100 00010000 00000000 0a73746f 72657761 74636802 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.058123
+ sendto fd=4 addr=172.18.45.6:53
+ 316a0100 00010000 00000000 026e7312 73656375 72697479 6d616e61 67656d65
+ 6e740263 6f026e7a 00000100 01.
+ sendto=45
+ +0.001825
+ sendto fd=4 addr=172.18.45.6:53
+ 316b0100 00010000 00000000 046d6169 6c0a776f 6f6c776f 72746873 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001755
+ sendto fd=4 addr=172.18.45.6:53
+ 316c0100 00010000 00000000 046d6169 6c0a636f 6e63656e 74726963 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001576
+ sendto fd=4 addr=172.18.45.6:53
+ 316d0100 00010000 00000000 0973656c 65637469 76650263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001723
+ sendto fd=4 addr=172.18.45.6:53
+ 316e0100 00010000 00000000 15737065 6369616c 696e7665 73746967 6174696f
+ 6e730263 6f026e7a 00000100 01.
+ sendto=45
+ +0.001520
+ sendto fd=4 addr=172.18.45.6:53
+ 316f0100 00010000 00000000 026e7305 73776966 7402636f 026e7a00 00010001.
+ sendto=32
+ +0.001453
+ sendto fd=4 addr=172.18.45.6:53
+ 31700100 00010000 00000000 046d6169 6c057377 69667402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001422
+ sendto fd=4 addr=172.18.45.6:53
+ 31710100 00010000 00000000 026e7309 73656375 72656e65 74036e65 74026e7a
+ 00000100 01.
+ sendto=37
+ +0.001461
+ sendto fd=4 addr=172.18.45.6:53
+ 31720100 00010000 00000000 14707269 76617465 696e7665 73746967 6174696f
+ 6e02636f 026e7a00 00010001.
+ sendto=44
+ +0.001602
+ sendto fd=4 addr=172.18.45.6:53
+ 31730100 00010000 00000000 026e7314 70726976 61746569 6e766573 74696761
+ 74696f6e 02636f02 6e7a0000 010001.
+ sendto=47
+ +0.001625
+ sendto fd=4 addr=172.18.45.6:53
+ 31740100 00010000 00000000 06657472 61646502 636f026e 7a000001 0001.
+ sendto=30
+ +0.001427
+ sendto fd=4 addr=172.18.45.6:53
+ 31750100 00010000 00000000 026e7315 73706563 69616c69 6e766573 74696761
+ 74696f6e 7302636f 026e7a00 00010001.
+ sendto=48
+ +0.001592
+ sendto fd=4 addr=172.18.45.6:53
+ 31760100 00010000 00000000 046d6169 6c06616e 73657474 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001410
+ sendto fd=4 addr=172.18.45.6:53
+ 31770100 00010000 00000000 03667470 07776172 72656e74 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001429
+ sendto fd=4 addr=172.18.45.6:53
+ 31780100 00010000 00000000 026e730e 72657461 696c7365 63757269 74790263
+ 6f026e7a 00000100 01.
+ sendto=41
+ +0.001586
+ sendto fd=4 addr=172.18.45.6:53
+ 31790100 00010000 00000000 046d6169 6c127365 63757269 74796d61 6e616765
+ 6d656e74 02636f02 6e7a0000 010001.
+ sendto=47
+ +0.001654
+ sendto fd=4 addr=172.18.45.6:53
+ 317a0100 00010000 00000000 026e7305 6d616769 6302636f 026e7a00 00010001.
+ sendto=32
+ +0.001470
+ sendto fd=4 addr=172.18.45.6:53
+ 317b0100 00010000 00000000 046d6169 6c09666f 72656672 6f6e7402 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001529
+ sendto fd=4 addr=172.18.45.6:53
+ 317c0100 00010000 00000000 046d6169 6c0a7365 63757269 63617264 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001536
+ sendto fd=4 addr=172.18.45.6:53
+ 317d0100 00010000 00000000 0a736563 75726963 61726402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001493
+ sendto fd=4 addr=172.18.45.6:53
+ 317e0100 00010000 00000000 026e7309 6e7a6465 7369676e 7302636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001518
+ sendto fd=4 addr=172.18.45.6:53
+ 317f0100 00010000 00000000 05736166 65730263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001536
+ sendto fd=4 addr=172.18.45.6:53
+ 31800100 00010000 00000000 026e7309 73656c65 63746976 6502636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001634
+ sendto fd=4 addr=172.18.45.6:53
+ 31810100 00010000 00000000 09666f72 6566726f 6e740263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001549
+ sendto fd=4 addr=172.18.45.6:53
+ 31820100 00010000 00000000 12736563 75726974 796d616e 6167656d 656e7402
+ 636f026e 7a000001 0001.
+ sendto=42
+ +0.001511
+ sendto fd=4 addr=172.18.45.6:53
+ 31830100 00010000 00000000 09756e64 6572686f 75720263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001450
+ sendto fd=4 addr=172.18.45.6:53
+ 31840100 00010000 00000000 09736563 7572656e 6574036e 6574026e 7a000001
+ 0001.
+ sendto=34
+ +0.027143
+ sendto fd=4 addr=172.18.45.6:53
+ 31850100 00010000 00000000 046d6169 6c157370 65636961 6c696e76 65737469
+ 67617469 6f6e7302 636f026e 7a000001 0001.
+ sendto=50
+ +0.001627
+ sendto fd=4 addr=172.18.45.6:53
+ 31860100 00010000 00000000 096e7a64 65736967 6e730263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001455
+ sendto fd=4 addr=172.18.45.6:53
+ 31870100 00010000 00000000 026e7306 65747261 64650263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001572
+ sendto fd=4 addr=172.18.45.6:53
+ 31880100 00010000 00000000 046d6169 6c056e7a 69706903 6f726702 6e7a0000
+ 010001.
+ sendto=35
+ +0.001559
+ sendto fd=4 addr=172.18.45.6:53
+ 31890100 00010000 00000000 046d6169 6c09756e 64657268 6f757202 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001507
+ sendto fd=4 addr=172.18.45.6:53
+ 318a0100 00010000 00000000 026e7304 61736973 036f7267 026e7a00 00010001.
+ sendto=32
+ +0.001428
+ sendto fd=4 addr=172.18.45.6:53
+ 318b0100 00010000 00000000 026e7308 626f7571 75657473 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001471
+ sendto fd=4 addr=172.18.45.6:53
+ 318c0100 00010000 00000000 05616761 74650263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001457
+ read fd=5 buflen=2417
+ read=EAGAIN
+ +0.000160
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.766818
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.661618
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312f8180 00010001 00020002 026e7308 73656375 72697479 02636f02 6e7a0000
+ 010001c0 0c000100 01000151 800004cb 6300fe08 73656375 72697479 02636f02
+ 6e7a0000 02000100 01518000 02c00cc0 33000200 01000151 80001103 6e733107
+ 7761696b 61746f02 6163c03f c00c0001 00010001 51800004 cb6300fe c05b0001
+ 00010001 51800004 8cc8800d.
+ +0.001142
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000798
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.103260
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.077615
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31328180 00010001 00020002 026e7305 61676174 6502636f 026e7a00 00010001
+ c00c0001 00010001 51800004 cb6300fe 05616761 74650263 6f026e7a 00000200
+ 01000151 800002c0 0cc03000 02000100 01518000 11036e73 31077761 696b6174
+ 6f026163 c039c00c 00010001 00015180 0004cb63 00fec055 00010001 00015180
+ 00048cc8 800d.
+ +0.001006
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000520
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.024119
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-919664
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31338180 00010001 00020002 10736563 75726974 79747261 696e696e 6702636f
+ 026e7a00 00010001 c00c0001 00010001 4fd40004 cb6300fe c00c0002 00010001
+ 51800005 026e73c0 0cc00c00 02000100 01518000 13036e73 31077761 696b6174
+ 6f026163 026e7a00 c0440001 00010001 51800004 cb6300fe c0550001 00010001
+ 51800004 8cc8800d.
+ +0.001035
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000535
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.942213
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.047739
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31348180 00010001 00020002 026e730a 67696674 6261736b 65740263 6f026e7a
+ 00000100 01c00c00 01000100 01518000 04cb6300 fe0a6769 66746261 736b6574
+ 02636f02 6e7a0000 02000100 01518000 02c00cc0 35000200 01000151 80001103
+ 6e733107 7761696b 61746f02 6163c043 c00c0001 00010001 51800004 cb6300fe
+ c05f0001 00010001 51800004 8cc8800d.
+ +0.001079
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000550
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.892845
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038213
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31358180 00010001 00020002 026e7308 73656375 72697479 0367656e 026e7a00
+ 00010001 c00c0001 00010001 51800004 cb6300fe 08736563 75726974 79036765
+ 6e026e7a 00000200 01000151 800002c0 0cc03400 02000100 01518000 11036e73
+ 31077761 696b6174 6f026163 c041c00c 00010001 00015180 0004cb63 00fec05d
+ 00010001 00015180 00048cc8 800d.
+ +0.001063
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000523
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.853046
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.048278
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31388180 00010001 00020002 026e7305 6e7a6970 69036f72 67026e7a 00000100
+ 01c00c00 01000100 01518000 04cb6300 fe056e7a 69706903 6f726702 6e7a0000
+ 02000100 01518000 02c00cc0 31000200 01000151 80001103 6e733107 7761696b
+ 61746f02 6163c03b c00c0001 00010001 51800004 cb6300fe c0570001 00010001
+ 51800004 8cc8800d.
+ +0.001030
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000557
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.803181
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.146677
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313b8583 00010000 00010000 026e730a 73746f72 65776174 63680263 6f026e7a
+ 00000100 0102636f 026e7a00 00060001 00015180 002c046e 73393907 7761696b
+ 61746f02 6163c028 03736f61 c03b7727 6ec50000 0e100000 07080027 8d000001
+ 5180.
+ +0.000793
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.026541
+ close fd=4
+ close=OK
+ +0.000436
+ close fd=5
+ close=OK
+ +0.004673
diff --git a/regress/case-manyptrwrongrty.err b/regress/case-manyptrwrongrty.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-manyptrwrongrty.err
diff --git a/regress/case-manyptrwrongrty.out b/regress/case-manyptrwrongrty.out
new file mode 100644
index 0000000..0a0d607
--- /dev/null
+++ b/regress/case-manyptrwrongrty.out
@@ -0,0 +1,143 @@
+adns debug: using nameserver 172.18.45.6
+254.0.99.203.in-addr.arpa flags 292 type 1 A(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 2 NS(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 5 CNAME(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 6 SOA(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 12 PTR(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 13 HINFO(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 15 MX(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 16 TXT(-) submitted
+254.0.99.203.in-addr.arpa flags 292 type 17 RP(raw) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65537 A(addr) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65538 NS(+addr) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65548 PTR(checked) submitted
+254.0.99.203.in-addr.arpa flags 292 type 65551 MX(+addr) submitted
+254.0.99.203.in-addr.arpa flags 292 type 131078 SOA(822) submitted
+254.0.99.203.in-addr.arpa flags 292 type 131089 RP(822) submitted
+254.0.99.203.in-addr.arpa flags 292 type A(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=539
+254.0.99.203.in-addr.arpa flags 292 type NS(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=539
+254.0.99.203.in-addr.arpa flags 292 type SOA(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=540
+adns debug: TCP connected (NS=172.18.45.6)
+254.0.99.203.in-addr.arpa flags 292 type HINFO(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=540
+254.0.99.203.in-addr.arpa flags 292 type MX(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=540
+254.0.99.203.in-addr.arpa flags 292 type TXT(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=539
+254.0.99.203.in-addr.arpa flags 292 type RP(raw): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=539
+254.0.99.203.in-addr.arpa flags 292 type PTR(raw): OK; nrrs=94; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86351
+ ns.security.co.nz
+ tetra.co.nz
+ mail.agate.co.nz
+ ns.agate.co.nz
+ securitytraining.co.nz
+ ns.giftbasket.co.nz
+ ns.security.gen.nz
+ bouquet.co.nz
+ investigation.co.nz
+ ns.nzipi.org.nz
+ mail.neru.co.nz
+ security.co.nz
+ ns.storewatch.co.nz
+ security.gen.nz
+ ns.tetra.co.nz
+ mail.tetra.co.nz
+ ns.securicard.co.nz
+ ns.underhour.co.nz
+ bcc.co.nz
+ security.org.nz
+ burglaralarms.co.nz
+ ns.safes.co.nz
+ ns.security.org.nz
+ couperconsulting.co.nz
+ securityguards.co.nz
+ ns.guards.co.nz
+ asis.org.nz
+ neru.co.nz
+ giftbasket.co.nz
+ magic.co.nz
+ mail.bcc.co.nz
+ ns.investigation.co.nz
+ nzipi.org.nz
+ ns.bouquet.co.nz
+ mail.safes.co.nz
+ ns.bcc.co.nz
+ ns.burglaralarms.co.nz
+ ns.securityguards.co.nz
+ covertcameras.co.nz
+ ns.neru.co.nz
+ ns.covertcameras.co.nz
+ bouquets.co.nz
+ concentric.co.nz
+ ns.securitytraining.co.nz
+ mail.couperconsulting.co.nz
+ retailsecurity.co.nz
+ ns.concentric.co.nz
+ mail.magic.co.nz
+ nzangling.co.nz
+ ns.couperconsulting.co.nz
+ ns.nzangling.co.nz
+ mail.storewatch.co.nz
+ swift.co.nz
+ mail.selective.co.nz
+ ns.forefront.co.nz
+ mail.nzangling.co.nz
+ guards.co.nz
+ mail.nzdesigns.co.nz
+ storewatch.co.nz
+ ns.securitymanagement.co.nz
+ mail.woolworths.co.nz
+ mail.concentric.co.nz
+ selective.co.nz
+ specialinvestigations.co.nz
+ ns.swift.co.nz
+ mail.swift.co.nz
+ ns.securenet.net.nz
+ privateinvestigation.co.nz
+ ns.privateinvestigation.co.nz
+ etrade.co.nz
+ ns.specialinvestigations.co.nz
+ mail.ansett.co.nz
+ ftp.warrent.co.nz
+ ns.retailsecurity.co.nz
+ mail.securitymanagement.co.nz
+ ns.magic.co.nz
+ mail.forefront.co.nz
+ mail.securicard.co.nz
+ securicard.co.nz
+ ns.nzdesigns.co.nz
+ safes.co.nz
+ ns.selective.co.nz
+ forefront.co.nz
+ securitymanagement.co.nz
+ underhour.co.nz
+ securenet.net.nz
+ mail.specialinvestigations.co.nz
+ nzdesigns.co.nz
+ ns.etrade.co.nz
+ mail.nzipi.org.nz
+ mail.underhour.co.nz
+ ns.asis.org.nz
+ ns.bouquets.co.nz
+ agate.co.nz
+254.0.99.203.in-addr.arpa flags 292 type NS(+addr): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=539
+254.0.99.203.in-addr.arpa flags 292 type MX(+addr): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=540
+254.0.99.203.in-addr.arpa flags 292 type SOA(822): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=540
+254.0.99.203.in-addr.arpa flags 292 type RP(822): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=539
+254.0.99.203.in-addr.arpa flags 292 type A(addr): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=539
+254.0.99.203.in-addr.arpa flags 292 type PTR(checked): Inconsistent resource records in DNS; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86351
+adns debug: reply not found, id 3151, query owner mail.safes.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 3152, query owner ns.bcc.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 3153, query owner ns.burglaralarms.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 3154, query owner ns.securityguards.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 3155, query owner covertcameras.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 3156, query owner ns.neru.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 3157, query owner ns.covertcameras.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 3158, query owner bouquets.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 3159, query owner concentric.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 315a, query owner ns.securitytraining.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 315b, query owner mail.couperconsulting.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 315c, query owner retailsecurity.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 315d, query owner ns.concentric.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 315e, query owner mail.magic.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 315f, query owner nzangling.co.nz (NS=172.18.45.6)
+adns debug: reply not found, id 3160, query owner ns.couperconsulting.co.nz (NS=172.18.45.6)
+254.0.99.203.in-addr.arpa flags 292 type CNAME(-): No such data; nrrs=0; cname=$; owner=254.0.99.203.in-addr.arpa; ttl=86400
+rc=0
diff --git a/regress/case-manyptrwrongrty.sys b/regress/case-manyptrwrongrty.sys
new file mode 100644
index 0000000..92be042
--- /dev/null
+++ b/regress/case-manyptrwrongrty.sys
@@ -0,0 +1,1436 @@
+adnstest default -0x400
+292/254.0.99.203.in-addr.arpa
+ start 933286845.072950
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000253
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000085
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000063
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.001688
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.001142
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.001140
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.001165
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001176
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0d0001.
+ sendto=43
+ +0.001238
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.001191
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 100001.
+ sendto=43
+ +0.001128
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.001143
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.001146
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.001165
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001178
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.001183
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.001231
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.001357
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981729
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000351
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 01000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021b002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.001109
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000482
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981475
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.009100
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 02000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021b002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000873
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000382
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.972262
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.016240
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 06000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021c002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000837
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000395
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.954790
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.009780
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238380 00010013 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000151 4f001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 0001514f 00080574 65747261 c043c00c
+ 000c0001 0001514f 000d046d 61696c05 61676174 65c043c0 0c000c00 01000151
+ 4f000502 6e73c06f c00c000c 00010001 514f0013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 01000151 4f001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 01000151 4f001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 01514f00 0a07626f 75717565 74c043c0 0c000c00 01000151
+ 4f00100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 01000151 4f000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 0001514f 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 0001514f 0002c03a c00c000c 00010001 514f0010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010001 514f0002 c0d2c00c
+ 000c0001 0001514f 0005026e 73c056c0 0c000c00 01000151 4f000704 6d61696c
+ c056c00c 000c0001 0001514f 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 0001514f 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 01514f00 06036263 63c043.
+ +0.003330
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.001365
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000066
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000058
+ connect fd=5 addr=172.18.45.6:53
+ connect=EINPROGRESS
+ +0.000257
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000121
+ select max=6 rfds=[4] wfds=[5] efds=[] to=1.939813
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.001860
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000211
+ write fd=5
+ 002b3123 01000001 00000000 00000332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.000910
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.936832
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005498
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0d000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021c002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000840
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000372
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.930122
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.011817
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021c002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000838
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000389
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.917078
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.010900
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 10000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021b002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000836
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000359
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.904983
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.057379
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 11000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021b002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000856
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000409
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.846339
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.003255
+ read fd=5 buflen=2
+ read=OK
+ 097f.
+ +0.000294
+ read fd=5 buflen=2431
+ read=OK
+ 31238180 0001005e 00020002 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000151 4f001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 0001514f 00080574 65747261 c043c00c
+ 000c0001 0001514f 000d046d 61696c05 61676174 65c043c0 0c000c00 01000151
+ 4f000502 6e73c06f c00c000c 00010001 514f0013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 01000151 4f001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 01000151 4f001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 01514f00 0a07626f 75717565 74c043c0 0c000c00 01000151
+ 4f00100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 01000151 4f000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 0001514f 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 0001514f 0002c03a c00c000c 00010001 514f0010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010001 514f0002 c0d2c00c
+ 000c0001 0001514f 0005026e 73c056c0 0c000c00 01000151 4f000704 6d61696c
+ c056c00c 000c0001 0001514f 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 0001514f 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 01514f00 06036263 63c043c0 0c000c00 01000151 4f000b08 73656375 72697479
+ c128c00c 000c0001 0001514f 00100d62 7572676c 6172616c 61726d73 c043c00c
+ 000c0001 0001514f 000b026e 73057361 666573c0 43c00c00 0c000100 01514f00
+ 05026e73 c1f7c00c 000c0001 0001514f 00131063 6f757065 72636f6e 73756c74
+ 696e67c0 43c00c00 0c000100 01514f00 110e7365 63757269 74796775 61726473
+ c043c00c 000c0001 0001514f 000c026e 73066775 61726473 c043c00c 000c0001
+ 0001514f 00070461 736973c1 28c00c00 0c000100 01514f00 02c13fc0 0c000c00
+ 01000151 4f0002c0 b6c00c00 0c000100 01514f00 08056d61 676963c0 43c00c00
+ 0c000100 01514f00 07046d61 696cc1e5 c00c000c 00010001 514f0005 026e73c1
+ 03c00c00 0c000100 01514f00 02c122c0 0c000c00 01000151 4f000502 6e73c0ed
+ c00c000c 00010001 514f0007 046d6169 6cc22dc0 0c000c00 01000151 4f000502
+ 6e73c1e5 c00c000c 00010001 514f0005 026e73c2 0ec00c00 0c000100 01514f00
+ 05026e73 c271c00c 000c0001 0001514f 00100d63 6f766572 7463616d 65726173
+ c043c00c 000c0001 0001514f 0005026e 73c13fc0 0c000c00 01000151 4f001302
+ 6e730d63 6f766572 7463616d 65726173 c043c00c 000c0001 0001514f 000b0862
+ 6f757175 657473c0 43c00c00 0c000100 01514f00 0d0a636f 6e63656e 74726963
+ c043c00c 000c0001 0001514f 0005026e 73c094c0 0c000c00 01000151 4f000704
+ 6d61696c c252c00c 000c0001 0001514f 00110e72 65746169 6c736563 75726974
+ 79c043c0 0c000c00 01000151 4f001002 6e730a63 6f6e6365 6e747269 63c043c0
+ 0c000c00 01000151 4f000d04 6d61696c 056d6167 6963c043 c00c000c 00010001
+ 514f000c 096e7a61 6e676c69 6e67c043 c00c000c 00010001 514f0005 026e73c2
+ 52c00c00 0c000100 01514f00 0f026e73 096e7a61 6e676c69 6e67c043 c00c000c
+ 00010001 514f0007 046d6169 6cc163c0 0c000c00 01000151 4f000805 73776966
+ 74c043c0 0c000c00 01000151 4f001104 6d61696c 0973656c 65637469 7665c043
+ c00c000c 00010001 514f000f 026e7309 666f7265 66726f6e 74c043c0 0c000c00
+ 01000151 4f001104 6d61696c 096e7a61 6e676c69 6e67c043 c00c000c 00010001
+ 514f0009 06677561 726473c0 43c00c00 0c000100 01514f00 11046d61 696c096e
+ 7a646573 69676e73 c043c00c 000c0001 0001514f 0002c163 c00c000c 00010001
+ 514f0018 026e7312 73656375 72697479 6d616e61 67656d65 6e74c043 c00c000c
+ 00010001 514f0012 046d6169 6c0a776f 6f6c776f 72746873 c043c00c 000c0001
+ 0001514f 0012046d 61696c0a 636f6e63 656e.
+ +0.009407
+ read fd=5 buflen=973
+ read=OK
+ 74726963 c043c00c 000c0001 0001514f 000c0973 656c6563 74697665 c043c00c
+ 000c0001 0001514f 00181573 70656369 616c696e 76657374 69676174 696f6e73
+ c043c00c 000c0001 0001514f 000b026e 73057377 696674c0 43c00c00 0c000100
+ 01514f00 0d046d61 696c0573 77696674 c043c00c 000c0001 0001514f 0013026e
+ 73097365 63757265 6e657403 6e6574c0 46c00c00 0c000100 01514f00 17147072
+ 69766174 65696e76 65737469 67617469 6f6ec043 c00c000c 00010001 514f001a
+ 026e7314 70726976 61746569 6e766573 74696761 74696f6e c043c00c 000c0001
+ 0001514f 00090665 74726164 65c043c0 0c000c00 01000151 4f001b02 6e731573
+ 70656369 616c696e 76657374 69676174 696f6e73 c043c00c 000c0001 0001514f
+ 000e046d 61696c06 616e7365 7474c043 c00c000c 00010001 514f000e 03667470
+ 07776172 72656e74 c043c00c 000c0001 0001514f 0014026e 730e7265 7461696c
+ 73656375 72697479 c043c00c 000c0001 0001514f 001a046d 61696c12 73656375
+ 72697479 6d616e61 67656d65 6e74c043 c00c000c 00010001 514f000b 026e7305
+ 6d616769 63c043c0 0c000c00 01000151 4f001104 6d61696c 09666f72 6566726f
+ 6e74c043 c00c000c 00010001 514f0007 046d6169 6cc1b1c0 0c000c00 01000151
+ 4f0002c1 b1c00c00 0c000100 01514f00 0f026e73 096e7a64 65736967 6e73c043
+ c00c000c 00010001 514f0002 c22dc00c 000c0001 0001514f 000f026e 73097365
+ 6c656374 697665c0 43c00c00 0c000100 01514f00 0c09666f 72656672 6f6e74c0
+ 43c00c00 0c000100 01514f00 15127365 63757269 74796d61 6e616765 6d656e74
+ c043c00c 000c0001 0001514f 0002c1cd c00c000c 00010001 514f0010 09736563
+ 7572656e 6574036e 6574c046 c00c000c 00010001 514f001d 046d6169 6c157370
+ 65636961 6c696e76 65737469 67617469 6f6e73c0 43c00c00 0c000100 01514f00
+ 0c096e7a 64657369 676e73c0 43c00c00 0c000100 01514f00 0c026e73 06657472
+ 616465c0 43c00c00 0c000100 01514f00 07046d61 696cc122 c00c000c 00010001
+ 514f0007 046d6169 6cc1cdc0 0c000c00 01000151 4f000a02 6e730461 736973c1
+ 28c00c00 0c000100 01514f00 0e026e73 08626f75 71756574 73c043c0 0c000c00
+ 01000151 4f0002c0 6f013002 39390332 30330769 6e2d6164 64720461 72706100
+ 00020001 000545c2 0002c037 01300239 39033230 3307696e 2d616464 72046172
+ 70610000 02000100 0545c200 11036e73 31077761 696b6174 6f026163 c046c037
+ 00010001 0001514a 0004cb63 00fe036e 73310777 61696b61 746f0261 63c04600
+ 01000100 02a2c200 048cc880 0d.
+ +0.006032
+ read fd=5 buflen=2433
+ read=EAGAIN
+ +0.020859
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.806492
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.022402
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 01000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021b002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000868
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 02000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021b002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.001114
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8380 00010013 00000000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000151 4f001302 6e730873 65637572
+ 69747902 636f026e 7a00c00c 000c0001 0001514f 00080574 65747261 c043c00c
+ 000c0001 0001514f 000d046d 61696c05 61676174 65c043c0 0c000c00 01000151
+ 4f000502 6e73c06f c00c000c 00010001 514f0013 10736563 75726974 79747261
+ 696e696e 67c043c0 0c000c00 01000151 4f001002 6e730a67 69667462 61736b65
+ 74c043c0 0c000c00 01000151 4f001202 6e730873 65637572 69747903 67656ec0
+ 46c00c00 0c000100 01514f00 0a07626f 75717565 74c043c0 0c000c00 01000151
+ 4f00100d 696e7665 73746967 6174696f 6ec043c0 0c000c00 01000151 4f000f02
+ 6e73056e 7a697069 036f7267 c046c00c 000c0001 0001514f 000c046d 61696c04
+ 6e657275 c043c00c 000c0001 0001514f 0002c03a c00c000c 00010001 514f0010
+ 026e730a 73746f72 65776174 6368c043 c00c000c 00010001 514f0002 c0d2c00c
+ 000c0001 0001514f 0005026e 73c056c0 0c000c00 01000151 4f000704 6d61696c
+ c056c00c 000c0001 0001514f 0010026e 730a7365 63757269 63617264 c043c00c
+ 000c0001 0001514f 000f026e 7309756e 64657268 6f7572c0 43c00c00 0c000100
+ 01514f00 06036263 63c043.
+ +0.003373
+ write fd=5
+ 002b312b 01000001 00000000 00000332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.000877
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 0f000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021c002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000880
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 06000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021c002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.001170
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8180 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 11000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010000 021b002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.001182
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000384
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.774242
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.050425
+ read fd=5 buflen=2433
+ read=OK
+ 097f312b 81800001 005e0002 00020332 35340130 02393903 32303307 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 01514f00 13026e73 08736563
+ 75726974 7902636f 026e7a00 c00c000c 00010001 514f0008 05746574 7261c043
+ c00c000c 00010001 514f000d 046d6169 6c056167 617465c0 43c00c00 0c000100
+ 01514f00 05026e73 c06fc00c 000c0001 0001514f 00131073 65637572 69747974
+ 7261696e 696e67c0 43c00c00 0c000100 01514f00 10026e73 0a676966 74626173
+ 6b6574c0 43c00c00 0c000100 01514f00 12026e73 08736563 75726974 79036765
+ 6ec046c0 0c000c00 01000151 4f000a07 626f7571 756574c0 43c00c00 0c000100
+ 01514f00 100d696e 76657374 69676174 696f6ec0 43c00c00 0c000100 01514f00
+ 0f026e73 056e7a69 7069036f 7267c046 c00c000c 00010001 514f000c 046d6169
+ 6c046e65 7275c043 c00c000c 00010001 514f0002 c03ac00c 000c0001 0001514f
+ 0010026e 730a7374 6f726577 61746368 c043c00c 000c0001 0001514f 0002c0d2
+ c00c000c 00010001 514f0005 026e73c0 56c00c00 0c000100 01514f00 07046d61
+ 696cc056 c00c000c 00010001 514f0010 026e730a 73656375 72696361 7264c043
+ c00c000c 00010001 514f000f 026e7309 756e6465 72686f75 72c043c0 0c000c00
+ 01000151 4f000603 626363c0 43c00c00 0c000100 01514f00 0b087365 63757269
+ 7479c128 c00c000c 00010001 514f0010 0d627572 676c6172 616c6172 6d73c043
+ c00c000c 00010001 514f000b 026e7305 73616665 73c043c0 0c000c00 01000151
+ 4f000502 6e73c1f7 c00c000c 00010001 514f0013 10636f75 70657263 6f6e7375
+ 6c74696e 67c043c0 0c000c00 01000151 4f00110e 73656375 72697479 67756172
+ 6473c043 c00c000c 00010001 514f000c 026e7306 67756172 6473c043 c00c000c
+ 00010001 514f0007 04617369 73c128c0 0c000c00 01000151 4f0002c1 3fc00c00
+ 0c000100 01514f00 02c0b6c0 0c000c00 01000151 4f000805 6d616769 63c043c0
+ 0c000c00 01000151 4f000704 6d61696c c1e5c00c 000c0001 0001514f 0005026e
+ 73c103c0 0c000c00 01000151 4f0002c1 22c00c00 0c000100 01514f00 05026e73
+ c0edc00c 000c0001 0001514f 0007046d 61696cc2 2dc00c00 0c000100 01514f00
+ 05026e73 c1e5c00c 000c0001 0001514f 0005026e 73c20ec0 0c000c00 01000151
+ 4f000502 6e73c271 c00c000c 00010001 514f0010 0d636f76 65727463 616d6572
+ 6173c043 c00c000c 00010001 514f0005 026e73c1 3fc00c00 0c000100 01514f00
+ 13026e73 0d636f76 65727463 616d6572 6173c043 c00c000c 00010001 514f000b
+ 08626f75 71756574 73c043c0 0c000c00 01000151 4f000d0a 636f6e63 656e7472
+ 6963c043 c00c000c 00010001 514f0005 026e73c0 94c00c00 0c000100 01514f00
+ 07046d61 696cc252 c00c000c 00010001 514f0011 0e726574 61696c73 65637572
+ 697479c0 43c00c00 0c000100 01514f00 10026e73 0a636f6e 63656e74 726963c0
+ 43c00c00 0c000100 01514f00 0d046d61 696c056d 61676963 c043c00c 000c0001
+ 0001514f 000c096e 7a616e67 6c696e67 c043c00c 000c0001 0001514f 0005026e
+ 73c252c0 0c000c00 01000151 4f000f02 6e73096e 7a616e67 6c696e67 c043c00c
+ 000c0001 0001514f 0007046d 61696cc1 63c00c00 0c000100 01514f00 08057377
+ 696674c0 43c00c00 0c000100 01514f00 11046d61 696c0973 656c6563 74697665
+ c043c00c 000c0001 0001514f 000f026e 7309666f 72656672 6f6e74c0 43c00c00
+ 0c000100 01514f00 11046d61 696c096e 7a616e67 6c696e67 c043c00c 000c0001
+ 0001514f 00090667 75617264 73c043c0 0c000c00 01000151 4f001104 6d61696c
+ 096e7a64 65736967 6e73c043 c00c000c 00010001 514f0002 c163c00c 000c0001
+ 0001514f 0018026e 73127365 63757269 74796d61 6e616765 6d656e74 c043c00c
+ 000c0001 0001514f 0012046d 61696c0a 776f6f6c 776f7274 6873c043 c00c000c
+ 00010001 514f0012 046d6169 6c0a636f 6e63656e.
+ +0.008599
+ read fd=5 buflen=973
+ read=EAGAIN
+ +0.000251
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.714967
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.113339
+ read fd=5 buflen=973
+ read=OK
+ 74726963 c043c00c 000c0001 0001514f 000c0973 656c6563 74697665 c043c00c
+ 000c0001 0001514f 00181573 70656369 616c696e 76657374 69676174 696f6e73
+ c043c00c 000c0001 0001514f 000b026e 73057377 696674c0 43c00c00 0c000100
+ 01514f00 0d046d61 696c0573 77696674 c043c00c 000c0001 0001514f 0013026e
+ 73097365 63757265 6e657403 6e6574c0 46c00c00 0c000100 01514f00 17147072
+ 69766174 65696e76 65737469 67617469 6f6ec043 c00c000c 00010001 514f001a
+ 026e7314 70726976 61746569 6e766573 74696761 74696f6e c043c00c 000c0001
+ 0001514f 00090665 74726164 65c043c0 0c000c00 01000151 4f001b02 6e731573
+ 70656369 616c696e 76657374 69676174 696f6e73 c043c00c 000c0001 0001514f
+ 000e046d 61696c06 616e7365 7474c043 c00c000c 00010001 514f000e 03667470
+ 07776172 72656e74 c043c00c 000c0001 0001514f 0014026e 730e7265 7461696c
+ 73656375 72697479 c043c00c 000c0001 0001514f 001a046d 61696c12 73656375
+ 72697479 6d616e61 67656d65 6e74c043 c00c000c 00010001 514f000b 026e7305
+ 6d616769 63c043c0 0c000c00 01000151 4f001104 6d61696c 09666f72 6566726f
+ 6e74c043 c00c000c 00010001 514f0007 046d6169 6cc1b1c0 0c000c00 01000151
+ 4f0002c1 b1c00c00 0c000100 01514f00 0f026e73 096e7a64 65736967 6e73c043
+ c00c000c 00010001 514f0002 c22dc00c 000c0001 0001514f 000f026e 73097365
+ 6c656374 697665c0 43c00c00 0c000100 01514f00 0c09666f 72656672 6f6e74c0
+ 43c00c00 0c000100 01514f00 15127365 63757269 74796d61 6e616765 6d656e74
+ c043c00c 000c0001 0001514f 0002c1cd c00c000c 00010001 514f0010 09736563
+ 7572656e 6574036e 6574c046 c00c000c 00010001 514f001d 046d6169 6c157370
+ 65636961 6c696e76 65737469 67617469 6f6e73c0 43c00c00 0c000100 01514f00
+ 0c096e7a 64657369 676e73c0 43c00c00 0c000100 01514f00 0c026e73 06657472
+ 616465c0 43c00c00 0c000100 01514f00 07046d61 696cc122 c00c000c 00010001
+ 514f0007 046d6169 6cc1cdc0 0c000c00 01000151 4f000a02 6e730461 736973c1
+ 28c00c00 0c000100 01514f00 0e026e73 08626f75 71756574 73c043c0 0c000c00
+ 01000151 4f0002c0 6f013002 39390332 30330769 6e2d6164 64720461 72706100
+ 00020001 000545c2 0002c037 01300239 39033230 3307696e 2d616464 72046172
+ 70610000 02000100 0545c200 11036e73 31077761 696b6174 6f026163 c046c037
+ 00010001 0001514a 0004cb63 00fe036e 73310777 61696b61 746f0261 63c04600
+ 01000100 02a2c200 048cc880 0d.
+ +0.005794
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 026e7308 73656375 72697479 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.002525
+ sendto fd=4 addr=172.18.45.6:53
+ 31300100 00010000 00000000 05746574 72610263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001084
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 046d6169 6c056167 61746502 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001089
+ sendto fd=4 addr=172.18.45.6:53
+ 31320100 00010000 00000000 026e7305 61676174 6502636f 026e7a00 00010001.
+ sendto=32
+ +0.001018
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 10736563 75726974 79747261 696e696e 6702636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001076
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 026e730a 67696674 6261736b 65740263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001062
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 026e7308 73656375 72697479 0367656e 026e7a00
+ 00010001.
+ sendto=36
+ +0.001055
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 07626f75 71756574 02636f02 6e7a0000 010001.
+ sendto=31
+ +0.001003
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 0d696e76 65737469 67617469 6f6e0263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001169
+ sendto fd=4 addr=172.18.45.6:53
+ 31380100 00010000 00000000 026e7305 6e7a6970 69036f72 67026e7a 00000100
+ 01.
+ sendto=33
+ +0.001084
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 046d6169 6c046e65 72750263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001052
+ sendto fd=4 addr=172.18.45.6:53
+ 313a0100 00010000 00000000 08736563 75726974 7902636f 026e7a00 00010001.
+ sendto=32
+ +0.001060
+ sendto fd=4 addr=172.18.45.6:53
+ 313b0100 00010000 00000000 026e730a 73746f72 65776174 63680263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001385
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 08736563 75726974 79036765 6e026e7a 00000100
+ 01.
+ sendto=33
+ +0.001319
+ sendto fd=4 addr=172.18.45.6:53
+ 313d0100 00010000 00000000 026e7305 74657472 6102636f 026e7a00 00010001.
+ sendto=32
+ +0.001428
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 046d6169 6c057465 74726102 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001373
+ sendto fd=4 addr=172.18.45.6:53
+ 313f0100 00010000 00000000 026e730a 73656375 72696361 72640263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001407
+ sendto fd=4 addr=172.18.45.6:53
+ 31400100 00010000 00000000 026e7309 756e6465 72686f75 7202636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001454
+ sendto fd=4 addr=172.18.45.6:53
+ 31410100 00010000 00000000 03626363 02636f02 6e7a0000 010001.
+ sendto=27
+ +0.001405
+ sendto fd=4 addr=172.18.45.6:53
+ 31420100 00010000 00000000 08736563 75726974 79036f72 67026e7a 00000100
+ 01.
+ sendto=33
+ +0.001386
+ sendto fd=4 addr=172.18.45.6:53
+ 31430100 00010000 00000000 0d627572 676c6172 616c6172 6d730263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001405
+ sendto fd=4 addr=172.18.45.6:53
+ 31440100 00010000 00000000 026e7305 73616665 7302636f 026e7a00 00010001.
+ sendto=32
+ +0.001163
+ sendto fd=4 addr=172.18.45.6:53
+ 31450100 00010000 00000000 026e7308 73656375 72697479 036f7267 026e7a00
+ 00010001.
+ sendto=36
+ +0.001110
+ sendto fd=4 addr=172.18.45.6:53
+ 31460100 00010000 00000000 10636f75 70657263 6f6e7375 6c74696e 6702636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001091
+ sendto fd=4 addr=172.18.45.6:53
+ 31470100 00010000 00000000 0e736563 75726974 79677561 72647302 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001272
+ sendto fd=4 addr=172.18.45.6:53
+ 31480100 00010000 00000000 026e7306 67756172 64730263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001067
+ sendto fd=4 addr=172.18.45.6:53
+ 31490100 00010000 00000000 04617369 73036f72 67026e7a 00000100 01.
+ sendto=29
+ +0.001036
+ sendto fd=4 addr=172.18.45.6:53
+ 314a0100 00010000 00000000 046e6572 7502636f 026e7a00 00010001.
+ sendto=28
+ +0.001025
+ sendto fd=4 addr=172.18.45.6:53
+ 314b0100 00010000 00000000 0a676966 74626173 6b657402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001078
+ sendto fd=4 addr=172.18.45.6:53
+ 314c0100 00010000 00000000 056d6167 69630263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001042
+ sendto fd=4 addr=172.18.45.6:53
+ 314d0100 00010000 00000000 046d6169 6c036263 6302636f 026e7a00 00010001.
+ sendto=32
+ +0.001065
+ sendto fd=4 addr=172.18.45.6:53
+ 314e0100 00010000 00000000 026e730d 696e7665 73746967 6174696f 6e02636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001280
+ sendto fd=4 addr=172.18.45.6:53
+ 314f0100 00010000 00000000 056e7a69 7069036f 7267026e 7a000001 0001.
+ sendto=30
+ +0.001047
+ sendto fd=4 addr=172.18.45.6:53
+ 31500100 00010000 00000000 026e7307 626f7571 75657402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001278
+ sendto fd=4 addr=172.18.45.6:53
+ 31510100 00010000 00000000 046d6169 6c057361 66657302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001384
+ sendto fd=4 addr=172.18.45.6:53
+ 31520100 00010000 00000000 026e7303 62636302 636f026e 7a000001 0001.
+ sendto=30
+ +0.001308
+ sendto fd=4 addr=172.18.45.6:53
+ 31530100 00010000 00000000 026e730d 62757267 6c617261 6c61726d 7302636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001515
+ sendto fd=4 addr=172.18.45.6:53
+ 31540100 00010000 00000000 026e730e 73656375 72697479 67756172 64730263
+ 6f026e7a 00000100 01.
+ sendto=41
+ +0.001383
+ sendto fd=4 addr=172.18.45.6:53
+ 31550100 00010000 00000000 0d636f76 65727463 616d6572 61730263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001401
+ sendto fd=4 addr=172.18.45.6:53
+ 31560100 00010000 00000000 026e7304 6e657275 02636f02 6e7a0000 010001.
+ sendto=31
+ +0.001323
+ sendto fd=4 addr=172.18.45.6:53
+ 31570100 00010000 00000000 026e730d 636f7665 72746361 6d657261 7302636f
+ 026e7a00 00010001.
+ sendto=40
+ +0.001388
+ sendto fd=4 addr=172.18.45.6:53
+ 31580100 00010000 00000000 08626f75 71756574 7302636f 026e7a00 00010001.
+ sendto=32
+ +0.001467
+ sendto fd=4 addr=172.18.45.6:53
+ 31590100 00010000 00000000 0a636f6e 63656e74 72696302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001366
+ sendto fd=4 addr=172.18.45.6:53
+ 315a0100 00010000 00000000 026e7310 73656375 72697479 74726169 6e696e67
+ 02636f02 6e7a0000 010001.
+ sendto=43
+ +0.001416
+ sendto fd=4 addr=172.18.45.6:53
+ 315b0100 00010000 00000000 046d6169 6c10636f 75706572 636f6e73 756c7469
+ 6e670263 6f026e7a 00000100 01.
+ sendto=45
+ +0.001440
+ sendto fd=4 addr=172.18.45.6:53
+ 315c0100 00010000 00000000 0e726574 61696c73 65637572 69747902 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001438
+ sendto fd=4 addr=172.18.45.6:53
+ 315d0100 00010000 00000000 026e730a 636f6e63 656e7472 69630263 6f026e7a
+ 00000100 01.
+ sendto=37
+ +0.001523
+ sendto fd=4 addr=172.18.45.6:53
+ 315e0100 00010000 00000000 046d6169 6c056d61 67696302 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001394
+ sendto fd=4 addr=172.18.45.6:53
+ 315f0100 00010000 00000000 096e7a61 6e676c69 6e670263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001388
+ sendto fd=4 addr=172.18.45.6:53
+ 31600100 00010000 00000000 026e7310 636f7570 6572636f 6e73756c 74696e67
+ 02636f02 6e7a0000 010001.
+ sendto=43
+ +0.001439
+ sendto fd=4 addr=172.18.45.6:53
+ 31610100 00010000 00000000 026e7309 6e7a616e 676c696e 6702636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001369
+ sendto fd=4 addr=172.18.45.6:53
+ 31620100 00010000 00000000 046d6169 6c0a7374 6f726577 61746368 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001556
+ sendto fd=4 addr=172.18.45.6:53
+ 31630100 00010000 00000000 05737769 66740263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001365
+ sendto fd=4 addr=172.18.45.6:53
+ 31640100 00010000 00000000 046d6169 6c097365 6c656374 69766502 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001401
+ sendto fd=4 addr=172.18.45.6:53
+ 31650100 00010000 00000000 026e7309 666f7265 66726f6e 7402636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001427
+ sendto fd=4 addr=172.18.45.6:53
+ 31660100 00010000 00000000 046d6169 6c096e7a 616e676c 696e6702 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001542
+ sendto fd=4 addr=172.18.45.6:53
+ 31670100 00010000 00000000 06677561 72647302 636f026e 7a000001 0001.
+ sendto=30
+ +0.001362
+ sendto fd=4 addr=172.18.45.6:53
+ 31680100 00010000 00000000 046d6169 6c096e7a 64657369 676e7302 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001390
+ sendto fd=4 addr=172.18.45.6:53
+ 31690100 00010000 00000000 0a73746f 72657761 74636802 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001440
+ sendto fd=4 addr=172.18.45.6:53
+ 316a0100 00010000 00000000 026e7312 73656375 72697479 6d616e61 67656d65
+ 6e740263 6f026e7a 00000100 01.
+ sendto=45
+ +0.001484
+ sendto fd=4 addr=172.18.45.6:53
+ 316b0100 00010000 00000000 046d6169 6c0a776f 6f6c776f 72746873 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001522
+ sendto fd=4 addr=172.18.45.6:53
+ 316c0100 00010000 00000000 046d6169 6c0a636f 6e63656e 74726963 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001418
+ sendto fd=4 addr=172.18.45.6:53
+ 316d0100 00010000 00000000 0973656c 65637469 76650263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001842
+ sendto fd=4 addr=172.18.45.6:53
+ 316e0100 00010000 00000000 15737065 6369616c 696e7665 73746967 6174696f
+ 6e730263 6f026e7a 00000100 01.
+ sendto=45
+ +0.001742
+ sendto fd=4 addr=172.18.45.6:53
+ 316f0100 00010000 00000000 026e7305 73776966 7402636f 026e7a00 00010001.
+ sendto=32
+ +0.001516
+ sendto fd=4 addr=172.18.45.6:53
+ 31700100 00010000 00000000 046d6169 6c057377 69667402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001513
+ sendto fd=4 addr=172.18.45.6:53
+ 31710100 00010000 00000000 026e7309 73656375 72656e65 74036e65 74026e7a
+ 00000100 01.
+ sendto=37
+ +0.001670
+ sendto fd=4 addr=172.18.45.6:53
+ 31720100 00010000 00000000 14707269 76617465 696e7665 73746967 6174696f
+ 6e02636f 026e7a00 00010001.
+ sendto=44
+ +0.001599
+ sendto fd=4 addr=172.18.45.6:53
+ 31730100 00010000 00000000 026e7314 70726976 61746569 6e766573 74696761
+ 74696f6e 02636f02 6e7a0000 010001.
+ sendto=47
+ +0.001618
+ sendto fd=4 addr=172.18.45.6:53
+ 31740100 00010000 00000000 06657472 61646502 636f026e 7a000001 0001.
+ sendto=30
+ +0.001483
+ sendto fd=4 addr=172.18.45.6:53
+ 31750100 00010000 00000000 026e7315 73706563 69616c69 6e766573 74696761
+ 74696f6e 7302636f 026e7a00 00010001.
+ sendto=48
+ +0.001612
+ sendto fd=4 addr=172.18.45.6:53
+ 31760100 00010000 00000000 046d6169 6c06616e 73657474 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001604
+ sendto fd=4 addr=172.18.45.6:53
+ 31770100 00010000 00000000 03667470 07776172 72656e74 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001537
+ sendto fd=4 addr=172.18.45.6:53
+ 31780100 00010000 00000000 026e730e 72657461 696c7365 63757269 74790263
+ 6f026e7a 00000100 01.
+ sendto=41
+ +0.001577
+ sendto fd=4 addr=172.18.45.6:53
+ 31790100 00010000 00000000 046d6169 6c127365 63757269 74796d61 6e616765
+ 6d656e74 02636f02 6e7a0000 010001.
+ sendto=47
+ +0.001807
+ sendto fd=4 addr=172.18.45.6:53
+ 317a0100 00010000 00000000 026e7305 6d616769 6302636f 026e7a00 00010001.
+ sendto=32
+ +0.001481
+ sendto fd=4 addr=172.18.45.6:53
+ 317b0100 00010000 00000000 046d6169 6c09666f 72656672 6f6e7402 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001548
+ sendto fd=4 addr=172.18.45.6:53
+ 317c0100 00010000 00000000 046d6169 6c0a7365 63757269 63617264 02636f02
+ 6e7a0000 010001.
+ sendto=39
+ +0.001498
+ sendto fd=4 addr=172.18.45.6:53
+ 317d0100 00010000 00000000 0a736563 75726963 61726402 636f026e 7a000001
+ 0001.
+ sendto=34
+ +0.001636
+ sendto fd=4 addr=172.18.45.6:53
+ 317e0100 00010000 00000000 026e7309 6e7a6465 7369676e 7302636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001520
+ sendto fd=4 addr=172.18.45.6:53
+ 317f0100 00010000 00000000 05736166 65730263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001506
+ sendto fd=4 addr=172.18.45.6:53
+ 31800100 00010000 00000000 026e7309 73656c65 63746976 6502636f 026e7a00
+ 00010001.
+ sendto=36
+ +0.001523
+ sendto fd=4 addr=172.18.45.6:53
+ 31810100 00010000 00000000 09666f72 6566726f 6e740263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001493
+ sendto fd=4 addr=172.18.45.6:53
+ 31820100 00010000 00000000 12736563 75726974 796d616e 6167656d 656e7402
+ 636f026e 7a000001 0001.
+ sendto=42
+ +0.001667
+ sendto fd=4 addr=172.18.45.6:53
+ 31830100 00010000 00000000 09756e64 6572686f 75720263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001533
+ sendto fd=4 addr=172.18.45.6:53
+ 31840100 00010000 00000000 09736563 7572656e 6574036e 6574026e 7a000001
+ 0001.
+ sendto=34
+ +0.001495
+ sendto fd=4 addr=172.18.45.6:53
+ 31850100 00010000 00000000 046d6169 6c157370 65636961 6c696e76 65737469
+ 67617469 6f6e7302 636f026e 7a000001 0001.
+ sendto=50
+ +0.001627
+ sendto fd=4 addr=172.18.45.6:53
+ 31860100 00010000 00000000 096e7a64 65736967 6e730263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001653
+ sendto fd=4 addr=172.18.45.6:53
+ 31870100 00010000 00000000 026e7306 65747261 64650263 6f026e7a 00000100
+ 01.
+ sendto=33
+ +0.001512
+ sendto fd=4 addr=172.18.45.6:53
+ 31880100 00010000 00000000 046d6169 6c056e7a 69706903 6f726702 6e7a0000
+ 010001.
+ sendto=35
+ +0.001512
+ sendto fd=4 addr=172.18.45.6:53
+ 31890100 00010000 00000000 046d6169 6c09756e 64657268 6f757202 636f026e
+ 7a000001 0001.
+ sendto=38
+ +0.001541
+ sendto fd=4 addr=172.18.45.6:53
+ 318a0100 00010000 00000000 026e7304 61736973 036f7267 026e7a00 00010001.
+ sendto=32
+ +0.001581
+ sendto fd=4 addr=172.18.45.6:53
+ 318b0100 00010000 00000000 026e7308 626f7571 75657473 02636f02 6e7a0000
+ 010001.
+ sendto=35
+ +0.001520
+ sendto fd=4 addr=172.18.45.6:53
+ 318c0100 00010000 00000000 05616761 74650263 6f026e7a 00000100 01.
+ sendto=29
+ +0.001525
+ read fd=5 buflen=2433
+ read=EAGAIN
+ +0.000154
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.463947
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000380
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312f8180 00010001 00020002 026e7308 73656375 72697479 02636f02 6e7a0000
+ 010001c0 0c000100 01000151 4a0004cb 6300fe08 73656375 72697479 02636f02
+ 6e7a0000 02000100 01514a00 02c00cc0 33000200 01000151 4a001103 6e733107
+ 7761696b 61746f02 6163c03f c00c0001 00010001 514a0004 cb6300fe c05b0001
+ 00010002 a2c20004 8cc8800d.
+ +0.001006
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31308180 00010001 00020002 05746574 72610263 6f026e7a 00000100 01c00c00
+ 01000100 01515100 04cb6300 fec00c00 02000100 01515100 05026e73 c00cc00c
+ 00020001 00015151 0013036e 73310777 61696b61 746f0261 63026e7a 00c03900
+ 01000100 01407100 04cb6300 fec04a00 01000100 02a2c200 048cc880 0d.
+ +0.001541
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31318180 00010001 00020002 046d6169 6c056167 61746502 636f026e 7a000001
+ 0001c00c 00010001 0001514c 0004cb63 00fe0561 67617465 02636f02 6e7a0000
+ 02000100 01514c00 05026e73 c032c032 00020001 0001514c 0011036e 73310777
+ 61696b61 746f0261 63c03bc0 49000100 01000140 6c0004cb 6300fec0 5a000100
+ 010002a2 c200048c c8800d.
+ +0.001291
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31328180 00010001 00020002 026e7305 61676174 6502636f 026e7a00 00010001
+ c00c0001 00010001 30660004 cb6300fe 05616761 74650263 6f026e7a 00000200
+ 01000151 4c0002c0 0cc03000 02000100 01514c00 11036e73 31077761 696b6174
+ 6f026163 c039c00c 00010001 00013066 0004cb63 00fec055 00010001 0002a2c2
+ 00048cc8 800d.
+ +0.001292
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31338180 00010001 00020002 10736563 75726974 79747261 696e696e 6702636f
+ 026e7a00 00010001 c00c0001 00010001 514c0004 cb6300fe c00c0002 00010001
+ 514c0005 026e73c0 0cc00c00 02000100 01514c00 13036e73 31077761 696b6174
+ 6f026163 026e7a00 c0440001 00010001 406c0004 cb6300fe c0550001 00010002
+ a2c20004 8cc8800d.
+ +0.001315
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31348180 00010001 00020002 026e730a 67696674 6261736b 65740263 6f026e7a
+ 00000100 01c00c00 01000100 01514f00 04cb6300 fe0a6769 66746261 736b6574
+ 02636f02 6e7a0000 02000100 01514f00 02c00cc0 35000200 01000151 4f001103
+ 6e733107 7761696b 61746f02 6163c043 c00c0001 00010001 514f0004 cb6300fe
+ c05f0001 00010002 a2c20004 8cc8800d.
+ +0.001316
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31358180 00010001 00020002 026e7308 73656375 72697479 0367656e 026e7a00
+ 00010001 c00c0001 00010001 514c0004 cb6300fe 08736563 75726974 79036765
+ 6e026e7a 00000200 01000151 4c0002c0 0cc03400 02000100 01514c00 11036e73
+ 31077761 696b6174 6f026163 c041c00c 00010001 0001514c 0004cb63 00fec05d
+ 00010001 0002a2c2 00048cc8 800d.
+ +0.001354
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31368180 00010001 00020002 07626f75 71756574 02636f02 6e7a0000 010001c0
+ 0c000100 01000151 4c0004cb 6300fec0 0c000200 01000151 4c000502 6e73c00c
+ c00c0002 00010001 514c0013 036e7331 07776169 6b61746f 02616302 6e7a00c0
+ 3b000100 01000140 6c0004cb 6300fec0 4c000100 010002a2 c200048c c8800d.
+ +0.001244
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31378180 00010001 00020002 0d696e76 65737469 67617469 6f6e0263 6f026e7a
+ 00000100 01c00c00 01000100 01515100 04cb6300 fec00c00 02000100 01515100
+ 05026e73 c00cc00c 00020001 00015151 0013036e 73310777 61696b61 746f0261
+ 63026e7a 00c04100 01000100 01407100 04cb6300 fec05200 01000100 02a2c200
+ 048cc880 0d.
+ +0.001200
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31388180 00010001 00020002 026e7305 6e7a6970 69036f72 67026e7a 00000100
+ 01c00c00 01000100 01515100 04cb6300 fe056e7a 69706903 6f726702 6e7a0000
+ 02000100 01515100 02c00cc0 31000200 01000151 51001103 6e733107 7761696b
+ 61746f02 6163c03b c00c0001 00010001 51510004 cb6300fe c0570001 00010002
+ a2c20004 8cc8800d.
+ +0.001223
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31398180 00010001 00020002 046d6169 6c046e65 72750263 6f026e7a 00000100
+ 01c00c00 01000100 01514c00 04cb6300 fe046e65 72750263 6f026e7a 00000200
+ 01000151 51000502 6e73c031 c0310002 00010001 51510011 036e7331 07776169
+ 6b61746f 026163c0 39c04700 01000100 01407100 04cb6300 fec05800 01000100
+ 02a2c200 048cc880 0d.
+ +0.001353
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313a8180 00010001 00020002 08736563 75726974 7902636f 026e7a00 00010001
+ c00c0001 00010001 514a0004 cb6300fe c00c0002 00010001 514a0005 026e73c0
+ 0cc00c00 02000100 01514a00 13036e73 31077761 696b6174 6f026163 026e7a00
+ c03c0001 00010001 514a0004 cb6300fe c04d0001 00010002 a2c20004 8cc8800d.
+ +0.001193
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313b8583 00010000 00010000 026e730a 73746f72 65776174 63680263 6f026e7a
+ 00000100 0102636f 026e7a00 00060001 00000222 002c046e 73393907 7761696b
+ 61746f02 6163c028 03736f61 c03b7727 6ec50000 0e100000 07080027 8d000001
+ 5180.
+ +0.001027
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313c8180 00010001 00020002 08736563 75726974 79036765 6e026e7a 00000100
+ 01c00c00 01000100 01514c00 04cb6300 fec00c00 02000100 01514c00 05026e73
+ c00cc00c 00020001 0001514c 0013036e 73310777 61696b61 746f0261 63026e7a
+ 00c03d00 01000100 01514c00 04cb6300 fec04e00 01000100 02a2c200 048cc880
+ 0d.
+ +0.026055
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313d8180 00010001 00020002 026e7305 74657472 6102636f 026e7a00 00010001
+ c00c0001 00010001 306b0004 cb6300fe 05746574 72610263 6f026e7a 00000200
+ 01000151 510002c0 0cc03000 02000100 01515100 11036e73 31077761 696b6174
+ 6f026163 c039c00c 00010001 0001306b 0004cb63 00fec055 00010001 0002a2c2
+ 00048cc8 800d.
+ +0.001134
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313e8180 00010001 00020002 046d6169 6c057465 74726102 636f026e 7a000001
+ 0001c00c 00010001 00015151 0004cb63 00fe0574 65747261 02636f02 6e7a0000
+ 02000100 01515100 05026e73 c032c032 00020001 00015151 0011036e 73310777
+ 61696b61 746f0261 63c03bc0 49000100 01000130 6b0004cb 6300fec0 5a000100
+ 010002a2 c200048c c8800d.
+ +0.001247
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313f8180 00010001 00020002 026e730a 73656375 72696361 72640263 6f026e7a
+ 00000100 01c00c00 01000100 01515200 04cb6300 fe0a7365 63757269 63617264
+ 02636f02 6e7a0000 02000100 01515200 02c00cc0 35000200 01000151 52001103
+ 6e733107 7761696b 61746f02 6163c043 c00c0001 00010001 51520004 cb6300fe
+ c05f0001 00010002 a2c20004 8cc8800d.
+ +0.001158
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31408180 00010001 00020002 026e7309 756e6465 72686f75 7202636f 026e7a00
+ 00010001 c00c0001 00010001 51510004 cb6300fe 09756e64 6572686f 75720263
+ 6f026e7a 00000200 01000151 510002c0 0cc03400 02000100 01515100 11036e73
+ 31077761 696b6174 6f026163 c041c00c 00010001 00015151 0004cb63 00fec05d
+ 00010001 0002a2c2 00048cc8 800d.
+ +0.001137
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31418180 00010001 00020002 03626363 02636f02 6e7a0000 010001c0 0c000100
+ 01000151 4c0004cb 6300fec0 0c000200 01000151 4f000502 6e73c00c c00c0002
+ 00010001 514f0013 036e7331 07776169 6b61746f 02616302 6e7a00c0 37000100
+ 01000140 6f0004cb 6300fec0 48000100 010002a2 c200048c c8800d.
+ +0.001061
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31428180 00010001 00020002 08736563 75726974 79036f72 67026e7a 00000100
+ 01c00c00 01000100 01514c00 04cb6300 fec00c00 02000100 01514c00 05026e73
+ c00cc00c 00020001 0001514c 0013036e 73310777 61696b61 746f0261 63026e7a
+ 00c03d00 01000100 01406c00 04cb6300 fec04e00 01000100 02a2c200 048cc880
+ 0d.
+ +0.001163
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31438180 00010001 00020002 0d627572 676c6172 616c6172 6d730263 6f026e7a
+ 00000100 01c00c00 01000100 01514c00 04cb6300 fec00c00 02000100 01514c00
+ 05026e73 c00cc00c 00020001 0001514c 0013036e 73310777 61696b61 746f0261
+ 63026e7a 00c04100 01000100 01406c00 04cb6300 fec05200 01000100 02a2c200
+ 048cc880 0d.
+ +0.001131
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31448583 00010000 00010000 026e7305 73616665 7302636f 026e7a00 00010001
+ 05736166 65730263 6f026e7a 00000600 01000002 27002e03 6e733104 69687567
+ 036e6574 c0290373 6f610469 687567c0 26772768 a9000151 8000002a 30001275
+ 000002a3 00.
+ +0.000894
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31458180 00010001 00020002 026e7308 73656375 72697479 036f7267 026e7a00
+ 00010001 c00c0001 00010001 30660004 cb6300fe 08736563 75726974 79036f72
+ 67026e7a 00000200 01000151 4c0002c0 0cc03400 02000100 01514c00 11036e73
+ 31077761 696b6174 6f026163 c041c00c 00010001 00013066 0004cb63 00fec05d
+ 00010001 0002a2c2 00048cc8 800d.
+ +0.001127
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31468180 00010001 00020002 10636f75 70657263 6f6e7375 6c74696e 6702636f
+ 026e7a00 00010001 c00c0001 00010001 514f0004 cb6300fe c00c0002 00010001
+ 51520005 026e73c0 0cc00c00 02000100 01515200 13036e73 31077761 696b6174
+ 6f026163 026e7a00 c0440001 00010001 40720004 cb6300fe c0550001 00010002
+ a2c20004 8cc8800d.
+ +0.001215
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31478180 00010001 00020002 0e736563 75726974 79677561 72647302 636f026e
+ 7a000001 0001c00c 00010001 0001514f 0004cb63 00fec00c 00020001 0001514f
+ 0005026e 73c00cc0 0c000200 01000151 4f001303 6e733107 7761696b 61746f02
+ 6163026e 7a00c042 00010001 0001406f 0004cb63 00fec053 00010001 0002a2c2
+ 00048cc8 800d.
+ +0.001099
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31488180 00010001 00020002 026e7306 67756172 64730263 6f026e7a 00000100
+ 01c00c00 01000100 01514f00 04cb6300 fe066775 61726473 02636f02 6e7a0000
+ 02000100 01514f00 02c00cc0 31000200 01000151 4f001103 6e733107 7761696b
+ 61746f02 6163c03b c00c0001 00010001 514f0004 cb6300fe c0570001 00010002
+ a2c20004 8cc8800d.
+ +0.001123
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31498180 00010001 00020002 04617369 73036f72 67026e7a 00000100 01c00c00
+ 01000100 01514f00 04cb6300 fec00c00 02000100 01514f00 05026e73 c00cc00c
+ 00020001 0001514f 0013036e 73310777 61696b61 746f0261 63026e7a 00c03900
+ 01000100 01406f00 04cb6300 fec04a00 01000100 02a2c200 048cc880 0d.
+ +0.001033
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 314a8180 00010001 00020002 046e6572 7502636f 026e7a00 00010001 c00c0001
+ 00010001 514f0004 cb6300fe c00c0002 00010001 51510005 026e73c0 0cc00c00
+ 02000100 01515100 13036e73 31077761 696b6174 6f026163 026e7a00 c0380001
+ 00010001 40710004 cb6300fe c0490001 00010002 a2c20004 8cc8800d.
+ +0.001109
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 314b8180 00010001 00020002 0a676966 74626173 6b657402 636f026e 7a000001
+ 0001c00c 00010001 0001514f 0004cb63 00fec00c 00020001 0001514f 0005026e
+ 73c00cc0 0c000200 01000151 4f001303 6e733107 7761696b 61746f02 6163026e
+ 7a00c03e 00010001 0001514f 0004cb63 00fec04f 00010001 0002a2c2 00048cc8
+ 800d.
+ +0.001126
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 314c8180 00010001 00020002 056d6167 69630263 6f026e7a 00000100 01c00c00
+ 01000100 01514f00 04cb6300 fec00c00 02000100 01515100 05026e73 c00cc00c
+ 00020001 00015151 0013036e 73310777 61696b61 746f0261 63026e7a 00c03900
+ 01000100 01407100 04cb6300 fec04a00 01000100 02a2c200 048cc880 0d.
+ +0.001034
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 314d8180 00010001 00020002 046d6169 6c036263 6302636f 026e7a00 00010001
+ c00c0001 00010001 514f0004 cb6300fe 03626363 02636f02 6e7a0000 02000100
+ 01514f00 05026e73 c030c030 00020001 0001514f 0011036e 73310777 61696b61
+ 746f0261 63c037c0 45000100 01000140 6f0004cb 6300fec0 56000100 010002a2
+ c200048c c8800d.
+ +0.001118
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 314e8180 00010001 00020002 026e730d 696e7665 73746967 6174696f 6e02636f
+ 026e7a00 00010001 c00c0001 00010001 306b0004 cb6300fe 0d696e76 65737469
+ 67617469 6f6e0263 6f026e7a 00000200 01000151 510002c0 0cc03800 02000100
+ 01515100 11036e73 31077761 696b6174 6f026163 c049c00c 00010001 0001306b
+ 0004cb63 00fec065 00010001 0002a2c2 00048cc8 800d.
+ +0.001270
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 314f8180 00010001 00020002 056e7a69 7069036f 7267026e 7a000001 0001c00c
+ 00010001 0001514f 0004cb63 00fec00c 00020001 00015151 0005026e 73c00cc0
+ 0c000200 01000151 51001303 6e733107 7761696b 61746f02 6163026e 7a00c03a
+ 00010001 00015151 0004cb63 00fec04b 00010001 0002a2c2 00048cc8 800d.
+ +0.001059
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31508180 00010001 00020002 026e7307 626f7571 75657402 636f026e 7a000001
+ 0001c00c 00010001 00013066 0004cb63 00fe0762 6f757175 65740263 6f026e7a
+ 00000200 01000151 4c0002c0 0cc03200 02000100 01514c00 11036e73 31077761
+ 696b6174 6f026163 c03dc00c 00010001 00013066 0004cb63 00fec059 00010001
+ 0002a2c2 00048cc8 800d.
+ +0.001142
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000280
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.398497
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000524
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31518583 00010000 00010000 046d6169 6c057361 66657302 636f026e 7a000001
+ 00010573 61666573 02636f02 6e7a0000 06000100 00022700 2e036e73 31046968
+ 7567036e 6574c02b 03736f61 04696875 67c02877 2768a900 01518000 002a3000
+ 12750000 02a300.
+ +0.000719
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000326
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.396928
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002842
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31528180 00010001 00020002 026e7303 62636302 636f026e 7a000001 0001c00c
+ 00010001 00013069 0004cb63 00fe0362 63630263 6f026e7a 00000200 01000151
+ 4f0002c0 0cc02e00 02000100 01514f00 11036e73 31077761 696b6174 6f026163
+ c035c00c 00010001 00013069 0004cb63 00fec051 00010001 0002a2c2 00048cc8
+ 800d.
+ +0.000884
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000295
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.392907
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003411
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31538180 00010001 00020002 026e730d 62757267 6c617261 6c61726d 7302636f
+ 026e7a00 00010001 c00c0001 00010001 30660004 cb6300fe 0d627572 676c6172
+ 616c6172 6d730263 6f026e7a 00000200 01000151 4c0002c0 0cc03800 02000100
+ 01514c00 11036e73 31077761 696b6174 6f026163 c049c00c 00010001 00013066
+ 0004cb63 00fec065 00010001 0002a2c2 00048cc8 800d.
+ +0.000997
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000330
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.388169
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003160
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31548180 00010001 00020002 026e730e 73656375 72697479 67756172 64730263
+ 6f026e7a 00000100 01c00c00 01000100 01306900 04cb6300 fe0e7365 63757269
+ 74796775 61726473 02636f02 6e7a0000 02000100 01514f00 02c00cc0 39000200
+ 01000151 4f001103 6e733107 7761696b 61746f02 6163c04b c00c0001 00010001
+ 30690004 cb6300fe c0670001 00010002 a2c20004 8cc8800d.
+ +0.001023
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000298
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.383688
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003221
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31558180 00010001 00020002 0d636f76 65727463 616d6572 61730263 6f026e7a
+ 00000100 01c00c00 01000100 01515200 04cb6300 fec00c00 02000100 01515200
+ 05026e73 c00cc00c 00020001 00015152 0013036e 73310777 61696b61 746f0261
+ 63026e7a 00c04100 01000100 01515200 04cb6300 fec05200 01000100 02a2c200
+ 048cc880 0d.
+ +0.000929
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000291
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.379247
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002946
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31568180 00010001 00020002 026e7304 6e657275 02636f02 6e7a0000 010001c0
+ 0c000100 01000130 6b0004cb 6300fe04 6e657275 02636f02 6e7a0000 02000100
+ 01515100 02c00cc0 2f000200 01000151 51001103 6e733107 7761696b 61746f02
+ 6163c037 c00c0001 00010001 306b0004 cb6300fe c0530001 00010002 a2c20004
+ 8cc8800d.
+ +0.000895
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000294
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.375112
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003284
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31578180 00010001 00020002 026e730d 636f7665 72746361 6d657261 7302636f
+ 026e7a00 00010001 c00c0001 00010001 51520004 cb6300fe 0d636f76 65727463
+ 616d6572 61730263 6f026e7a 00000200 01000151 520002c0 0cc03800 02000100
+ 01515200 11036e73 31077761 696b6174 6f026163 c049c00c 00010001 00015152
+ 0004cb63 00fec065 00010001 0002a2c2 00048cc8 800d.
+ +0.001002
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000295
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.370531
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003077
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31588180 00010001 00020002 08626f75 71756574 7302636f 026e7a00 00010001
+ c00c0001 00010001 51530004 cb6300fe c00c0002 00010001 51530013 036e7331
+ 07776169 6b61746f 02616302 6e7a00c0 0c000200 01000151 53000502 6e73c00c
+ c03c0001 00010002 a2c20004 8cc8800d c05b0001 00010001 51530004 cb6300fe.
+ +0.000868
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000322
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.366264
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003188
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31598180 00010001 00020002 0a636f6e 63656e74 72696302 636f026e 7a000001
+ 0001c00c 00010001 0001514f 0004cb63 00fec00c 00020001 00015152 0005026e
+ 73c00cc0 0c000200 01000151 52001303 6e733107 7761696b 61746f02 6163026e
+ 7a00c03e 00010001 00014072 0004cb63 00fec04f 00010001 0002a2c2 00048cc8
+ 800d.
+ +0.000883
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000292
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.361901
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003497
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 315a8180 00010001 00020002 026e7310 73656375 72697479 74726169 6e696e67
+ 02636f02 6e7a0000 010001c0 0c000100 01000130 660004cb 6300fe10 73656375
+ 72697479 74726169 6e696e67 02636f02 6e7a0000 02000100 01514c00 02c00cc0
+ 3b000200 01000151 4c001103 6e733107 7761696b 61746f02 6163c04f c00c0001
+ 00010001 30660004 cb6300fe c06b0001 00010002 a2c20004 8cc8800d.
+ +0.001031
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000343
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.357030
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003250
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 315b8180 00010001 00020002 046d6169 6c10636f 75706572 636f6e73 756c7469
+ 6e670263 6f026e7a 00000100 01c00c00 01000100 01515200 04cb6300 fe10636f
+ 75706572 636f6e73 756c7469 6e670263 6f026e7a 00000200 01000151 52000502
+ 6e73c03d c03d0002 00010001 51520011 036e7331 07776169 6b61746f 026163c0
+ 51c05f00 01000100 01407200 04cb6300 fec07000 01000100 02a2c200 048cc880
+ 0d.
+ +0.001063
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000296
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.352421
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003258
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 315c8180 00010001 00020002 0e726574 61696c73 65637572 69747902 636f026e
+ 7a000001 0001c00c 00010001 0001514f 0004cb63 00fec00c 00020001 00015151
+ 0005026e 73c00cc0 0c000200 01000151 51001303 6e733107 7761696b 61746f02
+ 6163026e 7a00c042 00010001 00014071 0004cb63 00fec053 00010001 0002a2c2
+ 00048cc8 800d.
+ +0.000908
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000289
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.347966
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003170
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 315d8180 00010001 00020002 026e730a 636f6e63 656e7472 69630263 6f026e7a
+ 00000100 01c00c00 01000100 01306c00 04cb6300 fe0a636f 6e63656e 74726963
+ 02636f02 6e7a0000 02000100 01515200 02c00cc0 35000200 01000151 52001103
+ 6e733107 7761696b 61746f02 6163c043 c00c0001 00010001 306c0004 cb6300fe
+ c05f0001 00010002 a2c20004 8cc8800d.
+ +0.000963
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000324
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.343509
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003025
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 315e8180 00010001 00020002 046d6169 6c056d61 67696302 636f026e 7a000001
+ 0001c00c 00010001 0001514f 0004cb63 00fe056d 61676963 02636f02 6e7a0000
+ 02000100 01515100 05026e73 c032c032 00020001 00015151 0011036e 73310777
+ 61696b61 746f0261 63c03bc0 49000100 01000140 710004cb 6300fec0 5a000100
+ 010002a2 c200048c c8800d.
+ +0.000934
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000292
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.339258
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003113
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 315f8180 00010001 00020002 096e7a61 6e676c69 6e670263 6f026e7a 00000100
+ 01c00c00 01000100 01514f00 04cb6300 fec00c00 02000100 01514f00 05026e73
+ c00cc00c 00020001 0001514f 0013036e 73310777 61696b61 746f0261 63026e7a
+ 00c03d00 01000100 01514f00 04cb6300 fec04e00 01000100 02a2c200 048cc880
+ 0d.
+ +0.000877
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000320
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.334948
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004222
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31608180 00010001 00020002 026e7310 636f7570 6572636f 6e73756c 74696e67
+ 02636f02 6e7a0000 010001c0 0c000100 01000130 6c0004cb 6300fe10 636f7570
+ 6572636f 6e73756c 74696e67 02636f02 6e7a0000 02000100 01515200 02c00cc0
+ 3b000200 01000151 52001103 6e733107 7761696b 61746f02 6163c04f c00c0001
+ 00010001 306c0004 cb6300fe c06b0001 00010002 a2c20004 8cc8800d.
+ +0.001034
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000296
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.329396
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.008279
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010000 00010000 03323534 01300239 39033230 3307696e 2d616464
+ 72046172 70610000 05000101 30023939 03323033 07696e2d 61646472 04617270
+ 61000006 00010001 5180002e 026e7308 73656375 72697479 02636f02 6e7a0004
+ 726f6f74 c04c7727 714c0000 2a300000 0e100009 3a800001 5180.
+ +0.000837
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000405
+ close fd=4
+ close=OK
+ +0.000415
+ close fd=5
+ close=OK
+ +0.000167
diff --git a/regress/case-ndots-as.err b/regress/case-ndots-as.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-ndots-as.err
diff --git a/regress/case-ndots-as.out b/regress/case-ndots-as.out
new file mode 100644
index 0000000..714731a
--- /dev/null
+++ b/regress/case-ndots-as.out
@@ -0,0 +1,16 @@
+adns debug: using nameserver 172.18.45.6
+newsx.davenant flags 5 type 1 A(-) submitted
+news.davenant flags 5 type 1 A(-) submitted
+news.davenant.greenend.org.uk flags 5 type 1 A(-) submitted
+trunc.test.iwj.relativity flags 5 type 1 A(-) submitted
+trunx.test.iwj.relativity flags 5 type 1 A(-) submitted
+test.iwj.relativity flags 5 type 1 A(-) submitted
+news.davenant.greenend.org.uk flags 5 type A(-): OK; nrrs=1; cname=davenant.relativity.greenend.org.uk; owner=news.davenant.greenend.org.uk; ttl=86400
+ 172.18.45.6
+newsx.davenant flags 5 type A(-): No such domain; nrrs=0; cname=$; owner=newsx.davenant; ttl=86400
+news.davenant flags 5 type A(-): OK; nrrs=1; cname=davenant.relativity.greenend.org.uk; owner=news.davenant.greenend.org.uk; ttl=86400
+ 172.18.45.6
+trunc.test.iwj.relativity flags 5 type A(-): No such data; nrrs=0; cname=$; owner=trunc.test.iwj.relativity.greenend.org.uk; ttl=60
+trunx.test.iwj.relativity flags 5 type A(-): No such domain; nrrs=0; cname=$; owner=trunx.test.iwj.relativity; ttl=60
+test.iwj.relativity flags 5 type A(-): No such data; nrrs=0; cname=$; owner=test.iwj.relativity.greenend.org.uk; ttl=60
+rc=0
diff --git a/regress/case-ndots-as.sys b/regress/case-ndots-as.sys
new file mode 100644
index 0000000..0f0db44
--- /dev/null
+++ b/regress/case-ndots-as.sys
@@ -0,0 +1,316 @@
+adnstest default
+:0x0|1 5/newsx.davenant 5/news.davenant 5/news.davenant.greenend.org.uk 5/trunc.test.iwj.relativity 5/trunx.test.iwj.relativity 5/test.iwj.relativity
+ start 931992163.221752
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000186
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000086
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000066
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 056e6577 73780864 6176656e 616e7400 00010001.
+ sendto=32
+ +0.000567
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 046e6577 73086461 76656e61 6e740000 010001.
+ sendto=31
+ +0.000453
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000507
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790000 010001.
+ sendto=43
+ +0.000479
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790000 010001.
+ sendto=43
+ +0.000624
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 04746573 74036977 6a0a7265 6c617469 76697479
+ 00000100 01.
+ sendto=37
+ +0.000457
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.996913
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.022284
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010002 00030003 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001c0 0c000500 01000151 80002508 64617665
+ 6e616e74 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c03b0001 00010001 51800004 ac122d06 c0440002 00010001 51800006 036e7330
+ c044c044 00020001 00015180 0006036e 7331c044 c0440002 00010001 51800006
+ 036e7332 c044c07c 00010001 00015180 0004ac12 2d06c08e 00010001 00015180
+ 0004ac12 2d41c0a0 00010001 00015180 0004ac12 2d01.
+ +0.001420
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000291
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.972918
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.387236
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8583 00010000 00010000 056e6577 73780864 6176656e 616e7400 00010001
+ 00000600 01000151 80003e01 410c524f 4f542d53 45525645 5253034e 4554000a
+ 686f7374 6d617374 65720849 4e544552 4e4943c0 3a772768 44000007 08000003
+ 8400093a 80000151 80.
+ +0.000745
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 056e6577 73780864 6176656e 616e7408 64617665
+ 6e616e74 08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=57
+ +0.000559
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000102
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.584843
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005460
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258583 00010000 00010000 056e6577 73780864 6176656e 616e7408 64617665
+ 6e616e74 08677265 656e656e 64036f72 6702756b 00000100 01086772 65656e65
+ 6e64036f 72670275 6b000006 00010001 5180002d 026e7306 63686961 726bc039
+ 0a686f73 746d6173 746572c0 39772741 34000070 8000001c 2000093a 80000151
+ 80.
+ +0.000861
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 056e6577 73780864 6176656e 616e7408 67726565
+ 6e656e64 036f7267 02756b00 00010001.
+ sendto=48
+ +0.000511
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000100
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.577911
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003716
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268583 00010000 00010000 056e6577 73780864 6176656e 616e7408 67726565
+ 6e656e64 036f7267 02756b00 00010001 08677265 656e656e 64036f72 6702756b
+ 00000600 01000151 80002d02 6e730663 68696172 6bc0300a 686f7374 6d617374
+ 6572c030 77274134 00007080 00001c20 00093a80 00015180.
+ +0.000808
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000127
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.573260
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.075508
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208583 00010000 00010000 046e6577 73086461 76656e61 6e740000 01000100
+ 00060001 00015180 003e0141 0c524f4f 542d5345 52564552 53034e45 54000a68
+ 6f73746d 61737465 7208494e 5445524e 4943c039 77276844 00000708 00000384
+ 00093a80 00015180.
+ +0.000755
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 046e6577 73086461 76656e61 6e740864 6176656e
+ 616e7408 67726565 6e656e64 036f7267 02756b00 00010001.
+ sendto=56
+ +0.000532
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000101
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.497324
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005326
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278583 00010000 00010000 046e6577 73086461 76656e61 6e740864 6176656e
+ 616e7408 67726565 6e656e64 036f7267 02756b00 00010001 08677265 656e656e
+ 64036f72 6702756b 00000600 01000151 80002d02 6e730663 68696172 6bc0380a
+ 686f7374 6d617374 6572c038 77274134 00007080 00001c20 00093a80 00015180.
+ +0.000855
+ sendto fd=4 addr=172.18.45.6:53
+ 31280100 00010000 00000000 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000503
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000100
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.490540
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.007220
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31288580 00010002 00030003 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001c0 0c000500 01000151 80002508 64617665
+ 6e616e74 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c03b0001 00010001 51800004 ac122d06 c0440002 00010001 51800006 036e7330
+ c044c044 00020001 00015180 0006036e 7331c044 c0440002 00010001 51800006
+ 036e7332 c044c07c 00010001 00015180 0004ac12 2d06c08e 00010001 00015180
+ 0004ac12 2d41c0a0 00010001 00015180 0004ac12 2d01.
+ +0.001356
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000223
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.481741
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.023419
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228583 00010000 00010000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790000 01000100 00060001 00015180 003e0141 0c524f4f 542d5345
+ 52564552 53034e45 54000a68 6f73746d 61737465 7208494e 5445524e 4943c045
+ 77276844 00000708 00000384 00093a80 00015180.
+ +0.000802
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790864 6176656e 616e7408 67726565 6e656e64 036f7267 02756b00
+ 00010001.
+ sendto=68
+ +0.000607
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000101
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.457291
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005416
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298583 00010000 00010000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790864 6176656e 616e7408 67726565 6e656e64 036f7267 02756b00
+ 00010001 08677265 656e656e 64036f72 6702756b 00000600 01000151 80002d02
+ 6e730663 68696172 6bc0440a 686f7374 6d617374 6572c044 77274134 00007080
+ 00001c20 00093a80 00015180.
+ +0.000925
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=59
+ +0.000575
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000101
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.450274
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.006009
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8580 00010000 00010000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 01000104 74657374
+ 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ 00060001 0000003c 0027036e 7330c044 0a686f73 746d6173 746572c0 44000000
+ 1800000e 10000000 780064c8 00000000 3c.
+ +0.000954
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000145
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.443166
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.014229
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238583 00010000 00010000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790000 01000100 00060001 00015180 003e0141 0c524f4f 542d5345
+ 52564552 53034e45 54000a68 6f73746d 61737465 7208494e 5445524e 4943c045
+ 77276844 00000708 00000384 00093a80 00015180.
+ +0.000805
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790864 6176656e 616e7408 67726565 6e656e64 036f7267 02756b00
+ 00010001.
+ sendto=68
+ +0.000606
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000101
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.428049
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005331
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8583 00010000 00010000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790864 6176656e 616e7408 67726565 6e656e64 036f7267 02756b00
+ 00010001 08677265 656e656e 64036f72 6702756b 00000600 01000151 80002d02
+ 6e730663 68696172 6bc0440a 686f7374 6d617374 6572c044 77274134 00007080
+ 00001c20 00093a80 00015180.
+ +0.000923
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=59
+ +0.000584
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000101
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.421110
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004042
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8583 00010000 00010000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 01000104 74657374
+ 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ 00060001 0000003c 0027036e 7330c044 0a686f73 746d6173 746572c0 44000000
+ 1800000e 10000000 780064c8 00000000 3c.
+ +0.000951
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000153
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.415964
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.026227
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248583 00010000 00010000 04746573 74036977 6a0a7265 6c617469 76697479
+ 00000100 01000006 00010001 5180003e 01410c52 4f4f542d 53455256 45525303
+ 4e455400 0a686f73 746d6173 74657208 494e5445 524e4943 c03f7727 68440000
+ 07080000 03840009 3a800001 5180.
+ +0.000817
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 04746573 74036977 6a0a7265 6c617469 76697479
+ 08646176 656e616e 74086772 65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=62
+ +0.000579
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000102
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998502
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005185
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8583 00010000 00010000 04746573 74036977 6a0a7265 6c617469 76697479
+ 08646176 656e616e 74086772 65656e65 6e64036f 72670275 6b000001 00010867
+ 7265656e 656e6403 6f726702 756b0000 06000100 01518000 2d026e73 06636869
+ 61726bc0 3e0a686f 73746d61 73746572 c03e7727 41340000 70800000 1c200009
+ 3a800001 5180.
+ +0.000918
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 04746573 74036977 6a0a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=53
+ +0.000524
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000102
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998456
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004007
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8580 00010000 00010000 04746573 74036977 6a0a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01c00c00 06000100 00003c00
+ 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 000a686f 73746d61 73746572 c0450000 00180000 0e100000 00780064 c8000000
+ 003c.
+ +0.000867
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000175
+ close fd=4
+ close=OK
+ +0.000183
diff --git a/regress/case-ndots.err b/regress/case-ndots.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-ndots.err
diff --git a/regress/case-ndots.out b/regress/case-ndots.out
new file mode 100644
index 0000000..d445ea3
--- /dev/null
+++ b/regress/case-ndots.out
@@ -0,0 +1,16 @@
+adns debug: using nameserver 172.18.45.6
+newsx.davenant flags 5 type 1 A(-) submitted
+news.davenant flags 5 type 1 A(-) submitted
+news.davenant.greenend.org.uk flags 5 type 1 A(-) submitted
+trunc.test.iwj.relativity flags 5 type 1 A(-) submitted
+trunx.test.iwj.relativity flags 5 type 1 A(-) submitted
+test.iwj.relativity flags 5 type 1 A(-) submitted
+newsx.davenant flags 5 type A(-): No such domain; nrrs=0; cname=$; owner=newsx.davenant; ttl=175
+news.davenant flags 5 type A(-): OK; nrrs=1; cname=davenant.relativity.greenend.org.uk; owner=news.davenant.greenend.org.uk; ttl=86400
+ 172.18.45.6
+news.davenant.greenend.org.uk flags 5 type A(-): OK; nrrs=1; cname=davenant.relativity.greenend.org.uk; owner=news.davenant.greenend.org.uk; ttl=86400
+ 172.18.45.6
+trunc.test.iwj.relativity flags 5 type A(-): No such data; nrrs=0; cname=$; owner=trunc.test.iwj.relativity.greenend.org.uk; ttl=60
+trunx.test.iwj.relativity flags 5 type A(-): No such domain; nrrs=0; cname=$; owner=trunx.test.iwj.relativity; ttl=60
+test.iwj.relativity flags 5 type A(-): No such data; nrrs=0; cname=$; owner=test.iwj.relativity.greenend.org.uk; ttl=60
+rc=0
diff --git a/regress/case-ndots.sys b/regress/case-ndots.sys
new file mode 100644
index 0000000..8fd6be9
--- /dev/null
+++ b/regress/case-ndots.sys
@@ -0,0 +1,277 @@
+adnstest ndots -,s
+:0x0|1 5/newsx.davenant 5/news.davenant 5/news.davenant.greenend.org.uk 5/trunc.test.iwj.relativity 5/trunx.test.iwj.relativity 5/test.iwj.relativity
+ start 924365863.351594
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000212
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000087
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000069
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 056e6577 73780864 6176656e 616e7408 64617665
+ 6e616e74 08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=57
+ +0.003433
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 046e6577 73086461 76656e61 6e740864 6176656e
+ 616e7408 67726565 6e656e64 036f7267 02756b00 00010001.
+ sendto=56
+ +0.001694
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=47
+ +0.001921
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790000 010001.
+ sendto=43
+ +0.001042
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790000 010001.
+ sendto=43
+ +0.002220
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 04746573 74036977 6a0a7265 6c617469 76697479
+ 08646176 656e616e 74086772 65656e65 6e64036f 72670275 6b000001 0001.
+ sendto=62
+ +0.001132
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.988558
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000225
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8583 00010000 00010000 056e6577 73780864 6176656e 616e7408 64617665
+ 6e616e74 08677265 656e656e 64036f72 6702756b 00000100 01086772 65656e65
+ 6e64036f 72670275 6b000006 00010001 51800037 04646e73 3006656c 6d61696c
+ 02636fc0 46087269 63686172 646b0663 68696172 6bc03977 26f0bf00 00708000
+ 001c2000 093a8000 015180.
+ +0.000801
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 056e6577 73780864 6176656e 616e7408 67726565
+ 6e656e64 036f7267 02756b00 00010001.
+ sendto=48
+ +0.001048
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208583 00010000 00010000 046e6577 73086461 76656e61 6e740864 6176656e
+ 616e7408 67726565 6e656e64 036f7267 02756b00 00010001 08677265 656e656e
+ 64036f72 6702756b 00000600 01000151 80003704 646e7330 06656c6d 61696c02
+ 636fc045 08726963 68617264 6b066368 6961726b c0387726 f0bf0000 70800000
+ 1c200009 3a800001 5180.
+ +0.000773
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000440
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000105
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.990293
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004269
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010002 00030003 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001c0 0c000500 01000151 80002508 64617665
+ 6e616e74 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c03b0001 00010001 51800004 ac122d06 c0440002 00010001 51800006 036e7330
+ c044c044 00020001 00015180 0006036e 7331c044 c0440002 00010001 51800006
+ 036e7332 c044c07c 00010001 00015180 0004ac12 2d06c08e 00010001 00015180
+ 0004ac12 2d41c0a0 00010001 00015180 0004ac12 2d01.
+ +0.001122
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000283
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.986540
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000988
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228583 00010000 00010000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790000 01000100 00060001 000000e3 003e0141 0c524f4f 542d5345
+ 52564552 53034e45 54000a68 6f73746d 61737465 7208494e 5445524e 4943c045
+ 7726f440 00000708 00000384 00093a80 00015180.
+ +0.000665
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790864 6176656e 616e7408 67726565 6e656e64 036f7267 02756b00
+ 00010001.
+ sendto=68
+ +0.000576
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000106
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.985247
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001800
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238583 00010000 00010000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790000 01000100 00060001 0000016b 003e0141 0c524f4f 542d5345
+ 52564552 53034e45 54000a68 6f73746d 61737465 7208494e 5445524e 4943c045
+ 7726f440 00000708 00000384 00093a80 00015180.
+ +0.000671
+ sendto fd=4 addr=172.18.45.6:53
+ 31280100 00010000 00000000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790864 6176656e 616e7408 67726565 6e656e64 036f7267 02756b00
+ 00010001.
+ sendto=68
+ +0.000550
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000105
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.984341
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002209
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248583 00010000 00010000 04746573 74036977 6a0a7265 6c617469 76697479
+ 08646176 656e616e 74086772 65656e65 6e64036f 72670275 6b000001 00010867
+ 7265656e 656e6403 6f726702 756b0000 06000100 01518000 3704646e 73300665
+ 6c6d6169 6c02636f c04b0872 69636861 72646b06 63686961 726bc03e 7726f0bf
+ 00007080 00001c20 00093a80 00015180.
+ +0.000817
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 04746573 74036977 6a0a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=53
+ +0.000476
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000105
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.982091
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001955
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258583 00010000 00010000 056e6577 73780864 6176656e 616e7408 67726565
+ 6e656e64 036f7267 02756b00 00010001 08677265 656e656e 64036f72 6702756b
+ 00000600 01000151 80003704 646e7330 06656c6d 61696c02 636fc03d 08726963
+ 68617264 6b066368 6961726b c0307726 f0bf0000 70800000 1c200009 3a800001
+ 5180.
+ +0.000729
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 056e6577 73780864 6176656e 616e7400 00010001.
+ sendto=32
+ +0.000394
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000109
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.978904
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005814
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268580 00010002 00030003 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001c0 0c000500 01000151 80002508 64617665
+ 6e616e74 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c03b0001 00010001 51800004 ac122d06 c0440002 00010001 51800006 036e7330
+ c044c044 00020001 00015180 0006036e 7331c044 c0440002 00010001 51800006
+ 036e7332 c044c07c 00010001 00015180 0004ac12 2d06c08e 00010001 00015180
+ 0004ac12 2d41c0a0 00010001 00015180 0004ac12 2d01.
+ +0.001125
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000258
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981536
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001427
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278583 00010000 00010000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790864 6176656e 616e7408 67726565 6e656e64 036f7267 02756b00
+ 00010001 08677265 656e656e 64036f72 6702756b 00000600 01000151 80003704
+ 646e7330 06656c6d 61696c02 636fc051 08726963 68617264 6b066368 6961726b
+ c0447726 f0bf0000 70800000 1c200009 3a800001 5180.
+ +0.000823
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=59
+ +0.000507
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000106
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981820
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002135
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31288583 00010000 00010000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790864 6176656e 616e7408 67726565 6e656e64 036f7267 02756b00
+ 00010001 08677265 656e656e 64036f72 6702756b 00000600 01000151 80003704
+ 646e7330 06656c6d 61696c02 636fc051 08726963 68617264 6b066368 6961726b
+ c0447726 f0bf0000 70800000 1c200009 3a800001 5180.
+ +0.000844
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=59
+ +0.000505
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000103
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981768
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001673
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298580 00010000 00010000 04746573 74036977 6a0a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01c00c00 06000100 00003c00
+ 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 000a686f 73746d61 73746572 c0450000 00120000 0e100000 00780064 c8000000
+ 003c.
+ +0.000726
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000167
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.982555
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001681
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8583 00010000 00010000 056e6577 73780864 6176656e 616e7400 00010001
+ 00000600 01000000 af003e01 410c524f 4f542d53 45525645 5253034e 4554000a
+ 686f7374 6d617374 65720849 4e544552 4e4943c0 3a7726f4 40000007 08000003
+ 8400093a 80000151 80.
+ +0.000598
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000116
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.990016
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004585
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8580 00010000 00010000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 01000104 74657374
+ 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ 00060001 0000003c 0027036e 7330c044 0a686f73 746d6173 746572c0 44000000
+ 1200000e 10000000 780064c8 00000000 3c.
+ +0.000786
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000146
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.988070
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002234
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8583 00010000 00010000 05747275 6e780474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 01000104 74657374
+ 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ 00060001 0000003c 0027036e 7330c044 0a686f73 746d6173 746572c0 44000000
+ 1200000e 10000000 780064c8 00000000 3c.
+ +0.000780
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000120
+ close fd=4
+ close=OK
+ +0.000181
diff --git a/regress/case-ndotsbad.err b/regress/case-ndotsbad.err
new file mode 100644
index 0000000..31d3eab
--- /dev/null
+++ b/regress/case-ndotsbad.err
@@ -0,0 +1 @@
+adns failure: init: errno=EINVAL
diff --git a/regress/case-ndotsbad.out b/regress/case-ndotsbad.out
new file mode 100644
index 0000000..b980b59
--- /dev/null
+++ b/regress/case-ndotsbad.out
@@ -0,0 +1,3 @@
+adns debug: using nameserver 172.18.45.6
+adns: <supplied configuration text>:4: option `ndots:X' malformed or has bad value
+rc=2
diff --git a/regress/case-ndotsbad.sys b/regress/case-ndotsbad.sys
new file mode 100644
index 0000000..b5ebfb4
--- /dev/null
+++ b/regress/case-ndotsbad.sys
@@ -0,0 +1,2 @@
+adnstest ndotsbad
+:0x0|1 5/news.davenant.greenend.org.uk
diff --git a/regress/case-noinfto.err b/regress/case-noinfto.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-noinfto.err
diff --git a/regress/case-noinfto.out b/regress/case-noinfto.out
new file mode 100644
index 0000000..8f0d3df
--- /dev/null
+++ b/regress/case-noinfto.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.36
+a.b.c.d flags 0 type 1 A(-) submitted
+a.b.c.d flags 0 type A(-): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604744
+rc=0
diff --git a/regress/case-noinfto.sys b/regress/case-noinfto.sys
new file mode 100644
index 0000000..63d2fd0
--- /dev/null
+++ b/regress/case-noinfto.sys
@@ -0,0 +1,123 @@
+adnstest noserver -,p
+:0x0|1 a.b.c.d
+ start 940011574.766962
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000158
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000053
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000039
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.001065
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=1999
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.010188
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000218
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009786
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000282
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009708
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000217
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009800
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000272
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009786
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000216
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009723
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000273
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=EINTR
+ +18.-37194
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=0
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +10.-89436
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000256
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.006138
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000218
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009731
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000261
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009735
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000212
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009790
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000254
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009747
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000228
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009771
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000256
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009755
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 01610162 01630164 00000100 01.
+ sendto=25
+ +0.000226
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009768
+ close fd=4
+ close=OK
+ +0.000363
diff --git a/regress/case-norecurse.err b/regress/case-norecurse.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-norecurse.err
diff --git a/regress/case-norecurse.out b/regress/case-norecurse.out
new file mode 100644
index 0000000..14d8a6b
--- /dev/null
+++ b/regress/case-norecurse.out
@@ -0,0 +1,56 @@
+adns debug: using nameserver 172.18.45.6
+4.204.50.158.in-addr.arpa flags 0 type 1 A(-) submitted
+4.204.50.158.in-addr.arpa flags 0 type 2 NS(raw) submitted
+4.204.50.158.in-addr.arpa flags 0 type 5 CNAME(-) submitted
+4.204.50.158.in-addr.arpa flags 0 type 6 SOA(raw) submitted
+4.204.50.158.in-addr.arpa flags 0 type 12 PTR(raw) submitted
+4.204.50.158.in-addr.arpa flags 0 type 13adns debug: TCP connected (NS=172.18.45.6)
+ HINFO(-) submitted
+4.204.50.158.in-addr.arpa flags 0 type 15 MX(raw) submitted
+4.204.50.158.in-addr.arpa flags 0 type 16 TXT(-) submitted
+4.204.50.158.in-addr.arpa flags 0 type 17 RP(raw) submitted
+4.204.50.158.in-addr.arpa flags 0 type 65537 A(addr) submitted
+4.204.50.158.in-addr.arpa flags 0 type 65538 NS(+addr) submitted
+4.204.50.158.in-addr.arpa flags 0 type 65548 PTR(checked) submitted
+4.204.50.158.in-addr.arpa flags 0 type 65551 MX(+addr) submitted
+4.204.50.158.in-addr.arpa flags 0 type 131078 SOA(822) submitted
+4.204.50.158.in-addr.arpa flags 0 type 131089 RP(822) submitted
+4.204.50.158.in-addr.arpa flags 0 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type NS(raw): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type SOA(raw): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type PTR(raw): OK; nrrs=23; cname=$; owner=$; ttl=77948
+ ns2.afp.com
+ ns.afp.com
+ news.afp.com
+ ns2.afp.fr
+ ns.afp.fr
+ news.afp.fr
+ ns2.agencefrancepresse.com
+ news.agencefrancepresse.com
+ ns2.agencefrancepresse.fr
+ news.agencefrancepresse.fr
+ ns2.agencefrance-presse.com
+ news.agencefrance-presse.com
+ ns2.agencefrance-presse.fr
+ news.agencefrance-presse.fr
+ ns2.imageforum.com
+ news.imageforum.com
+ ns2.imageforum.tm.fr
+ news.imageforum.tm.fr
+ ns2.ooh-lah-lah.com
+ ns2.afpsciences.com
+ ns2.afpdoc.com
+ ns2.afp-notes.com
+ ns2.afp-domino.com
+4.204.50.158.in-addr.arpa flags 0 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type NS(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type SOA(822): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type PTR(checked): Inconsistent resource records in DNS; nrrs=0; cname=$; owner=$; ttl=77948
+4.204.50.158.in-addr.arpa flags 0 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=0
+rc=0
diff --git a/regress/case-norecurse.sys b/regress/case-norecurse.sys
new file mode 100644
index 0000000..f9509d7
--- /dev/null
+++ b/regress/case-norecurse.sys
@@ -0,0 +1,636 @@
+adnstest default -0x416
+4.204.50.158.in-addr.arpa
+ start 939764098.821612
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000163
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000053
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000041
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.001437
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 010001.
+ +0.000286
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000152
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.000904
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 020001.
+ +0.000247
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000144
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.001157
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000093
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.000957
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 060001.
+ +0.000249
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000113
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001196
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238380 00010012 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000130 7c000d03 6e733203 61667003
+ 636f6d00 c00c000c 00010001 307c0005 026e73c0 3bc00c00 0c000100 01307c00
+ 07046e65 7773c03b c00c000c 00010001 307c000c 036e7332 03616670 02667200
+ c00c000c 00010001 307c0005 026e73c0 78c00c00 0c000100 01307c00 07046e65
+ 7773c078 c00c000c 00010001 307c0019 036e7332 12616765 6e636566 72616e63
+ 65707265 737365c0 3fc00c00 0c000100 01307c00 07046e65 7773c0b4 c00c000c
+ 00010001 307c0019 036e7332 12616765 6e636566 72616e63 65707265 737365c0
+ 7cc00c00 0c000100 01307c00 07046e65 7773c0ec c00c000c 00010001 307c001a
+ 036e7332 13616765 6e636566 72616e63 652d7072 65737365 c03fc00c 000c0001
+ 0001307c 0007046e 657773c1 24c00c00 0c000100 01307c00 1a036e73 32136167
+ 656e6365 6672616e 63652d70 72657373 65c07cc0 0c000c00 01000130 7c000704
+ 6e657773 c15dc00c 000c0001 0001307c 0011036e 73320a69 6d616765 666f7275
+ 6dc03fc0 0c000c00 01000130 7c000704 6e657773 c196c00c 000c0001 0001307c
+ 0014036e 73320a69 6d616765 666f7275 6d02746d c07cc00c 000c0001 0001307c
+ 0007046e 657773c1 c6.
+ +0.002263
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.000942
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000045
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000041
+ connect fd=5 addr=172.18.45.6:53
+ connect=EINPROGRESS
+ +0.000500
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000083
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0d0001.
+ sendto=43
+ +0.000925
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0d0001.
+ +0.000256
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000116
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000123
+ write fd=5
+ 002b3123 01000001 00000000 00000134 03323034 02353003 31353807 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.001681
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.001010
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0f0001.
+ +0.000266
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000117
+ read fd=5 buflen=2
+ read=OK
+ 02ac.
+ +0.000175
+ read fd=5 buflen=684
+ read=OK
+ 31238180 00010017 00010001 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000130 7c000d03 6e733203 61667003
+ 636f6d00 c00c000c 00010001 307c0005 026e73c0 3bc00c00 0c000100 01307c00
+ 07046e65 7773c03b c00c000c 00010001 307c000c 036e7332 03616670 02667200
+ c00c000c 00010001 307c0005 026e73c0 78c00c00 0c000100 01307c00 07046e65
+ 7773c078 c00c000c 00010001 307c0019 036e7332 12616765 6e636566 72616e63
+ 65707265 737365c0 3fc00c00 0c000100 01307c00 07046e65 7773c0b4 c00c000c
+ 00010001 307c0019 036e7332 12616765 6e636566 72616e63 65707265 737365c0
+ 7cc00c00 0c000100 01307c00 07046e65 7773c0ec c00c000c 00010001 307c001a
+ 036e7332 13616765 6e636566 72616e63 652d7072 65737365 c03fc00c 000c0001
+ 0001307c 0007046e 657773c1 24c00c00 0c000100 01307c00 1a036e73 32136167
+ 656e6365 6672616e 63652d70 72657373 65c07cc0 0c000c00 01000130 7c000704
+ 6e657773 c15dc00c 000c0001 0001307c 0011036e 73320a69 6d616765 666f7275
+ 6dc03fc0 0c000c00 01000130 7c000704 6e657773 c196c00c 000c0001 0001307c
+ 0014036e 73320a69 6d616765 666f7275 6d02746d c07cc00c 000c0001 0001307c
+ 0007046e 657773c1 c6c00c00 0c000100 01307c00 12036e73 320b6f6f 682d6c61
+ 682d6c61 68c03fc0 0c000c00 01000130 7c001203 6e73320b 61667073 6369656e
+ 636573c0 3fc00c00 0c000100 01307c00 0d036e73 32066166 70646f63 c03fc00c
+ 000c0001 0001307c 0010036e 73320961 66702d6e 6f746573 c03fc00c 000c0001
+ 0001307c 0011036e 73320a61 66702d64 6f6d696e 6fc03f03 32303402 35300331
+ 35380769 6e2d6164 64720461 72706100 00020001 0001307c 0002c037 c0370001
+ 00010002 80980004 9e32cc04.
+ +0.002445
+ read fd=5 buflen=686
+ read=EAGAIN
+ +0.003811
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 100001.
+ sendto=43
+ +0.000940
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 100001.
+ +0.000256
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000115
+ read fd=5 buflen=686
+ read=EAGAIN
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.000928
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ +0.000259
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000112
+ read fd=5 buflen=686
+ read=EAGAIN
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.000917
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 010001.
+ +0.000259
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000124
+ read fd=5 buflen=686
+ read=EAGAIN
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.000899
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 020001.
+ +0.000262
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000123
+ read fd=5 buflen=686
+ read=EAGAIN
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001190
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8380 00010012 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000130 7c000d03 6e733203 61667003
+ 636f6d00 c00c000c 00010001 307c0005 026e73c0 3bc00c00 0c000100 01307c00
+ 07046e65 7773c03b c00c000c 00010001 307c000c 036e7332 03616670 02667200
+ c00c000c 00010001 307c0005 026e73c0 78c00c00 0c000100 01307c00 07046e65
+ 7773c078 c00c000c 00010001 307c0019 036e7332 12616765 6e636566 72616e63
+ 65707265 737365c0 3fc00c00 0c000100 01307c00 07046e65 7773c0b4 c00c000c
+ 00010001 307c0019 036e7332 12616765 6e636566 72616e63 65707265 737365c0
+ 7cc00c00 0c000100 01307c00 07046e65 7773c0ec c00c000c 00010001 307c001a
+ 036e7332 13616765 6e636566 72616e63 652d7072 65737365 c03fc00c 000c0001
+ 0001307c 0007046e 657773c1 24c00c00 0c000100 01307c00 1a036e73 32136167
+ 656e6365 6672616e 63652d70 72657373 65c07cc0 0c000c00 01000130 7c000704
+ 6e657773 c15dc00c 000c0001 0001307c 0011036e 73320a69 6d616765 666f7275
+ 6dc03fc0 0c000c00 01000130 7c000704 6e657773 c196c00c 000c0001 0001307c
+ 0014036e 73320a69 6d616765 666f7275 6d02746d c07cc00c 000c0001 0001307c
+ 0007046e 657773c1 c6.
+ +0.001724
+ write fd=5
+ 002b312b 01000001 00000000 00000134 03323034 02353003 31353807 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.001513
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000078
+ read fd=5 buflen=686
+ read=EAGAIN
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.000907
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0f0001.
+ +0.000264
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000118
+ read fd=5 buflen=686
+ read=EAGAIN
+ +0.001429
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.000875
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 060001.
+ +0.000265
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000115
+ read fd=5 buflen=686
+ read=OK
+ 02ac312b 81800001 00170001 00010134 03323034 02353003 31353807 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 01307c00 0d036e73 32036166
+ 7003636f 6d00c00c 000c0001 0001307c 0005026e 73c03bc0 0c000c00 01000130
+ 7c000704 6e657773 c03bc00c 000c0001 0001307c 000c036e 73320361 66700266
+ 7200c00c 000c0001 0001307c 0005026e 73c078c0 0c000c00 01000130 7c000704
+ 6e657773 c078c00c 000c0001 0001307c 0019036e 73321261 67656e63 65667261
+ 6e636570 72657373 65c03fc0 0c000c00 01000130 7c000704 6e657773 c0b4c00c
+ 000c0001 0001307c 0019036e 73321261 67656e63 65667261 6e636570 72657373
+ 65c07cc0 0c000c00 01000130 7c000704 6e657773 c0ecc00c 000c0001 0001307c
+ 001a036e 73321361 67656e63 65667261 6e63652d 70726573 7365c03f c00c000c
+ 00010001 307c0007 046e6577 73c124c0 0c000c00 01000130 7c001a03 6e733213
+ 6167656e 63656672 616e6365 2d707265 737365c0 7cc00c00 0c000100 01307c00
+ 07046e65 7773c15d c00c000c 00010001 307c0011 036e7332 0a696d61 6765666f
+ 72756dc0 3fc00c00 0c000100 01307c00 07046e65 7773c196 c00c000c 00010001
+ 307c0014 036e7332 0a696d61 6765666f 72756d02 746dc07c c00c000c 00010001
+ 307c0007 046e6577 73c1c6c0 0c000c00 01000130 7c001203 6e73320b 6f6f682d
+ 6c61682d 6c6168c0 3fc00c00 0c000100 01307c00 12036e73 320b6166 70736369
+ 656e6365 73c03fc0 0c000c00 01000130 7c000d03 6e733206 61667064 6f63c03f
+ c00c000c 00010001 307c0010 036e7332 09616670 2d6e6f74 6573c03f c00c000c
+ 00010001 307c0011 036e7332 0a616670 2d646f6d 696e6fc0 3f033230 34023530
+ 03313538 07696e2d 61646472 04617270 61000002 00010001 307c0002 c037c037
+ 00010001 00028098 00049e32 cc04.
+ +0.002314
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 036e7332 03616670 03636f6d 00000100 01.
+ sendto=29
+ +0.001132
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 026e7303 61667003 636f6d00 00010001.
+ sendto=28
+ +0.000872
+ sendto fd=4 addr=172.18.45.6:53
+ 31300100 00010000 00000000 046e6577 73036166 7003636f 6d000001 0001.
+ sendto=30
+ +0.000864
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 036e7332 03616670 02667200 00010001.
+ sendto=28
+ +0.000857
+ sendto fd=4 addr=172.18.45.6:53
+ 31320100 00010000 00000000 026e7303 61667002 66720000 010001.
+ sendto=27
+ +0.001077
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 046e6577 73036166 70026672 00000100 01.
+ sendto=29
+ +0.001081
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 036e7332 12616765 6e636566 72616e63 65707265
+ 73736503 636f6d00 00010001.
+ sendto=44
+ +0.001138
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 03636f6d 00000100 01.
+ sendto=45
+ +0.001216
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 036e7332 12616765 6e636566 72616e63 65707265
+ 73736502 66720000 010001.
+ sendto=43
+ +0.001134
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 02667200 00010001.
+ sendto=44
+ +0.001163
+ sendto fd=4 addr=172.18.45.6:53
+ 31380100 00010000 00000000 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 03636f6d 00000100 01.
+ sendto=45
+ +0.001153
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 6503636f 6d000001 0001.
+ sendto=46
+ +0.001167
+ sendto fd=4 addr=172.18.45.6:53
+ 313a0100 00010000 00000000 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 02667200 00010001.
+ sendto=44
+ +0.001170
+ sendto fd=4 addr=172.18.45.6:53
+ 313b0100 00010000 00000000 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 65026672 00000100 01.
+ sendto=45
+ +0.001174
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 036e7332 0a696d61 6765666f 72756d03 636f6d00
+ 00010001.
+ sendto=36
+ +0.001119
+ sendto fd=4 addr=172.18.45.6:53
+ 313d0100 00010000 00000000 046e6577 730a696d 61676566 6f72756d 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.001141
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 036e7332 0a696d61 6765666f 72756d02 746d0266
+ 72000001 0001.
+ sendto=38
+ +0.001115
+ sendto fd=4 addr=172.18.45.6:53
+ 313f0100 00010000 00000000 046e6577 730a696d 61676566 6f72756d 02746d02
+ 66720000 010001.
+ sendto=39
+ +0.001383
+ sendto fd=4 addr=172.18.45.6:53
+ 31400100 00010000 00000000 036e7332 0b6f6f68 2d6c6168 2d6c6168 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.001190
+ sendto fd=4 addr=172.18.45.6:53
+ 31410100 00010000 00000000 036e7332 0b616670 73636965 6e636573 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.001178
+ sendto fd=4 addr=172.18.45.6:53
+ 31420100 00010000 00000000 036e7332 06616670 646f6303 636f6d00 00010001.
+ sendto=32
+ +0.001112
+ sendto fd=4 addr=172.18.45.6:53
+ 31430100 00010000 00000000 036e7332 09616670 2d6e6f74 65730363 6f6d0000
+ 010001.
+ sendto=35
+ +0.001167
+ sendto fd=4 addr=172.18.45.6:53
+ 31440100 00010000 00000000 036e7332 0a616670 2d646f6d 696e6f03 636f6d00
+ 00010001.
+ sendto=36
+ +0.001187
+ read fd=5 buflen=686
+ read=EAGAIN
+ +0.000694
+ sendto fd=4 addr=172.18.45.6:53
+ 31450100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.001333
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8180 00010001 00020002 036e7332 03616670 03636f6d 00000100 01c00c00
+ 01000100 02809800 049e32cc 04034146 5003636f 6d000002 00010001 4d720002
+ c00cc02d 00020001 00014d72 0006036e 7331c02d c00c0001 00010002 80980004
+ 9e32cc04 c04e0001 00010002 80980004 d0dfa603.
+ +0.000734
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312f8180 00010001 00020002 026e7303 61667003 636f6d00 00010001 c00c0001
+ 00010001 4d720004 9e32cc04 03414650 03636f6d 00000200 0100014d 72000603
+ 6e7332c0 2cc02c00 02000100 014d7200 06036e73 31c02cc0 3f000100 01000280
+ 9800049e 32cc04c0 51000100 01000280 980004d0 dfa603.
+ +0.000768
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31308180 00010001 00020002 046e6577 73036166 7003636f 6d000001 0001c00c
+ 00010001 00013089 00049e32 cc040341 46500363 6f6d0000 02000100 014d7200
+ 06036e73 32c02ec0 2e000200 0100014d 72000603 6e7331c0 2ec04100 01000100
+ 02809800 049e32cc 04c05300 01000100 02809800 04d0dfa6 03.
+ +0.000623
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31318180 00010001 00020002 036e7332 03616670 02667200 00010001 c00c0001
+ 00010001 30850004 9e32cc04 03616670 02667200 00020001 00013085 0002c00c
+ c02c0002 00010001 30850006 036e7331 c02cc00c 00010001 00013085 00049e32
+ cc04c04c 00010001 00013085 0004d0df a603.
+ +0.000602
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31328180 00010001 00020002 026e7303 61667002 66720000 010001c0 0c000100
+ 01000130 8500049e 32cc0403 61667002 66720000 02000100 01308500 06036e73
+ 32c02bc0 2b000200 01000130 85000603 6e7331c0 2bc03d00 01000100 01308500
+ 049e32cc 04c04f00 01000100 01308500 04d0dfa6 03.
+ +0.000624
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31338180 00010001 00020002 046e6577 73036166 70026672 00000100 01c00c00
+ 01000100 012f4700 049e32cc 04036166 70026672 00000200 01000130 85000603
+ 6e7332c0 2dc02d00 02000100 01308500 06036e73 31c02dc0 3f000100 01000130
+ 8500049e 32cc04c0 51000100 01000130 850004d0 dfa603.
+ +0.000643
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31348180 00010001 00020002 036e7332 12616765 6e636566 72616e63 65707265
+ 73736503 636f6d00 00010001 c00c0001 00010001 30850004 9e32cc04 12616765
+ 6e636566 72616e63 65707265 73736503 636f6d00 00020001 00013085 0002c00c
+ c03c0002 00010001 30850006 036e7331 c03cc00c 00010001 00013085 00049e32
+ cc04c06c 00010001 00013085 0004d0df a603.
+ +0.000703
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31358180 00010001 00020002 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 03636f6d 00000100 01c00c00 01000100 01308500 049e32cc 04126167
+ 656e6365 6672616e 63657072 65737365 03636f6d 00000200 01000130 85000603
+ 6e7332c0 3dc03d00 02000100 01308500 06036e73 31c03dc0 5f000100 01000130
+ 8500049e 32cc04c0 71000100 01000130 850004d0 dfa603.
+ +0.000750
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31368180 00010001 00020002 036e7332 12616765 6e636566 72616e63 65707265
+ 73736502 66720000 010001c0 0c000100 01000130 8900049e 32cc0412 6167656e
+ 63656672 616e6365 70726573 73650266 72000002 00010001 30890002 c00cc03b
+ 00020001 00013089 0006036e 7331c03b c00c0001 00010001 30890004 9e32cc04
+ c06a0001 00010001 30890004 d0dfa603.
+ +0.000708
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31378180 00010001 00020002 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 02667200 00010001 c00c0001 00010001 30890004 9e32cc04 12616765
+ 6e636566 72616e63 65707265 73736502 66720000 02000100 01308900 06036e73
+ 32c03cc0 3c000200 01000130 89000603 6e7331c0 3cc05d00 01000100 01308900
+ 049e32cc 04c06f00 01000100 01308900 04d0dfa6 03.
+ +0.000739
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31388180 00010001 00020002 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 03636f6d 00000100 01c00c00 01000100 014dd900 049e32cc 04136167
+ 656e6365 6672616e 63652d70 72657373 6503636f 6d000002 00010001 4dd90002
+ c00cc03d 00020001 00014dd9 0006036e 7331c03d c00c0001 00010001 4dd90004
+ 9e32cc04 c06e0001 00010001 4dd90004 d0dfa603.
+ +0.000723
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31398180 00010001 00020002 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 6503636f 6d000001 0001c00c 00010001 00014dd9 00049e32 cc041361
+ 67656e63 65667261 6e63652d 70726573 73650363 6f6d0000 02000100 014dd900
+ 06036e73 32c03ec0 3e000200 0100014d d9000603 6e7331c0 3ec06100 01000100
+ 014dd900 049e32cc 04c07300 01000100 014dd900 04d0dfa6 03.
+ +0.000757
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313a8180 00010001 00020002 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 02667200 00010001 c00c0001 00010001 30890004 9e32cc04 13616765
+ 6e636566 72616e63 652d7072 65737365 02667200 00020001 00013089 0002c00c
+ c03c0002 00010001 30890006 036e7331 c03cc00c 00010001 00013089 00049e32
+ cc04c06c 00010001 00013089 0004d0df a603.
+ +0.000721
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313b8180 00010001 00020002 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 65026672 00000100 01c00c00 01000100 01308900 049e32cc 04136167
+ 656e6365 6672616e 63652d70 72657373 65026672 00000200 01000130 89000603
+ 6e7332c0 3dc03d00 02000100 01308900 06036e73 31c03dc0 5f000100 01000130
+ 8900049e 32cc04c0 71000100 01000130 890004d0 dfa603.
+ +0.000732
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313c8180 00010001 00020002 036e7332 0a696d61 6765666f 72756d03 636f6d00
+ 00010001 c00c0001 00010001 30890004 9e32cc04 0a696d61 6765666f 72756d03
+ 636f6d00 00020001 00013089 0002c00c c0340002 00010001 30890006 036e7331
+ c034c00c 00010001 00013089 00049e32 cc04c05c 00010001 00013089 0004d0df
+ a603.
+ +0.000677
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313d8180 00010001 00020002 046e6577 730a696d 61676566 6f72756d 03636f6d
+ 00000100 01c00c00 01000100 01308900 049e32cc 040a696d 61676566 6f72756d
+ 03636f6d 00000200 01000130 89000603 6e7332c0 35c03500 02000100 01308900
+ 06036e73 31c035c0 4f000100 01000130 8900049e 32cc04c0 61000100 01000130
+ 890004d0 dfa603.
+ +0.000673
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313e8180 00010001 00020002 036e7332 0a696d61 6765666f 72756d02 746d0266
+ 72000001 0001c00c 00010001 000280c4 00049e32 cc040a69 6d616765 666f7275
+ 6d02746d 02667200 00020001 000280c4 0002c00c c0360002 00010002 80c40006
+ 036e7331 c036c00c 00010001 000280c4 00049e32 cc04c060 00010001 000280c4
+ 0004d0df a603.
+ +0.000687
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313f8180 00010001 00020002 046e6577 730a696d 61676566 6f72756d 02746d02
+ 66720000 010001c0 0c000100 0100012f 4500049e 32cc040a 696d6167 65666f72
+ 756d0274 6d026672 00000200 01000280 c4000603 6e7332c0 37c03700 02000100
+ 0280c400 06036e73 31c037c0 53000100 01000280 c400049e 32cc04c0 65000100
+ 01000280 c40004d0 dfa603.
+ +0.000685
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31408180 00010001 00020002 036e7332 0b6f6f68 2d6c6168 2d6c6168 03636f6d
+ 00000100 01c00c00 01000100 014dd900 049e32cc 040b6f6f 682d6c61 682d6c61
+ 6803636f 6d000002 00010001 4dd90002 c00cc035 00020001 00014dd9 0006036e
+ 7331c035 c00c0001 00010001 4dd90004 9e32cc04 c05e0001 00010001 4dd90004
+ d0dfa603.
+ +0.000664
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31418180 00010000 00010000 036e7332 0b616670 73636965 6e636573 03636f6d
+ 00000100 010b6166 70736369 656e6365 7303636f 6d000006 00010000 0148002c
+ 03646e73 08766963 746f6972 65026672 0004726f 6f74c044 77276589 00007080
+ 00001c20 004f1a00 00015180.
+ +0.000607
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31428180 00010000 00010000 036e7332 06616670 646f6303 636f6d00 00010001
+ 06616670 646f6303 636f6d00 00060001 00000148 002c0364 6e730876 6963746f
+ 69726502 66720004 726f6f74 c03a7727 65890000 70800000 1c20004f 1a000001
+ 5180.
+ +0.001536
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31438180 00010001 00020002 036e7332 09616670 2d6e6f74 65730363 6f6d0000
+ 010001c0 0c000100 01000130 8900049e 32cc0409 6166702d 6e6f7465 7303636f
+ 6d000002 00010001 30890002 c00cc033 00020001 00013089 0006036e 7331c033
+ c00c0001 00010001 30890004 9e32cc04 c05a0001 00010001 30890004 d0dfa603.
+ +0.000601
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31448180 00010001 00020002 036e7332 0a616670 2d646f6d 696e6f03 636f6d00
+ 00010001 c00c0001 00010001 30890004 9e32cc04 0a616670 2d646f6d 696e6f03
+ 636f6d00 00020001 00013089 0002c00c c0340002 00010001 30890006 036e7331
+ c034c00c 00010001 00013089 00049e32 cc04c05c 00010001 00013089 0004d0df
+ a603.
+ +0.000629
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31458180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ +0.000317
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000001
+ read fd=5 buflen=686
+ read=EAGAIN
+ +0.000115
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.920609
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-754319
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 050001.
+ +0.000252
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000127
+ close fd=4
+ close=OK
+ +0.000208
+ close fd=5
+ close=OK
+ +0.000001
diff --git a/regress/case-norecurse2.err b/regress/case-norecurse2.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-norecurse2.err
diff --git a/regress/case-norecurse2.out b/regress/case-norecurse2.out
new file mode 100644
index 0000000..4c3ae51
--- /dev/null
+++ b/regress/case-norecurse2.out
@@ -0,0 +1,60 @@
+adns debug: using nameserver 172.18.45.6
+4.204.50.158.in-addr.arpa flags 0 type 1 A(-) submitted
+4.204.50.158.in-addr.arpa flags 0 type 2 NS(raw) submitted
+4.204.50.158.in-addr.arpa flags 0 type 5 CNAME(-) submitted
+4.204.50.158.in-addr.arpa flags 0 type 6 SOA(raw) submitted
+4.204.50.158.in-addr.arpa flags 0 type 12 PTR(raw) submitted
+4.204.50.158.in-addr.arpa flags 0 type 13 HINFO(-) submitted
+4.204.50.158.in-addr.arpa flags 0 type 15 MX(raw) submitted
+4.204.50.158.in-addr.arpa flags 0 type 16 TXT(-) submitted
+4.204.50.158.in-addr.arpa flags 0 type 17 RP(raw) submitted
+4.204.50.158.in-addr.arpa flags 0 type 65537 A(addr) submitted
+4.204.50.158.in-addr.arpa flags 0 type 65538 NS(+addr) submitted
+4.204.50.158.in-addr.arpa flags 0 type 65548 PTR(checked) submitted
+4.204.50.158.in-addr.arpa flags 0 type 65551 MX(+addr) submitted
+4.204.50.158.in-addr.arpa flags 0 type 131078 SOA(822) submitted
+4.204.50.158.in-addr.arpa flags 0 type 131089 RP(822) submitted
+4.204.50.158.in-addr.arpa flags 0 type SOA(raw): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type NS(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type NS(raw): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type SOA(822): No such data; nrrs=0; cname=$; owner=$; ttl=0
+adns debug: reply not found, id 312d, query owner 4.204.50.158.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 311f, query owner 4.204.50.158.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 3120, query owner 4.204.50.158.in-addr.arpa (NS=172.18.45.6)
+adns debug: reply not found, id 312b, query owner 4.204.50.158.in-addr.arpa (NS=172.18.45.6)
+4.204.50.158.in-addr.arpa flags 0 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=0
+4.204.50.158.in-addr.arpa flags 0 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=0
+adns debug: TCP connected (NS=172.18.45.6)
+4.204.50.158.in-addr.arpa flags 0 type PTR(raw): OK; nrrs=23; cname=$; owner=$; ttl=0
+ ns2.afp.com
+ ns.afp.com
+ news.afp.com
+ ns2.afp.fr
+ ns.afp.fr
+ news.afp.fr
+ ns2.agencefrancepresse.com
+ news.agencefrancepresse.com
+ ns2.agencefrancepresse.fr
+ news.agencefrancepresse.fr
+ ns2.agencefrance-presse.com
+ news.agencefrance-presse.com
+ ns2.agencefrance-presse.fr
+ news.agencefrance-presse.fr
+ ns2.imageforum.com
+ news.imageforum.com
+ ns2.imageforum.tm.fr
+ news.imageforum.tm.fr
+ ns2.ooh-lah-lah.com
+ ns2.afpsciences.com
+ ns2.afpdoc.com
+ ns2.afp-notes.com
+ ns2.afp-domino.com
+4.204.50.158.in-addr.arpa flags 0 type PTR(checked): Inconsistent resource records in DNS; nrrs=0; cname=$; owner=$; ttl=-6
+rc=0
diff --git a/regress/case-norecurse2.sys b/regress/case-norecurse2.sys
new file mode 100644
index 0000000..2e2b8e5
--- /dev/null
+++ b/regress/case-norecurse2.sys
@@ -0,0 +1,1224 @@
+adnstest default -0x416
+4.204.50.158.in-addr.arpa
+ start 939764277.018636
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000162
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000052
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000042
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.001984
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000131
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.001195
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000092
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.001175
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000096
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.001216
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000098
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001153
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000095
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0d0001.
+ sendto=43
+ +0.001170
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000103
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.001162
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000099
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 100001.
+ sendto=43
+ +0.001193
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000104
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.001203
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000105
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.001379
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000105
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.001199
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000107
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.001196
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000111
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0f0001.
+ sendto=43
+ +0.001229
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000114
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.001187
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000115
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.001165
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000116
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.979603
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.005569
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228580 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 060001.
+ +0.000287
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000173
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.973574
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.149373
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248580 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0d0001.
+ +0.000294
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000119
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.823788
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.019622
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258580 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0f0001.
+ +0.000268
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000116
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.803782
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.019566
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268580 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 100001.
+ +0.000266
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000116
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.783834
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.019476
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0f0001.
+ +0.000261
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000120
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.763977
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.189710
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298580 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 010001.
+ +0.000268
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000119
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.573880
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.019648
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8580 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 020001.
+ +0.000260
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000119
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.553853
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.019563
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ +0.000257
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000119
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.533914
+ select=0 rfds=[] wfds=[] efds=[]
+ +1.-463554
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 010001.
+ sendto=43
+ +0.000546
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 020001.
+ sendto=43
+ +0.000484
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.000484
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.001940
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000119
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 010001.
+ +0.000255
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 020001.
+ +0.000284
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000100
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.001182
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.007693
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000479
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.000465
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.001722
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009054
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000480
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 060001.
+ sendto=43
+ +0.000489
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.980098
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000131
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 060001.
+ +0.000231
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000119
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.979617
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-21402
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.001019
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009951
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.000505
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000529
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.000468
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008498
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008500
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000459
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.989538
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-10446
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.000537
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000484
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.000487
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008478
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008478
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000106
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000456
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.989451
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-10542
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.000612
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000551
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.000564
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008358
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008252
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000106
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009994
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000467
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.979559
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.372703
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 060001.
+ +0.000261
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000225
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.606370
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039270
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 010001.
+ +0.000255
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000224
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.566621
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.149484
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 020001.
+ +0.000261
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000200
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.416676
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-583334
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000010
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.010045
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 050001.
+ sendto=43
+ +0.000504
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000456
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ sendto=43
+ +0.000499
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.008480
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008495
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001.
+ sendto=43
+ +0.000644
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.989402
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.490712
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278580 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 110001.
+ +0.001892
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238380 00010012 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000000 00000d03 6e733203 61667003
+ 636f6d00 c00c000c 00010000 00000005 026e73c0 3bc00c00 0c000100 00000000
+ 07046e65 7773c03b c00c000c 00010000 0000000c 036e7332 03616670 02667200
+ c00c000c 00010000 00000005 026e73c0 78c00c00 0c000100 00000000 07046e65
+ 7773c078 c00c000c 00010000 00000019 036e7332 12616765 6e636566 72616e63
+ 65707265 737365c0 3fc00c00 0c000100 00000000 07046e65 7773c0b4 c00c000c
+ 00010000 00000019 036e7332 12616765 6e636566 72616e63 65707265 737365c0
+ 7cc00c00 0c000100 00000000 07046e65 7773c0ec c00c000c 00010000 0000001a
+ 036e7332 13616765 6e636566 72616e63 652d7072 65737365 c03fc00c 000c0001
+ 00000000 0007046e 657773c1 24c00c00 0c000100 00000000 1a036e73 32136167
+ 656e6365 6672616e 63652d70 72657373 65c07cc0 0c000c00 01000000 00000704
+ 6e657773 c15dc00c 000c0001 00000000 0011036e 73320a69 6d616765 666f7275
+ 6dc03fc0 0c000c00 01000000 00000704 6e657773 c196c00c 000c0001 00000000
+ 0014036e 73320a69 6d616765 666f7275 6d02746d c07cc00c 000c0001 00000000
+ 0007046e 657773c1 c6.
+ +0.003281
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.002885
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000045
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000039
+ connect fd=5 addr=172.18.45.6:53
+ connect=EINPROGRESS
+ +0.000565
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010000 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 050001.
+ +0.000249
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8380 00010012 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000000 00000d03 6e733203 61667003
+ 636f6d00 c00c000c 00010000 00000005 026e73c0 3bc00c00 0c000100 00000000
+ 07046e65 7773c03b c00c000c 00010000 0000000c 036e7332 03616670 02667200
+ c00c000c 00010000 00000005 026e73c0 78c00c00 0c000100 00000000 07046e65
+ 7773c078 c00c000c 00010000 00000019 036e7332 12616765 6e636566 72616e63
+ 65707265 737365c0 3fc00c00 0c000100 00000000 07046e65 7773c0b4 c00c000c
+ 00010000 00000019 036e7332 12616765 6e636566 72616e63 65707265 737365c0
+ 7cc00c00 0c000100 00000000 07046e65 7773c0ec c00c000c 00010000 0000001a
+ 036e7332 13616765 6e636566 72616e63 652d7072 65737365 c03fc00c 000c0001
+ 00000000 0007046e 657773c1 24c00c00 0c000100 00000000 1a036e73 32136167
+ 656e6365 6672616e 63652d70 72657373 65c07cc0 0c000c00 01000000 00000704
+ 6e657773 c15dc00c 000c0001 00000000 0011036e 73320a69 6d616765 666f7275
+ 6dc03fc0 0c000c00 01000000 00000704 6e657773 c196c00c 000c0001 00000000
+ 0014036e 73320a69 6d616765 666f7275 6d02746d c07cc00c 000c0001 00000000
+ 0007046e 657773c1 c6.
+ +0.001704
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8380 00010012 00000000 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000000 00000d03 6e733203 61667003
+ 636f6d00 c00c000c 00010000 00000005 026e73c0 3bc00c00 0c000100 00000000
+ 07046e65 7773c03b c00c000c 00010000 0000000c 036e7332 03616670 02667200
+ c00c000c 00010000 00000005 026e73c0 78c00c00 0c000100 00000000 07046e65
+ 7773c078 c00c000c 00010000 00000019 036e7332 12616765 6e636566 72616e63
+ 65707265 737365c0 3fc00c00 0c000100 00000000 07046e65 7773c0b4 c00c000c
+ 00010000 00000019 036e7332 12616765 6e636566 72616e63 65707265 737365c0
+ 7cc00c00 0c000100 00000000 07046e65 7773c0ec c00c000c 00010000 0000001a
+ 036e7332 13616765 6e636566 72616e63 652d7072 65737365 c03fc00c 000c0001
+ 00000000 0007046e 657773c1 24c00c00 0c000100 00000000 1a036e73 32136167
+ 656e6365 6672616e 63652d70 72657373 65c07cc0 0c000c00 01000000 00000704
+ 6e657773 c15dc00c 000c0001 00000000 0011036e 73320a69 6d616765 666f7275
+ 6dc03fc0 0c000c00 01000000 00000704 6e657773 c196c00c 000c0001 00000000
+ 0014036e 73320a69 6d616765 666f7275 6d02746d c07cc00c 000c0001 00000000
+ 0007046e 657773c1 c6.
+ +0.001827
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000201
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.987312
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.000364
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000127
+ write fd=5
+ 002b3123 01000001 00000000 00000134 03323034 02353003 31353807 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.001692
+ write fd=5
+ 002b312b 01000001 00000000 00000134 03323034 02353003 31353807 696e2d61
+ 64647204 61727061 00000c00 01.
+ write=45
+ +0.001275
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.983854
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.000150
+ read fd=5 buflen=2
+ read=OK
+ 02e1.
+ +0.000196
+ read fd=5 buflen=737
+ read=OK
+ 31238180 00010017 00020002 01340332 30340235 30033135 3807696e 2d616464
+ 72046172 70610000 0c0001c0 0c000c00 01000000 00000d03 6e733203 61667003
+ 636f6d00 c00c000c 00010000 00000005 026e73c0 3bc00c00 0c000100 00000000
+ 07046e65 7773c03b c00c000c 00010000 0000000c 036e7332 03616670 02667200
+ c00c000c 00010000 00000005 026e73c0 78c00c00 0c000100 00000000 07046e65
+ 7773c078 c00c000c 00010000 00000019 036e7332 12616765 6e636566 72616e63
+ 65707265 737365c0 3fc00c00 0c000100 00000000 07046e65 7773c0b4 c00c000c
+ 00010000 00000019 036e7332 12616765 6e636566 72616e63 65707265 737365c0
+ 7cc00c00 0c000100 00000000 07046e65 7773c0ec c00c000c 00010000 0000001a
+ 036e7332 13616765 6e636566 72616e63 652d7072 65737365 c03fc00c 000c0001
+ 00000000 0007046e 657773c1 24c00c00 0c000100 00000000 1a036e73 32136167
+ 656e6365 6672616e 63652d70 72657373 65c07cc0 0c000c00 01000000 00000704
+ 6e657773 c15dc00c 000c0001 00000000 0011036e 73320a69 6d616765 666f7275
+ 6dc03fc0 0c000c00 01000000 00000704 6e657773 c196c00c 000c0001 00000000
+ 0014036e 73320a69 6d616765 666f7275 6d02746d c07cc00c 000c0001 00000000
+ 0007046e 657773c1 c6c00c00 0c000100 00000000 12036e73 320b6f6f 682d6c61
+ 682d6c61 68c03fc0 0c000c00 01000000 00001203 6e73320b 61667073 6369656e
+ 636573c0 3fc00c00 0c000100 00000000 0d036e73 32066166 70646f63 c03fc00c
+ 000c0001 00000000 0010036e 73320961 66702d6e 6f746573 c03fc00c 000c0001
+ 00000000 0011036e 73320a61 66702d64 6f6d696e 6fc03f02 35300331 35380769
+ 6e2d6164 64720461 72706100 00020001 0007e8fe 0002c037 02353003 31353807
+ 696e2d61 64647204 61727061 00000200 010007e8 fe000603 4e5331c0 3bc03700
+ 01000100 02a2fe00 049e32cc 04034e53 31c03b00 01000100 02a2fe00 04d0dfa6
+ 03.
+ +0.002595
+ read fd=5 buflen=739
+ read=OK
+ 02e1312b 81800001 00170002 00020134 03323034 02353003 31353807 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 00000000 0d036e73 32036166
+ 7003636f 6d00c00c 000c0001 00000000 0005026e 73c03bc0 0c000c00 01000000
+ 00000704 6e657773 c03bc00c 000c0001 00000000 000c036e 73320361 66700266
+ 7200c00c 000c0001 00000000 0005026e 73c078c0 0c000c00 01000000 00000704
+ 6e657773 c078c00c 000c0001 00000000 0019036e 73321261 67656e63 65667261
+ 6e636570 72657373 65c03fc0 0c000c00 01000000 00000704 6e657773 c0b4c00c
+ 000c0001 00000000 0019036e 73321261 67656e63 65667261 6e636570 72657373
+ 65c07cc0 0c000c00 01000000 00000704 6e657773 c0ecc00c 000c0001 00000000
+ 001a036e 73321361 67656e63 65667261 6e63652d 70726573 7365c03f c00c000c
+ 00010000 00000007 046e6577 73c124c0 0c000c00 01000000 00001a03 6e733213
+ 6167656e 63656672 616e6365 2d707265 737365c0 7cc00c00 0c000100 00000000
+ 07046e65 7773c15d c00c000c 00010000 00000011 036e7332 0a696d61 6765666f
+ 72756dc0 3fc00c00 0c000100 00000000 07046e65 7773c196 c00c000c 00010000
+ 00000014 036e7332 0a696d61 6765666f 72756d02 746dc07c c00c000c 00010000
+ 00000007 046e6577 73c1c6c0 0c000c00 01000000 00001203 6e73320b 6f6f682d
+ 6c61682d 6c6168c0 3fc00c00 0c000100 00000000 12036e73 320b6166 70736369
+ 656e6365 73c03fc0 0c000c00 01000000 00000d03 6e733206 61667064 6f63c03f
+ c00c000c 00010000 00000010 036e7332 09616670 2d6e6f74 6573c03f c00c000c
+ 00010000 00000011 036e7332 0a616670 2d646f6d 696e6fc0 3f023530 03313538
+ 07696e2d 61646472 04617270 61000002 00010007 e8fe0002 c0370235 30033135
+ 3807696e 2d616464 72046172 70610000 02000100 07e8fe00 06034e53 31c03bc0
+ 37000100 010002a2 fe00049e 32cc0403 4e5331c0 3b000100 010002a2 fe0004d0
+ dfa603.
+ +0.004644
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 036e7332 03616670 03636f6d 00000100 01.
+ sendto=29
+ +0.001410
+ sendto fd=4 addr=172.18.45.6:53
+ 31300100 00010000 00000000 026e7303 61667003 636f6d00 00010001.
+ sendto=28
+ +0.001075
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 046e6577 73036166 7003636f 6d000001 0001.
+ sendto=30
+ +0.001072
+ sendto fd=4 addr=172.18.45.6:53
+ 31320100 00010000 00000000 036e7332 03616670 02667200 00010001.
+ sendto=28
+ +0.001053
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 026e7303 61667002 66720000 010001.
+ sendto=27
+ +0.001065
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 046e6577 73036166 70026672 00000100 01.
+ sendto=29
+ +0.001063
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 036e7332 12616765 6e636566 72616e63 65707265
+ 73736503 636f6d00 00010001.
+ sendto=44
+ +0.001117
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 03636f6d 00000100 01.
+ sendto=45
+ +0.001230
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 036e7332 12616765 6e636566 72616e63 65707265
+ 73736502 66720000 010001.
+ sendto=43
+ +0.001352
+ sendto fd=4 addr=172.18.45.6:53
+ 31380100 00010000 00000000 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 02667200 00010001.
+ sendto=44
+ +0.001324
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 03636f6d 00000100 01.
+ sendto=45
+ +0.001336
+ sendto fd=4 addr=172.18.45.6:53
+ 313a0100 00010000 00000000 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 6503636f 6d000001 0001.
+ sendto=46
+ +0.001340
+ sendto fd=4 addr=172.18.45.6:53
+ 313b0100 00010000 00000000 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 02667200 00010001.
+ sendto=44
+ +0.001322
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 65026672 00000100 01.
+ sendto=45
+ +0.001312
+ sendto fd=4 addr=172.18.45.6:53
+ 313d0100 00010000 00000000 036e7332 0a696d61 6765666f 72756d03 636f6d00
+ 00010001.
+ sendto=36
+ +0.001330
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 046e6577 730a696d 61676566 6f72756d 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.001298
+ sendto fd=4 addr=172.18.45.6:53
+ 313f0100 00010000 00000000 036e7332 0a696d61 6765666f 72756d02 746d0266
+ 72000001 0001.
+ sendto=38
+ +0.001326
+ sendto fd=4 addr=172.18.45.6:53
+ 31400100 00010000 00000000 046e6577 730a696d 61676566 6f72756d 02746d02
+ 66720000 010001.
+ sendto=39
+ +0.001310
+ sendto fd=4 addr=172.18.45.6:53
+ 31410100 00010000 00000000 036e7332 0b6f6f68 2d6c6168 2d6c6168 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.001326
+ sendto fd=4 addr=172.18.45.6:53
+ 31420100 00010000 00000000 036e7332 0b616670 73636965 6e636573 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.001329
+ sendto fd=4 addr=172.18.45.6:53
+ 31430100 00010000 00000000 036e7332 06616670 646f6303 636f6d00 00010001.
+ sendto=32
+ +0.001283
+ sendto fd=4 addr=172.18.45.6:53
+ 31440100 00010000 00000000 036e7332 09616670 2d6e6f74 65730363 6f6d0000
+ 010001.
+ sendto=35
+ +0.001386
+ sendto fd=4 addr=172.18.45.6:53
+ 31450100 00010000 00000000 036e7332 0a616670 2d646f6d 696e6f03 636f6d00
+ 00010001.
+ sendto=36
+ +0.001512
+ read fd=5 buflen=739
+ read=EAGAIN
+ +0.000090
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.963304
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004077
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312f8180 00010001 000d000d 036e7332 03616670 03636f6d 00000100 01c00c00
+ 01000100 02813e00 049e32cc 04000002 00010007 e8df0014 014c0c52 4f4f542d
+ 53455256 45525303 4e455400 00000200 010007e8 df000401 4dc03a00 00020001
+ 0007e8df 00040149 c03a0000 02000100 07e8df00 040145c0 3a000002 00010007
+ e8df0004 0144c03a 00000200 010007e8 df000401 41c03a00 00020001 0007e8df
+ 00040148 c03a0000 02000100 07e8df00 040143c0 3a000002 00010007 e8df0004
+ 0147c03a 00000200 010007e8 df000401 46c03a00 00020001 0007e8df 00040142
+ c03a0000 02000100 07e8df00 04014ac0 3a000002 00010007 e8df0004 014bc03a
+ c0380001 00010009 3a5f0004 c620400c c0570001 00010009 3a5f0004 ca0c1b21
+ c0660001 00010009 3a5f0004 c0249411 c0750001 00010009 3a5f0004 c0cbe60a
+ c0840001 00010009 3a5f0004 80080a5a c0930001 00010009 3a5f0004 c6290004
+ c0a20001 00010009 3a5f0004 803f0235 c0b10001 00010009 3a5f0004 c021040c
+ c0c00001 00010009 3a5f0004 c0702404 c0cf0001 00010009 3a5f0004 c00505f1
+ c0de0001 00010009 3a5f0004 8009006b c0ed0001 00010009 3a5f0004 c629000a
+ c0fc0001 00010009 3a5f0004 c1000e81.
+ +0.001847
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000277
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.957103
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-40545
+ sendto fd=4 addr=172.18.45.6:53
+ 31300100 00010000 00000000 026e7303 61667003 636f6d00 00010001.
+ sendto=28
+ +0.000601
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 046e6577 73036166 7003636f 6d000001 0001.
+ sendto=30
+ +0.000404
+ sendto fd=4 addr=172.18.45.6:53
+ 31320100 00010000 00000000 036e7332 03616670 02667200 00010001.
+ sendto=28
+ +0.000424
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 026e7303 61667002 66720000 010001.
+ sendto=27
+ +0.000383
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 046e6577 73036166 70026672 00000100 01.
+ sendto=29
+ +0.000389
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 036e7332 12616765 6e636566 72616e63 65707265
+ 73736503 636f6d00 00010001.
+ sendto=44
+ +0.000446
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 03636f6d 00000100 01.
+ sendto=45
+ +0.000449
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 036e7332 12616765 6e636566 72616e63 65707265
+ 73736502 66720000 010001.
+ sendto=43
+ +0.000440
+ sendto fd=4 addr=172.18.45.6:53
+ 31380100 00010000 00000000 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 02667200 00010001.
+ sendto=44
+ +0.000441
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 03636f6d 00000100 01.
+ sendto=45
+ +0.000474
+ sendto fd=4 addr=172.18.45.6:53
+ 313a0100 00010000 00000000 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 6503636f 6d000001 0001.
+ sendto=46
+ +0.000451
+ sendto fd=4 addr=172.18.45.6:53
+ 313b0100 00010000 00000000 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 02667200 00010001.
+ sendto=44
+ +0.000440
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 65026672 00000100 01.
+ sendto=45
+ +0.000439
+ sendto fd=4 addr=172.18.45.6:53
+ 313d0100 00010000 00000000 036e7332 0a696d61 6765666f 72756d03 636f6d00
+ 00010001.
+ sendto=36
+ +0.000413
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 046e6577 730a696d 61676566 6f72756d 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.000416
+ sendto fd=4 addr=172.18.45.6:53
+ 313f0100 00010000 00000000 036e7332 0a696d61 6765666f 72756d02 746d0266
+ 72000001 0001.
+ sendto=38
+ +0.000442
+ sendto fd=4 addr=172.18.45.6:53
+ 31400100 00010000 00000000 046e6577 730a696d 61676566 6f72756d 02746d02
+ 66720000 010001.
+ sendto=39
+ +0.000418
+ sendto fd=4 addr=172.18.45.6:53
+ 31410100 00010000 00000000 036e7332 0b6f6f68 2d6c6168 2d6c6168 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.000412
+ sendto fd=4 addr=172.18.45.6:53
+ 31420100 00010000 00000000 036e7332 0b616670 73636965 6e636573 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.000413
+ sendto fd=4 addr=172.18.45.6:53
+ 31430100 00010000 00000000 036e7332 06616670 646f6303 636f6d00 00010001.
+ sendto=32
+ +0.000394
+ sendto fd=4 addr=172.18.45.6:53
+ 31440100 00010000 00000000 036e7332 09616670 2d6e6f74 65730363 6f6d0000
+ 010001.
+ sendto=35
+ +0.000403
+ sendto fd=4 addr=172.18.45.6:53
+ 31450100 00010000 00000000 036e7332 0a616670 2d646f6d 696e6f03 636f6d00
+ 00010001.
+ sendto=36
+ +0.000407
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.990501
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-09491
+ sendto fd=4 addr=172.18.45.6:53
+ 31300100 00010000 00000000 026e7303 61667003 636f6d00 00010001.
+ sendto=28
+ +0.000642
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 046e6577 73036166 7003636f 6d000001 0001.
+ sendto=30
+ +0.000399
+ sendto fd=4 addr=172.18.45.6:53
+ 31320100 00010000 00000000 036e7332 03616670 02667200 00010001.
+ sendto=28
+ +0.000385
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 026e7303 61667002 66720000 010001.
+ sendto=27
+ +0.000380
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 046e6577 73036166 70026672 00000100 01.
+ sendto=29
+ +0.000388
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 036e7332 12616765 6e636566 72616e63 65707265
+ 73736503 636f6d00 00010001.
+ sendto=44
+ +0.000443
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 03636f6d 00000100 01.
+ sendto=45
+ +0.000447
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 036e7332 12616765 6e636566 72616e63 65707265
+ 73736502 66720000 010001.
+ sendto=43
+ +0.000456
+ sendto fd=4 addr=172.18.45.6:53
+ 31380100 00010000 00000000 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 02667200 00010001.
+ sendto=44
+ +0.000438
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 03636f6d 00000100 01.
+ sendto=45
+ +0.000445
+ sendto fd=4 addr=172.18.45.6:53
+ 313a0100 00010000 00000000 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 6503636f 6d000001 0001.
+ sendto=46
+ +0.000447
+ sendto fd=4 addr=172.18.45.6:53
+ 313b0100 00010000 00000000 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 02667200 00010001.
+ sendto=44
+ +0.000437
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 65026672 00000100 01.
+ sendto=45
+ +0.000438
+ sendto fd=4 addr=172.18.45.6:53
+ 313d0100 00010000 00000000 036e7332 0a696d61 6765666f 72756d03 636f6d00
+ 00010001.
+ sendto=36
+ +0.000434
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 046e6577 730a696d 61676566 6f72756d 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.000416
+ sendto fd=4 addr=172.18.45.6:53
+ 313f0100 00010000 00000000 036e7332 0a696d61 6765666f 72756d02 746d0266
+ 72000001 0001.
+ sendto=38
+ +0.000415
+ sendto fd=4 addr=172.18.45.6:53
+ 31400100 00010000 00000000 046e6577 730a696d 61676566 6f72756d 02746d02
+ 66720000 010001.
+ sendto=39
+ +0.000416
+ sendto fd=4 addr=172.18.45.6:53
+ 31410100 00010000 00000000 036e7332 0b6f6f68 2d6c6168 2d6c6168 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.000412
+ sendto fd=4 addr=172.18.45.6:53
+ 31420100 00010000 00000000 036e7332 0b616670 73636965 6e636573 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.000414
+ sendto fd=4 addr=172.18.45.6:53
+ 31430100 00010000 00000000 036e7332 06616670 646f6303 636f6d00 00010001.
+ sendto=32
+ +0.000392
+ sendto fd=4 addr=172.18.45.6:53
+ 31440100 00010000 00000000 036e7332 09616670 2d6e6f74 65730363 6f6d0000
+ 010001.
+ sendto=35
+ +0.000425
+ sendto fd=4 addr=172.18.45.6:53
+ 31450100 00010000 00000000 036e7332 0a616670 2d646f6d 696e6f03 636f6d00
+ 00010001.
+ sendto=36
+ +0.000409
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.990522
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-235306
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31308580 00010001 00020002 026e7303 61667003 636f6d00 00010001 c00c0001
+ 00010001 51800004 9e32cc04 03616670 03636f6d 00000200 01000151 80000603
+ 6e7332c0 2cc02c00 02000100 01518000 06036e73 31c02cc0 3f000100 01000151
+ 8000049e 32cc04c0 51000100 01000151 800004d0 dfa603.
+ +0.000734
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000269
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.224825
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.179062
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31458580 00010001 00020002 036e7332 0a616670 2d646f6d 696e6f03 636f6d00
+ 00010001 c00c0001 00010001 51800004 9e32cc04 0a616670 2d646f6d 696e6f03
+ 636f6d00 00020001 00015180 0002c00c c0340002 00010001 51800006 036e7331
+ c034c00c 00010001 00015180 00049e32 cc04c05c 00010001 00015180 0004d0df
+ a603.
+ +0.000758
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000284
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.044721
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038932
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31448580 00010001 00020002 036e7332 09616670 2d6e6f74 65730363 6f6d0000
+ 010001c0 0c000100 01000151 8000049e 32cc0409 6166702d 6e6f7465 7303636f
+ 6d000002 00010001 51800002 c00cc033 00020001 00015180 0006036e 7331c033
+ c00c0001 00010001 51800004 9e32cc04 c05a0001 00010001 51800004 d0dfa603.
+ +0.000729
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000258
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.004802
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.399140
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313b8180 00010001 00020002 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 02667200 00010001 c00c0001 00010005 46000004 9e32cc04 13616765
+ 6e636566 72616e63 652d7072 65737365 02667200 00020001 00054600 0002c00c
+ c03c0002 00010005 46000006 036e7331 c03cc00c 00010001 00054600 00049e32
+ cc04c06c 00010001 00054600 0004d0df a603.
+ +0.000770
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000288
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.604604
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038862
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313e8580 00010001 00020002 046e6577 730a696d 61676566 6f72756d 03636f6d
+ 00000100 01c00c00 01000100 01518000 049e32cc 040a696d 61676566 6f72756d
+ 03636f6d 00000200 01000151 80000603 6e7332c0 35c03500 02000100 01518000
+ 06036e73 31c035c0 4f000100 01000151 8000049e 32cc04c0 61000100 01000151
+ 800004d0 dfa603.
+ +0.000714
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000248
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.564780
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-870685
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31368580 00010001 00020002 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 03636f6d 00000100 01c00c00 01000100 01518000 049e32cc 04126167
+ 656e6365 6672616e 63657072 65737365 03636f6d 00000200 01000151 80000603
+ 6e7332c0 3dc03d00 02000100 01518000 06036e73 31c03dc0 5f000100 01000151
+ 8000049e 32cc04c0 71000100 01000151 800004d0 dfa603.
+ +0.000749
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000248
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.434468
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038661
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31358580 00010001 00020002 036e7332 12616765 6e636566 72616e63 65707265
+ 73736503 636f6d00 00010001 c00c0001 00010001 51800004 9e32cc04 12616765
+ 6e636566 72616e63 65707265 73736503 636f6d00 00020001 00015180 0002c00c
+ c03c0002 00010001 51800006 036e7331 c03cc00c 00010001 00015180 00049e32
+ cc04c06c 00010001 00015180 0004d0df a603.
+ +0.000722
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000266
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.394819
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.049154
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31378180 00010001 00020002 036e7332 12616765 6e636566 72616e63 65707265
+ 73736502 66720000 010001c0 0c000100 01000546 0000049e 32cc0412 6167656e
+ 63656672 616e6365 70726573 73650266 72000002 00010005 46000002 c00cc03b
+ 00020001 00054600 0006036e 7331c03b c00c0001 00010005 46000004 9e32cc04
+ c06a0001 00010005 46000004 d0dfa603.
+ +0.000707
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000243
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.344715
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039336
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31398580 00010001 00020002 036e7332 13616765 6e636566 72616e63 652d7072
+ 65737365 03636f6d 00000100 01c00c00 01000100 01518000 049e32cc 04136167
+ 656e6365 6672616e 63652d70 72657373 6503636f 6d000002 00010001 51800002
+ c00cc03d 00020001 00015180 0006036e 7331c03d c00c0001 00010001 51800004
+ 9e32cc04 c06e0001 00010001 51800004 d0dfa603.
+ +0.000695
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000267
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.304417
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.078532
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31318580 00010001 00020002 046e6577 73036166 7003636f 6d000001 0001c00c
+ 00010001 00015180 00049e32 cc040361 66700363 6f6d0000 02000100 01518000
+ 06036e73 32c02ec0 2e000200 01000151 80000603 6e7331c0 2ec04100 01000100
+ 01518000 049e32cc 04c05300 01000100 01518000 04d0dfa6 03.
+ +0.000600
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000235
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.225050
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039210
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31328180 00010001 00020002 036e7332 03616670 02667200 00010001 c00c0001
+ 00010005 46000004 9e32cc04 03616670 02667200 00020001 00054600 0002c00c
+ c02c0002 00010005 46000006 036e7331 c02cc00c 00010001 00054600 00049e32
+ cc04c04c 00010001 00054600 0004d0df a603.
+ +0.000589
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000236
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.185015
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.159098
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31388180 00010001 00010001 046e6577 73126167 656e6365 6672616e 63657072
+ 65737365 02667200 00010001 c00c0001 00010000 00000004 9e32cc04 12616765
+ 6e636566 72616e63 65707265 73736502 66720000 02000100 00000000 06036e73
+ 31c03cc0 5d000100 01000000 000004d0 dfa603.
+ +0.000578
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000253
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.025086
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.025066
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=0.000020
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009997
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 026e7303 61667002 66720000 010001.
+ sendto=27
+ +0.000458
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 046e6577 73036166 70026672 00000100 01.
+ sendto=29
+ +0.000387
+ sendto fd=4 addr=172.18.45.6:53
+ 313a0100 00010000 00000000 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 6503636f 6d000001 0001.
+ sendto=46
+ +0.000441
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 046e6577 73136167 656e6365 6672616e 63652d70
+ 72657373 65026672 00000100 01.
+ sendto=45
+ +0.000438
+ sendto fd=4 addr=172.18.45.6:53
+ 313d0100 00010000 00000000 036e7332 0a696d61 6765666f 72756d03 636f6d00
+ 00010001.
+ sendto=36
+ +0.000561
+ sendto fd=4 addr=172.18.45.6:53
+ 313f0100 00010000 00000000 036e7332 0a696d61 6765666f 72756d02 746d0266
+ 72000001 0001.
+ sendto=38
+ +0.000423
+ sendto fd=4 addr=172.18.45.6:53
+ 31400100 00010000 00000000 046e6577 730a696d 61676566 6f72756d 02746d02
+ 66720000 010001.
+ sendto=39
+ +0.000446
+ sendto fd=4 addr=172.18.45.6:53
+ 31410100 00010000 00000000 036e7332 0b6f6f68 2d6c6168 2d6c6168 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.000418
+ sendto fd=4 addr=172.18.45.6:53
+ 31420100 00010000 00000000 036e7332 0b616670 73636965 6e636573 03636f6d
+ 00000100 01.
+ sendto=37
+ +0.000584
+ sendto fd=4 addr=172.18.45.6:53
+ 31430100 00010000 00000000 036e7332 06616670 646f6303 636f6d00 00010001.
+ sendto=32
+ +0.000560
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.995284
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000226
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313d8180 00010001 00020002 036e7332 0a696d61 6765666f 72756d03 636f6d00
+ 00010001 c00c0001 00010001 409f0004 9e32cc04 0a696d61 6765666f 72756d03
+ 434f4d00 00020001 0001517f 0002c00c c0340002 00010001 517f0006 036e7331
+ c034c00c 00010001 0001409f 00049e32 cc04c05c 00010001 0001517f 0004d0df
+ a603.
+ +0.000582
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000266
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.994210
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.168328
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31338180 00010001 00010001 026e7303 61667002 66720000 010001c0 0c000100
+ 01000000 0000049e 32cc0403 61667002 66720000 02000100 00000000 06036e73
+ 31c02bc0 3d000100 01000000 000004d0 dfa603.
+ +0.000470
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000252
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=1.825160
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.229075
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31438580 00010000 00010000 036e7332 06616670 646f6303 636f6d00 00010001
+ 06616670 646f6303 636f6d00 00060001 00015180 002c0364 6e730876 6963746f
+ 69726502 66720004 726f6f74 c03a7727 65890000 70800000 1c20004f 1a000001
+ 5180.
+ +0.000492
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.001505
+ close fd=4
+ close=OK
+ +0.000260
+ close fd=5
+ close=OK
+ +0.000401
diff --git a/regress/case-norecurse3.err b/regress/case-norecurse3.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-norecurse3.err
diff --git a/regress/case-norecurse3.out b/regress/case-norecurse3.out
new file mode 100644
index 0000000..dfe31a2
--- /dev/null
+++ b/regress/case-norecurse3.out
@@ -0,0 +1,32 @@
+adns debug: using nameserver 172.18.45.6
+2.203.156.195.in-addr.arpa1 flags 0 type 1 A(-) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 2 NS(raw) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 5 CNAME(-) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 6 SOA(raw) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 12 PTR(raw) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 13 HINFO(-) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 15 MX(raw) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 16 TXT(-) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 17 RP(raw) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 65537 A(addr) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 65538 NS(+addr) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 65548 PTR(checked) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 65551 MX(+addr) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 131078 SOA(822) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type 131089 RP(822) submitted
+2.203.156.195.in-addr.arpa1 flags 0 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+2.203.156.195.in-addr.arpa1 flags 0 type A(-): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type RP(822): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type SOA(822): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type MX(+addr): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type NS(+addr): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type A(addr): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type RP(raw): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type TXT(-): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type MX(raw): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type HINFO(-): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type PTR(raw): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type SOA(raw): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type CNAME(-): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+2.203.156.195.in-addr.arpa1 flags 0 type NS(raw): No such domain; nrrs=0; cname=$; owner=$; ttl=86400
+rc=0
diff --git a/regress/case-norecurse3.sys b/regress/case-norecurse3.sys
new file mode 100644
index 0000000..3c666ac
--- /dev/null
+++ b/regress/case-norecurse3.sys
@@ -0,0 +1,488 @@
+adnstest default -0x416
+2.203.156.195.in-addr.arpa1
+ start 939764258.086555
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000189
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000054
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000041
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000100 01.
+ sendto=45
+ +0.002044
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000133
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000200 01.
+ sendto=45
+ +0.001173
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000092
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000500 01.
+ sendto=45
+ +0.001197
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000095
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000600 01.
+ sendto=45
+ +0.001228
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000095
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000c00 01.
+ sendto=45
+ +0.001194
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000095
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000d00 01.
+ sendto=45
+ +0.001205
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000099
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000f00 01.
+ sendto=45
+ +0.001196
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000104
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001000 01.
+ sendto=45
+ +0.001186
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000122
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001100 01.
+ sendto=45
+ +0.001225
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000104
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000100 01.
+ sendto=45
+ +0.001179
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000112
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000200 01.
+ sendto=45
+ +0.001344
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.001314
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000113
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000f00 01.
+ sendto=45
+ +0.001214
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000118
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000600 01.
+ sendto=45
+ +0.001221
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000120
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001100 01.
+ sendto=45
+ +0.001203
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000129
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.979346
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-26085
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.005431
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.009976
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000100 01.
+ sendto=45
+ +0.000545
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000200 01.
+ sendto=45
+ +0.000472
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000500 01.
+ sendto=45
+ +0.000438
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000600 01.
+ sendto=45
+ +0.000482
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000c00 01.
+ sendto=45
+ +0.000001
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000861
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008517
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000d00 01.
+ sendto=45
+ +0.000438
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000f00 01.
+ sendto=45
+ +0.000454
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001000 01.
+ sendto=45
+ +0.000434
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001100 01.
+ sendto=45
+ +0.000433
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000100 01.
+ sendto=45
+ +0.000435
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000200 01.
+ sendto=45
+ +0.000829
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000488
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000f00 01.
+ sendto=45
+ +0.000457
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000600 01.
+ sendto=45
+ +0.000430
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001100 01.
+ sendto=45
+ +0.000001
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.985143
+ select=0 rfds=[] wfds=[] efds=[]
+ +1.985166
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000100 01.
+ sendto=45
+ +0.000564
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000200 01.
+ sendto=45
+ +0.000441
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000500 01.
+ sendto=45
+ +0.000455
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000600 01.
+ sendto=45
+ +0.000482
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000145
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000c00 01.
+ sendto=45
+ +0.000448
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.007898
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.008039
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000d00 01.
+ sendto=45
+ +0.000434
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000f00 01.
+ sendto=45
+ +0.000431
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001000 01.
+ sendto=45
+ +0.000454
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001100 01.
+ sendto=45
+ +0.000434
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000100 01.
+ sendto=45
+ +0.000434
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000200 01.
+ sendto=45
+ +0.000915
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000268
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.006750
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000f00 01.
+ sendto=45
+ +0.000431
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000600 01.
+ sendto=45
+ +0.000461
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001100 01.
+ sendto=45
+ +0.000432
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.978249
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.291904
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000100 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000689
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000167
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.685489
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.038802
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001100 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000514
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000165
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.646008
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.099281
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000600 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000520
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000145
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.546062
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039368
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000f00 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000535
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000134
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.506025
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.079316
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000200 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000538
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000132
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.426039
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039291
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000100 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000502
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000132
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.386114
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039825
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001100 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000500
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000131
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.345658
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039138
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00001000 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000498
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000132
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.305890
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039192
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000f00 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000495
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000130
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.266073
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039369
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000d00 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000494
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000149
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.226061
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039356
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000c00 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000493
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000130
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.186082
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039358
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000600 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000490
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000157
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.146077
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039772
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000500 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000496
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000131
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.105678
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-960894
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208583 00010000 00010000 01320332 30330331 35360331 39350769 6e2d6164
+ 64720561 72706131 00000200 01000006 00010001 5180003e 01410c52 4f4f542d
+ 53455256 45525303 4e455400 0a686f73 746d6173 74657208 696e7465 726e6963
+ c0477727 dd100000 07080000 03840009 3a800001 5180.
+ +0.000487
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000143
+ close fd=4
+ close=OK
+ +0.000235
diff --git a/regress/case-norm.err b/regress/case-norm.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-norm.err
diff --git a/regress/case-norm.out b/regress/case-norm.out
new file mode 100644
index 0000000..6953cea
--- /dev/null
+++ b/regress/case-norm.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.18.45.6
+chiark.greenend.org.uk flags 0 type 1 A(-) submitted
+chiark.greenend.org.uk flags 0 type A(-): OK; nrrs=1; cname=$; owner=$; ttl=86400
+ 195.224.76.132
+rc=0
diff --git a/regress/case-norm.sys b/regress/case-norm.sys
new file mode 100644
index 0000000..8c87430
--- /dev/null
+++ b/regress/case-norm.sys
@@ -0,0 +1,34 @@
+adnstest default
+:0x0|1 chiark.greenend.org.uk
+ start 912888966.802483
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000204
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000670
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000072
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000579
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999421
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.006414
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d41.
+ +0.000874
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000179
+ close fd=4
+ close=OK
+ +0.000184
diff --git a/regress/case-owner.err b/regress/case-owner.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-owner.err
diff --git a/regress/case-owner.out b/regress/case-owner.out
new file mode 100644
index 0000000..2631740
--- /dev/null
+++ b/regress/case-owner.out
@@ -0,0 +1,36 @@
+adns debug: using nameserver 172.18.45.6
+chiark.greenend.org.uk flags 4 type 1 A(-) submitted
+chiark.greenend.org.uk flags 4 type 2 NS(raw) submitted
+chiark.greenend.org.uk flags 4 type 5 CNAME(-) submitted
+chiark.greenend.org.uk flags 4 type 6 SOA(raw) submitted
+chiark.greenend.org.uk flags 4 type 12 PTR(raw) submitted
+chiark.greenend.org.uk flags 4 type 13 HINFO(-) submitted
+chiark.greenend.org.uk flags 4 type 15 MX(raw) submitted
+chiark.greenend.org.uk flags 4 type 16 TXT(-) submitted
+chiark.greenend.org.uk flags 4 type 17 RP(raw) submitted
+chiark.greenend.org.uk flags 4 type 65537 A(addr) submitted
+chiark.greenend.org.uk flags 4 type 65538 NS(+addr) submitted
+chiark.greenend.org.uk flags 4 type 65548 PTR(checked) submitted
+chiark.greenend.org.uk flags 4 type 65551 MX(+addr) submitted
+chiark.greenend.org.uk flags 4 type 131078 SOA(822) submitted
+chiark.greenend.org.uk flags 4 type 131089 RP(822) submitted
+chiark.greenend.org.uk flags 4 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=604800
+chiark.greenend.org.uk flags 4 type A(-): OK; nrrs=1; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+ 195.224.76.132
+chiark.greenend.org.uk flags 4 type NS(raw): No such data; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+chiark.greenend.org.uk flags 4 type CNAME(-): No such data; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+chiark.greenend.org.uk flags 4 type SOA(raw): No such data; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+chiark.greenend.org.uk flags 4 type PTR(raw): No such data; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+chiark.greenend.org.uk flags 4 type HINFO(-): No such data; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+chiark.greenend.org.uk flags 4 type MX(raw): OK; nrrs=1; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+ 5 permutation-city.greenend.org.uk
+chiark.greenend.org.uk flags 4 type TXT(-): No such data; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+chiark.greenend.org.uk flags 4 type RP(raw): No such data; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+chiark.greenend.org.uk flags 4 type A(addr): OK; nrrs=1; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+ INET 195.224.76.132
+chiark.greenend.org.uk flags 4 type NS(+addr): No such data; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+chiark.greenend.org.uk flags 4 type MX(+addr): OK; nrrs=1; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+ 5 permutation-city.greenend.org.uk ok 0 ok "OK" ( INET 195.224.76.134 )
+chiark.greenend.org.uk flags 4 type SOA(822): No such data; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+chiark.greenend.org.uk flags 4 type RP(822): No such data; nrrs=0; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+rc=0
diff --git a/regress/case-owner.sys b/regress/case-owner.sys
new file mode 100644
index 0000000..f0432b7
--- /dev/null
+++ b/regress/case-owner.sys
@@ -0,0 +1,267 @@
+adnstest default -0x400
+4/chiark.greenend.org.uk
+ start 933206012.504679
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000275
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000094
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000073
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.001715
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00020001.
+ sendto=40
+ +0.001142
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00050001.
+ sendto=40
+ +0.001143
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00060001.
+ sendto=40
+ +0.001213
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 000c0001.
+ sendto=40
+ +0.001183
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 000d0001.
+ sendto=40
+ +0.001273
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 000f0001.
+ sendto=40
+ +0.001188
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00100001.
+ sendto=40
+ +0.001185
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00110001.
+ sendto=40
+ +0.001192
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.001315
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00020001.
+ sendto=40
+ +0.002405
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 000f0001.
+ sendto=40
+ +0.001162
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00060001.
+ sendto=40
+ +0.001234
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00110001.
+ sendto=40
+ +0.001320
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981330
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000364
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d41.
+ +0.001489
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010000 00010000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00020001 08677265 656e656e 64036f72 6702756b 00000600 01000151
+ 80002602 6e73c00c 0a686f73 746d6173 746572c0 2877276a 9c000070 8000001c
+ 2000093a 80000151 80.
+ +0.001437
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000394
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.980503
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001013
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010000 00010000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00050001 08677265 656e656e 64036f72 6702756b 00000600 01000151
+ 80002602 6e73c00c 0a686f73 746d6173 746572c0 2877276a 9c000070 8000001c
+ 2000093a 80000151 80.
+ +0.000770
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000496
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.979367
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001726
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228580 00010000 00010000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00060001 08677265 656e656e 64036f72 6702756b 00000600 01000151
+ 80002602 6e73c00c 0a686f73 746d6173 746572c0 2877276a 9c000070 8000001c
+ 2000093a 80000151 80.
+ +0.000812
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000408
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.977634
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002560
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238580 00010000 00010000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 000c0001 08677265 656e656e 64036f72 6702756b 00000600 01000151
+ 80002602 6e73c00c 0a686f73 746d6173 746572c0 2877276a 9c000070 8000001c
+ 2000093a 80000151 80.
+ +0.000777
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000403
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.975077
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002559
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248580 00010000 00010000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 000d0001 08677265 656e656e 64036f72 6702756b 00000600 01000151
+ 80002602 6e73c00c 0a686f73 746d6173 746572c0 2877276a 9c000070 8000001c
+ 2000093a 80000151 80.
+ +0.000960
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000412
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.972419
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004697
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258580 00010001 00020003 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 000f0001 c00c000f 00010001 51800024 00051070 65726d75 74617469
+ 6f6e2d63 69747908 67726565 6e656e64 036f7267 02756b00 c0470002 00010001
+ 51800011 036e7330 0a72656c 61746976 697479c0 47c04700 02000100 01518000
+ 06036e73 31c068c0 36000100 01000151 800004c3 e04c86c0 64000100 01000151
+ 800004ac 122d06c0 81000100 01000151 800004ac 122d41.
+ +0.001256
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000769
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.966885
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001768
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268580 00010000 00010000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00100001 08677265 656e656e 64036f72 6702756b 00000600 01000151
+ 80002602 6e73c00c 0a686f73 746d6173 746572c0 2877276a 9c000070 8000001c
+ 2000093a 80000151 80.
+ +0.001528
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000443
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.964331
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001739
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278580 00010000 00010000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00110001 08677265 656e656e 64036f72 6702756b 00000600 01000151
+ 80002602 6e73c00c 0a686f73 746d6173 746572c0 2877276a 9c000070 8000001c
+ 2000093a 80000151 80.
+ +0.000776
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000429
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.962579
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004212
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d41.
+ +0.001050
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000589
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.958043
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002059
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8580 00010000 00010000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00020001 08677265 656e656e 64036f72 6702756b 00000600 01000151
+ 80002602 6e73c00c 0a686f73 746d6173 746572c0 2877276a 9c000070 8000001c
+ 2000093a 80000151 80.
+ +0.000776
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.004206
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.953407
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004872
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8580 00010001 00020003 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 000f0001 c00c000f 00010001 51800024 00051070 65726d75 74617469
+ 6f6e2d63 69747908 67726565 6e656e64 036f7267 02756b00 c0470002 00010001
+ 51800011 036e7330 0a72656c 61746976 697479c0 47c04700 02000100 01518000
+ 06036e73 31c068c0 36000100 01000151 800004c3 e04c86c0 64000100 01000151
+ 800004ac 122d06c0 81000100 01000151 800004ac 122d41.
+ +0.001252
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000950
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.947495
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001580
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8580 00010000 00010000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00060001 08677265 656e656e 64036f72 6702756b 00000600 01000151
+ 80002602 6e73c00c 0a686f73 746d6173 746572c0 2877276a 9c000070 8000001c
+ 2000093a 80000151 80.
+ +0.000780
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000401
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.945968
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002592
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8580 00010000 00010000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00110001 08677265 656e656e 64036f72 6702756b 00000600 01000151
+ 80002602 6e73c00c 0a686f73 746d6173 746572c0 2877276a 9c000070 8000001c
+ 2000093a 80000151 80.
+ +0.000794
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000441
+ close fd=4
+ close=OK
+ +0.000387
diff --git a/regress/case-poll.err b/regress/case-poll.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-poll.err
diff --git a/regress/case-poll.out b/regress/case-poll.out
new file mode 100644
index 0000000..6953cea
--- /dev/null
+++ b/regress/case-poll.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.18.45.6
+chiark.greenend.org.uk flags 0 type 1 A(-) submitted
+chiark.greenend.org.uk flags 0 type A(-): OK; nrrs=1; cname=$; owner=$; ttl=86400
+ 195.224.76.132
+rc=0
diff --git a/regress/case-poll.sys b/regress/case-poll.sys
new file mode 100644
index 0000000..1c0e8af
--- /dev/null
+++ b/regress/case-poll.sys
@@ -0,0 +1,34 @@
+adnstest default -,p
+:0x0|1 chiark.greenend.org.uk
+ start 931719947.391142
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000208
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000087
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000066
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000592
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=1 fds=[{fd=4, events=POLLIN, revents=POLLIN}]
+ +0.006530
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d41.
+ +0.001044
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000211
+ close fd=4
+ close=OK
+ +0.000248
diff --git a/regress/case-polltimeout.err b/regress/case-polltimeout.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-polltimeout.err
diff --git a/regress/case-polltimeout.out b/regress/case-polltimeout.out
new file mode 100644
index 0000000..a3f7495
--- /dev/null
+++ b/regress/case-polltimeout.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.36
+chiark.greenend.org.uk flags 0 type 1 A(-) submitted
+chiark.greenend.org.uk flags 0 type A(-): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+rc=0
diff --git a/regress/case-polltimeout.sys b/regress/case-polltimeout.sys
new file mode 100644
index 0000000..ca5ce03
--- /dev/null
+++ b/regress/case-polltimeout.sys
@@ -0,0 +1,135 @@
+adnstest noserver -,p
+:0x0|1 chiark.greenend.org.uk
+ start 931719968.733439
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000199
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000087
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000067
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000790
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009031
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000436
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009093
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000519
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.008993
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000500
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009010
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000486
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009050
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000485
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009014
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000485
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009045
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000451
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009050
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000483
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009042
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000433
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009083
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000521
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009017
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000442
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009058
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000510
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009012
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000436
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.009085
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000514
+ poll fds=[{fd=4, events=POLLIN, revents=0}] timeout=2000
+ poll=0 fds=[{fd=4, events=POLLIN, revents=0}]
+ +2.008998
+ close fd=4
+ close=OK
+ +0.000302
diff --git a/regress/case-ptr-aaaa-caps.err b/regress/case-ptr-aaaa-caps.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-ptr-aaaa-caps.err
diff --git a/regress/case-ptr-aaaa-caps.out b/regress/case-ptr-aaaa-caps.out
new file mode 100644
index 0000000..1cacfc2
--- /dev/null
+++ b/regress/case-ptr-aaaa-caps.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.18.45.6
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.D.1.0.8.A.B.0.1.0.0.2.IP6.ARPA flags 0 type 65548 PTR(checked) submitted
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.D.1.0.8.A.B.0.1.0.0.2.IP6.ARPA flags 0 type PTR(checked): OK; nrrs=1; cname=$; owner=$; ttl=13516
+ stratocaster.colo.distorted.org.uk
+rc=0
diff --git a/regress/case-ptr-aaaa-caps.sys b/regress/case-ptr-aaaa-caps.sys
new file mode 100644
index 0000000..8ff0db9
--- /dev/null
+++ b/regress/case-ptr-aaaa-caps.sys
@@ -0,0 +1,73 @@
+./adnstest default
+:0x10000|12 4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.D.1.0.8.A.B.0.1.0.0.2.IP6.ARPA
+ start 1406162686.218685
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000153
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000069
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000058
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390144 01310130 01380141
+ 01420130 01310130 01300132 03495036 04415250 4100000c 0001.
+ sendto=90
+ +0.000569
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999431
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.227524
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010001 00040008 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390144 01310130 01380141
+ 01420130 01310130 01300132 03495036 04415250 4100000c 0001c00c 000c0001
+ 000034cc 00240c73 74726174 6f636173 74657204 636f6c6f 09646973 746f7274
+ 6564036f 72670275 6b00c034 00020001 000034cc 000c0970 72656369 73696f6e
+ c078c034 00020001 000034cc 00090672 61646975 73c078c0 34000200 01000034
+ cc000a07 76616d70 697265c0 78c03400 02000100 0034cc00 0d0a7465 6c656361
+ 73746572 c078c0ae 00010001 000034cc 00043e31 cc92c0ae 001c0001 000034cc
+ 00102001 04701f09 1b980000 00000000 0002c0c3 00010001 000034cc 00043e31
+ cc96c0c3 001c0001 000034cc 00102001 04701f09 1b980000 00000000 0006c096
+ 00010001 000034cc 0004d40d c646c096 001c0001 000034cc 00102001 0ba80000
+ 01d90000 00000000 0006c0d9 00010001 000034cc 0004d40d c647c0d9 001c0001
+ 000034cc 00102001 0ba80000 01d90000 00000000 0007.
+ +0.000594
+ sendto fd=6 addr=172.18.45.6:53
+ 31200100 00010000 00000000 0c737472 61746f63 61737465 7204636f 6c6f0964
+ 6973746f 72746564 036f7267 02756b00 001c0001.
+ sendto=52
+ +0.000187
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000064
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999155
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.002970
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010001 0006000c 0c737472 61746f63 61737465 7204636f 6c6f0964
+ 6973746f 72746564 036f7267 02756b00 001c0001 c00c001c 00010000 34cc0010
+ 20010ba8 01d90002 00000000 00000004 c01e0002 00010000 34cc000f 09707265
+ 63697369 6f6e026e 73c01ec0 1e000200 01000034 cc000906 72616469 7573c066
+ c01e0002 00010000 34cc0012 0f6d7974 6869632d 62656173 74732d32 c066c01e
+ 00020001 000034cc 000d0a74 656c6563 61737465 72c066c0 1e000200 01000034
+ cc00120f 6d797468 69632d62 65617374 732d31c0 66c01e00 02000100 0034cc00
+ 09066368 6961726b c066c0e1 00010001 000034cc 0004d40d c5e5c0e1 001c0001
+ 000034cc 00102001 0ba801e3 00000000 00000000 0000c077 00010001 000034cc
+ 00043e31 cc92c077 001c0001 000034cc 00102001 04701f09 1b980000 00000000
+ 0002c05c 00010001 000034cc 0004d40d c646c05c 001c0001 000034cc 00102001
+ 0ba80000 01d90000 00000000 0006c0aa 00010001 000034cc 0004d40d c647c0aa
+ 001c0001 000034cc 00102001 0ba80000 01d90000 00000000 0007c0c3 00010001
+ 000034cc 00044538 adbec0c3 001c0001 000034cc 00102600 3c000000 0000f03c
+ 91fffe96 beacc08c 00010001 000034cc 00045d5d 8043c08c 001c0001 000034cc
+ 00102a00 10980000 00801000 00000000 0010.
+ +0.000940
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000110
+ close fd=6
+ close=OK
+ +0.000199
diff --git a/regress/case-ptr-aaaa-check.err b/regress/case-ptr-aaaa-check.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-ptr-aaaa-check.err
diff --git a/regress/case-ptr-aaaa-check.out b/regress/case-ptr-aaaa-check.out
new file mode 100644
index 0000000..b2c9af8
--- /dev/null
+++ b/regress/case-ptr-aaaa-check.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.29.199.224
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa flags 0 type 65548 PTR(checked) submitted
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa flags 0 type PTR(checked): OK; nrrs=1; cname=$; owner=$; ttl=14400
+ stratocaster.distorted.org.uk
+rc=0
diff --git a/regress/case-ptr-aaaa-check.sys b/regress/case-ptr-aaaa-check.sys
new file mode 100644
index 0000000..68e453d
--- /dev/null
+++ b/regress/case-ptr-aaaa-check.sys
@@ -0,0 +1,68 @@
+./adnstest distorted
+:0x10000|12 4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa
+ start 1401919115.064959
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000064
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000031
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000027
+ sendto fd=6 addr=172.29.199.224:53
+ 311f0100 00010000 00000000 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390164 01310130 01380161
+ 01620130 01310130 01300132 03697036 04617270 6100000c 0001.
+ sendto=90
+ +0.000266
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999734
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.003844
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 311f8580 00010001 00040008 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390164 01310130 01380161
+ 01620130 01310130 01300132 03697036 04617270 6100000c 0001c00c 000c0001
+ 00003840 001f0c73 74726174 6f636173 74657209 64697374 6f727465 64036f72
+ 6702756b 00c03400 02000100 00384000 0c097072 65636973 696f6ec0 73c03400
+ 02000100 00384000 09067261 64697573 c073c034 00020001 00003840 000d0a74
+ 656c6563 61737465 72c073c0 34000200 01000038 40000a07 76616d70 697265c0
+ 73c0a900 01000100 00384000 04ac1dc7 01c0a900 1c000100 00384000 10200104
+ 70974000 01000000 00000000 01c0d700 01000100 00384000 04ac1dc7 05c0d700
+ 1c000100 00384000 10200104 70974000 01000000 00000000 05c09100 01000100
+ 00384000 04ac1dc7 b2c09100 1c000100 00384000 1020010b a801d900 02000000
+ 00000000 02c0be00 01000100 00384000 04ac1dc7 b3c0be00 1c000100 00384000
+ 1020010b a801d900 02000000 00000000 03.
+ +0.000334
+ sendto fd=6 addr=172.29.199.224:53
+ 31200100 00010000 00000000 0c737472 61746f63 61737465 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000139
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000032
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999495
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.001799
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31208580 00010001 00040008 0c737472 61746f63 61737465 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010ba801
+ d9000200 00000000 000004c0 19000200 01000038 40000d07 76616d70 69726502
+ 6e73c019 c0190002 00010000 3840000d 0a74656c 65636173 746572c0 5fc01900
+ 02000100 00384000 0c097072 65636973 696f6ec0 5fc01900 02000100 00384000
+ 09067261 64697573 c05fc0a1 00010001 00003840 0004ac1d c701c0a1 001c0001
+ 00003840 00102001 04709740 00010000 00000000 0001c057 00010001 00003840
+ 0004ac1d c705c057 001c0001 00003840 00102001 04709740 00010000 00000000
+ 0005c089 00010001 00003840 0004ac1d c7b2c089 001c0001 00003840 00102001
+ 0ba801d9 00020000 00000000 0002c070 00010001 00003840 0004ac1d c7b3c070
+ 001c0001 00003840 00102001 0ba801d9 00020000 00000000 0003.
+ +0.000284
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000046
+ close fd=6
+ close=OK
+ +0.000075
diff --git a/regress/case-ptr-aaaa-mismatch.err b/regress/case-ptr-aaaa-mismatch.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-ptr-aaaa-mismatch.err
diff --git a/regress/case-ptr-aaaa-mismatch.out b/regress/case-ptr-aaaa-mismatch.out
new file mode 100644
index 0000000..04f1f2b
--- /dev/null
+++ b/regress/case-ptr-aaaa-mismatch.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.29.199.224
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.b.d.0.1.0.0.2.ip6.arpa flags 0 type 65548 PTR(checked) submitted
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.b.d.0.1.0.0.2.ip6.arpa flags 0 type PTR(checked): Inconsistent resource records in DNS; nrrs=0; cname=$; owner=$; ttl=14400
+rc=0
diff --git a/regress/case-ptr-aaaa-mismatch.sys b/regress/case-ptr-aaaa-mismatch.sys
new file mode 100644
index 0000000..360509f
--- /dev/null
+++ b/regress/case-ptr-aaaa-mismatch.sys
@@ -0,0 +1,68 @@
+./adnstest distorted
+:0x10000|12 4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.b.d.0.1.0.0.2.ip6.arpa
+ start 1401919322.902230
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000061
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000031
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000026
+ sendto fd=6 addr=172.29.199.224:53
+ 311f0100 00010000 00000000 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390164 01310130 01380162
+ 01640130 01310130 01300132 03697036 04617270 6100000c 0001.
+ sendto=90
+ +0.000410
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999590
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.003725
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 311f8580 00010001 00040008 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390164 01310130 01380162
+ 01640130 01310130 01300132 03697036 04617270 6100000c 0001c00c 000c0001
+ 00003840 001f0c73 74726174 6f636173 74657209 64697374 6f727465 64036f72
+ 6702756b 00c03400 02000100 00384000 0c097072 65636973 696f6ec0 73c03400
+ 02000100 00384000 0d0a7465 6c656361 73746572 c073c034 00020001 00003840
+ 00090672 61646975 73c073c0 34000200 01000038 40000a07 76616d70 697265c0
+ 73c0c200 01000100 00384000 04ac1dc7 01c0c200 1c000100 00384000 10200104
+ 70974000 01000000 00000000 01c0d700 01000100 00384000 04ac1dc7 05c0d700
+ 1c000100 00384000 10200104 70974000 01000000 00000000 05c09100 01000100
+ 00384000 04ac1dc7 b2c09100 1c000100 00384000 1020010b a801d900 02000000
+ 00000000 02c0a900 01000100 00384000 04ac1dc7 b3c0a900 1c000100 00384000
+ 1020010b a801d900 02000000 00000000 03.
+ +0.000340
+ sendto fd=6 addr=172.29.199.224:53
+ 31200100 00010000 00000000 0c737472 61746f63 61737465 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000244
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000035
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999381
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.001587
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31208580 00010001 00040008 0c737472 61746f63 61737465 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010ba801
+ d9000200 00000000 000004c0 19000200 01000038 40000c06 72616469 7573026e
+ 73c019c0 19000200 01000038 40000a07 76616d70 697265c0 5ec01900 02000100
+ 00384000 0c097072 65636973 696f6ec0 5ec01900 02000100 00384000 0d0a7465
+ 6c656361 73746572 c05ec057 00010001 00003840 0004ac1d c701c057 001c0001
+ 00003840 00102001 04709740 00010000 00000000 0001c06f 00010001 00003840
+ 0004ac1d c705c06f 001c0001 00003840 00102001 04709740 00010000 00000000
+ 0005c085 00010001 00003840 0004ac1d c7b2c085 001c0001 00003840 00102001
+ 0ba801d9 00020000 00000000 0002c09d 00010001 00003840 0004ac1d c7b3c09d
+ 001c0001 00003840 00102001 0ba801d9 00020000 00000000 0003.
+ +0.000289
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000048
+ close fd=6
+ close=OK
+ +0.000546
diff --git a/regress/case-ptr-aaaa-plain.err b/regress/case-ptr-aaaa-plain.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-ptr-aaaa-plain.err
diff --git a/regress/case-ptr-aaaa-plain.out b/regress/case-ptr-aaaa-plain.out
new file mode 100644
index 0000000..63e72ad
--- /dev/null
+++ b/regress/case-ptr-aaaa-plain.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.29.199.224
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa flags 0 type 12 PTR(raw) submitted
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa flags 0 type PTR(raw): OK; nrrs=1; cname=$; owner=$; ttl=14400
+ stratocaster.distorted.org.uk
+rc=0
diff --git a/regress/case-ptr-aaaa-plain.sys b/regress/case-ptr-aaaa-plain.sys
new file mode 100644
index 0000000..343cffc
--- /dev/null
+++ b/regress/case-ptr-aaaa-plain.sys
@@ -0,0 +1,43 @@
+./adnstest distorted
+:0x0|12 4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa
+ start 1401918956.635299
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000060
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000032
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000026
+ sendto fd=6 addr=172.29.199.224:53
+ 311f0100 00010000 00000000 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390164 01310130 01380161
+ 01620130 01310130 01300132 03697036 04617270 6100000c 0001.
+ sendto=90
+ +0.000219
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999781
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.002107
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 311f8580 00010001 00040008 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390164 01310130 01380161
+ 01620130 01310130 01300132 03697036 04617270 6100000c 0001c00c 000c0001
+ 00003840 001f0c73 74726174 6f636173 74657209 64697374 6f727465 64036f72
+ 6702756b 00c03400 02000100 00384000 0a077661 6d706972 65c073c0 34000200
+ 01000038 40000d0a 74656c65 63617374 6572c073 c0340002 00010000 3840000c
+ 09707265 63697369 6f6ec073 c0340002 00010000 38400009 06726164 697573c0
+ 73c0d800 01000100 00384000 04ac1dc7 01c0d800 1c000100 00384000 10200104
+ 70974000 01000000 00000000 01c09100 01000100 00384000 04ac1dc7 05c09100
+ 1c000100 00384000 10200104 70974000 01000000 00000000 05c0c000 01000100
+ 00384000 04ac1dc7 b2c0c000 1c000100 00384000 1020010b a801d900 02000000
+ 00000000 02c0a700 01000100 00384000 04ac1dc7 b3c0a700 1c000100 00384000
+ 1020010b a801d900 02000000 00000000 03.
+ +0.000349
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000072
+ close fd=6
+ close=OK
+ +0.000081
diff --git a/regress/case-ptr-aaaa.err b/regress/case-ptr-aaaa.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-ptr-aaaa.err
diff --git a/regress/case-ptr-aaaa.out b/regress/case-ptr-aaaa.out
new file mode 100644
index 0000000..b2c9af8
--- /dev/null
+++ b/regress/case-ptr-aaaa.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.29.199.224
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa flags 0 type 65548 PTR(checked) submitted
+4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa flags 0 type PTR(checked): OK; nrrs=1; cname=$; owner=$; ttl=14400
+ stratocaster.distorted.org.uk
+rc=0
diff --git a/regress/case-ptr-aaaa.sys b/regress/case-ptr-aaaa.sys
new file mode 100644
index 0000000..d2e21df
--- /dev/null
+++ b/regress/case-ptr-aaaa.sys
@@ -0,0 +1,68 @@
+./adnstest distorted
+:0x10000|12 4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa
+ start 1401919090.054985
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000061
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000030
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000026
+ sendto fd=6 addr=172.29.199.224:53
+ 311f0100 00010000 00000000 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390164 01310130 01380161
+ 01620130 01310130 01300132 03697036 04617270 6100000c 0001.
+ sendto=90
+ +0.000227
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999773
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.003800
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 311f8580 00010001 00040008 01340130 01300130 01300130 01300130 01300130
+ 01300130 01300130 01300130 01320130 01300130 01390164 01310130 01380161
+ 01620130 01310130 01300132 03697036 04617270 6100000c 0001c00c 000c0001
+ 00003840 001f0c73 74726174 6f636173 74657209 64697374 6f727465 64036f72
+ 6702756b 00c03400 02000100 00384000 0c097072 65636973 696f6ec0 73c03400
+ 02000100 00384000 0a077661 6d706972 65c073c0 34000200 01000038 40000906
+ 72616469 7573c073 c0340002 00010000 3840000d 0a74656c 65636173 746572c0
+ 73c0bf00 01000100 00384000 04ac1dc7 01c0bf00 1c000100 00384000 10200104
+ 70974000 01000000 00000000 01c0a900 01000100 00384000 04ac1dc7 05c0a900
+ 1c000100 00384000 10200104 70974000 01000000 00000000 05c09100 01000100
+ 00384000 04ac1dc7 b2c09100 1c000100 00384000 1020010b a801d900 02000000
+ 00000000 02c0d400 01000100 00384000 04ac1dc7 b3c0d400 1c000100 00384000
+ 1020010b a801d900 02000000 00000000 03.
+ +0.000338
+ sendto fd=6 addr=172.29.199.224:53
+ 31200100 00010000 00000000 0c737472 61746f63 61737465 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001.
+ sendto=47
+ +0.000129
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000031
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999502
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.001827
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31208580 00010001 00040008 0c737472 61746f63 61737465 72096469 73746f72
+ 74656403 6f726702 756b0000 1c0001c0 0c001c00 01000038 40001020 010ba801
+ d9000200 00000000 000004c0 19000200 01000038 4000100a 74656c65 63617374
+ 6572026e 73c019c0 19000200 01000038 40000906 72616469 7573c062 c0190002
+ 00010000 3840000a 0776616d 70697265 c062c019 00020001 00003840 000c0970
+ 72656369 73696f6e c062c073 00010001 00003840 0004ac1d c701c073 001c0001
+ 00003840 00102001 04709740 00010000 00000000 0001c088 00010001 00003840
+ 0004ac1d c705c088 001c0001 00003840 00102001 04709740 00010000 00000000
+ 0005c09e 00010001 00003840 0004ac1d c7b2c09e 001c0001 00003840 00102001
+ 0ba801d9 00020000 00000000 0002c057 00010001 00003840 0004ac1d c7b3c057
+ 001c0001 00003840 00102001 0ba801d9 00020000 00000000 0003.
+ +0.000308
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000056
+ close fd=6
+ close=OK
+ +0.000088
diff --git a/regress/case-ptrbaddom.err b/regress/case-ptrbaddom.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-ptrbaddom.err
diff --git a/regress/case-ptrbaddom.out b/regress/case-ptrbaddom.out
new file mode 100644
index 0000000..93a353a
--- /dev/null
+++ b/regress/case-ptrbaddom.out
@@ -0,0 +1,7 @@
+adns debug: using nameserver 172.18.45.6
+37.45.18.172.in-addr.arpa.test.iwj.relativity.greenend.org.uk. flags 0 type 12 PTR(raw) submitted
+37.45.18.172.in-addr.arpa.test.iwj.relativity.greenend.org.uk. flags 0 type 65548 PTR(checked) submitted
+37.45.18.172.in-addr.arpa.test.iwj.relativity.greenend.org.uk. flags 0 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+37.45.18.172.in-addr.arpa.test.iwj.relativity.greenend.org.uk. flags 0 type PTR(raw): OK; nrrs=1; cname=$; owner=$; ttl=60
+ ptr.test.iwj.relativity.greenend.org.uk
+rc=0
diff --git a/regress/case-ptrbaddom.sys b/regress/case-ptrbaddom.sys
new file mode 100644
index 0000000..f53995a
--- /dev/null
+++ b/regress/case-ptrbaddom.sys
@@ -0,0 +1,36 @@
+adnstest default
+:0x0|12,0x10000|12 37.45.18.172.in-addr.arpa.test.iwj.relativity.greenend.org.uk.
+ start 951960654.608219
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000194
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000055
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000035
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 02333702 34350231 38033137 3207696e 2d616464
+ 72046172 70610474 65737403 69776a0a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 0c0001.
+ sendto=79
+ +0.002131
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997869
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000258
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010001 00010001 02333702 34350231 38033137 3207696e 2d616464
+ 72046172 70610474 65737403 69776a0a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 0c0001c0 0c000c00 01000000 3c002903 70747204
+ 74657374 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267
+ 02756b00 c05f0002 00010000 003c0006 036e7330 c068c090 00010001 00015180
+ 0004ac12 2d06.
+ +0.001324
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000133
+ close fd=4
+ close=OK
+ +0.000187
diff --git a/regress/case-ptrbaddom2.err b/regress/case-ptrbaddom2.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-ptrbaddom2.err
diff --git a/regress/case-ptrbaddom2.out b/regress/case-ptrbaddom2.out
new file mode 100644
index 0000000..323c633
--- /dev/null
+++ b/regress/case-ptrbaddom2.out
@@ -0,0 +1,8 @@
+adns debug: using nameserver 172.18.45.6
+00.45.18.172.in-addr.arpa flags 0 type 65548 PTR(checked) submitted
+6.945.18.172.in-addr.arpa flags 0 type 65548 PTR(checked) submitted
+4.0.0.0.g.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa flags 0 type 65548 PTR(checked) submitted
+00.45.18.172.in-addr.arpa flags 0 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+6.945.18.172.in-addr.arpa flags 0 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+4.0.0.0.g.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa flags 0 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+rc=0
diff --git a/regress/case-ptrbaddom2.sys b/regress/case-ptrbaddom2.sys
new file mode 100644
index 0000000..cdd266a
--- /dev/null
+++ b/regress/case-ptrbaddom2.sys
@@ -0,0 +1,15 @@
+./adnstest default
+:0x10000|12 00.45.18.172.in-addr.arpa 6.945.18.172.in-addr.arpa 4.0.0.0.g.0.0.0.0.0.0.0.0.0.0.0.2.0.0.0.9.d.1.0.8.a.b.0.1.0.0.2.ip6.arpa
+ start 1406163217.059538
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000157
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000069
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000059
+ close fd=6
+ close=OK
+ +0.000414
diff --git a/regress/case-quote.err b/regress/case-quote.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-quote.err
diff --git a/regress/case-quote.out b/regress/case-quote.out
new file mode 100644
index 0000000..a72dcd9
--- /dev/null
+++ b/regress/case-quote.out
@@ -0,0 +1,28 @@
+adns debug: using nameserver 172.18.45.6
+hyphen.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+dot.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+plus.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+slash.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+underscore.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+quote.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+backslash.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+null.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+space.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+hash.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+del.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+meta-null.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+meta-del.cname.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+hyphen.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a-b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+dot.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a\.b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+plus.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a+b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+slash.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a/b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+underscore.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a_b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+quote.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a\"b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+backslash.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a\\b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+null.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a\000b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+space.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a\040b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+hash.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a\#b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+del.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a\177b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+meta-null.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a\310b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+meta-del.cname.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such domain; nrrs=0; cname=a\377b.cname.test.iwj.relativity.greenend.org.uk; owner=$; ttl=60
+rc=0
diff --git a/regress/case-quote.sys b/regress/case-quote.sys
new file mode 100644
index 0000000..475aeb7
--- /dev/null
+++ b/regress/case-quote.sys
@@ -0,0 +1,211 @@
+adnstest default
+:0x0|1 hyphen.cname.test.iwj.relativity.greenend.org.uk dot.cname.test.iwj.relativity.greenend.org.uk plus.cname.test.iwj.relativity.greenend.org.uk slash.cname.test.iwj.relativity.greenend.org.uk underscore.cname.test.iwj.relativity.greenend.org.uk quote.cname.test.iwj.relativity.greenend.org.uk backslash.cname.test.iwj.relativity.greenend.org.uk null.cname.test.iwj.relativity.greenend.org.uk space.cname.test.iwj.relativity.greenend.org.uk hash.cname.test.iwj.relativity.greenend.org.uk del.cname.test.iwj.relativity.greenend.org.uk meta-null.cname.test.iwj.relativity.greenend.org.uk meta-del.cname.test.iwj.relativity.greenend.org.uk
+ start 951958420.936685
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000229
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000057
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000034
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 06687970 68656e05 636e616d 65047465 73740369
+ 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000001
+ 0001.
+ sendto=66
+ +0.001345
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 03646f74 05636e61 6d650474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=63
+ +0.000708
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 04706c75 7305636e 616d6504 74657374 0369776a
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 00010001.
+ sendto=64
+ +0.000669
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 05736c61 73680563 6e616d65 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=65
+ +0.000670
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 0a756e64 65727363 6f726505 636e616d 65047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001.
+ sendto=70
+ +0.000690
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 0571756f 74650563 6e616d65 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=65
+ +0.000699
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 09626163 6b736c61 73680563 6e616d65 04746573
+ 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00000100 01.
+ sendto=69
+ +0.000911
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 046e756c 6c05636e 616d6504 74657374 0369776a
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 00010001.
+ sendto=64
+ +0.000831
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 05737061 63650563 6e616d65 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000100
+ 01.
+ sendto=65
+ +0.000684
+ sendto fd=4 addr=172.18.45.6:53
+ 31280100 00010000 00000000 04686173 6805636e 616d6504 74657374 0369776a
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 00010001.
+ sendto=64
+ +0.000672
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 0364656c 05636e61 6d650474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=63
+ +0.000715
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 096d6574 612d6e75 6c6c0563 6e616d65 04746573
+ 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00000100 01.
+ sendto=69
+ +0.000695
+ sendto fd=4 addr=172.18.45.6:53
+ 312b0100 00010000 00000000 086d6574 612d6465 6c05636e 616d6504 74657374
+ 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ 00010001.
+ sendto=68
+ +0.000695
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.990016
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000248
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8583 00010001 00010000 06687970 68656e05 636e616d 65047465 73740369
+ 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b000001
+ 0001c00c 00050001 0000003c 002f0361 2d620563 6e616d65 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00c05800
+ 06000100 00003c00 27036e73 30c0610a 686f7374 6d617374 6572c061 00000023
+ 00000e10 00000078 0064c800 0000003c.
+ +0.000645
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208583 00010001 00010000 03646f74 05636e61 6d650474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001c0
+ 0c000500 01000000 3c002f03 612e6205 636e616d 65047465 73740369 776a0a72
+ 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b00c055 00060001
+ 0000003c 0027036e 7330c05e 0a686f73 746d6173 746572c0 5e000000 2300000e
+ 10000000 780064c8 00000000 3c.
+ +0.001014
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218583 00010001 00010000 04706c75 7305636e 616d6504 74657374 0369776a
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 00010001
+ c00c0005 00010000 003c002f 03612b62 05636e61 6d650474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b00c0 56000600
+ 01000000 3c002703 6e7330c0 5f0a686f 73746d61 73746572 c05f0000 00230000
+ 0e100000 00780064 c8000000 003c.
+ +0.000717
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228583 00010001 00010000 05736c61 73680563 6e616d65 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000100
+ 01c00c00 05000100 00003c00 2f03612f 6205636e 616d6504 74657374 0369776a
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0570006
+ 00010000 003c0027 036e7330 c0600a68 6f73746d 61737465 72c06000 00002300
+ 000e1000 00007800 64c80000 00003c.
+ +0.000666
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238583 00010001 00010000 0a756e64 65727363 6f726505 636e616d 65047465
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000001 0001c00c 00050001 0000003c 002f0361 5f620563 6e616d65 04746573
+ 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00c05c00 06000100 00003c00 27036e73 30c0650a 686f7374 6d617374 6572c065
+ 00000023 00000e10 00000078 0064c800 0000003c.
+ +0.000663
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248583 00010001 00010000 0571756f 74650563 6e616d65 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000100
+ 01c00c00 05000100 00003c00 2f036122 6205636e 616d6504 74657374 0369776a
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0570006
+ 00010000 003c0027 036e7330 c0600a68 6f73746d 61737465 72c06000 00002300
+ 000e1000 00007800 64c80000 00003c.
+ +0.000667
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258583 00010001 00010000 09626163 6b736c61 73680563 6e616d65 04746573
+ 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00000100 01c00c00 05000100 00003c00 2f03615c 6205636e 616d6504 74657374
+ 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c05b0006 00010000 003c0027 036e7330 c0640a68 6f73746d 61737465 72c06400
+ 00002300 000e1000 00007800 64c80000 00003c.
+ +0.000663
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268583 00010001 00010000 046e756c 6c05636e 616d6504 74657374 0369776a
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 00010001
+ c00c0005 00010000 003c002f 03610062 05636e61 6d650474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b00c0 56000600
+ 01000000 3c002703 6e7330c0 5f0a686f 73746d61 73746572 c05f0000 00230000
+ 0e100000 00780064 c8000000 003c.
+ +0.000670
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278583 00010001 00010000 05737061 63650563 6e616d65 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00000100
+ 01c00c00 05000100 00003c00 2f036120 6205636e 616d6504 74657374 0369776a
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0570006
+ 00010000 003c0027 036e7330 c0600a68 6f73746d 61737465 72c06000 00002300
+ 000e1000 00007800 64c80000 00003c.
+ +0.000651
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31288583 00010001 00010000 04686173 6805636e 616d6504 74657374 0369776a
+ 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00 00010001
+ c00c0005 00010000 003c002f 03612362 05636e61 6d650474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b00c0 56000600
+ 01000000 3c002703 6e7330c0 5f0a686f 73746d61 73746572 c05f0000 00230000
+ 0e100000 00780064 c8000000 003c.
+ +0.000664
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298583 00010001 00010000 0364656c 05636e61 6d650474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001c0
+ 0c000500 01000000 3c002f03 617f6205 636e616d 65047465 73740369 776a0a72
+ 656c6174 69766974 79086772 65656e65 6e64036f 72670275 6b00c055 00060001
+ 0000003c 0027036e 7330c05e 0a686f73 746d6173 746572c0 5e000000 2300000e
+ 10000000 780064c8 00000000 3c.
+ +0.000646
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8583 00010001 00010000 096d6574 612d6e75 6c6c0563 6e616d65 04746573
+ 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00000100 01c00c00 05000100 00003c00 2f0361c8 6205636e 616d6504 74657374
+ 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c05b0006 00010000 003c0027 036e7330 c0640a68 6f73746d 61737465 72c06400
+ 00002300 000e1000 00007800 64c80000 00003c.
+ +0.000708
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8583 00010001 00010000 086d6574 612d6465 6c05636e 616d6504 74657374
+ 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ 00010001 c00c0005 00010000 003c002f 0361ff62 05636e61 6d650474 65737403
+ 69776a0a 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b00c0
+ 5a000600 01000000 3c002703 6e7330c0 630a686f 73746d61 73746572 c0630000
+ 00230000 0e100000 00780064 c8000000 003c.
+ +0.000665
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000123
+ close fd=4
+ close=OK
+ +0.000708
diff --git a/regress/case-rootquery.err b/regress/case-rootquery.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-rootquery.err
diff --git a/regress/case-rootquery.out b/regress/case-rootquery.out
new file mode 100644
index 0000000..d78d469
--- /dev/null
+++ b/regress/case-rootquery.out
@@ -0,0 +1,8 @@
+adns debug: using nameserver 172.18.45.6
+. flags 0 type 131078 SOA(822) submitted
+. flags 1 type 131078 SOA(822) submitted
+. flags 0 type SOA(822): OK; nrrs=1; cname=$; owner=$; ttl=60222
+ A.ROOT-SERVERS.NET hostmaster@INTERNIC.NET 1999041600 1800 900 604800 86400
+. flags 1 type SOA(822): OK; nrrs=1; cname=$; owner=$; ttl=57210
+ A.ROOT-SERVERS.NET hostmaster@INTERNIC.NET 1999041600 1800 900 604800 86400
+rc=0
diff --git a/regress/case-rootquery.sys b/regress/case-rootquery.sys
new file mode 100644
index 0000000..b290763
--- /dev/null
+++ b/regress/case-rootquery.sys
@@ -0,0 +1,73 @@
+adnstest default
+:0x20000|6 . 1/.
+ start 924364442.672925
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000222
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000085
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000069
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 00000600 01.
+ sendto=17
+ +0.001781
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 00000600 01.
+ sendto=17
+ +0.001194
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997025
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.012535
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010001 000d000d 00000600 01000006 00010000 eb3e003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 51800000 02000100
+ 04a9e700 040144c0 1e000002 00010004 a9e70004 0145c01e 00000200 010004a9
+ e7000401 49c01e00 00020001 0004a9e7 00040146 c01e0000 02000100 04a9e700
+ 040147c0 1e000002 00010004 a9e70004 014ac01e 00000200 010004a9 e7000401
+ 4bc01e00 00020001 0004a9e7 0004014c c01e0000 02000100 04a9e700 04014dc0
+ 1e000002 00010004 a9e70002 c01c0000 02000100 04a9e700 040148c0 1e000002
+ 00010004 a9e70004 0142c01e 00000200 010004a9 e7000401 43c01ec0 65000100
+ 01000929 a8000480 080a5ac0 74000100 01000929 a80004c0 cbe60ac0 83000100
+ 0100092c 170004c0 249411c0 92000100 01000929 a80004c0 0505f1c0 a1000100
+ 01000929 a80004c0 702404c0 b0000100 010005fb 670004c6 29000ac0 bf000100
+ 010005fb 670004c1 000e81c0 ce000100 010005fb 670004c6 20400cc0 dd000100
+ 010005fb 670004ca 0c1b21c0 1c000100 01000929 a80004c6 290004c0 f9000100
+ 01000929 a8000480 3f0235c1 08000100 01000929 a8000480 09006bc1 17000100
+ 01000929 a80004c0 21040c.
+ +0.002867
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000463
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.982941
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.008221
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010001 000d000d 00000600 01000006 00010000 df7a003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 51800000 02000100
+ 04a9e700 040144c0 1e000002 00010004 a9e70004 0145c01e 00000200 010004a9
+ e7000401 49c01e00 00020001 0004a9e7 00040146 c01e0000 02000100 04a9e700
+ 040147c0 1e000002 00010004 a9e70004 014ac01e 00000200 010004a9 e7000401
+ 4bc01e00 00020001 0004a9e7 0004014c c01e0000 02000100 04a9e700 04014dc0
+ 1e000002 00010004 a9e70002 c01c0000 02000100 04a9e700 040148c0 1e000002
+ 00010004 a9e70004 0142c01e 00000200 010004a9 e7000401 43c01ec0 65000100
+ 01000929 a8000480 080a5ac0 74000100 01000929 a80004c0 cbe60ac0 83000100
+ 0100092c 170004c0 249411c0 92000100 01000929 a80004c0 0505f1c0 a1000100
+ 01000929 a80004c0 702404c0 b0000100 010005fb 670004c6 29000ac0 bf000100
+ 010005fb 670004c1 000e81c0 ce000100 010005fb 670004c6 20400cc0 dd000100
+ 010005fb 670004ca 0c1b21c0 1c000100 01000929 a80004c6 290004c0 f9000100
+ 01000929 a8000480 3f0235c1 08000100 01000929 a8000480 09006bc1 17000100
+ 01000929 a80004c0 21040c.
+ +0.002425
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000260
+ close fd=4
+ close=OK
+ +0.000232
diff --git a/regress/case-rootqueryall-as.err b/regress/case-rootqueryall-as.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-rootqueryall-as.err
diff --git a/regress/case-rootqueryall-as.out b/regress/case-rootqueryall-as.out
new file mode 100644
index 0000000..2af207a
--- /dev/null
+++ b/regress/case-rootqueryall-as.out
@@ -0,0 +1,118 @@
+adns debug: using nameserver 172.18.45.6
+. flags 0 type 1 A(-) submitted
+. flags 0 type 2 NS(raw) submitted
+. flags 0 type 5 CNAME(-) submitted
+. flags 0 type 6 SOA(raw) submitted
+. flags 0 type 12 PTR(raw) submitted
+. flags 0 type 13 HINFO(-) submitted
+. flags 0 type 15 MX(raw) submitted
+. flags 0 type 16 TXT(-) submitted
+. flags 0 type 17 RP(raw) submitted
+. flags 0 type 65537 A(addr) submitted
+. flags 0 type 65538 NS(+addr) submitted
+. flags 0 type 65548 PTR(checked) submitted
+. flags 0 type 65551 MX(+addr) submitted
+. flags 0 type 131078 SOA(822) submitted
+. flags 0 type 131089 RP(822) submitted
+. flags 1 type 1 A(-) submitted
+. flags 1 type 2 NS(raw) submitted
+. flags 1 type 5 CNAME(-) submitted
+. flags 1 type 6 SOA(raw) submitted
+. flags 1 type 12 PTR(raw) submitted
+. flags 1 type 13 HINFO(-) submitted
+. flags 1 type 15 MX(raw) submitted
+. flags 1 type 16 TXT(-) submitted
+. flags 1 type 17 RP(raw) submitted
+. flags 1 type 65537 A(addr) submitted
+. flags 1 type 65538 NS(+addr) submitted
+. flags 1 type 65548 PTR(checked) submitted
+. flags 1 type 65551 MX(+addr) submitted
+. flags 1 type 131078 SOA(822) submitted
+. flags 1 type 131089 RP(822) submitted
+. flags 0 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+. flags 1 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+. flags 0 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 0 type NS(raw): OK; nrrs=13; cname=$; owner=$; ttl=518399
+ E.ROOT-SERVERS.NET
+ I.ROOT-SERVERS.NET
+ F.ROOT-SERVERS.NET
+ G.ROOT-SERVERS.NET
+ J.ROOT-SERVERS.NET
+ K.ROOT-SERVERS.NET
+ L.ROOT-SERVERS.NET
+ M.ROOT-SERVERS.NET
+ A.ROOT-SERVERS.NET
+ H.ROOT-SERVERS.NET
+ B.ROOT-SERVERS.NET
+ C.ROOT-SERVERS.NET
+ D.ROOT-SERVERS.NET
+. flags 0 type SOA(raw): OK; nrrs=1; cname=$; owner=$; ttl=82079
+ A.ROOT-SERVERS.NET hostmaster.INTERNIC.NET 1999071300 1800 900 604800 86400
+. flags 0 type PTR(raw): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 0 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 0 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 0 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 0 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 0 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 0 type NS(+addr): OK; nrrs=13; cname=$; owner=$; ttl=518399
+ I.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.36.148.17 )
+ F.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.5.5.241 )
+ G.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.112.36.4 )
+ J.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.41.0.10 )
+ K.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 193.0.14.129 )
+ L.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.32.64.12 )
+ M.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 202.12.27.33 )
+ A.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.41.0.4 )
+ H.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.63.2.53 )
+ B.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.9.0.107 )
+ C.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.33.4.12 )
+ D.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.8.10.90 )
+ E.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.203.230.10 )
+. flags 0 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 0 type SOA(822): OK; nrrs=1; cname=$; owner=$; ttl=77975
+ A.ROOT-SERVERS.NET hostmaster@INTERNIC.NET 1999071300 1800 900 604800 86400
+. flags 0 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type NS(raw): OK; nrrs=13; cname=$; owner=$; ttl=518399
+ F.ROOT-SERVERS.NET
+ G.ROOT-SERVERS.NET
+ J.ROOT-SERVERS.NET
+ K.ROOT-SERVERS.NET
+ L.ROOT-SERVERS.NET
+ M.ROOT-SERVERS.NET
+ A.ROOT-SERVERS.NET
+ H.ROOT-SERVERS.NET
+ B.ROOT-SERVERS.NET
+ C.ROOT-SERVERS.NET
+ D.ROOT-SERVERS.NET
+ E.ROOT-SERVERS.NET
+ I.ROOT-SERVERS.NET
+. flags 1 type SOA(raw): OK; nrrs=1; cname=$; owner=$; ttl=74076
+ A.ROOT-SERVERS.NET hostmaster.INTERNIC.NET 1999071300 1800 900 604800 86400
+. flags 1 type PTR(raw): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type NS(+addr): OK; nrrs=13; cname=$; owner=$; ttl=518399
+ G.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.112.36.4 )
+ J.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.41.0.10 )
+ K.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 193.0.14.129 )
+ L.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.32.64.12 )
+ M.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 202.12.27.33 )
+ A.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.41.0.4 )
+ H.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.63.2.53 )
+ B.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.9.0.107 )
+ C.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.33.4.12 )
+ D.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.8.10.90 )
+ E.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.203.230.10 )
+ I.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.36.148.17 )
+ F.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.5.5.241 )
+. flags 1 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type SOA(822): OK; nrrs=1; cname=$; owner=$; ttl=70372
+ A.ROOT-SERVERS.NET hostmaster@INTERNIC.NET 1999071300 1800 900 604800 86400
+. flags 1 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 0 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 1 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+rc=0
diff --git a/regress/case-rootqueryall-as.sys b/regress/case-rootqueryall-as.sys
new file mode 100644
index 0000000..6d1da7a
--- /dev/null
+++ b/regress/case-rootqueryall-as.sys
@@ -0,0 +1,559 @@
+adnstest default -0x400
+. 1/.
+ start 931992019.753022
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000216
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000082
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000065
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.000454
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 00000200 01.
+ sendto=17
+ +0.000348
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 00000500 01.
+ sendto=17
+ +0.000303
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 00000600 01.
+ sendto=17
+ +0.000298
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 00000c00 01.
+ sendto=17
+ +0.000298
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 00000d00 01.
+ sendto=17
+ +0.000375
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000301
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 00001000 01.
+ sendto=17
+ +0.000299
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000351
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.000868
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 00000200 01.
+ sendto=17
+ +0.000617
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000299
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 00000600 01.
+ sendto=17
+ +0.000297
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000297
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.000307
+ sendto fd=4 addr=172.18.45.6:53
+ 31300100 00010000 00000000 00000200 01.
+ sendto=17
+ +0.000299
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 00000500 01.
+ sendto=17
+ +0.000298
+ sendto fd=4 addr=172.18.45.6:53
+ 31320100 00010000 00000000 00000600 01.
+ sendto=17
+ +0.000330
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 00000c00 01.
+ sendto=17
+ +0.000323
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 00000d00 01.
+ sendto=17
+ +0.000384
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000302
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 00001000 01.
+ sendto=17
+ +0.000300
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000296
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.000298
+ sendto fd=4 addr=172.18.45.6:53
+ 313a0100 00010000 00000000 00000200 01.
+ sendto=17
+ +0.000595
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000296
+ sendto fd=4 addr=172.18.45.6:53
+ 313d0100 00010000 00000000 00000600 01.
+ sendto=17
+ +0.000326
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000303
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.989938
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.007735
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010000 00010000 00000100 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000703
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000151
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981803
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.011771
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 0001000d 0000000d 00000200 01000002 00010007 e8ff0014 01450c52
+ 4f4f542d 53455256 45525303 4e455400 00000200 010007e8 ff000401 49c01e00
+ 00020001 0007e8ff 00040146 c01e0000 02000100 07e8ff00 040147c0 1e000002
+ 00010007 e8ff0004 014ac01e 00000200 010007e8 ff000401 4bc01e00 00020001
+ 0007e8ff 0004014c c01e0000 02000100 07e8ff00 04014dc0 1e000002 00010007
+ e8ff0004 0141c01e 00000200 010007e8 ff000401 48c01e00 00020001 0007e8ff
+ 00040142 c01e0000 02000100 07e8ff00 040143c0 1e000002 00010007 e8ff0004
+ 0144c01e c01c0001 00010009 3a7f0004 c0cbe60a c03b0001 00010009 3a7f0004
+ c0249411 c04a0001 00010009 3a7f0004 c00505f1 c0590001 00010009 3a7f0004
+ c0702404 c0680001 00010009 3a7f0004 c629000a c0770001 00010009 3a7f0004
+ c1000e81 c0860001 00010009 3a7f0004 c620400c c0950001 00010009 3a7f0004
+ ca0c1b21 c0a40001 00010009 3a7f0004 c6290004 c0b30001 00010009 3a7f0004
+ 803f0235 c0c20001 00010009 3a7f0004 8009006b c0d10001 00010009 3a7f0004
+ c021040c c0e00001 00010009 3a7f0004 80080a5a.
+ +0.002660
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000492
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.967228
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.016740
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228180 00010001 000d000d 00000600 01000006 00010001 409f003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 51800000 02000100
+ 07e8ff00 040145c0 1e000002 00010007 e8ff0004 0149c01e 00000200 010007e8
+ ff000401 46c01e00 00020001 0007e8ff 00040147 c01e0000 02000100 07e8ff00
+ 04014ac0 1e000002 00010007 e8ff0004 014bc01e 00000200 010007e8 ff000401
+ 4cc01e00 00020001 0007e8ff 0004014d c01e0000 02000100 07e8ff00 02c01c00
+ 00020001 0007e8ff 00040148 c01e0000 02000100 07e8ff00 040142c0 1e000002
+ 00010007 e8ff0004 0143c01e 00000200 010007e8 ff000401 44c01ec0 65000100
+ 0100093a 7f0004c0 cbe60ac0 74000100 0100093a 7f0004c0 249411c0 83000100
+ 0100093a 7f0004c0 0505f1c0 92000100 0100093a 7f0004c0 702404c0 a1000100
+ 0100093a 7f0004c6 29000ac0 b0000100 0100093a 7f0004c1 000e81c0 bf000100
+ 0100093a 7f0004c6 20400cc0 ce000100 0100093a 7f0004ca 0c1b21c0 1c000100
+ 0100093a 7f0004c6 290004c0 ea000100 0100093a 7f000480 3f0235c0 f9000100
+ 0100093a 7f000480 09006bc1 08000100 0100093a 7f0004c0 21040cc1 17000100
+ 0100093a 7f000480 080a5a.
+ +0.002984
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000231
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.947273
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000462
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238180 00010000 00010000 00000c00 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000634
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000101
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.946076
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003306
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248180 00010000 00010000 00000d00 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000640
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000124
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.942006
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003471
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258180 00010000 00010000 00000f00 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000640
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000101
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.937794
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003503
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268180 00010000 00010000 00001000 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000657
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000120
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.933514
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003470
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278180 00010000 00010000 00001100 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000640
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000100
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.929304
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003089
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298180 00010000 00010000 00000100 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000639
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000100
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.925476
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.011378
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 0001000d 0000000d 00000200 01000002 00010007 e8ff0014 01490c52
+ 4f4f542d 53455256 45525303 4e455400 00000200 010007e8 ff000401 46c01e00
+ 00020001 0007e8ff 00040147 c01e0000 02000100 07e8ff00 04014ac0 1e000002
+ 00010007 e8ff0004 014bc01e 00000200 010007e8 ff000401 4cc01e00 00020001
+ 0007e8ff 0004014d c01e0000 02000100 07e8ff00 040141c0 1e000002 00010007
+ e8ff0004 0148c01e 00000200 010007e8 ff000401 42c01e00 00020001 0007e8ff
+ 00040143 c01e0000 02000100 07e8ff00 040144c0 1e000002 00010007 e8ff0004
+ 0145c01e c01c0001 00010009 3a7f0004 c0249411 c03b0001 00010009 3a7f0004
+ c00505f1 c04a0001 00010009 3a7f0004 c0702404 c0590001 00010009 3a7f0004
+ c629000a c0680001 00010009 3a7f0004 c1000e81 c0770001 00010009 3a7f0004
+ c620400c c0860001 00010009 3a7f0004 ca0c1b21 c0950001 00010009 3a7f0004
+ c6290004 c0a40001 00010009 3a7f0004 803f0235 c0b30001 00010009 3a7f0004
+ 8009006b c0c20001 00010009 3a7f0004 c021040c c0d10001 00010009 3a7f0004
+ 80080a5a c0e00001 00010009 3a7f0004 c0cbe60a.
+ +0.004350
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000096
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.909652
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003338
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8180 00010000 00010000 00000f00 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000643
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000106
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.905565
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.012071
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010001 000d000d 00000600 01000006 00010001 3097003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 51800000 02000100
+ 07e8ff00 040149c0 1e000002 00010007 e8ff0004 0146c01e 00000200 010007e8
+ ff000401 47c01e00 00020001 0007e8ff 0004014a c01e0000 02000100 07e8ff00
+ 04014bc0 1e000002 00010007 e8ff0004 014cc01e 00000200 010007e8 ff000401
+ 4dc01e00 00020001 0007e8ff 0002c01c 00000200 010007e8 ff000401 48c01e00
+ 00020001 0007e8ff 00040142 c01e0000 02000100 07e8ff00 040143c0 1e000002
+ 00010007 e8ff0004 0144c01e 00000200 010007e8 ff000401 45c01ec0 65000100
+ 0100093a 7f0004c0 249411c0 74000100 0100093a 7f0004c0 0505f1c0 83000100
+ 0100093a 7f0004c0 702404c0 92000100 0100093a 7f0004c6 29000ac0 a1000100
+ 0100093a 7f0004c1 000e81c0 b0000100 0100093a 7f0004c6 20400cc0 bf000100
+ 0100093a 7f0004ca 0c1b21c0 1c000100 0100093a 7f0004c6 290004c0 db000100
+ 0100093a 7f000480 3f0235c0 ea000100 0100093a 7f000480 09006bc0 f9000100
+ 0100093a 7f0004c0 21040cc1 08000100 0100093a 7f000480 080a5ac1 17000100
+ 0100093a 7f0004c0 cbe60a.
+ +0.002963
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000237
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.890294
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000878
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8180 00010000 00010000 00001100 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000645
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000107
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.888664
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003147
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312f8180 00010000 00010000 00000100 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000643
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000141
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.884733
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.011290
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31308180 0001000d 0000000d 00000200 01000002 00010007 e8ff0014 01460c52
+ 4f4f542d 53455256 45525303 4e455400 00000200 010007e8 ff000401 47c01e00
+ 00020001 0007e8ff 0004014a c01e0000 02000100 07e8ff00 04014bc0 1e000002
+ 00010007 e8ff0004 014cc01e 00000200 010007e8 ff000401 4dc01e00 00020001
+ 0007e8ff 00040141 c01e0000 02000100 07e8ff00 040148c0 1e000002 00010007
+ e8ff0004 0142c01e 00000200 010007e8 ff000401 43c01e00 00020001 0007e8ff
+ 00040144 c01e0000 02000100 07e8ff00 040145c0 1e000002 00010007 e8ff0004
+ 0149c01e c01c0001 00010009 3a7f0004 c00505f1 c03b0001 00010009 3a7f0004
+ c0702404 c04a0001 00010009 3a7f0004 c629000a c0590001 00010009 3a7f0004
+ c1000e81 c0680001 00010009 3a7f0004 c620400c c0770001 00010009 3a7f0004
+ ca0c1b21 c0860001 00010009 3a7f0004 c6290004 c0950001 00010009 3a7f0004
+ 803f0235 c0a40001 00010009 3a7f0004 8009006b c0b30001 00010009 3a7f0004
+ c021040c c0c20001 00010009 3a7f0004 80080a5a c0d10001 00010009 3a7f0004
+ c0cbe60a c0e00001 00010009 3a7f0004 c0249411.
+ +0.002658
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000400
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.870385
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.019033
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31328180 00010001 000d000d 00000600 01000006 00010001 215c003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 51800000 02000100
+ 07e8ff00 040146c0 1e000002 00010007 e8ff0004 0147c01e 00000200 010007e8
+ ff000401 4ac01e00 00020001 0007e8ff 0004014b c01e0000 02000100 07e8ff00
+ 04014cc0 1e000002 00010007 e8ff0004 014dc01e 00000200 010007e8 ff0002c0
+ 1c000002 00010007 e8ff0004 0148c01e 00000200 010007e8 ff000401 42c01e00
+ 00020001 0007e8ff 00040143 c01e0000 02000100 07e8ff00 040144c0 1e000002
+ 00010007 e8ff0004 0145c01e 00000200 010007e8 ff000401 49c01ec0 65000100
+ 0100093a 7f0004c0 0505f1c0 74000100 0100093a 7f0004c0 702404c0 83000100
+ 0100093a 7f0004c6 29000ac0 92000100 0100093a 7f0004c1 000e81c0 a1000100
+ 0100093a 7f0004c6 20400cc0 b0000100 0100093a 7f0004ca 0c1b21c0 1c000100
+ 0100093a 7f0004c6 290004c0 cc000100 0100093a 7f000480 3f0235c0 db000100
+ 0100093a 7f000480 09006bc0 ea000100 0100093a 7f0004c0 21040cc0 f9000100
+ 0100093a 7f000480 080a5ac1 08000100 0100093a 7f0004c0 cbe60ac1 17000100
+ 0100093a 7f0004c0 249411.
+ +0.002965
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000228
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.848159
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000402
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31338180 00010000 00010000 00000c00 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000658
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000104
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.846995
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003222
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31348180 00010000 00010000 00000d00 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000645
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000107
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.843021
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003535
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31358180 00010000 00010000 00000f00 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000640
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000128
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.838718
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003396
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31368180 00010000 00010000 00001000 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000643
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000108
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.834571
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003560
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31378180 00010000 00010000 00001100 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000642
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000133
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.830236
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003060
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31398180 00010000 00010000 00000100 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000645
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000106
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.826425
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.011323
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313a8180 0001000d 0000000d 00000200 01000002 00010007 e8ff0014 01470c52
+ 4f4f542d 53455256 45525303 4e455400 00000200 010007e8 ff000401 4ac01e00
+ 00020001 0007e8ff 0004014b c01e0000 02000100 07e8ff00 04014cc0 1e000002
+ 00010007 e8ff0004 014dc01e 00000200 010007e8 ff000401 41c01e00 00020001
+ 0007e8ff 00040148 c01e0000 02000100 07e8ff00 040142c0 1e000002 00010007
+ e8ff0004 0143c01e 00000200 010007e8 ff000401 44c01e00 00020001 0007e8ff
+ 00040145 c01e0000 02000100 07e8ff00 040149c0 1e000002 00010007 e8ff0004
+ 0146c01e c01c0001 00010009 3a7f0004 c0702404 c03b0001 00010009 3a7f0004
+ c629000a c04a0001 00010009 3a7f0004 c1000e81 c0590001 00010009 3a7f0004
+ c620400c c0680001 00010009 3a7f0004 ca0c1b21 c0770001 00010009 3a7f0004
+ c6290004 c0860001 00010009 3a7f0004 803f0235 c0950001 00010009 3a7f0004
+ 8009006b c0a40001 00010009 3a7f0004 c021040c c0b30001 00010009 3a7f0004
+ 80080a5a c0c20001 00010009 3a7f0004 c0cbe60a c0d10001 00010009 3a7f0004
+ c0249411 c0e00001 00010009 3a7f0004 c00505f1.
+ +0.004326
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000127
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.810649
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003326
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313c8180 00010000 00010000 00000f00 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000643
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000105
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.806575
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.025669
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313d8180 00010001 000d000d 00000600 01000006 00010001 12e4003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 51800000 02000100
+ 07e8ff00 040147c0 1e000002 00010007 e8ff0004 014ac01e 00000200 010007e8
+ ff000401 4bc01e00 00020001 0007e8ff 0004014c c01e0000 02000100 07e8ff00
+ 04014dc0 1e000002 00010007 e8ff0002 c01c0000 02000100 07e8ff00 040148c0
+ 1e000002 00010007 e8ff0004 0142c01e 00000200 010007e8 ff000401 43c01e00
+ 00020001 0007e8ff 00040144 c01e0000 02000100 07e8ff00 040145c0 1e000002
+ 00010007 e8ff0004 0149c01e 00000200 010007e8 ff000401 46c01ec0 65000100
+ 0100093a 7f0004c0 702404c0 74000100 0100093a 7f0004c6 29000ac0 83000100
+ 0100093a 7f0004c1 000e81c0 92000100 0100093a 7f0004c6 20400cc0 a1000100
+ 0100093a 7f0004ca 0c1b21c0 1c000100 0100093a 7f0004c6 290004c0 bd000100
+ 0100093a 7f000480 3f0235c0 cc000100 0100093a 7f000480 09006bc0 db000100
+ 0100093a 7f0004c0 21040cc0 ea000100 0100093a 7f000480 080a5ac0 f9000100
+ 0100093a 7f0004c0 cbe60ac1 08000100 0100093a 7f0004c0 249411c1 17000100
+ 0100093a 7f0004c0 0505f1.
+ +0.002963
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000233
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.777710
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004017
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313e8180 00010000 00010000 00001100 01000006 00010000 0257003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000640
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000106
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.772947
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-752512
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010000 00010000 00000500 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000649
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000106
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.529913
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.181054
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31318580 00010000 00010000 00000500 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7727 68440000 07080000 03840009 3a800001 5180.
+ +0.000687
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000112
+ close fd=4
+ close=OK
+ +0.000197
diff --git a/regress/case-rootqueryall.err b/regress/case-rootqueryall.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-rootqueryall.err
diff --git a/regress/case-rootqueryall.out b/regress/case-rootqueryall.out
new file mode 100644
index 0000000..fa03c2f
--- /dev/null
+++ b/regress/case-rootqueryall.out
@@ -0,0 +1,127 @@
+adns debug: using nameserver 172.18.45.6
+. flags 0 type 1 A(-) submitted
+. flags 0 type 2 NS(raw) submitted
+. flags 0 type 5 CNAME(-) submitted
+. flags 0 type 6 SOA(raw) submitted
+. flags 0 type 12 PTR(raw) submitted
+. flags 0 type 13 HINFO(-) submitted
+. flags 0 type 15 MX(raw) submitted
+. flags 0 type 16 TXT(-) submitted
+. flags 0 type 17 RP(raw) submitted
+. flags 0 type 65537 A(addr) submitted
+. flags 0 type 65538 NS(+addr) submitted
+. flags 0 type 65548 PTR(checked) submitted
+. flags 0 type 65551 MX(+addr) submitted
+. flags 0 type 131078 SOA(822) submitted
+. flags 0 type 131089 RP(822) submitted
+. flags 1 type 1 A(-) submitted
+. flags 1 type 2 NS(raw) submitted
+. flags 1 type 5 CNAME(-) submitted
+. flags 1 type 6 SOA(raw) submitted
+. flags 1 type 12 PTR(raw) submitted
+. flags 1 type 13 HINFO(-) submitted
+. flags 1 type 15 MX(raw) submitted
+. flags 1 type 16 TXT(-) submitted
+. flags 1 type 17 RP(raw) submitted
+. flags 1 type 65537 A(addr) submitted
+. flags 1 type 65538 NS(+addr) submitted
+. flags 1 type 65548 PTR(checked) submitted
+. flags 1 type 65551 MX(+addr) submitted
+. flags 1 type 131078 SOA(822) submitted
+. flags 1 type 131089 RP(822) submitted
+. flags 0 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 0 type NS(raw): OK; nrrs=13; cname=$; owner=$; ttl=305624
+ E.ROOT-SERVERS.NET
+ I.ROOT-SERVERS.NET
+ F.ROOT-SERVERS.NET
+ G.ROOT-SERVERS.NET
+ J.ROOT-SERVERS.NET
+ K.ROOT-SERVERS.NET
+ L.ROOT-SERVERS.NET
+ M.ROOT-SERVERS.NET
+ A.ROOT-SERVERS.NET
+ H.ROOT-SERVERS.NET
+ B.ROOT-SERVERS.NET
+ C.ROOT-SERVERS.NET
+ D.ROOT-SERVERS.NET
+. flags 0 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 0 type SOA(raw): OK; nrrs=1; cname=$; owner=$; ttl=54334
+ A.ROOT-SERVERS.NET hostmaster.INTERNIC.NET 1999041600 1800 900 604800 86400
+. flags 0 type PTR(raw): No such data; nrrs=0; cname=$; owner=$; ttl=599
+adns debug: reply not found, id 3123, query owner (NS=172.18.45.6)
+. flags 0 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+adns debug: reply not found, id 3129, query owner (NS=172.18.45.6)
+adns debug: reply not found, id 312b, query owner (NS=172.18.45.6)
+adns debug: reply not found, id 312f, query owner (NS=172.18.45.6)
+. flags 0 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 0 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 0 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 0 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 0 type NS(+addr): OK; nrrs=13; cname=$; owner=$; ttl=305624
+ I.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.36.148.17 )
+ F.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.5.5.241 )
+ G.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.112.36.4 )
+ J.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.41.0.10 )
+ K.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 193.0.14.129 )
+ L.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.32.64.12 )
+ M.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 202.12.27.33 )
+ A.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.41.0.4 )
+ H.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.63.2.53 )
+ B.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.9.0.107 )
+ C.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.33.4.12 )
+ D.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.8.10.90 )
+ E.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.203.230.10 )
+. flags 0 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604793
+. flags 0 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 0 type SOA(822): OK; nrrs=1; cname=$; owner=$; ttl=51616
+ A.ROOT-SERVERS.NET hostmaster@INTERNIC.NET 1999041600 1800 900 604800 86400
+. flags 0 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 1 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type NS(raw): OK; nrrs=13; cname=$; owner=$; ttl=305624
+ F.ROOT-SERVERS.NET
+ G.ROOT-SERVERS.NET
+ J.ROOT-SERVERS.NET
+ K.ROOT-SERVERS.NET
+ L.ROOT-SERVERS.NET
+ M.ROOT-SERVERS.NET
+ A.ROOT-SERVERS.NET
+ H.ROOT-SERVERS.NET
+ B.ROOT-SERVERS.NET
+ C.ROOT-SERVERS.NET
+ D.ROOT-SERVERS.NET
+ E.ROOT-SERVERS.NET
+ I.ROOT-SERVERS.NET
+. flags 1 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 1 type SOA(raw): OK; nrrs=1; cname=$; owner=$; ttl=49034
+ A.ROOT-SERVERS.NET hostmaster.INTERNIC.NET 1999041600 1800 900 604800 86400
+. flags 1 type PTR(raw): No such data; nrrs=0; cname=$; owner=$; ttl=599
+. flags 1 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=599
+adns debug: reply not found, id 3133, query owner (NS=172.18.45.6)
+adns debug: reply not found, id 3123, query owner (NS=172.18.45.6)
+adns debug: reply not found, id 3134, query owner (NS=172.18.45.6)
+adns debug: reply not found, id 3139, query owner (NS=172.18.45.6)
+adns debug: reply not found, id 313b, query owner (NS=172.18.45.6)
+. flags 1 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 1 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=86400
+. flags 1 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=86399
+. flags 1 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=598
+. flags 1 type NS(+addr): OK; nrrs=13; cname=$; owner=$; ttl=305623
+ G.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.112.36.4 )
+ J.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.41.0.10 )
+ K.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 193.0.14.129 )
+ L.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.32.64.12 )
+ M.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 202.12.27.33 )
+ A.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 198.41.0.4 )
+ H.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.63.2.53 )
+ B.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.9.0.107 )
+ C.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.33.4.12 )
+ D.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 128.8.10.90 )
+ E.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.203.230.10 )
+ I.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.36.148.17 )
+ F.ROOT-SERVERS.NET ok 0 ok "OK" ( INET 192.5.5.241 )
+. flags 1 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604792
+. flags 1 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=598
+. flags 1 type SOA(822): OK; nrrs=1; cname=$; owner=$; ttl=46580
+ A.ROOT-SERVERS.NET hostmaster@INTERNIC.NET 1999041600 1800 900 604800 86400
+. flags 1 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=598
+rc=0
diff --git a/regress/case-rootqueryall.sys b/regress/case-rootqueryall.sys
new file mode 100644
index 0000000..cf2efe3
--- /dev/null
+++ b/regress/case-rootqueryall.sys
@@ -0,0 +1,925 @@
+adnstest default -0x400,s
+. 1/.
+ start 924364450.165424
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000220
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000087
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000070
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.001746
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 00000200 01.
+ sendto=17
+ +0.001194
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 00000500 01.
+ sendto=17
+ +0.000783
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 00000600 01.
+ sendto=17
+ +0.000728
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 00000c00 01.
+ sendto=17
+ +0.000726
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 00000d00 01.
+ sendto=17
+ +0.001290
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000771
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 00001000 01.
+ sendto=17
+ +0.000843
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000778
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.000728
+ sendto fd=4 addr=172.18.45.6:53
+ 312a0100 00010000 00000000 00000200 01.
+ sendto=17
+ +0.001454
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000725
+ sendto fd=4 addr=172.18.45.6:53
+ 312d0100 00010000 00000000 00000600 01.
+ sendto=17
+ +0.000731
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000871
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.000737
+ sendto fd=4 addr=172.18.45.6:53
+ 31300100 00010000 00000000 00000200 01.
+ sendto=17
+ +0.000727
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 00000500 01.
+ sendto=17
+ +0.000732
+ sendto fd=4 addr=172.18.45.6:53
+ 31320100 00010000 00000000 00000600 01.
+ sendto=17
+ +0.000781
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 00000c00 01.
+ sendto=17
+ +0.000733
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 00000d00 01.
+ sendto=17
+ +0.000739
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000736
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 00001000 01.
+ sendto=17
+ +0.000837
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000734
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.000730
+ sendto fd=4 addr=172.18.45.6:53
+ 313a0100 00010000 00000000 00000200 01.
+ sendto=17
+ +0.001465
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000732
+ sendto fd=4 addr=172.18.45.6:53
+ 313d0100 00010000 00000000 00000600 01.
+ sendto=17
+ +0.000734
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000764
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.975451
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.006067
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 0001000d 0000000d 00000200 01000002 00010004 a9df0014 01450c52
+ 4f4f542d 53455256 45525303 4e455400 00000200 010004a9 df000401 49c01e00
+ 00020001 0004a9df 00040146 c01e0000 02000100 04a9df00 040147c0 1e000002
+ 00010004 a9df0004 014ac01e 00000200 010004a9 df000401 4bc01e00 00020001
+ 0004a9df 0004014c c01e0000 02000100 04a9df00 04014dc0 1e000002 00010004
+ a9df0004 0141c01e 00000200 010004a9 df000401 48c01e00 00020001 0004a9df
+ 00040142 c01e0000 02000100 04a9df00 040143c0 1e000002 00010004 a9df0004
+ 0144c01e c01c0001 00010009 29a00004 c0cbe60a c03b0001 00010009 2c0f0004
+ c0249411 c04a0001 00010009 29a00004 c00505f1 c0590001 00010009 29a00004
+ c0702404 c0680001 00010005 fb5f0004 c629000a c0770001 00010005 fb5f0004
+ c1000e81 c0860001 00010005 fb5f0004 c620400c c0950001 00010005 fb5f0004
+ ca0c1b21 c0a40001 00010009 29a00004 c6290004 c0b30001 00010009 29a00004
+ 803f0235 c0c20001 00010009 29a00004 8009006b c0d10001 00010009 29a00004
+ c021040c c0e00001 00010009 29a00004 80080a5a.
+ +0.002235
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000583
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.966566
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.014201
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228180 00010001 000d000d 00000600 01000006 00010000 d445003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 51800000 02000100
+ 04a9df00 040145c0 1e000002 00010004 a9df0004 0149c01e 00000200 010004a9
+ df000401 46c01e00 00020001 0004a9df 00040147 c01e0000 02000100 04a9df00
+ 04014ac0 1e000002 00010004 a9df0004 014bc01e 00000200 010004a9 df000401
+ 4cc01e00 00020001 0004a9df 0004014d c01e0000 02000100 04a9df00 02c01c00
+ 00020001 0004a9df 00040148 c01e0000 02000100 04a9df00 040142c0 1e000002
+ 00010004 a9df0004 0143c01e 00000200 010004a9 df000401 44c01ec0 65000100
+ 01000929 a00004c0 cbe60ac0 74000100 0100092c 0f0004c0 249411c0 83000100
+ 01000929 a00004c0 0505f1c0 92000100 01000929 a00004c0 702404c0 a1000100
+ 010005fb 5f0004c6 29000ac0 b0000100 010005fb 5f0004c1 000e81c0 bf000100
+ 010005fb 5f0004c6 20400cc0 ce000100 010005fb 5f0004ca 0c1b21c0 1c000100
+ 01000929 a00004c6 290004c0 ea000100 01000929 a0000480 3f0235c0 f9000100
+ 01000929 a0000480 09006bc1 08000100 01000929 a00004c0 21040cc1 17000100
+ 01000929 a0000480 080a5a.
+ +0.002439
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000260
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.949666
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.048060
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312a8180 0001000d 0000000d 00000200 01000002 00010004 a9df0014 01490c52
+ 4f4f542d 53455256 45525303 4e455400 00000200 010004a9 df000401 46c01e00
+ 00020001 0004a9df 00040147 c01e0000 02000100 04a9df00 04014ac0 1e000002
+ 00010004 a9df0004 014bc01e 00000200 010004a9 df000401 4cc01e00 00020001
+ 0004a9df 0004014d c01e0000 02000100 04a9df00 040141c0 1e000002 00010004
+ a9df0004 0148c01e 00000200 010004a9 df000401 42c01e00 00020001 0004a9df
+ 00040143 c01e0000 02000100 04a9df00 040144c0 1e000002 00010004 a9df0004
+ 0145c01e c01c0001 00010009 2c0f0004 c0249411 c03b0001 00010009 29a00004
+ c00505f1 c04a0001 00010009 29a00004 c0702404 c0590001 00010005 fb5f0004
+ c629000a c0680001 00010005 fb5f0004 c1000e81 c0770001 00010005 fb5f0004
+ c620400c c0860001 00010005 fb5f0004 ca0c1b21 c0950001 00010009 29a00004
+ c6290004 c0a40001 00010009 29a00004 803f0235 c0b30001 00010009 29a00004
+ 8009006b c0c20001 00010009 29a00004 c021040c c0d10001 00010009 29a00004
+ 80080a5a c0e00001 00010009 29a00004 c0cbe60a.
+ +0.008066
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.001199
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.892341
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.051265
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312d8180 00010001 000d000d 00000600 01000006 00010000 c9a7003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 51800000 02000100
+ 04a9df00 040149c0 1e000002 00010004 a9df0004 0146c01e 00000200 010004a9
+ df000401 47c01e00 00020001 0004a9df 0004014a c01e0000 02000100 04a9df00
+ 04014bc0 1e000002 00010004 a9df0004 014cc01e 00000200 010004a9 df000401
+ 4dc01e00 00020001 0004a9df 0002c01c 00000200 010004a9 df000401 48c01e00
+ 00020001 0004a9df 00040142 c01e0000 02000100 04a9df00 040143c0 1e000002
+ 00010004 a9df0004 0144c01e 00000200 010004a9 df000401 45c01ec0 65000100
+ 0100092c 0f0004c0 249411c0 74000100 01000929 a00004c0 0505f1c0 83000100
+ 01000929 a00004c0 702404c0 92000100 010005fb 5f0004c6 29000ac0 a1000100
+ 010005fb 5f0004c1 000e81c0 b0000100 010005fb 5f0004c6 20400cc0 bf000100
+ 010005fb 5f0004ca 0c1b21c0 1c000100 01000929 a00004c6 290004c0 db000100
+ 01000929 a0000480 3f0235c0 ea000100 01000929 a0000480 09006bc0 f9000100
+ 01000929 a00004c0 21040cc1 08000100 01000929 a0000480 080a5ac1 17000100
+ 01000929 a00004c0 cbe60a.
+ +0.002462
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000257
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.838357
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.022221
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31308180 0001000d 0000000d 00000200 01000002 00010004 a9df0014 01460c52
+ 4f4f542d 53455256 45525303 4e455400 00000200 010004a9 df000401 47c01e00
+ 00020001 0004a9df 0004014a c01e0000 02000100 04a9df00 04014bc0 1e000002
+ 00010004 a9df0004 014cc01e 00000200 010004a9 df000401 4dc01e00 00020001
+ 0004a9df 00040141 c01e0000 02000100 04a9df00 040148c0 1e000002 00010004
+ a9df0004 0142c01e 00000200 010004a9 df000401 43c01e00 00020001 0004a9df
+ 00040144 c01e0000 02000100 04a9df00 040145c0 1e000002 00010004 a9df0004
+ 0149c01e c01c0001 00010009 29a00004 c00505f1 c03b0001 00010009 29a00004
+ c0702404 c04a0001 00010005 fb5f0004 c629000a c0590001 00010005 fb5f0004
+ c1000e81 c0680001 00010005 fb5f0004 c620400c c0770001 00010005 fb5f0004
+ ca0c1b21 c0860001 00010009 29a00004 c6290004 c0950001 00010009 29a00004
+ 803f0235 c0a40001 00010009 29a00004 8009006b c0b30001 00010009 29a00004
+ c021040c c0c20001 00010009 29a00004 80080a5a c0d10001 00010009 29a00004
+ c0cbe60a c0e00001 00010009 2c0f0004 c0249411.
+ +0.002373
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000502
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.813261
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.014045
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31328180 00010001 000d000d 00000600 01000006 00010000 bf91003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 51800000 02000100
+ 04a9df00 040146c0 1e000002 00010004 a9df0004 0147c01e 00000200 010004a9
+ df000401 4ac01e00 00020001 0004a9df 0004014b c01e0000 02000100 04a9df00
+ 04014cc0 1e000002 00010004 a9df0004 014dc01e 00000200 010004a9 df0002c0
+ 1c000002 00010004 a9df0004 0148c01e 00000200 010004a9 df000401 42c01e00
+ 00020001 0004a9df 00040143 c01e0000 02000100 04a9df00 040144c0 1e000002
+ 00010004 a9df0004 0145c01e 00000200 010004a9 df000401 49c01ec0 65000100
+ 01000929 a00004c0 0505f1c0 74000100 01000929 a00004c0 702404c0 83000100
+ 010005fb 5f0004c6 29000ac0 92000100 010005fb 5f0004c1 000e81c0 a1000100
+ 010005fb 5f0004c6 20400cc0 b0000100 010005fb 5f0004ca 0c1b21c0 1c000100
+ 01000929 a00004c6 290004c0 cc000100 01000929 a0000480 3f0235c0 db000100
+ 01000929 a0000480 09006bc0 ea000100 01000929 a00004c0 21040cc0 f9000100
+ 01000929 a0000480 080a5ac1 08000100 01000929 a00004c0 cbe60ac1 17000100
+ 0100092c 0f0004c0 249411.
+ +0.002429
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000266
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.796521
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.054212
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313a8180 0001000d 0000000d 00000200 01000002 00010004 a9df0014 01470c52
+ 4f4f542d 53455256 45525303 4e455400 00000200 010004a9 df000401 4ac01e00
+ 00020001 0004a9df 0004014b c01e0000 02000100 04a9df00 04014cc0 1e000002
+ 00010004 a9df0004 014dc01e 00000200 010004a9 df000401 41c01e00 00020001
+ 0004a9df 00040148 c01e0000 02000100 04a9df00 040142c0 1e000002 00010004
+ a9df0004 0143c01e 00000200 010004a9 df000401 44c01e00 00020001 0004a9df
+ 00040145 c01e0000 02000100 04a9df00 040149c0 1e000002 00010004 a9df0004
+ 0146c01e c01c0001 00010009 29a00004 c0702404 c03b0001 00010005 fb5f0004
+ c629000a c04a0001 00010005 fb5f0004 c1000e81 c0590001 00010005 fb5f0004
+ c620400c c0680001 00010005 fb5f0004 ca0c1b21 c0770001 00010009 29a00004
+ c6290004 c0860001 00010009 29a00004 803f0235 c0950001 00010009 29a00004
+ 8009006b c0a40001 00010009 29a00004 c021040c c0b30001 00010009 29a00004
+ 80080a5a c0c20001 00010009 29a00004 c0cbe60a c0d10001 00010009 2c0f0004
+ c0249411 c0e00001 00010009 29a00004 c00505f1.
+ +0.002233
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.001175
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.738901
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.025228
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313d8180 00010001 000d000d 00000600 01000006 00010000 b5fc003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 51800000 02000100
+ 04a9df00 040147c0 1e000002 00010004 a9df0004 014ac01e 00000200 010004a9
+ df000401 4bc01e00 00020001 0004a9df 0004014c c01e0000 02000100 04a9df00
+ 04014dc0 1e000002 00010004 a9df0002 c01c0000 02000100 04a9df00 040148c0
+ 1e000002 00010004 a9df0004 0142c01e 00000200 010004a9 df000401 43c01e00
+ 00020001 0004a9df 00040144 c01e0000 02000100 04a9df00 040145c0 1e000002
+ 00010004 a9df0004 0149c01e 00000200 010004a9 df000401 46c01ec0 65000100
+ 01000929 a00004c0 702404c0 74000100 010005fb 5f0004c6 29000ac0 83000100
+ 010005fb 5f0004c1 000e81c0 92000100 010005fb 5f0004c6 20400cc0 a1000100
+ 010005fb 5f0004ca 0c1b21c0 1c000100 01000929 a00004c6 290004c0 bd000100
+ 01000929 a0000480 3f0235c0 cc000100 01000929 a0000480 09006bc0 db000100
+ 01000929 a00004c0 21040cc0 ea000100 01000929 a0000480 080a5ac0 f9000100
+ 01000929 a00004c0 cbe60ac1 08000100 0100092c 0f0004c0 249411c1 17000100
+ 01000929 a00004c0 0505f1.
+ +0.002484
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000259
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.710930
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-273743
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.001383
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 00000500 01.
+ sendto=17
+ +0.001121
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 00000c00 01.
+ sendto=17
+ +0.000743
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 00000d00 01.
+ sendto=17
+ +0.000688
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000684
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 00001000 01.
+ sendto=17
+ +0.000683
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000683
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.001364
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000681
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000684
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.000733
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 00000500 01.
+ sendto=17
+ +0.000710
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 00000c00 01.
+ sendto=17
+ +0.000723
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 00000d00 01.
+ sendto=17
+ +0.000688
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000685
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 00001000 01.
+ sendto=17
+ +0.000685
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000687
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.001366
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000825
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000681
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.983502
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-06971
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.001460
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 00000500 01.
+ sendto=17
+ +0.001113
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 00000c00 01.
+ sendto=17
+ +0.000732
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 00000d00 01.
+ sendto=17
+ +0.000691
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000684
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 00001000 01.
+ sendto=17
+ +0.000688
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000688
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.001370
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000716
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000687
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.000682
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 00000500 01.
+ sendto=17
+ +0.000709
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 00000c00 01.
+ sendto=17
+ +0.000720
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 00000d00 01.
+ sendto=17
+ +0.000689
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000686
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 00001000 01.
+ sendto=17
+ +0.000683
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000687
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.001387
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000683
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000682
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.983562
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-06911
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.001256
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 00000500 01.
+ sendto=17
+ +0.000762
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 00000c00 01.
+ sendto=17
+ +0.000685
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 00000d00 01.
+ sendto=17
+ +0.000686
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000680
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 00001000 01.
+ sendto=17
+ +0.000680
+ sendto fd=4 addr=172.18.45.6:53
+ 31270100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000680
+ sendto fd=4 addr=172.18.45.6:53
+ 31290100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.001397
+ sendto fd=4 addr=172.18.45.6:53
+ 312c0100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000683
+ sendto fd=4 addr=172.18.45.6:53
+ 312e0100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000800
+ sendto fd=4 addr=172.18.45.6:53
+ 312f0100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.000684
+ sendto fd=4 addr=172.18.45.6:53
+ 31310100 00010000 00000000 00000500 01.
+ sendto=17
+ +0.000689
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000001
+ sendto fd=4 addr=172.18.45.6:53
+ 31330100 00010000 00000000 00000c00 01.
+ sendto=17
+ +0.000742
+ sendto fd=4 addr=172.18.45.6:53
+ 31340100 00010000 00000000 00000d00 01.
+ sendto=17
+ +0.000690
+ sendto fd=4 addr=172.18.45.6:53
+ 31350100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.002905
+ sendto fd=4 addr=172.18.45.6:53
+ 31360100 00010000 00000000 00001000 01.
+ sendto=17
+ +0.000746
+ sendto fd=4 addr=172.18.45.6:53
+ 31370100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000721
+ sendto fd=4 addr=172.18.45.6:53
+ 31390100 00010000 00000000 00000100 01.
+ sendto=17
+ +0.001361
+ sendto fd=4 addr=172.18.45.6:53
+ 313c0100 00010000 00000000 00000f00 01.
+ sendto=17
+ +0.000679
+ sendto fd=4 addr=172.18.45.6:53
+ 313e0100 00010000 00000000 00001100 01.
+ sendto=17
+ +0.000678
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.981795
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.010527
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238180 00010000 00010000 00000c00 01000006 00010000 0258003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000578
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000147
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.970543
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.014036
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298180 00010000 00010000 00000100 01000006 00010000 0258003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000625
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000126
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.955756
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.023928
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312f8180 00010000 00010000 00000100 01000006 00010000 0258003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000572
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000147
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.931109
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004638
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31338180 00010000 00010000 00000c00 01000006 00010000 0258003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000569
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000120
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.925782
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003203
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31348180 00010000 00010000 00000d00 01000006 00010000 0258003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000598
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000341
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.921640
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.024117
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31398180 00010000 00010000 00000100 01000006 00010000 0258003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000570
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.004905
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.892048
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.002074
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313c8180 00010000 00010000 00000f00 01000006 00010000 0258003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000566
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000121
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.889287
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.160358
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313e8180 00010000 00010000 00001100 01000006 00010000 0258003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000591
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000127
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.728211
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-133482
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010000 00010000 00000100 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000623
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000132
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.860938
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.028946
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010000 00010000 00000500 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000593
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000124
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.831275
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039651
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238580 00010000 00010000 00000c00 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000624
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000160
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.790840
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.029121
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248580 00010000 00010000 00000d00 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000596
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000124
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.760999
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.162355
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268580 00010000 00010000 00001000 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000596
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000155
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.597893
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.027725
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31278580 00010000 00010000 00001100 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000589
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000124
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.569455
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.027796
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31298580 00010000 00010000 00000100 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000716
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000199
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.540744
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.028676
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312c8580 00010000 00010000 00000f00 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000588
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000122
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.511358
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.029928
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312b8580 00010000 00010000 00000c00 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000588
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000211
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.480631
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039073
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312e8580 00010000 00010000 00001100 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000777
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000144
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.440637
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.028603
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31318580 00010000 00010000 00000500 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000583
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000123
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.411328
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.028684
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 312f8580 00010000 00010000 00000100 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000603
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000152
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.381889
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.029562
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258580 00010000 00010000 00000f00 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000584
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000124
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.361302
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.029558
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31338580 00010000 00010000 00000c00 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000618
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000151
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.330975
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039234
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31378580 00010000 00010000 00001100 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000585
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000124
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.291032
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.029095
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238580 00010000 00010000 00000c00 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000602
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000180
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.261155
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.029292
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31348580 00010000 00010000 00000d00 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000601
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000149
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.231113
+ select=1 rfds=[4] wfds=[] efds=[]
+ +1.-967500
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31368580 00010000 00010000 00001000 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000602
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000153
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.197858
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.026021
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31398580 00010000 00010000 00000100 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000599
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000150
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.171088
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.039664
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 313b8580 00010000 00010000 00000c00 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000600
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000172
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.130652
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.029223
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31358580 00010000 00010000 00000f00 01000006 00010001 5180003e 01410c52
+ 4f4f542d 53455256 45525303 4e455400 0a686f73 746d6173 74657208 494e5445
+ 524e4943 c02b7726 f4400000 07080000 03840009 3a800001 5180.
+ +0.000583
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000127
+ close fd=4
+ close=OK
+ +0.000982
diff --git a/regress/case-rr_addr-binary-compat.err b/regress/case-rr_addr-binary-compat.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-rr_addr-binary-compat.err
diff --git a/regress/case-rr_addr-binary-compat.out b/regress/case-rr_addr-binary-compat.out
new file mode 100644
index 0000000..89cccbb
--- /dev/null
+++ b/regress/case-rr_addr-binary-compat.out
@@ -0,0 +1,18 @@
+adns debug: using nameserver 172.29.199.224
+maddr.dnserr.distorted.org.uk flags 0 type 65537 A(addr) submitted
+maddr.dnserr.distorted.org.uk flags 0 type 65537 A(addr) submitted
+maddr.dnserr.distorted.org.uk flags 0 type A(addr): OK; nrrs=6; cname=$; owner=$; ttl=14400
+ INET 198.51.100.2
+ INET 198.51.100.1
+ INET 203.0.113.1
+ INET 203.0.113.2
+ INET 192.0.2.1
+ INET 192.0.2.2
+maddr.dnserr.distorted.org.uk flags 0 type A(addr): OK; nrrs=6; cname=$; owner=$; ttl=14400
+ INET 198.51.100.1
+ INET 198.51.100.2
+ INET 203.0.113.1
+ INET 203.0.113.2
+ INET 192.0.2.1
+ INET 192.0.2.2
+rc=0
diff --git a/regress/case-rr_addr-binary-compat.sys b/regress/case-rr_addr-binary-compat.sys
new file mode 100644
index 0000000..c1ae7bb
--- /dev/null
+++ b/regress/case-rr_addr-binary-compat.sys
@@ -0,0 +1,63 @@
+./adnstest distorted
+:0x1010000|1,0x10000|1 maddr.dnserr.distorted.org.uk
+ start 1402443258.469312
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000064
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000035
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000027
+ sendto fd=6 addr=172.29.199.224:53
+ 31200100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000405
+ sendto fd=6 addr=172.29.199.224:53
+ 31220100 00010000 00000000 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000308
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999287
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.001781
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31208580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001c0 0c000100 01000038 400004c6 336402c0
+ 0c000100 01000038 400004cb 007101c0 0c000100 01000038 400004cb 007102c0
+ 0c000100 01000038 400004c0 000201c0 0c000100 01000038 400004c0 000202c0
+ 0c000100 01000038 400004c6 336401c0 12000200 01000038 40000c06 72616469
+ 7573026e 73c012c0 12000200 01000038 40000a07 76616d70 697265c0 a2c01200
+ 02000100 00384000 0d0a7465 6c656361 73746572 c0a2c012 00020001 00003840
+ 000c0970 72656369 73696f6e c0a2c09b 00010001 00003840 00043e31 cc92c09b
+ 001c0001 00003840 00102001 04701f09 1b980000 00000000 0002c0b3 00010001
+ 00003840 00043e31 cc96c0b3 001c0001 00003840 00102001 04701f09 1b980000
+ 00000000 0006c0e2 00010001 00003840 0004d40d c646c0e2 001c0001 00003840
+ 00102001 0ba80000 01d90000 00000000 0006c0c9 00010001 00003840 0004d40d
+ c647c0c9 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0007.
+ +0.000411
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31228580 00010006 00040008 056d6164 64720664 6e736572 72096469 73746f72
+ 74656403 6f726702 756b0000 010001c0 0c000100 01000038 400004cb 007101c0
+ 0c000100 01000038 400004cb 007102c0 0c000100 01000038 400004c0 000201c0
+ 0c000100 01000038 400004c0 000202c0 0c000100 01000038 400004c6 336401c0
+ 0c000100 01000038 400004c6 336402c0 12000200 01000038 40000c06 72616469
+ 7573026e 73c012c0 12000200 01000038 40000c09 70726563 6973696f 6ec0a2c0
+ 12000200 01000038 40000a07 76616d70 697265c0 a2c01200 02000100 00384000
+ 0d0a7465 6c656361 73746572 c0a2c09b 00010001 00003840 00043e31 cc92c09b
+ 001c0001 00003840 00102001 04701f09 1b980000 00000000 0002c0cb 00010001
+ 00003840 00043e31 cc96c0cb 001c0001 00003840 00102001 04701f09 1b980000
+ 00000000 0006c0b3 00010001 00003840 0004d40d c646c0b3 001c0001 00003840
+ 00102001 0ba80000 01d90000 00000000 0006c0e1 00010001 00003840 0004d40d
+ c647c0e1 001c0001 00003840 00102001 0ba80000 01d90000 00000000 0007.
+ +0.000482
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000103
+ close fd=6
+ close=OK
+ +0.001487
diff --git a/regress/case-search-as.err b/regress/case-search-as.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-search-as.err
diff --git a/regress/case-search-as.out b/regress/case-search-as.out
new file mode 100644
index 0000000..95e15a5
--- /dev/null
+++ b/regress/case-search-as.out
@@ -0,0 +1,14 @@
+adns debug: using nameserver 172.18.45.6
+news flags 5 type 1 A(-) submitted
+chiark flags 5 type 1 A(-) submitted
+news flags 1 type 1 A(-) submitted
+chiark flags 1 type 1 A(-) submitted
+news flags 5 type A(-): OK; nrrs=1; cname=davenant.relativity.greenend.org.uk; owner=news.davenant.greenend.org.uk; ttl=86400
+ 172.18.45.6
+news flags 1 type A(-): OK; nrrs=1; cname=davenant.relativity.greenend.org.uk; owner=$; ttl=86400
+ 172.18.45.6
+chiark flags 5 type A(-): OK; nrrs=1; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+ 195.224.76.132
+chiark flags 1 type A(-): OK; nrrs=1; cname=$; owner=$; ttl=86400
+ 195.224.76.132
+rc=0
diff --git a/regress/case-search-as.sys b/regress/case-search-as.sys
new file mode 100644
index 0000000..442a0a5
--- /dev/null
+++ b/regress/case-search-as.sys
@@ -0,0 +1,131 @@
+adnstest default
+:0x0|1 0x5/news 0x5/chiark 1/news 1/chiark
+ start 931992052.232208
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000202
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000109
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000065
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000696
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 06636869 61726b08 64617665 6e616e74 08677265
+ 656e656e 64036f72 6702756b 00000100 01.
+ sendto=49
+ +0.000559
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000991
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 06636869 61726b08 64617665 6e616e74 08677265
+ 656e656e 64036f72 6702756b 00000100 01.
+ sendto=49
+ +0.000516
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997238
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.019885
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010002 00030003 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001c0 0c000500 01000151 80002508 64617665
+ 6e616e74 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c03b0001 00010001 51800004 ac122d06 c0440002 00010001 51800006 036e7330
+ c044c044 00020001 00015180 0006036e 7331c044 c0440002 00010001 51800006
+ 036e7332 c044c07c 00010001 00015180 0004ac12 2d06c08e 00010001 00015180
+ 0004ac12 2d41c0a0 00010001 00015180 0004ac12 2d01.
+ +0.001537
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000296
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.976216
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001966
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208583 00010000 00010000 06636869 61726b08 64617665 6e616e74 08677265
+ 656e656e 64036f72 6702756b 00000100 01086772 65656e65 6e64036f 72670275
+ 6b000006 00010001 5180002d 026e7306 63686961 726bc031 0a686f73 746d6173
+ 746572c0 31772741 34000070 8000001c 2000093a 80000151 80.
+ +0.000819
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000471
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000102
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.973417
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.006224
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010002 00030003 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001c0 0c000500 01000151 80002508 64617665
+ 6e616e74 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c03b0001 00010001 51800004 ac122d06 c0440002 00010001 51800006 036e7330
+ c044c044 00020001 00015180 0006036e 7331c044 c0440002 00010001 51800006
+ 036e7332 c044c07c 00010001 00015180 0004ac12 2d06c08e 00010001 00015180
+ 0004ac12 2d41c0a0 00010001 00015180 0004ac12 2d01.
+ +0.001353
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000239
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.966592
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001978
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228583 00010000 00010000 06636869 61726b08 64617665 6e616e74 08677265
+ 656e656e 64036f72 6702756b 00000100 01086772 65656e65 6e64036f 72670275
+ 6b000006 00010001 5180002d 026e7306 63686961 726bc031 0a686f73 746d6173
+ 746572c0 31772741 34000070 8000001c 2000093a 80000151 80.
+ +0.000817
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000436
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000101
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.987460
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004418
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d41.
+ +0.000982
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000180
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.993066
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003953
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d41.
+ +0.000986
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000143
+ close fd=4
+ close=OK
+ +0.000193
diff --git a/regress/case-search.err b/regress/case-search.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-search.err
diff --git a/regress/case-search.out b/regress/case-search.out
new file mode 100644
index 0000000..35e0367
--- /dev/null
+++ b/regress/case-search.out
@@ -0,0 +1,14 @@
+adns debug: using nameserver 172.18.45.6
+news flags 5 type 1 A(-) submitted
+chiark flags 5 type 1 A(-) submitted
+news flags 1 type 1 A(-) submitted
+chiark flags 1 type 1 A(-) submitted
+news flags 5 type A(-): OK; nrrs=1; cname=davenant.relativity.greenend.org.uk; owner=news.davenant.greenend.org.uk; ttl=86400
+ 172.18.45.6
+chiark flags 5 type A(-): OK; nrrs=1; cname=$; owner=chiark.greenend.org.uk; ttl=86400
+ 195.224.76.132
+news flags 1 type A(-): OK; nrrs=1; cname=davenant.relativity.greenend.org.uk; owner=$; ttl=86400
+ 172.18.45.6
+chiark flags 1 type A(-): OK; nrrs=1; cname=$; owner=$; ttl=86400
+ 195.224.76.132
+rc=0
diff --git a/regress/case-search.sys b/regress/case-search.sys
new file mode 100644
index 0000000..4c6675c
--- /dev/null
+++ b/regress/case-search.sys
@@ -0,0 +1,133 @@
+adnstest default -,s
+:0x0|1 0x5/news 0x5/chiark 1/news 1/chiark
+ start 924360470.478357
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000200
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000084
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000067
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=47
+ +0.001994
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 06636869 61726b08 64617665 6e616e74 08677265
+ 656e656e 64036f72 6702756b 00000100 01.
+ sendto=49
+ +0.001461
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=47
+ +0.001029
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 06636869 61726b08 64617665 6e616e74 08677265
+ 656e656e 64036f72 6702756b 00000100 01.
+ sendto=49
+ +0.000984
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.994532
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004691
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010002 00030003 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001c0 0c000500 01000151 80002508 64617665
+ 6e616e74 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c03b0001 00010001 51800004 ac122d06 c0440002 00010001 51800006 036e7330
+ c044c044 00020001 00015180 0006036e 7331c044 c0440002 00010001 51800006
+ 036e7332 c044c07c 00010001 00015180 0004ac12 2d06c08e 00010001 00015180
+ 0004ac12 2d41c0a0 00010001 00015180 0004ac12 2d01.
+ +0.001460
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000295
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.990080
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.001032
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208583 00010000 00010000 06636869 61726b08 64617665 6e616e74 08677265
+ 656e656e 64036f72 6702756b 00000100 01086772 65656e65 6e64036f 72670275
+ 6b000006 00010001 51800037 04646e73 3006656c 6d61696c 02636fc0 3e087269
+ 63686172 646b0663 68696172 6bc03177 26f0bf00 00708000 001c2000 093a8000
+ 015180.
+ +0.000739
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000925
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000101
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.988744
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005215
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010002 00030003 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001c0 0c000500 01000151 80002508 64617665
+ 6e616e74 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c03b0001 00010001 51800004 ac122d06 c0440002 00010001 51800006 036e7330
+ c044c044 00020001 00015180 0006036e 7331c044 c0440002 00010001 51800006
+ 036e7332 c044c07c 00010001 00015180 0004ac12 2d06c08e 00010001 00015180
+ 0004ac12 2d41c0a0 00010001 00015180 0004ac12 2d01.
+ +0.001514
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000264
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.982780
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.000850
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228583 00010000 00010000 06636869 61726b08 64617665 6e616e74 08677265
+ 656e656e 64036f72 6702756b 00000100 01086772 65656e65 6e64036f 72670275
+ 6b000006 00010001 51800037 04646e73 3006656c 6d61696c 02636fc0 3e087269
+ 63686172 646b0663 68696172 6bc03177 26f0bf00 00708000 001c2000 093a8000
+ 015180.
+ +0.000739
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000884
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000101
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.988668
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003228
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d41.
+ +0.000828
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000194
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.994026
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003357
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010001 51800004 c3e04c84 08677265 656e656e
+ 64036f72 6702756b 00000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c038 c0380002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d41.
+ +0.000828
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000155
+ close fd=4
+ close=OK
+ +0.000171
diff --git a/regress/case-searchabs.err b/regress/case-searchabs.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-searchabs.err
diff --git a/regress/case-searchabs.out b/regress/case-searchabs.out
new file mode 100644
index 0000000..5fb6b51
--- /dev/null
+++ b/regress/case-searchabs.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.18.45.6
+news.davenant flags 1 type 1 A(-) submitted
+news.davenant flags 1 type A(-): OK; nrrs=1; cname=davenant.relativity.greenend.org.uk; owner=$; ttl=584
+ 172.18.45.6
+rc=0
diff --git a/regress/case-searchabs.sys b/regress/case-searchabs.sys
new file mode 100644
index 0000000..ee547ba
--- /dev/null
+++ b/regress/case-searchabs.sys
@@ -0,0 +1,72 @@
+adnstest default
+:0x0|1 1/news.davenant
+ start 924363451.882765
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000207
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000088
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000071
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 046e6577 73086461 76656e61 6e740000 010001.
+ sendto=31
+ +0.001846
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998154
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004592
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8583 00010000 00010000 046e6577 73086461 76656e61 6e740000 01000100
+ 00060001 00000248 003e0141 0c524f4f 542d5345 52564552 53034e45 54000a68
+ 6f73746d 61737465 7208494e 5445524e 4943c039 7726f440 00000708 00000384
+ 00093a80 00015180.
+ +0.000697
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 046e6577 73086461 76656e61 6e740864 6176656e
+ 616e7408 67726565 6e656e64 036f7267 02756b00 00010001.
+ sendto=56
+ +0.001073
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000105
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.998125
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003727
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208583 00010000 00010000 046e6577 73086461 76656e61 6e740864 6176656e
+ 616e7408 67726565 6e656e64 036f7267 02756b00 00010001 08677265 656e656e
+ 64036f72 6702756b 00000600 01000151 80003704 646e7330 06656c6d 61696c02
+ 636fc045 08726963 68617264 6b066368 6961726b c0387726 f0bf0000 70800000
+ 1c200009 3a800001 5180.
+ +0.000972
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001.
+ sendto=47
+ +0.000965
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000105
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.997958
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.007222
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010002 00030003 046e6577 73086461 76656e61 6e740867 7265656e
+ 656e6403 6f726702 756b0000 010001c0 0c000500 01000151 80002508 64617665
+ 6e616e74 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ c03b0001 00010001 51800004 ac122d06 c0440002 00010001 51800006 036e7330
+ c044c044 00020001 00015180 0006036e 7331c044 c0440002 00010001 51800006
+ 036e7332 c044c07c 00010001 00015180 0004ac12 2d06c08e 00010001 00015180
+ 0004ac12 2d41c0a0 00010001 00015180 0004ac12 2d01.
+ +0.001124
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000295
+ close fd=4
+ close=OK
+ +0.000221
diff --git a/regress/case-sillyrp.err b/regress/case-sillyrp.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-sillyrp.err
diff --git a/regress/case-sillyrp.out b/regress/case-sillyrp.out
new file mode 100644
index 0000000..f947914
--- /dev/null
+++ b/regress/case-sillyrp.out
@@ -0,0 +1,22 @@
+adns debug: using nameserver 172.18.45.6
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 112 type 17 RP(raw) submitted
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 112 type 131089 RP(822) submitted
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 112 type 17 RP(raw) submitted
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 112 type 131089 RP(822) submitted
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 0 type 17 RP(raw) submitted
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 0 type 131089 RP(822) submitted
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 0 type 17 RP(raw) submitted
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 0 type 131089 RP(822) submitted
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 112 type RP(raw): OK; nrrs=1; cname=$; owner=$; ttl=60
+ i\..root\000null.org .
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 112 type RP(822): Found syntactically invalid domain name; nrrs=0; cname=$; owner=$; ttl=60
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 112 type RP(raw): OK; nrrs=1; cname=$; owner=$; ttl=60
+ spong\000flibble.ucam.org .
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 112 type RP(822): Found invalid DNS data; nrrs=0; cname=$; owner=$; ttl=60
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 0 type RP(raw): OK; nrrs=1; cname=$; owner=$; ttl=60
+ spong\000flibble.ucam.org .
+silly-rp-lp.test.iwj.relativity.greenend.org.uk flags 0 type RP(822): Found invalid DNS data; nrrs=0; cname=$; owner=$; ttl=60
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 0 type RP(raw): OK; nrrs=1; cname=$; owner=$; ttl=60
+ i\..root\000null.org .
+silly-rp-dm.test.iwj.relativity.greenend.org.uk flags 0 type RP(822): Found syntactically invalid domain name; nrrs=0; cname=$; owner=$; ttl=60
+rc=0
diff --git a/regress/case-sillyrp.sys b/regress/case-sillyrp.sys
new file mode 100644
index 0000000..f5d8e51
--- /dev/null
+++ b/regress/case-sillyrp.sys
@@ -0,0 +1,183 @@
+adnstest default
+:0x0|17,0x20000|17 0x70/silly-rp-dm.test.iwj.relativity.greenend.org.uk 0x70/silly-rp-lp.test.iwj.relativity.greenend.org.uk silly-rp-lp.test.iwj.relativity.greenend.org.uk silly-rp-dm.test.iwj.relativity.greenend.org.uk
+ start 929580348.131048
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000207
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000086
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000061
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 0b73696c 6c792d72 702d646d 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=65
+ +0.000768
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 0b73696c 6c792d72 702d646d 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=65
+ +0.001010
+ sendto fd=4 addr=172.18.45.6:53
+ 31210100 00010000 00000000 0b73696c 6c792d72 702d6c70 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=65
+ +0.000607
+ sendto fd=4 addr=172.18.45.6:53
+ 31220100 00010000 00000000 0b73696c 6c792d72 702d6c70 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=65
+ +0.000543
+ sendto fd=4 addr=172.18.45.6:53
+ 31230100 00010000 00000000 0b73696c 6c792d72 702d6c70 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=65
+ +0.000544
+ sendto fd=4 addr=172.18.45.6:53
+ 31240100 00010000 00000000 0b73696c 6c792d72 702d6c70 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=65
+ +0.000535
+ sendto fd=4 addr=172.18.45.6:53
+ 31250100 00010000 00000000 0b73696c 6c792d72 702d646d 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=65
+ +0.000538
+ sendto fd=4 addr=172.18.45.6:53
+ 31260100 00010000 00000000 0b73696c 6c792d72 702d646d 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01.
+ sendto=65
+ +0.000569
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.994886
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005696
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010001 00010001 0b73696c 6c792d72 702d646d 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01c00c00 11000100 00003c00 1302692e 09726f6f 74006e75 6c6c036f 72670000
+ 04746573 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00000200 01000000 3c000603 6e7330c0 69c08f00 01000100 01518000
+ 04ac122d 06.
+ +0.000936
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000308
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.988714
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003951
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010001 00010001 0b73696c 6c792d72 702d646d 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01c00c00 11000100 00003c00 1302692e 09726f6f 74006e75 6c6c036f 72670000
+ 04746573 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00000200 01000000 3c000603 6e7330c0 69c08f00 01000100 01518000
+ 04ac122d 06.
+ +0.000891
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000192
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.984690
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003968
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010001 00010001 0b73696c 6c792d72 702d6c70 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01c00c00 11000100 00003c00 190d7370 6f6e6700 666c6962 626c6504 7563616d
+ 036f7267 00000474 65737403 69776a0a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 02000100 00003c00 06036e73 30c06fc0 95000100
+ 01000151 800004ac 122d06.
+ +0.000915
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000193
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.980221
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004041
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228580 00010001 00010001 0b73696c 6c792d72 702d6c70 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01c00c00 11000100 00003c00 190d7370 6f6e6700 666c6962 626c6504 7563616d
+ 036f7267 00000474 65737403 69776a0a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 02000100 00003c00 06036e73 30c06fc0 95000100
+ 01000151 800004ac 122d06.
+ +0.000915
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000154
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.975654
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.003970
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238580 00010001 00010001 0b73696c 6c792d72 702d6c70 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01c00c00 11000100 00003c00 190d7370 6f6e6700 666c6962 626c6504 7563616d
+ 036f7267 00000474 65737403 69776a0a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 02000100 00003c00 06036e73 30c06fc0 95000100
+ 01000151 800004ac 122d06.
+ +0.000911
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000173
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.971144
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.005737
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248580 00010001 00010001 0b73696c 6c792d72 702d6c70 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01c00c00 11000100 00003c00 190d7370 6f6e6700 666c6962 626c6504 7563616d
+ 036f7267 00000474 65737403 69776a0a 72656c61 74697669 74790867 7265656e
+ 656e6403 6f726702 756b0000 02000100 00003c00 06036e73 30c06fc0 95000100
+ 01000151 800004ac 122d06.
+ +0.000914
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000151
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.964877
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004001
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258580 00010001 00010001 0b73696c 6c792d72 702d646d 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01c00c00 11000100 00003c00 1302692e 09726f6f 74006e75 6c6c036f 72670000
+ 04746573 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00000200 01000000 3c000603 6e7330c0 69c08f00 01000100 01518000
+ 04ac122d 06.
+ +0.000911
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000155
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.960348
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.004043
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31268580 00010001 00010001 0b73696c 6c792d72 702d646d 04746573 74036977
+ 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00001100
+ 01c00c00 11000100 00003c00 1302692e 09726f6f 74006e75 6c6c036f 72670000
+ 04746573 74036977 6a0a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00000200 01000000 3c000603 6e7330c0 69c08f00 01000100 01518000
+ 04ac122d 06.
+ +0.000886
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000191
+ close fd=4
+ close=OK
+ +0.000160
diff --git a/regress/case-srvbaddom.err b/regress/case-srvbaddom.err
new file mode 100644
index 0000000..8e96c9e
--- /dev/null
+++ b/regress/case-srvbaddom.err
@@ -0,0 +1,6 @@
+adns debug: using nameserver 172.18.45.6
+Error during DNS SRV lookup for srv.tcp.test.iwj.relativity.greenend.org.uk: Domain name is syntactically invalid
+Error during DNS SRV lookup for spong: Domain name is syntactically invalid
+_foo._bar does not exist
+_s*a._tcp.ucam.org does not exist
+Error during DNS SRV lookup for _s*a._tcp.pi&ckle.ucam.org: Domain name is syntactically invalid
diff --git a/regress/case-srvbaddom.out b/regress/case-srvbaddom.out
new file mode 100644
index 0000000..ef5105e
--- /dev/null
+++ b/regress/case-srvbaddom.out
@@ -0,0 +1 @@
+rc=6
diff --git a/regress/case-srvbaddom.sys b/regress/case-srvbaddom.sys
new file mode 100644
index 0000000..5e03602
--- /dev/null
+++ b/regress/case-srvbaddom.sys
@@ -0,0 +1,50 @@
+./adnshost default
+-t srv- srv.tcp.test.iwj.relativity.greenend.org.uk. spong. _foo._bar. _s*a._tcp.ucam.org. _s*a._tcp.pi&ckle.ucam.org
+ start 1144349027.926430
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000082
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000049
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000041
+ sendto fd=6 addr=172.18.45.6:53
+ 31210100 00010000 00000000 045f666f 6f045f62 61720000 210001.
+ sendto=27
+ +0.000326
+ sendto fd=6 addr=172.18.45.6:53
+ 31220100 00010000 00000000 045f732a 61045f74 63700475 63616d03 6f726700
+ 00210001.
+ sendto=36
+ +0.000227
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999447
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.004565
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218183 00010000 00010000 045f666f 6f045f62 61720000 21000100 00060001
+ 000029fb 00400141 0c524f4f 542d5345 52564552 53034e45 5400054e 53544c44
+ 0c564552 49534947 4e2d4752 5303434f 4d007791 bfb50000 07080000 03840009
+ 3a800001 5180.
+ +0.000212
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000070
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.994926
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.002158
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228183 00010000 00010000 045f732a 61045f74 63700475 63616d03 6f726700
+ 00210001 c0160006 00010000 0df5004c 0a736f61 2d6f7269 67696e02 6e730663
+ 68696172 6b086772 65656e65 6e64036f 72670275 6b000f73 74756465 6e742d72
+ 756e2d64 6e73c03e 00000121 00002a30 00000e10 00093a80 00000e10.
+ +0.000198
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000062
+ close fd=6
+ close=OK
+ +0.000091
diff --git a/regress/case-srvha.err b/regress/case-srvha.err
new file mode 100644
index 0000000..2886e3c
--- /dev/null
+++ b/regress/case-srvha.err
@@ -0,0 +1 @@
+adns debug: using nameserver 172.18.45.6
diff --git a/regress/case-srvha.out b/regress/case-srvha.out
new file mode 100644
index 0000000..5faa1ec
--- /dev/null
+++ b/regress/case-srvha.out
@@ -0,0 +1,7 @@
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 10 66 10066 davenant.relativity.greenend.org.uk ok 0 ok "OK" ( INET 172.18.45.6 )
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 200 20200 norway.relativity.greenend.org.uk ok 0 ok "OK" ( INET 172.18.45.40 )
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 400 20400 anarres.relativity.greenend.org.uk ok 0 ok "OK" ( INET 172.18.45.2 )
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 100 20100 nxdomain.relativity.greenend.org.uk permfail 300 nxdomain "No such domain" ( )
+_jabber._tcp.jabber.org SRV 30 30 5269 jabber.org ok 0 ok "OK" ( INET 208.245.212.98 )
+_sip._udp.voip.net.cam.ac.uk SRV 10 1 5060 sip.voip.net.cam.ac.uk ok 0 ok "OK" ( INET 131.111.8.174 )
+rc=0
diff --git a/regress/case-srvha.sys b/regress/case-srvha.sys
new file mode 100644
index 0000000..231c29b
--- /dev/null
+++ b/regress/case-srvha.sys
@@ -0,0 +1,103 @@
+./adnshost default -A4
+-t srv _srv._tcp.test.iwj.relativity.greenend.org.uk. _jabber._tcp.jabber.org _sip._udp.voip.net.cam.ac.uk.
+ start 1144348939.753711
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000080
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000050
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000042
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001.
+ sendto=63
+ +0.000363
+ sendto fd=6 addr=172.18.45.6:53
+ 31200100 00010000 00000000 075f6a61 62626572 045f7463 70066a61 62626572
+ 036f7267 00002100 01.
+ sendto=41
+ +0.000218
+ sendto fd=6 addr=172.18.45.6:53
+ 31210100 00010000 00000000 045f7369 70045f75 64700476 6f697003 6e657403
+ 63616d02 61630275 6b000021 0001.
+ sendto=46
+ +0.000211
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999208
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.005339
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010004 00020004 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001c0
+ 0c002100 01000000 0a002a00 1401904f b007616e 61727265 730a7265 6c617469
+ 76697479 08677265 656e656e 64036f72 6702756b 00c00c00 21000100 00000a00
+ 29001400 c84ee806 6e6f7277 61790a72 656c6174 69766974 79086772 65656e65
+ 6e64036f 72670275 6b00c00c 00210001 0000000a 002b0014 00644e84 086e7864
+ 6f6d6169 6e0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00c00c00 21000100 00000a00 2b000a00 42275208 64617665 6e616e74 0a72656c
+ 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0160002 00010000
+ 000a0006 036e7330 c01fc016 00020001 0000000a 0021086e 732d7370 6f6e6702
+ 34350331 37320231 3807696e 2d616464 72046172 70610007 616e6172 726573c0
+ 1f000100 01000151 800004ac 122d0206 6e6f7277 6179c01f 00010001 00015180
+ 0004ac12 2d280864 6176656e 616e74c0 1f000100 01000151 800004ac 122d06c1
+ 24000100 01000151 800004ac 122d06.
+ +0.000561
+ sendto fd=6 addr=172.18.45.6:53
+ 31230100 00010000 00000000 086e7864 6f6d6169 6e0a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=53
+ +0.000465
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010001 00040005 075f6a61 62626572 045f7463 70066a61 62626572
+ 036f7267 00002100 01c00c00 21000100 0006a100 12001e00 1e149506 6a616262
+ 6572036f 726700c0 19000200 0100001b b9001103 6e733107 6a657265 6d696503
+ 636f6d00 c0190002 00010000 1bb90006 036e7332 c057c019 00020001 00001bb9
+ 000c036e 73310562 6c616872 c05fc019 00020001 00001bb9 0010026e 73076f62
+ 656c6973 6b036e65 7400c019 00010001 000000c5 0004d0f5 d462c053 00010001
+ 00004107 0004d0f5 d41dc070 00010001 00004107 0004d0f5 d41ec082 00010001
+ 00004109 00044051 6774c09a 00010001 00004109 00044761 e072.
+ +0.000378
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000074
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.992972
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000229
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218180 00010001 00070008 045f7369 70045f75 64700476 6f697003 6e657403
+ 63616d02 61630275 6b000021 0001c00c 00210001 00015129 001e000a 000113c4
+ 03736970 04766f69 70036e65 74036361 6d026163 02756b00 c01f0002 00010001
+ 5129000a 03633031 03637369 c01fc01f 00020001 00015129 0009036e 73320269
+ 63c023c0 1f000200 01000151 29000a04 646e7330 02636cc0 1fc01f00 02000100
+ 01512900 0b04646e 73300365 6e67c01f c01f0002 00010001 51290007 04646e73
+ 31c094c0 1f000200 01000151 29000f05 62697473 79036d69 74036564 7500c01f
+ 00020001 00015129 000f0863 68696d61 65726103 637378c0 1f037369 70c01600
+ 01000100 01512900 04836f08 aec06400 01000100 01512900 04836f0c 14c07a00
+ 01000100 00fd0f00 049bc605 03c08f00 01000100 00540900 0480e800 13c0a500
+ 01000100 01512900 0481a908 08c0bc00 01000100 00540900 0480e800 12c0cf00
+ 01000100 00024b00 04124800 03c0ea00 01000100 01512900 04836f08 2a.
+ +0.000486
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000135
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.997672
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.003660
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238583 00010000 00010000 086e7864 6f6d6169 6e0a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01c01500 06000100 01518000
+ 27036e73 30c0150a 686f7374 6d617374 6572c015 00000075 00001c20 00000e10
+ 00093a80 00015180.
+ +0.000177
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000073
+ close fd=6
+ close=OK
+ +0.006908
diff --git a/regress/case-srvok.err b/regress/case-srvok.err
new file mode 100644
index 0000000..2886e3c
--- /dev/null
+++ b/regress/case-srvok.err
@@ -0,0 +1 @@
+adns debug: using nameserver 172.18.45.6
diff --git a/regress/case-srvok.out b/regress/case-srvok.out
new file mode 100644
index 0000000..a8d22d8
--- /dev/null
+++ b/regress/case-srvok.out
@@ -0,0 +1,7 @@
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 10 66 10066 davenant.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 200 20200 norway.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 400 20400 anarres.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 100 20100 nxdomain.relativity.greenend.org.uk
+_jabber._tcp.jabber.org SRV 30 30 5269 jabber.org
+_sip._udp.voip.net.cam.ac.uk SRV 10 1 5060 sip.voip.net.cam.ac.uk
+rc=0
diff --git a/regress/case-srvok.sys b/regress/case-srvok.sys
new file mode 100644
index 0000000..b7b4120
--- /dev/null
+++ b/regress/case-srvok.sys
@@ -0,0 +1,85 @@
+./adnshost default
+-t srv- _srv._tcp.test.iwj.relativity.greenend.org.uk. _jabber._tcp.jabber.org _sip._udp.voip.net.cam.ac.uk.
+ start 1144348873.125491
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000077
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000045
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000039
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001.
+ sendto=63
+ +0.000350
+ sendto fd=6 addr=172.18.45.6:53
+ 31200100 00010000 00000000 075f6a61 62626572 045f7463 70066a61 62626572
+ 036f7267 00002100 01.
+ sendto=41
+ +0.000228
+ sendto fd=6 addr=172.18.45.6:53
+ 31210100 00010000 00000000 045f7369 70045f75 64700476 6f697003 6e657403
+ 63616d02 61630275 6b000021 0001.
+ sendto=46
+ +0.000207
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999215
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.006492
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010004 00020004 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001c0
+ 0c002100 01000000 0a002b00 0a004227 52086461 76656e61 6e740a72 656c6174
+ 69766974 79086772 65656e65 6e64036f 72670275 6b00c00c 00210001 0000000a
+ 002a0014 01904fb0 07616e61 72726573 0a72656c 61746976 69747908 67726565
+ 6e656e64 036f7267 02756b00 c00c0021 00010000 000a0029 001400c8 4ee8066e
+ 6f727761 790a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00c00c00 21000100 00000a00 2b001400 644e8408 6e78646f 6d61696e 0a72656c
+ 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0160002 00010000
+ 000a0006 036e7330 c01fc016 00020001 0000000a 0021086e 732d7370 6f6e6702
+ 34350331 37320231 3807696e 2d616464 72046172 70610008 64617665 6e616e74
+ c01f0001 00010001 51800004 ac122d06 07616e61 72726573 c01f0001 00010001
+ 51800004 ac122d02 066e6f72 776179c0 1f000100 01000151 800004ac 122d28c1
+ 24000100 01000151 800004ac 122d06.
+ +0.000557
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000119
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.992397
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.003318
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208180 00010001 00040005 075f6a61 62626572 045f7463 70066a61 62626572
+ 036f7267 00002100 01c00c00 21000100 0006e300 12001e00 1e149506 6a616262
+ 6572036f 726700c0 19000200 0100001b fb001103 6e733107 6a657265 6d696503
+ 636f6d00 c0190002 00010000 1bfb0006 036e7332 c057c019 00020001 00001bfb
+ 000c036e 73310562 6c616872 c05fc019 00020001 00001bfb 0010026e 73076f62
+ 656c6973 6b036e65 7400c019 00010001 00000107 0004d0f5 d462c053 00010001
+ 00004149 0004d0f5 d41dc070 00010001 00004149 0004d0f5 d41ec082 00010001
+ 0000414b 00044051 6774c09a 00010001 0000414b 00044761 e072.
+ +0.000331
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218180 00010001 00070008 045f7369 70045f75 64700476 6f697003 6e657403
+ 63616d02 61630275 6b000021 0001c00c 00210001 0001516b 001e000a 000113c4
+ 03736970 04766f69 70036e65 74036361 6d026163 02756b00 c01f0002 00010001
+ 516b000a 03633031 03637369 c01fc01f 00020001 0001516b 0009036e 73320269
+ 63c023c0 1f000200 01000151 6b000a04 646e7330 02636cc0 1fc01f00 02000100
+ 01516b00 0b04646e 73300365 6e67c01f c01f0002 00010001 516b0007 04646e73
+ 31c094c0 1f000200 01000151 6b000f05 62697473 79036d69 74036564 7500c01f
+ 00020001 0001516b 000f0863 68696d61 65726103 637378c0 1f037369 70c01600
+ 01000100 01516b00 04836f08 aec06400 01000100 01516b00 04836f0c 14c07a00
+ 01000100 00fd5100 049bc605 03c08f00 01000100 00544b00 0480e800 13c0a500
+ 01000100 01516b00 0481a908 08c0bc00 01000100 00544b00 0480e800 12c0cf00
+ 01000100 00028d00 04124800 03c0ea00 01000100 01516b00 04836f08 2a.
+ +0.000484
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000061
+ close fd=6
+ close=OK
+ +0.004680
diff --git a/regress/case-srvqudom.err b/regress/case-srvqudom.err
new file mode 100644
index 0000000..f11e49c
--- /dev/null
+++ b/regress/case-srvqudom.err
@@ -0,0 +1,6 @@
+adns debug: using nameserver 172.18.45.6
+srv.tcp.test.iwj.relativity.greenend.org.uk does not exist
+spong does not exist
+_foo._bar does not exist
+_s*a._tcp.ucam.org does not exist
+_s*a._tcp.pi&ckle.ucam.org does not exist
diff --git a/regress/case-srvqudom.out b/regress/case-srvqudom.out
new file mode 100644
index 0000000..ef5105e
--- /dev/null
+++ b/regress/case-srvqudom.out
@@ -0,0 +1 @@
+rc=6
diff --git a/regress/case-srvqudom.sys b/regress/case-srvqudom.sys
new file mode 100644
index 0000000..a54c484
--- /dev/null
+++ b/regress/case-srvqudom.sys
@@ -0,0 +1,104 @@
+./adnshost default
+-Qq -t srv- srv.tcp.test.iwj.relativity.greenend.org.uk. spong. _foo._bar. _s*a._tcp.ucam.org. _s*a._tcp.pi&ckle.ucam.org
+ start 1144349124.698466
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000082
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000049
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000042
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03737276 03746370 04746573 74036977 6a0a7265
+ 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00002100 01.
+ sendto=61
+ +0.000339
+ sendto fd=6 addr=172.18.45.6:53
+ 31200100 00010000 00000000 0573706f 6e670000 210001.
+ sendto=23
+ +0.000194
+ sendto fd=6 addr=172.18.45.6:53
+ 31210100 00010000 00000000 045f666f 6f045f62 61720000 210001.
+ sendto=27
+ +0.000183
+ sendto fd=6 addr=172.18.45.6:53
+ 31220100 00010000 00000000 045f732a 61045f74 63700475 63616d03 6f726700
+ 00210001.
+ sendto=36
+ +0.000224
+ sendto fd=6 addr=172.18.45.6:53
+ 31230100 00010000 00000000 045f732a 61045f74 63700770 6926636b 6c650475
+ 63616d03 6f726700 00210001.
+ sendto=44
+ +0.000210
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.998850
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.005770
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8583 00010000 00010000 03737276 03746370 04746573 74036977 6a0a7265
+ 6c617469 76697479 08677265 656e656e 64036f72 6702756b 00002100 01c01400
+ 06000100 00000a00 27036e73 30c01d0a 686f7374 6d617374 6572c01d 0000003b
+ 00000e10 00000078 0064c800 0000000a.
+ +0.000206
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000068
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.993145
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.002367
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218183 00010000 00010000 045f666f 6f045f62 61720000 21000100 00060001
+ 0000299a 00400141 0c524f4f 542d5345 52564552 53034e45 5400054e 53544c44
+ 0c564552 49534947 4e2d4752 5303434f 4d007791 bfb50000 07080000 03840009
+ 3a800001 5180.
+ +0.000176
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000055
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.990547
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000085
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228183 00010000 00010000 045f732a 61045f74 63700475 63616d03 6f726700
+ 00210001 c0160006 00010000 0d94004c 0a736f61 2d6f7269 67696e02 6e730663
+ 68696172 6b086772 65656e65 6e64036f 72670275 6b000f73 74756465 6e742d72
+ 756e2d64 6e73c03e 00000121 00002a30 00000e10 00093a80 00000e10.
+ +0.000186
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000058
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.990218
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.028718
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208183 00010000 00010000 0573706f 6e670000 21000100 00060001 00002a30
+ 00400141 0c524f4f 542d5345 52564552 53034e45 5400054e 53544c44 0c564552
+ 49534947 4e2d4752 5303434f 4d007791 bfb50000 07080000 03840009 3a800001
+ 5180.
+ +0.000172
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000052
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.961877
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.004777
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238183 00010000 00010000 045f732a 61045f74 63700770 6926636b 6c650475
+ 63616d03 6f726700 00210001 04756361 6d036f72 67000006 00010000 0e10004c
+ 0a736f61 2d6f7269 67696e02 6e730663 68696172 6b086772 65656e65 6e64036f
+ 72670275 6b000f73 74756465 6e742d72 756e2d64 6e73c04e 00000121 00002a30
+ 00000e10 00093a80 00000e10.
+ +0.000218
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000055
+ close fd=6
+ close=OK
+ +0.000078
diff --git a/regress/case-srvsort.err b/regress/case-srvsort.err
new file mode 100644
index 0000000..2886e3c
--- /dev/null
+++ b/regress/case-srvsort.err
@@ -0,0 +1 @@
+adns debug: using nameserver 172.18.45.6
diff --git a/regress/case-srvsort.out b/regress/case-srvsort.out
new file mode 100644
index 0000000..2f318ad
--- /dev/null
+++ b/regress/case-srvsort.out
@@ -0,0 +1,29 @@
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 10 66 10066 davenant.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 400 20400 anarres.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 200 20200 norway.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 100 20100 nxdomain.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 10 66 10066 davenant.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 400 20400 anarres.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 100 20100 nxdomain.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 200 20200 norway.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 10 66 10066 davenant.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 400 20400 anarres.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 200 20200 norway.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 100 20100 nxdomain.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 10 66 10066 davenant.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 200 20200 norway.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 400 20400 anarres.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 100 20100 nxdomain.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 10 66 10066 davenant.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 200 20200 norway.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 400 20400 anarres.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 100 20100 nxdomain.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 10 66 10066 davenant.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 400 20400 anarres.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 100 20100 nxdomain.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 200 20200 norway.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 10 66 10066 davenant.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 100 20100 nxdomain.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 200 20200 norway.relativity.greenend.org.uk
+_srv._tcp.test.iwj.relativity.greenend.org.uk SRV 20 400 20400 anarres.relativity.greenend.org.uk
+rc=0
diff --git a/regress/case-srvsort.sys b/regress/case-srvsort.sys
new file mode 100644
index 0000000..d44fba5
--- /dev/null
+++ b/regress/case-srvsort.sys
@@ -0,0 +1,187 @@
+./adnshost default
+-t srv- _srv._tcp.test.iwj.relativity.greenend.org.uk. _srv._tcp.test.iwj.relativity.greenend.org.uk. _srv._tcp.test.iwj.relativity.greenend.org.uk. _srv._tcp.test.iwj.relativity.greenend.org.uk. _srv._tcp.test.iwj.relativity.greenend.org.uk. _srv._tcp.test.iwj.relativity.greenend.org.uk. _srv._tcp.test.iwj.relativity.greenend.org.uk.
+ start 1144348887.924234
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000083
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000050
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000042
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001.
+ sendto=63
+ +0.000352
+ sendto fd=6 addr=172.18.45.6:53
+ 31200100 00010000 00000000 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001.
+ sendto=63
+ +0.000261
+ sendto fd=6 addr=172.18.45.6:53
+ 31210100 00010000 00000000 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001.
+ sendto=63
+ +0.000232
+ sendto fd=6 addr=172.18.45.6:53
+ 31220100 00010000 00000000 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001.
+ sendto=63
+ +0.000236
+ sendto fd=6 addr=172.18.45.6:53
+ 31230100 00010000 00000000 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001.
+ sendto=63
+ +0.000242
+ sendto fd=6 addr=172.18.45.6:53
+ 31240100 00010000 00000000 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001.
+ sendto=63
+ +0.000243
+ sendto fd=6 addr=172.18.45.6:53
+ 31250100 00010000 00000000 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001.
+ sendto=63
+ +0.000231
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.998203
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.005521
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010004 00020004 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001c0
+ 0c002100 01000000 0a002b00 1400644e 84086e78 646f6d61 696e0a72 656c6174
+ 69766974 79086772 65656e65 6e64036f 72670275 6b00c00c 00210001 0000000a
+ 002b000a 00422752 08646176 656e616e 740a7265 6c617469 76697479 08677265
+ 656e656e 64036f72 6702756b 00c00c00 21000100 00000a00 2a001401 904fb007
+ 616e6172 7265730a 72656c61 74697669 74790867 7265656e 656e6403 6f726702
+ 756b00c0 0c002100 01000000 0a002900 1400c84e e8066e6f 72776179 0a72656c
+ 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0160002 00010000
+ 000a0006 036e7330 c01fc016 00020001 0000000a 0021086e 732d7370 6f6e6702
+ 34350331 37320231 3807696e 2d616464 72046172 70610008 64617665 6e616e74
+ c01f0001 00010001 51800004 ac122d06 07616e61 72726573 c01f0001 00010001
+ 51800004 ac122d02 066e6f72 776179c0 1f000100 01000151 800004ac 122d28c1
+ 24000100 01000151 800004ac 122d06.
+ +0.000555
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000127
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.992352
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.002857
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31208580 00010004 00020004 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001c0
+ 0c002100 01000000 0a002b00 0a004227 52086461 76656e61 6e740a72 656c6174
+ 69766974 79086772 65656e65 6e64036f 72670275 6b00c00c 00210001 0000000a
+ 002a0014 01904fb0 07616e61 72726573 0a72656c 61746976 69747908 67726565
+ 6e656e64 036f7267 02756b00 c00c0021 00010000 000a0029 001400c8 4ee8066e
+ 6f727761 790a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00c00c00 21000100 00000a00 2b001400 644e8408 6e78646f 6d61696e 0a72656c
+ 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0160002 00010000
+ 000a0006 036e7330 c01fc016 00020001 0000000a 0021086e 732d7370 6f6e6702
+ 34350331 37320231 3807696e 2d616464 72046172 70610008 64617665 6e616e74
+ c01f0001 00010001 51800004 ac122d06 07616e61 72726573 c01f0001 00010001
+ 51800004 ac122d02 066e6f72 776179c0 1f000100 01000151 800004ac 122d28c1
+ 24000100 01000151 800004ac 122d06.
+ +0.000697
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000163
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.988896
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.002742
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31218580 00010004 00020004 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001c0
+ 0c002100 01000000 0a002b00 0a004227 52086461 76656e61 6e740a72 656c6174
+ 69766974 79086772 65656e65 6e64036f 72670275 6b00c00c 00210001 0000000a
+ 002a0014 01904fb0 07616e61 72726573 0a72656c 61746976 69747908 67726565
+ 6e656e64 036f7267 02756b00 c00c0021 00010000 000a0029 001400c8 4ee8066e
+ 6f727761 790a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00c00c00 21000100 00000a00 2b001400 644e8408 6e78646f 6d61696e 0a72656c
+ 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0160002 00010000
+ 000a0006 036e7330 c01fc016 00020001 0000000a 0021086e 732d7370 6f6e6702
+ 34350331 37320231 3807696e 2d616464 72046172 70610008 64617665 6e616e74
+ c01f0001 00010001 51800004 ac122d06 07616e61 72726573 c01f0001 00010001
+ 51800004 ac122d02 066e6f72 776179c0 1f000100 01000151 800004ac 122d28c1
+ 24000100 01000151 800004ac 122d06.
+ +0.000673
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31228580 00010004 00020004 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001c0
+ 0c002100 01000000 0a002a00 1401904f b007616e 61727265 730a7265 6c617469
+ 76697479 08677265 656e656e 64036f72 6702756b 00c00c00 21000100 00000a00
+ 29001400 c84ee806 6e6f7277 61790a72 656c6174 69766974 79086772 65656e65
+ 6e64036f 72670275 6b00c00c 00210001 0000000a 002b0014 00644e84 086e7864
+ 6f6d6169 6e0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00c00c00 21000100 00000a00 2b000a00 42275208 64617665 6e616e74 0a72656c
+ 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0160002 00010000
+ 000a0006 036e7330 c01fc016 00020001 0000000a 0021086e 732d7370 6f6e6702
+ 34350331 37320231 3807696e 2d616464 72046172 70610007 616e6172 726573c0
+ 1f000100 01000151 800004ac 122d0206 6e6f7277 6179c01f 00010001 00015180
+ 0004ac12 2d280864 6176656e 616e74c0 1f000100 01000151 800004ac 122d06c1
+ 24000100 01000151 800004ac 122d06.
+ +0.000742
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31238580 00010004 00020004 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001c0
+ 0c002100 01000000 0a002b00 0a004227 52086461 76656e61 6e740a72 656c6174
+ 69766974 79086772 65656e65 6e64036f 72670275 6b00c00c 00210001 0000000a
+ 002a0014 01904fb0 07616e61 72726573 0a72656c 61746976 69747908 67726565
+ 6e656e64 036f7267 02756b00 c00c0021 00010000 000a0029 001400c8 4ee8066e
+ 6f727761 790a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00c00c00 21000100 00000a00 2b001400 644e8408 6e78646f 6d61696e 0a72656c
+ 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0160002 00010000
+ 000a0006 036e7330 c01fc016 00020001 0000000a 0021086e 732d7370 6f6e6702
+ 34350331 37320231 3807696e 2d616464 72046172 70610008 64617665 6e616e74
+ c01f0001 00010001 51800004 ac122d06 07616e61 72726573 c01f0001 00010001
+ 51800004 ac122d02 066e6f72 776179c0 1f000100 01000151 800004ac 122d28c1
+ 24000100 01000151 800004ac 122d06.
+ +0.000593
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31248580 00010004 00020004 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001c0
+ 0c002100 01000000 0a002a00 1401904f b007616e 61727265 730a7265 6c617469
+ 76697479 08677265 656e656e 64036f72 6702756b 00c00c00 21000100 00000a00
+ 29001400 c84ee806 6e6f7277 61790a72 656c6174 69766974 79086772 65656e65
+ 6e64036f 72670275 6b00c00c 00210001 0000000a 002b0014 00644e84 086e7864
+ 6f6d6169 6e0a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 00c00c00 21000100 00000a00 2b000a00 42275208 64617665 6e616e74 0a72656c
+ 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0160002 00010000
+ 000a0006 036e7330 c01fc016 00020001 0000000a 0021086e 732d7370 6f6e6702
+ 34350331 37320231 3807696e 2d616464 72046172 70610007 616e6172 726573c0
+ 1f000100 01000151 800004ac 122d0206 6e6f7277 6179c01f 00010001 00015180
+ 0004ac12 2d280864 6176656e 616e74c0 1f000100 01000151 800004ac 122d06c1
+ 24000100 01000151 800004ac 122d06.
+ +0.000727
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 31258580 00010004 00020004 045f7372 76045f74 63700474 65737403 69776a0a
+ 72656c61 74697669 74790867 7265656e 656e6403 6f726702 756b0000 210001c0
+ 0c002100 01000000 0a002b00 1400644e 84086e78 646f6d61 696e0a72 656c6174
+ 69766974 79086772 65656e65 6e64036f 72670275 6b00c00c 00210001 0000000a
+ 002b000a 00422752 08646176 656e616e 740a7265 6c617469 76697479 08677265
+ 656e656e 64036f72 6702756b 00c00c00 21000100 00000a00 2a001401 904fb007
+ 616e6172 7265730a 72656c61 74697669 74790867 7265656e 656e6403 6f726702
+ 756b00c0 0c002100 01000000 0a002900 1400c84e e8066e6f 72776179 0a72656c
+ 61746976 69747908 67726565 6e656e64 036f7267 02756b00 c0160002 00010000
+ 000a0006 036e7330 c01fc016 00020001 0000000a 0021086e 732d7370 6f6e6702
+ 34350331 37320231 3807696e 2d616464 72046172 70610008 64617665 6e616e74
+ c01f0001 00010001 51800004 ac122d06 07616e61 72726573 c01f0001 00010001
+ 51800004 ac122d02 066e6f72 776179c0 1f000100 01000151 800004ac 122d28c1
+ 24000100 01000151 800004ac 122d06.
+ +0.000721
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000098
+ close fd=6
+ close=OK
+ +0.014060
diff --git a/regress/case-tcpallfail.err b/regress/case-tcpallfail.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-tcpallfail.err
diff --git a/regress/case-tcpallfail.out b/regress/case-tcpallfail.out
new file mode 100644
index 0000000..4f11177
--- /dev/null
+++ b/regress/case-tcpallfail.out
@@ -0,0 +1,34 @@
+adns debug: using nameserver 172.18.45.2
+test.iwj.relativity.greenend.org.uk. flags 2 type 1 A(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 2 NS(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 5 CNAME(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 6 SOA(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 12 PTR(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 13 HINFO(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 15 MX(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 16 TXT(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 17 RP(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65537 A(addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65538 NS(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65548 PTR(checked) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65551 MX(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131078 SOA(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131089 RP(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+adns warning: TCP connection failed: connect/read: Connection refused (NS=172.18.45.2)
+adns warning: TCP connection failed: connect/read: Connection refused (NS=172.18.45.2)
+test.iwj.relativity.greenend.org.uk. flags 2 type A(-): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(raw): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type CNAME(-): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(raw): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(raw): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type HINFO(-): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(raw): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type TXT(-): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(raw): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(+addr): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(+addr): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(822): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(822): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type A(addr): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604800
+rc=0
diff --git a/regress/case-tcpallfail.sys b/regress/case-tcpallfail.sys
new file mode 100644
index 0000000..a49b1b9
--- /dev/null
+++ b/regress/case-tcpallfail.sys
@@ -0,0 +1,63 @@
+adnstest anarres -0x400
+2/test.iwj.relativity.greenend.org.uk.
+ start 962142174.403028
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000120
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000053
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000034
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.000479
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000036
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000031
+ connect fd=5 addr=172.18.45.2:53
+ connect=EINPROGRESS
+ +0.000182
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.999272
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.000862
+ read fd=5 buflen=1
+ read=ECONNREFUSED
+ +0.000087
+ close fd=5
+ close=OK
+ +0.000109
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000103
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.000392
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000037
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000030
+ connect fd=5 addr=172.18.45.2:53
+ connect=EINPROGRESS
+ +0.000127
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.999414
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.000339
+ read fd=5 buflen=1
+ read=ECONNREFUSED
+ +0.000075
+ close fd=5
+ close=OK
+ +0.000084
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000098
+ close fd=4
+ close=OK
+ +0.000879
diff --git a/regress/case-tcpblock.err b/regress/case-tcpblock.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-tcpblock.err
diff --git a/regress/case-tcpblock.out b/regress/case-tcpblock.out
new file mode 100644
index 0000000..34c8b65
--- /dev/null
+++ b/regress/case-tcpblock.out
@@ -0,0 +1,33 @@
+adns debug: using nameserver 172.18.45.2
+test.iwj.relativity.greenend.org.uk. flags 2 type 1 A(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 2 NS(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 5 CNAME(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 6 SOA(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 12 PTR(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 13 HINFO(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 15 MX(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 16 TXT(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 17 RP(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65537 A(addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65538 NS(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65548 PTR(checked) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65551 MX(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131078 SOA(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131089 RP(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+adns debug: TCP connected (NS=172.18.45.2)
+test.iwj.relativity.greenend.org.uk. flags 2 type A(-): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(raw): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type CNAME(-): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(raw): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(raw): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type HINFO(-): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(raw): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type TXT(-): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(raw): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(+addr): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(+addr): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(822): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(822): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+test.iwj.relativity.greenend.org.uk. flags 2 type A(addr): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+rc=0
diff --git a/regress/case-tcpblock.sys b/regress/case-tcpblock.sys
new file mode 100644
index 0000000..027df17
--- /dev/null
+++ b/regress/case-tcpblock.sys
@@ -0,0 +1,109 @@
+adnstest anarres -0x400
+2/test.iwj.relativity.greenend.org.uk.
+ start 962142246.340485
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000126
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000052
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000035
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.000459
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000036
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000031
+ connect fd=5 addr=172.18.45.2:53
+ connect=EINPROGRESS
+ +0.000184
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.999290
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.000937
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000090
+ write fd=5
+ 0035311f 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=55
+ +0.000427
+ write fd=5
+ 00353120 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001.
+ write=55
+ +0.000271
+ write fd=5
+ 00353121 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 050001.
+ write=55
+ +0.000429
+ write fd=5
+ 00353122 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001.
+ write=55
+ +0.000218
+ write fd=5
+ 00353123 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ write=55
+ +0.000212
+ write fd=5
+ 00353124 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0d0001.
+ write=55
+ +0.000213
+ write fd=5
+ 00353125 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0f0001.
+ write=55
+ +0.000212
+ write fd=5
+ 00353126 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 100001.
+ write=55
+ +0.000214
+ write fd=5
+ 00353127 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001.
+ write=55
+ +0.000494
+ write fd=5
+ 00353129 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=55
+ +0.000239
+ write fd=5
+ 0035312a 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001.
+ write=55
+ +0.000425
+ write fd=5
+ 0035312c 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0f0001.
+ write=55
+ +0.000213
+ write fd=5
+ 0035312d 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001.
+ write=55
+ +0.000215
+ write fd=5
+ 0035312e 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001.
+ write=55
+ +0.000236
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.994245
+ select=0 rfds=[] wfds=[] efds=[]
+ +30.-04653
+ close fd=4
+ close=OK
+ +0.000943
+ close fd=5
+ close=OK
+ +0.000113
diff --git a/regress/case-tcpblockbrk.err b/regress/case-tcpblockbrk.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-tcpblockbrk.err
diff --git a/regress/case-tcpblockbrk.out b/regress/case-tcpblockbrk.out
new file mode 100644
index 0000000..2b867e3
--- /dev/null
+++ b/regress/case-tcpblockbrk.out
@@ -0,0 +1,35 @@
+adns debug: using nameserver 172.18.45.2
+test.iwj.relativity.greenend.org.uk. flags 2 type 1 A(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 2 NS(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 5 CNAME(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 6 SOA(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 12 PTR(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 13 HINFO(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 15 MX(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 16 TXT(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 17 RP(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65537 A(addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65538 NS(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65548 PTR(checked) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65551 MX(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131078 SOA(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131089 RP(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+adns debug: TCP connected (NS=172.18.45.2)
+adns warning: TCP connection failed: read: Connection reset by peer (NS=172.18.45.2)
+adns warning: TCP connection failed: connect/read: Connection refused (NS=172.18.45.2)
+test.iwj.relativity.greenend.org.uk. flags 2 type A(-): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(raw): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type CNAME(-): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(raw): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(raw): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type HINFO(-): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(raw): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type TXT(-): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(raw): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(+addr): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(+addr): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(822): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(822): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+test.iwj.relativity.greenend.org.uk. flags 2 type A(addr): All nameservers failed; nrrs=0; cname=$; owner=$; ttl=604798
+rc=0
diff --git a/regress/case-tcpblockbrk.sys b/regress/case-tcpblockbrk.sys
new file mode 100644
index 0000000..679d0d4
--- /dev/null
+++ b/regress/case-tcpblockbrk.sys
@@ -0,0 +1,139 @@
+adnstest anarres -0x700
+2/test.iwj.relativity.greenend.org.uk.
+ start 962143388.709150
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=5
+ +0.000434
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000462
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000439
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=6
+ +0.001725
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000438
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000414
+ connect fd=6 addr=172.18.45.2:53
+ connect=EINPROGRESS
+ +0.000724
+ select max=7 rfds=[5] wfds=[6] efds=[] to=13.996699
+ select=1 rfds=[] wfds=[6] efds=[]
+ +0.003661
+ read fd=6 buflen=1
+ read=EAGAIN
+ +0.000477
+ write fd=6
+ 0035311f 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=55
+ +0.001553
+ write fd=6
+ 00353120 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001.
+ write=55
+ +0.001612
+ write fd=6
+ 00353121 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 050001.
+ write=55
+ +0.001289
+ write fd=6
+ 00353122 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001.
+ write=55
+ +0.001204
+ write fd=6
+ 00353123 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ write=55
+ +0.001200
+ write fd=6
+ 00353124 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0d0001.
+ write=55
+ +0.001417
+ write fd=6
+ 00353125 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0f0001.
+ write=55
+ +0.001199
+ write fd=6
+ 00353126 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 100001.
+ write=55
+ +0.001217
+ write fd=6
+ 00353127 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001.
+ write=55
+ +0.001214
+ write fd=6
+ 00353129 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=55
+ +0.001259
+ write fd=6
+ 0035312a 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001.
+ write=55
+ +0.002445
+ write fd=6
+ 0035312c 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0f0001.
+ write=55
+ +0.001254
+ write fd=6
+ 0035312d 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001.
+ write=55
+ +0.001443
+ write fd=6
+ 0035312e 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001.
+ write=55
+ +0.001271
+ select max=7 rfds=[5,6] wfds=[] efds=[6] to=29.972984
+ select=1 rfds=[6] wfds=[] efds=[]
+ +2.-661933
+ read fd=6 buflen=2
+ read=ECONNRESET
+ +0.000519
+ close fd=6
+ close=OK
+ +0.000636
+ select max=6 rfds=[5] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000702
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=6
+ +0.001734
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000435
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000537
+ connect fd=6 addr=172.18.45.2:53
+ connect=EINPROGRESS
+ +0.000608
+ select max=7 rfds=[5] wfds=[6] efds=[] to=13.996686
+ select=1 rfds=[] wfds=[6] efds=[]
+ +0.000977
+ read fd=6 buflen=1
+ read=ECONNREFUSED
+ +0.000450
+ close fd=6
+ close=OK
+ +0.000617
+ select max=6 rfds=[5] wfds=[] efds=[] to=0.000000
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000689
+ close fd=5
+ close=OK
+ +0.002951
diff --git a/regress/case-tcpblockwr.err b/regress/case-tcpblockwr.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-tcpblockwr.err
diff --git a/regress/case-tcpblockwr.out b/regress/case-tcpblockwr.out
new file mode 100644
index 0000000..f050875
--- /dev/null
+++ b/regress/case-tcpblockwr.out
@@ -0,0 +1,105 @@
+adns debug: using nameserver 172.18.45.2
+test.iwj.relativity.greenend.org.uk. flags 2 type 1 A(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 2 NS(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 5 CNAME(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 6 SOA(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 12 PTR(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 13 HINFO(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 15 MX(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 16 TXT(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 17 RP(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65537 A(addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65538 NS(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65548 PTR(checked) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65551 MX(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131078 SOA(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131089 RP(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 1 A(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 2 NS(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 5 CNAME(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 6 SOA(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 12 PTR(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 13 HINFO(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 15 MX(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 16 TXT(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 17 RP(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65537 A(addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65538 NS(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65548 PTR(checked) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65551 MX(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131078 SOA(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131089 RP(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 1 A(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 2 NS(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 5 CNAME(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 6 SOA(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 12 PTR(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 13 HINFO(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 15 MX(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 16 TXT(-) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 17 RP(raw) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65537 A(addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65538 NS(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65548 PTR(checked) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 65551 MX(+addr) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131078 SOA(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type 131089 RP(822) submitted
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+adns debug: TCP connected (NS=172.18.45.2)
+test.iwj.relativity.greenend.org.uk. flags 2 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(raw): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk
+test.iwj.relativity.greenend.org.uk. flags 2 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(raw): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk hostmaster.relativity.greenend.org.uk 42 3600 120 6604800 60
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(raw): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(+addr): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk ok 0 ok "OK" ( INET 172.18.45.6 )
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(822): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk hostmaster@relativity.greenend.org.uk 42 3600 120 6604800 60
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(raw): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk
+test.iwj.relativity.greenend.org.uk. flags 2 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(raw): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk hostmaster.relativity.greenend.org.uk 42 3600 120 6604800 60
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(raw): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(+addr): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk ok 0 ok "OK" ( INET 172.18.45.6 )
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(822): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk hostmaster@relativity.greenend.org.uk 42 3600 120 6604800 60
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(raw): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk
+test.iwj.relativity.greenend.org.uk. flags 2 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(raw): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk hostmaster.relativity.greenend.org.uk 42 3600 120 6604800 60
+test.iwj.relativity.greenend.org.uk. flags 2 type PTR(raw): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type NS(+addr): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk ok 0 ok "OK" ( INET 172.18.45.6 )
+test.iwj.relativity.greenend.org.uk. flags 2 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type SOA(822): OK; nrrs=1; cname=$; owner=$; ttl=59
+ ns0.relativity.greenend.org.uk hostmaster@relativity.greenend.org.uk 42 3600 120 6604800 60
+test.iwj.relativity.greenend.org.uk. flags 2 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type A(addr): No such data; nrrs=0; cname=$; owner=$; ttl=59
+test.iwj.relativity.greenend.org.uk. flags 2 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=60
+rc=0
diff --git a/regress/case-tcpblockwr.sys b/regress/case-tcpblockwr.sys
new file mode 100644
index 0000000..e232d28
--- /dev/null
+++ b/regress/case-tcpblockwr.sys
@@ -0,0 +1,605 @@
+adnstest anarres -0x700
+2/test.iwj.relativity.greenend.org.uk. 2/test.iwj.relativity.greenend.org.uk. 2/test.iwj.relativity.greenend.org.uk.
+ start 962143438.172669
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=5
+ +0.000433
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000443
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000409
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=6
+ +0.001762
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000420
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000408
+ connect fd=6 addr=172.18.45.2:53
+ connect=EINPROGRESS
+ +0.000689
+ select max=7 rfds=[5] wfds=[6] efds=[] to=13.996721
+ select=1 rfds=[] wfds=[6] efds=[]
+ +0.278976
+ read fd=6 buflen=1
+ read=EAGAIN
+ +0.001048
+ write fd=6
+ 0035311f 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=55
+ +0.001447
+ write fd=6
+ 00353120 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001.
+ write=55
+ +0.001424
+ write fd=6
+ 00353121 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 050001.
+ write=55
+ +0.001287
+ write fd=6
+ 00353122 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001.
+ write=55
+ +0.001199
+ write fd=6
+ 00353123 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ write=55
+ +0.001220
+ write fd=6
+ 00353124 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0d0001.
+ write=55
+ +0.001189
+ write fd=6
+ 00353125 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0f0001.
+ write=55
+ +0.001368
+ write fd=6
+ 00353126 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 100001.
+ write=55
+ +0.001220
+ write fd=6
+ 00353127 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001.
+ write=55
+ +0.001313
+ write fd=6
+ 00353129 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=55
+ +0.001209
+ write fd=6
+ 0035312a 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001.
+ write=55
+ +0.002384
+ write fd=6
+ 0035312c 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0f0001.
+ write=55
+ +0.001214
+ write fd=6
+ 0035312d 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001.
+ write=55
+ +0.001195
+ write fd=6
+ 0035312e 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001.
+ write=55
+ +0.001424
+ write fd=6
+ 0035312f 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=55
+ +0.001226
+ write fd=6
+ 00353130 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001.
+ write=55
+ +0.001214
+ write fd=6
+ 00353131 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 050001.
+ write=55
+ +0.001202
+ write fd=6
+ 00353132 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001.
+ write=55
+ +0.001187
+ write fd=6
+ 00353133 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ write=55
+ +0.001207
+ write fd=6
+ 00353134 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0d0001.
+ write=55
+ +0.001192
+ write fd=6
+ 00353135 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0f0001.
+ write=55
+ +0.001214
+ write fd=6
+ 00353136 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 100001.
+ write=55
+ +0.001386
+ write fd=6
+ 00353137 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001.
+ write=55
+ +0.001215
+ write fd=6
+ 00353139 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=55
+ +0.001448
+ write fd=6
+ 0035313a 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001.
+ write=55
+ +0.002403
+ write fd=6
+ 0035313c 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0f0001.
+ write=55
+ +0.001231
+ write fd=6
+ 0035313d 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001.
+ write=55
+ +0.001197
+ write fd=6
+ 0035313e 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001.
+ write=55
+ +0.001212
+ write fd=6
+ 0035313f 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=55
+ +0.001369
+ write fd=6
+ 00353140 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001.
+ write=55
+ +0.001212
+ write fd=6
+ 00353141 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 050001.
+ write=55
+ +0.001334
+ write fd=6
+ 00353142 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001.
+ write=55
+ +0.001212
+ write fd=6
+ 00353143 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0c0001.
+ write=55
+ +0.001207
+ write fd=6
+ 00353144 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0d0001.
+ write=55
+ +0.001187
+ write fd=6
+ 00353145 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0f0001.
+ write=55
+ +0.001186
+ write fd=6
+ 00353146 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 100001.
+ write=55
+ +0.001204
+ write fd=6
+ 00353147 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001.
+ write=55
+ +0.001365
+ write fd=6
+ 00353149 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=55
+ +0.001254
+ write fd=6
+ 0035314a 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001.
+ write=55
+ +0.002485
+ write fd=6
+ 0035314c 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0f0001.
+ write=55
+ +0.001201
+ write fd=6
+ 0035314d 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001.
+ write=55
+ +0.001188
+ write fd=6
+ 0035314e 01000001 00000000 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001.
+ write=30
+ +1.814491
+ select max=7 rfds=[5,6] wfds=[6] efds=[6] to=27.847175
+ select=2 rfds=[6] wfds=[6] efds=[]
+ +5.-217468
+ read fd=6 buflen=2
+ read=OK
+ 0082.
+ +0.012764
+ read fd=6 buflen=130
+ read=OK
+ 311f8580 00010000 00010000 04746573 74036977 6a0a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01c00c00 06000100 00003c00
+ 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72 6702756b
+ 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064 c8000000
+ 003c.
+ +0.003700
+ read fd=6 buflen=132
+ read=OK
+ 00713120 85800001 00010000 00010474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 020001c0 0c000200 01000000
+ 3c002003 6e73300a 72656c61 74697669 74790867 7265656e 656e6403 6f726702
+ 756b00c0 41000100 01000151 800004ac 122d0600 82312185 80000100 00000100
+ 00047465.
+ +0.003001
+ read fd=6 buflen=115
+ read=OK
+ 73740369 776a0a72 656c6174 69766974 79086772 65656e65 6e64036f 72670275
+ 6b000005 0001c00c 00060001 0000003c 0041036e 73300a72 656c6174 69766974
+ 79086772 65656e65 6e64036f 72670275 6b000a68 6f73746d 61737465 72c04500
+ 00002a00 000e1000 00007800 64c80000 00003c.
+ +0.001128
+ read fd=6 buflen=132
+ read=OK
+ 00a03122 85800001 00010001 00010474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 060001c0 0c000600 01000000
+ 3c004103 6e73300a 72656c61 74697669 74790867 7265656e 656e6403 6f726702
+ 756b000a 686f7374 6d617374 6572c045 0000002a 00000e10 00000078 0064c800
+ 0000003c.
+ +0.299749
+ read fd=6 buflen=30
+ read=OK
+ c00c0002 00010000 003c0002 c041c041 00010001 00015180 0004ac12 2d06.
+ +0.000767
+ read fd=6 buflen=162
+ read=OK
+ 00823123 85800001 00000001 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0c0001c0 0c000600 01000000
+ 3c004103 6e73300a 72656c61 74697669 74790867 7265656e 656e6403 6f726702
+ 756b000a 686f7374 6d617374 6572c045 0000002a 00000e10 00000078 0064c800
+ 0000003c 00823124 85800001 00000001 00000474 65737403 69776a0a 72656c61
+ 7469.
+ +0.001110
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000d00 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31258580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000934
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000f00 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31268580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.001041
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00001000 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31278580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000940
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00001100 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31298580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.001164
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000100 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0071 312a8580 00010001 00000001 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000955
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000200 01c00c00 02000100
+ 00003c00 20036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00c04100 01000100 01518000 04ac122d 06008231 2c858000 01000000
+ 01000004 74657374 0369776a 0a72656c 617469.
+ +0.002013
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000f00 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c00a0 312d8580 00010001 00010001 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000953
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000600 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003cc00c 00020001 0000003c 0002c041 c0410001 00010001 51800004
+ ac122d06.
+ +0.002102
+ read fd=6 buflen=162
+ read=OK
+ 0082312e 85800001 00000001 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001c0 0c000600 01000000
+ 3c004103 6e73300a 72656c61 74697669 74790867 7265656e 656e6403 6f726702
+ 756b000a 686f7374 6d617374 6572c045 0000002a 00000e10 00000078 0064c800
+ 0000003c 0082312f 85800001 00000001 00000474 65737403 69776a0a 72656c61
+ 7469.
+ +0.001126
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000100 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0071 31308580 00010001 00000001 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000976
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000200 01c00c00 02000100
+ 00003c00 20036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00c04100 01000100 01518000 04ac122d 06008231 31858000 01000000
+ 01000004 74657374 0369776a 0a72656c 61746976 69747908 67726565 6e656e64
+ 036f7267.
+ +0.000930
+ read fd=6 buflen=115
+ read=OK
+ 02756b00 00050001 c00c0006 00010000 003c0041 036e7330 0a72656c 61746976
+ 69747908 67726565 6e656e64 036f7267 02756b00 0a686f73 746d6173 746572c0
+ 45000000 2a00000e 10000000 780064c8 00000000 3c00a031 32858000 01000100
+ 01000104 74657374 0369776a 0a72656c 617469.
+ +0.001062
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000600 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003cc00c 00020001 0000003c 0002c041 c0410001 00010001 51800004
+ ac122d06.
+ +0.000937
+ read fd=6 buflen=162
+ read=OK
+ 00823133 85800001 00000001 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0c0001c0 0c000600 01000000
+ 3c004103 6e73300a 72656c61 74697669 74790867 7265656e 656e6403 6f726702
+ 756b000a 686f7374 6d617374 6572c045 0000002a 00000e10 00000078 0064c800
+ 0000003c 00823134 85800001 00000001 00000474 65737403 69776a0a 72656c61
+ 7469.
+ +0.001660
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000d00 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31358580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.001133
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000f00 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31368580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000963
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00001000 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31378580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.001248
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00001100 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31398580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.001740
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000100 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0071 313a8580 00010001 00000001 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000981
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000200 01c00c00 02000100
+ 00003c00 20036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00c04100 01000100 01518000 04ac122d 06008231 3c858000 01000000
+ 01000004 74657374 0369776a 0a72656c 617469.
+ +0.001909
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000f00 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c00a0 313d8580 00010001 00010001 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000926
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000600 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003cc00c 00020001 0000003c 0002c041 c0410001 00010001 51800004
+ ac122d06.
+ +0.012223
+ read fd=6 buflen=162
+ read=OK
+ 0082313e 85800001 00000001 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001c0 0c000600 01000000
+ 3c004103 6e73300a 72656c61 74697669 74790867 7265656e 656e6403 6f726702
+ 756b000a 686f7374 6d617374 6572c045 0000002a 00000e10 00000078 0064c800
+ 0000003c 0082313f 85800001 00000001 00000474 65737403 69776a0a 72656c61
+ 7469.
+ +0.001327
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000100 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0071 31408580 00010001 00000001 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000945
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000200 01c00c00 02000100
+ 00003c00 20036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00c04100 01000100 01518000 04ac122d 06008231 41858000 01000000
+ 01000004 74657374 0369776a 0a72656c 61746976 69747908 67726565 6e656e64
+ 036f7267.
+ +0.000969
+ read fd=6 buflen=115
+ read=OK
+ 02756b00 00050001 c00c0006 00010000 003c0041 036e7330 0a72656c 61746976
+ 69747908 67726565 6e656e64 036f7267 02756b00 0a686f73 746d6173 746572c0
+ 45000000 2a00000e 10000000 780064c8 00000000 3c00a031 42858000 01000100
+ 01000104 74657374 0369776a 0a72656c 617469.
+ +0.000930
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000600 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003cc00c 00020001 0000003c 0002c041 c0410001 00010001 51800004
+ ac122d06.
+ +0.000929
+ read fd=6 buflen=162
+ read=OK
+ 00823143 85800001 00000001 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 0c0001c0 0c000600 01000000
+ 3c004103 6e73300a 72656c61 74697669 74790867 7265656e 656e6403 6f726702
+ 756b000a 686f7374 6d617374 6572c045 0000002a 00000e10 00000078 0064c800
+ 0000003c 00823144 85800001 00000001 00000474 65737403 69776a0a 72656c61
+ 7469.
+ +0.001098
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000d00 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31458580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.001053
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000f00 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31468580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.001035
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00001000 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31478580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000974
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00001100 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0082 31498580 00010000 00010000 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000933
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000100 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c0071 314a8580 00010001 00000001 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.001037
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000200 01c00c00 02000100
+ 00003c00 20036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 00c04100 01000100 01518000 04ac122d 06008231 4c858000 01000000
+ 01000004 74657374 0369776a 0a72656c 617469.
+ +0.002107
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000f00 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003c00a0 314d8580 00010001 00010001 04746573 74036977 6a0a7265
+ 6c617469.
+ +0.000955
+ read fd=6 buflen=132
+ read=OK
+ 76697479 08677265 656e656e 64036f72 6702756b 00000600 01c00c00 06000100
+ 00003c00 41036e73 300a7265 6c617469 76697479 08677265 656e656e 64036f72
+ 6702756b 000a686f 73746d61 73746572 c0450000 002a0000 0e100000 00780064
+ c8000000 003cc00c 00020001 0000003c 0002c041 c0410001 00010001 51800004
+ ac122d06.
+ +0.000578
+ read fd=6 buflen=162
+ read=EAGAIN
+ +1.000435
+ write fd=6
+ 76697479 08677265 656e656e 64036f72 6702756b 00001100 01.
+ write=25
+ +0.000932
+ select max=7 rfds=[5,6] wfds=[] efds=[6] to=21.691550
+ select=1 rfds=[6] wfds=[] efds=[]
+ +5.-217468
+ read fd=6 buflen=162
+ read=OK
+ 0082314e 85800001 00000001 00000474 65737403 69776a0a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 110001c0 0c000600 01000000
+ 3c004103 6e73300a 72656c61 74697669 74790867 7265656e 656e6403 6f726702
+ 756b000a 686f7374 6d617374 6572c045 0000002a 00000e10 00000078 0064c800
+ 0000003c.
+ +0.217468
+ read fd=6 buflen=162
+ read=EAGAIN
+ +0.017051
+ close fd=5
+ close=OK
+ +0.595595
+ close fd=6
+ close=OK
+ +0.000531
diff --git a/regress/case-tcpbreakin.err b/regress/case-tcpbreakin.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-tcpbreakin.err
diff --git a/regress/case-tcpbreakin.out b/regress/case-tcpbreakin.out
new file mode 100644
index 0000000..46cafba
--- /dev/null
+++ b/regress/case-tcpbreakin.out
@@ -0,0 +1,8 @@
+adns debug: using nameserver 172.18.45.6
+6.45.18.172.in-addr.arpa flags 2 type 65548 PTR(checked) submitted
+adns debug: TCP connected (NS=172.18.45.6)
+adns warning: TCP connection failed: write: Broken pipe (NS=172.18.45.6)
+adns debug: TCP connected (NS=172.18.45.6)
+6.45.18.172.in-addr.arpa flags 2 type PTR(checked): OK; nrrs=1; cname=$; owner=$; ttl=86400
+ davenant.relativity.greenend.org.uk
+rc=0
diff --git a/regress/case-tcpbreakin.sys b/regress/case-tcpbreakin.sys
new file mode 100644
index 0000000..d20b0d9
--- /dev/null
+++ b/regress/case-tcpbreakin.sys
@@ -0,0 +1,114 @@
+adnstest default
+:0x10000|12 2/6.45.18.172.in-addr.arpa
+ start 957718868.938329
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000161
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000059
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000038
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.001056
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000238
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000055
+ connect fd=5 addr=172.18.45.6:53
+ connect=EINPROGRESS
+ +0.000723
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.997928
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.000536
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000118
+ write fd=5
+ 002a311f 01000001 00000000 00000136 02343502 31380331 37320769 6e2d6164
+ 64720461 72706100 000c0001.
+ write=44
+ +0.001433
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.995841
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.000260
+ read fd=5 buflen=2
+ read=OK
+ 00d7.
+ +0.000302
+ read fd=5 buflen=215
+ read=OK
+ 311f8580 00010001 00030003 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 3fc05b00 02000100 01518000
+ 06036e73 32c03fc0 7d000100 01000151 800004ac 122d06c0 8f000100 01000151
+ 800004ac 122d41c0 a1000100 01000151 800004ac 122d01.
+ +0.001364
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 08646176 656e616e 740a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=EMSGSIZE
+ +0.000001
+ write fd=5
+ 00353120 01000001 00000000 00000864 6176656e 616e740a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=EPIPE
+ +0.001233
+ close fd=5
+ close=OK
+ +0.000001
+ select max=5 rfds=[4] wfds=[] efds=[] to=0.000000
+ select=1 rfds=[] wfds=[] efds=[]
+ +0.000118
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.001056
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000238
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000055
+ connect fd=5 addr=172.18.45.6:53
+ connect=EINPROGRESS
+ +0.000723
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.997928
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.000536
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000723
+ write fd=5
+ 00353120 01000001 00000000 00000864 6176656e 616e740a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=44
+ +0.000001
+ select max=6 rfds=[4,5] wfds=[5] efds=[5] to=29.993649
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.000260
+ read fd=5 buflen=217
+ read=OK
+ 00c5
+ 31208580 00010001 00030003 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 45000200 01000151 80000603 6e7332c0 45c06b00 01000100 01518000
+ 04ac122d 06c07d00 01000100 01518000 04ac122d 41c08f00 01000100 01518000
+ 04ac122d 01.
+ +0.001171
+ read fd=5 buflen=217
+ read=EAGAIN
+ +0.000189
+ close fd=4
+ close=OK
+ +0.000352
+ close fd=5
+ close=OK
+ +0.000507
diff --git a/regress/case-tcpmultipart.err b/regress/case-tcpmultipart.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-tcpmultipart.err
diff --git a/regress/case-tcpmultipart.out b/regress/case-tcpmultipart.out
new file mode 100644
index 0000000..3a7a124
--- /dev/null
+++ b/regress/case-tcpmultipart.out
@@ -0,0 +1,71 @@
+adns debug: using nameserver 172.31.80.9
+132.76.224.195.in-addr.arpa flags 2 type 12 PTR(raw) submitted
+manymorerrs.test.culture.dotat.at. flags 2 type 12 PTR(raw) submitted
+132.76.224.195.in-addr.arpa flags 2 type 12 PTR(raw) submitted
+adns debug: TCP connected (NS=172.31.80.9)
+132.76.224.195.in-addr.arpa flags 2 type PTR(raw): OK; nrrs=1; cname=$; owner=$; ttl=86400
+ chiark.greenend.org.uk
+manymorerrs.test.culture.dotat.at. flags 2 type PTR(raw): OK; nrrs=60; cname=$; owner=$; ttl=86400
+ very-long-domain.to-ensure-truncation.00.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.01.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.02.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.03.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.04.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.05.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.06.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.07.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.08.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.09.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.10.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.11.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.12.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.13.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.14.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.15.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.16.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.17.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.18.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.19.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.20.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.21.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.22.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.23.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.24.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.25.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.26.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.27.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.28.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.29.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.30.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.31.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.32.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.33.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.34.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.35.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.36.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.37.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.38.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.39.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.40.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.41.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.42.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.43.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.44.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.45.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.46.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.47.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.48.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.49.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.50.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.51.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.52.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.53.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.54.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.55.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.56.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.57.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.58.test.culture.dotat.at
+ very-long-domain.to-ensure-truncation.59.test.culture.dotat.at
+132.76.224.195.in-addr.arpa flags 2 type PTR(raw): OK; nrrs=1; cname=$; owner=$; ttl=86400
+ chiark.greenend.org.uk
+rc=0
diff --git a/regress/case-tcpmultipart.sys b/regress/case-tcpmultipart.sys
new file mode 100644
index 0000000..8f59ea9
--- /dev/null
+++ b/regress/case-tcpmultipart.sys
@@ -0,0 +1,248 @@
+adnstest tunnel
+:0x0|12 2/132.76.224.195.in-addr.arpa 2/manymorerrs.test.culture.dotat.at. 2/132.76.224.195.in-addr.arpa
+ start 938365454.994875
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000164
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000055
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000043
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.001177
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000044
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000041
+ connect fd=5 addr=172.31.80.9:53
+ connect=EINPROGRESS
+ +0.000414
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.998324
+ select=1 rfds=[] wfds=[5] efds=[]
+ +1.-647444
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000176
+ write fd=5
+ 002d311f 01000001 00000000 00000331 33320237 36033232 34033139 3507696e
+ 2d616464 72046172 70610000 0c0001.
+ write=47
+ +0.000727
+ write fd=5
+ 00333120 01000001 00000000 00000b6d 616e796d 6f726572 72730474 65737407
+ 63756c74 75726505 646f7461 74026174 00000c00 01.
+ write=53
+ +0.000359
+ write fd=5
+ 002d3121 01000001 00000000 00000331 33320237 36033232 34033139 3507696e
+ 2d616464 72046172 70610000 0c0001.
+ write=47
+ +0.000273
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.644233
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.538651
+ read fd=5 buflen=2
+ read=OK
+ 0127.
+ +0.000289
+ read fd=5 buflen=295
+ read=OK
+ 311f8580 00010001 00050005 03313332 02373603 32323403 31393507 696e2d61
+ 64647204 61727061 00000c00 01c00c00 0c000100 01518000 18066368 6961726b
+ 08677265 656e656e 64036f72 6702756b 00023736 03323234 03313935 07696e2d
+ 61646472 04617270 61000002 00010001 51800011 04646e73 3006656c 6d61696c
+ 02636fc0 4dc05100 02000100 01518000 0704646e 7331c079 c0510002 00010001
+ 51800007 04646e73 32c079c0 51000200 01000151 80000e03 6e733204 78617261
+ 036e6574 00c05100 02000100 01518000 06036e73 33c0bbc0 74000100 01000055
+ c80004c1 7ae911c0 91000100 0100004f 650004c1 7ae901c0 a4000100 0100004f
+ 650004c3 e04cc1c0 b7000100 0100014c 4b0004c2 8fa16bc0 d1000100 0100014c
+ 4b0004c2 8fa319.
+ +0.001247
+ read fd=5 buflen=297
+ read=EAGAIN
+ +0.000476
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.105246
+ select=1 rfds=[5] wfds=[] efds=[]
+ +1.-401146
+ read fd=5 buflen=297
+ read=OK
+ 0dbe3120 85800001 003c0002 00020b6d 616e796d 6f726572 72730474 65737407
+ 63756c74 75726505 646f7461 74026174 00000c00 01c00c00 0c000100 01518000
+ 40107665 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e 73757265 2d747275
+ 6e636174 696f6e02 30300474 65737407 63756c74 75726505 646f7461 74026174
+ 00c00c00 0c000100 01518000 2b107665 72792d6c 6f6e672d 646f6d61 696e1474
+ 6f2d656e 73757265 2d747275 6e636174 696f6e02 3031c068 c00c000c 00010001
+ 5180002b 10766572 792d6c6f 6e672d64 6f6d6169 6e14746f 2d656e73 7572652d
+ 7472756e 63617469 6f6e0230 32c068c0 0c000c00 01000151 80002b10 76657279
+ 2d6c6f6e 672d646f 6d61696e 14746f2d 656e7375 72652d74 72756e63 6174696f
+ 6e023033 c068c00c 00.
+ +0.001076
+ read fd=5 buflen=3223
+ read=OK
+ 0c000100 01518000 2b107665 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e
+ 73757265 2d747275 6e636174 696f6e02 3034c068 c00c000c 00010001 5180002b
+ 10766572 792d6c6f 6e672d64 6f6d6169 6e14746f 2d656e73 7572652d 7472756e
+ 63617469 6f6e0230 35c068c0 0c000c00 01000151 80002b10 76657279 2d6c6f6e
+ 672d646f 6d61696e 14746f2d 656e7375 72652d74 72756e63 6174696f 6e023036
+ c068c00c 000c0001 00015180 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14
+ 746f2d65 6e737572 652d7472 756e6361 74696f6e 023037c0 68c00c00 0c000100
+ 01518000 2b107665 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e 73757265
+ 2d747275 6e636174 696f6e02 3038c068 c00c000c 00010001 5180002b 10766572
+ 792d6c6f 6e672d64 6f6d6169 6e14746f 2d656e73 7572652d 7472756e 63617469
+ 6f6e0230 39c068c0 0c000c00 01000151 80002b10 76657279 2d6c6f6e 672d646f
+ 6d61696e 14746f2d 656e7375 72652d74 72756e63 6174696f 6e023130 c068c00c
+ 000c0001 00015180 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65
+ 6e737572 652d7472 756e6361 74696f6e 023131c0 68c00c00 0c000100 01518000
+ 2b107665 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e 73757265 2d747275
+ 6e636174 696f6e02 3132c068 c00c000c 00010001 5180002b 10766572 792d6c6f
+ 6e672d64 6f6d6169 6e14746f 2d656e73 7572652d 7472756e 63617469 6f6e0231
+ 33c068c0 0c000c00 01000151 80002b10 76657279 2d6c6f6e 672d646f 6d61696e
+ 14746f2d 656e7375 72652d74 72756e63 6174696f 6e023134 c068c00c 000c0001
+ 00015180 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65 6e737572
+ 652d7472 756e6361 74696f.
+ +0.002411
+ read fd=5 buflen=2572
+ read=EAGAIN
+ +0.000101
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=28.502804
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.336462
+ read fd=5 buflen=2572
+ read=OK
+ 6e023135 c068c00c 000c0001 00015180 002b1076 6572792d 6c6f6e67 2d646f6d
+ 61696e14 746f2d65 6e737572 652d7472 756e6361 74696f6e 023136c0 68c00c00
+ 0c000100 01518000 2b107665 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e
+ 73757265 2d747275 6e636174 696f6e02 3137c068 c00c000c 00010001 5180002b
+ 10766572 792d6c6f 6e672d64 6f6d6169 6e14746f 2d656e73 7572652d 7472756e
+ 63617469 6f6e0231 38c068c0 0c000c00 01000151 80002b10 76657279 2d6c6f6e
+ 672d646f 6d61696e 14746f2d 656e7375 72652d74 72756e63 6174696f 6e023139
+ c068c00c 000c0001 00015180 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14
+ 746f2d65 6e737572 652d7472 756e6361 74696f6e 023230c0 68c00c00 0c000100
+ 01518000 2b107665 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e 73757265
+ 2d747275 6e636174 696f6e02 3231c068 c00c000c 00010001 5180002b 10766572
+ 792d6c6f 6e672d64 6f6d6169 6e14746f 2d656e73 7572652d 7472756e 63617469
+ 6f6e0232 32c068c0 0c000c00 01000151 80002b10 76657279 2d6c6f6e 672d646f
+ 6d61696e 14746f2d 656e7375 72652d74 72756e63 6174696f 6e023233 c068c00c
+ 000c0001 00015180 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65
+ 6e737572 652d7472 756e6361 74696f6e 023234c0 68c00c00 0c000100 01518000
+ 2b107665 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e 73757265 2d747275
+ 6e636174 696f6e02 3235c068 c00c000c 00010001 5180002b 10766572 792d6c6f
+ 6e672d64 6f6d6169 6e14746f 2d656e73 7572652d 7472756e 63617469 6f6e0232
+ 36c068c0 0c000c00 01000151 80002b10 76657279 2d6c6f6e 672d646f 6d61696e
+ 14746f2d 656e7375 72652d74 72756e63 6174696f 6e023237 c068c00c 000c0001
+ 00015180 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65 6e737572
+ 652d7472 756e6361 74696f6e 023238c0 68c00c00 0c000100 01518000 2b107665
+ 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e 73757265 2d747275 6e636174
+ 696f6e02 3239c068 c00c000c 00010001 5180002b 10766572 792d6c6f 6e672d64
+ 6f6d6169 6e14746f 2d656e73 7572652d 7472756e 63617469 6f6e0233 30c068c0
+ 0c000c00 01000151 80002b10 76657279 2d6c6f6e 672d646f 6d61696e 14746f2d
+ 656e7375 72652d74 72756e63 6174696f 6e023331 c068c00c 000c0001 00015180
+ 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65 6e737572 652d7472
+ 756e6361 74696f6e 023332c0 68c00c00 0c000100.
+ +0.003315
+ read fd=5 buflen=1624
+ read=EAGAIN
+ +0.000124
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=28.162903
+ select=1 rfds=[5] wfds=[] efds=[]
+ +1.-683589
+ read fd=5 buflen=1624
+ read=OK
+ 01518000 2b107665 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e 73757265
+ 2d747275 6e636174 696f6e02 3333c068 c00c000c 00010001 5180002b 10766572
+ 792d6c6f 6e672d64 6f6d6169 6e14746f 2d656e73 7572652d 7472756e 63617469
+ 6f6e0233 34c068c0 0c000c00 01000151 80002b10 76657279 2d6c6f6e 672d646f
+ 6d61696e 14746f2d 656e7375 72652d74 72756e63 6174696f 6e023335 c068c00c
+ 000c0001 00015180 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65
+ 6e737572 652d7472 756e6361 74696f6e 023336c0 68c00c00 0c000100 01518000
+ 2b107665 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e 73757265 2d747275
+ 6e636174 696f6e02 3337c068 c00c000c 00010001 5180002b 10766572 792d6c6f
+ 6e672d64 6f6d6169 6e14746f 2d656e73 7572652d 7472756e 63617469 6f6e0233
+ 38c068c0 0c000c00 01000151 80002b10 76657279 2d6c6f6e 672d646f 6d61696e
+ 14746f2d 656e7375 72652d74 72756e63 6174696f 6e023339 c068c00c 000c0001
+ 00015180 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65 6e737572
+ 652d7472 756e6361 74696f6e 023430c0 68c00c00 0c000100 01518000 2b107665
+ 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e 73757265 2d747275 6e636174
+ 696f6e02 3431c068 c00c000c 00010001 5180002b 10766572 792d6c6f 6e672d64
+ 6f6d6169 6e14746f 2d656e73 7572652d 7472756e 63617469 6f6e0234 32c068c0
+ 0c000c00 01000151 80002b10 76657279 2d6c6f6e 672d646f 6d61696e 14746f2d
+ 656e7375 72652d74 72756e63 6174696f 6e023433 c068c00c 000c0001 00015180
+ 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65 6e737572 652d7472
+ 756e6361 74696f6e 023434c0 68c00c00 0c000100 01518000 2b107665 72792d6c
+ 6f6e672d 646f6d61 696e1474 6f2d656e 73757265 2d747275 6e636174 696f6e02
+ 3435c068 c00c000c 00010001 5180002b 10766572 792d6c6f 6e672d64 6f6d6169
+ 6e14746f 2d656e73 7572652d 7472756e 63617469 6f6e0234 36c068c0 0c000c00
+ 01000151 80002b10 76657279 2d6c6f6e 672d646f 6d61696e 14746f2d 656e7375
+ 72652d74 72756e63 6174696f 6e023437 c068c00c 000c0001 00015180 002b1076
+ 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65 6e737572 652d7472 756e6361
+ 74696f6e 023438c0 68c00c00 0c000100 01518000 2b107665 72792d6c 6f6e672d
+ 646f6d61 696e1474 6f2d656e 73757265 2d747275 6e636174 696f6e02 3439c068
+ c00c000c 00010001 5180002b 10766572 792d6c6f.
+ +0.003201
+ read fd=5 buflen=676
+ read=EAGAIN
+ +0.000114
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=27.843177
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.376863
+ read fd=5 buflen=676
+ read=OK
+ 6e672d64 6f6d6169 6e14746f 2d656e73 7572652d 7472756e 63617469 6f6e0235
+ 30c068c0 0c000c00 01000151 80002b10 76657279 2d6c6f6e 672d646f 6d61696e
+ 14746f2d 656e7375 72652d74 72756e63 6174696f 6e023531 c068c00c 000c0001
+ 00015180 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65 6e737572
+ 652d7472 756e6361 74696f6e 023532c0 68c00c00 0c000100 01518000 2b107665
+ 72792d6c 6f6e672d 646f6d61 696e1474 6f2d656e 73757265 2d747275 6e636174
+ 696f6e02 3533c068 c00c000c 00010001 5180002b 10766572 792d6c6f 6e672d64
+ 6f6d6169 6e14746f 2d656e73 7572652d 7472756e 63617469 6f6e0235 34c068c0
+ 0c000c00 01000151 80002b10 76657279 2d6c6f6e 672d646f 6d61696e 14746f2d
+ 656e7375 72652d74 72756e63 6174696f 6e023535 c068c00c 000c0001 00015180
+ 002b1076 6572792d 6c6f6e67 2d646f6d 61696e14 746f2d65 6e737572 652d7472
+ 756e6361 74696f6e 023536c0 68c00c00 0c000100 01518000 2b107665 72792d6c
+ 6f6e672d 646f6d61 696e1474 6f2d656e 73757265 2d747275 6e636174 696f6e02
+ 3537c068 c00c000c 00010001 5180002b 10766572 792d6c6f 6e672d64 6f6d6169
+ 6e14746f 2d656e73 7572652d 7472756e 63617469 6f6e0235 38c068c0 0c000c00
+ 01000151 80002b10 76657279 2d6c6f6e 672d646f 6d61696e 14746f2d 656e7375
+ 72652d74 72756e63 6174696f 6e023539 c068c06d 00020001 00054600 0014076c
+ 69627261 7279066c 73706163 65036f72 6700c06d 00020001 00054600 001b026e
+ 73066368 6961726b 08677265 656e656e 64036f72 6702756b 00076c69 62726172
+ 79066c73 70616365 036f7267 00000100 01000161 890004c3 c8013a02 6e730663
+ 68696172 6b086772 65656e65 6e64036f 72670275 6b000001 00010001 51800004
+ c3e04c84.
+ +0.002355
+ read fd=5 buflen=3520
+ read=OK
+ 01273121 85800001 00010005 00050331 33320237 36033232 34033139 3507696e
+ 2d616464 72046172 70610000 0c0001c0 0c000c00 01000151 80001806 63686961
+ 726b0867 7265656e 656e6403 6f726702 756b0002 37360332 32340331 39350769
+ 6e2d6164 64720461 72706100 00020001 00015180 00110464 6e733006 656c6d61
+ 696c0263 6fc04dc0 51000200 01000151 80000704 646e7331 c079c051 00020001
+ 00015180 00070464 6e7332c0 79c05100 02000100 01518000 0e036e73 32047861
+ 7261036e 657400c0 51000200 01000151 80000603 6e7333c0 bbc07400 01000100
+ 0055c800 04c17ae9 11c09100 01000100 004f6500 04c17ae9 01c0a400 01000100
+ 004f6500 04c3e04c c1c0b700 01000100.
+ +0.009447
+ read fd=5 buflen=3248
+ read=EAGAIN
+ +0.000066
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=27.454446
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.316770
+ read fd=5 buflen=3248
+ read=OK
+ 014c4b00 04c28fa1 6bc0d100 01000100 014c4b00 04c28fa3 19.
+ +0.000195
+ read fd=5 buflen=3520
+ read=EAGAIN
+ +0.000429
+ close fd=4
+ close=OK
+ +0.000375
+ close fd=5
+ close=OK
+ +0.000226
diff --git a/regress/case-tcpptr.err b/regress/case-tcpptr.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-tcpptr.err
diff --git a/regress/case-tcpptr.out b/regress/case-tcpptr.out
new file mode 100644
index 0000000..a22ae89
--- /dev/null
+++ b/regress/case-tcpptr.out
@@ -0,0 +1,6 @@
+adns debug: using nameserver 172.18.45.6
+6.45.18.172.in-addr.arpa flags 2 type 65548 PTR(checked) submitted
+adns debug: TCP connected (NS=172.18.45.6)
+6.45.18.172.in-addr.arpa flags 2 type PTR(checked): OK; nrrs=1; cname=$; owner=$; ttl=86400
+ davenant.relativity.greenend.org.uk
+rc=0
diff --git a/regress/case-tcpptr.sys b/regress/case-tcpptr.sys
new file mode 100644
index 0000000..662689c
--- /dev/null
+++ b/regress/case-tcpptr.sys
@@ -0,0 +1,88 @@
+adnstest default
+:0x10000|12 2/6.45.18.172.in-addr.arpa
+ start 957718868.938329
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000161
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000059
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000038
+ socket domain=AF_INET type=SOCK_STREAM
+ socket=5
+ +0.001056
+ fcntl fd=5 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000238
+ fcntl fd=5 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000055
+ connect fd=5 addr=172.18.45.6:53
+ connect=EINPROGRESS
+ +0.000723
+ select max=6 rfds=[4] wfds=[5] efds=[] to=13.997928
+ select=1 rfds=[] wfds=[5] efds=[]
+ +0.000536
+ read fd=5 buflen=1
+ read=EAGAIN
+ +0.000118
+ write fd=5
+ 002a311f 01000001 00000000 00000136 02343502 31380331 37320769 6e2d6164
+ 64720461 72706100 000c0001.
+ write=44
+ +0.001433
+ select max=6 rfds=[4,5] wfds=[] efds=[5] to=29.995841
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.000260
+ read fd=5 buflen=2
+ read=OK
+ 00d7.
+ +0.000302
+ read fd=5 buflen=215
+ read=OK
+ 311f8580 00010001 00030003 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 3fc05b00 02000100 01518000
+ 06036e73 32c03fc0 7d000100 01000151 800004ac 122d06c0 8f000100 01000151
+ 800004ac 122d41c0 a1000100 01000151 800004ac 122d01.
+ +0.001364
+ sendto fd=4 addr=172.18.45.6:53
+ 31200100 00010000 00000000 08646176 656e616e 740a7265 6c617469 76697479
+ 08677265 656e656e 64036f72 6702756b 00000100 01.
+ sendto=EMSGSIZE
+ +0.000001
+ write fd=5
+ 00353120 01000001 00000000 00000864 6176656e 616e740a 72656c61 74697669
+ 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ write=53
+ +0.001233
+ read fd=5 buflen=217
+ read=EAGAIN
+ +0.000100
+ select max=6 rfds=[4,5] wfds=[5] efds=[5] to=29.997000
+ select=1 rfds=[5] wfds=[] efds=[]
+ +0.000118
+ read fd=5 buflen=217
+ read=OK
+ 00c5
+ 31208580 00010001 00030003 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 45000200 01000151 80000603 6e7332c0 45c06b00 01000100 01518000
+ 04ac122d 06c07d00 01000100 01518000 04ac122d 41c08f00 01000100 01518000
+ 04ac122d 01.
+ +0.001171
+ read fd=5 buflen=217
+ read=EAGAIN
+ +0.000189
+ close fd=4
+ close=OK
+ +0.000352
+ close fd=5
+ close=OK
+ +0.000507
diff --git a/regress/case-timeout.err b/regress/case-timeout.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-timeout.err
diff --git a/regress/case-timeout.out b/regress/case-timeout.out
new file mode 100644
index 0000000..a3f7495
--- /dev/null
+++ b/regress/case-timeout.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.36
+chiark.greenend.org.uk flags 0 type 1 A(-) submitted
+chiark.greenend.org.uk flags 0 type A(-): DNS query timed out; nrrs=0; cname=$; owner=$; ttl=604770
+rc=0
diff --git a/regress/case-timeout.sys b/regress/case-timeout.sys
new file mode 100644
index 0000000..3fb78d3
--- /dev/null
+++ b/regress/case-timeout.sys
@@ -0,0 +1,135 @@
+adnstest noserver
+:0x0|1 chiark.greenend.org.uk
+ start 912889153.349504
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000193
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000088
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000072
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000617
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999383
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.008683
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000406
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999594
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009544
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000428
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999572
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009567
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000449
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999551
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009551
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000381
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999619
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009614
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000383
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999617
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009622
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000387
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999613
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009603
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000404
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999596
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009607
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000468
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999532
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009526
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000431
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999569
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009564
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000429
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999571
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009586
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000479
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999521
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009511
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000430
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999570
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009571
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000440
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999560
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009564
+ sendto fd=4 addr=172.18.45.36:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000439
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999561
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.009554
+ close fd=4
+ close=OK
+ +0.000267
diff --git a/regress/case-trunc.err b/regress/case-trunc.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-trunc.err
diff --git a/regress/case-trunc.out b/regress/case-trunc.out
new file mode 100644
index 0000000..bd70e05
--- /dev/null
+++ b/regress/case-trunc.out
@@ -0,0 +1,4 @@
+adns debug: using nameserver 172.18.45.6
+trunc.test.iwj.relativity.greenend.org.uk flags 0 type 1 A(-) submitted
+trunc.test.iwj.relativity.greenend.org.uk flags 0 type A(-): No such data; nrrs=0; cname=$; owner=$; ttl=60
+rc=0
diff --git a/regress/case-trunc.sys b/regress/case-trunc.sys
new file mode 100644
index 0000000..d57547d
--- /dev/null
+++ b/regress/case-trunc.sys
@@ -0,0 +1,34 @@
+adnstest default
+:0x0|1 trunc.test.iwj.relativity.greenend.org.uk
+ start 912888921.274801
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000207
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000321
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000443
+ sendto fd=4 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 010001.
+ sendto=59
+ +0.000682
+ select max=5 rfds=[4] wfds=[] efds=[] to=1.999318
+ select=1 rfds=[4] wfds=[] efds=[]
+ +0.006406
+ recvfrom fd=4 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010000 00010000 05747275 6e630474 65737403 69776a0a 72656c61
+ 74697669 74790867 7265656e 656e6403 6f726702 756b0000 01000104 74657374
+ 0369776a 0a72656c 61746976 69747908 67726565 6e656e64 036f7267 02756b00
+ 00060001 0000003c 0027036e 7330c044 0a686f73 746d6173 746572c0 44000000
+ 0e00000e 10000000 780064c8 00000000 3c.
+ +0.000839
+ recvfrom fd=4 buflen=512
+ recvfrom=EAGAIN
+ +0.000141
+ close fd=4
+ close=OK
+ +0.000157
diff --git a/regress/case-unknown-flags-harmless.err b/regress/case-unknown-flags-harmless.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-unknown-flags-harmless.err
diff --git a/regress/case-unknown-flags-harmless.out b/regress/case-unknown-flags-harmless.out
new file mode 100644
index 0000000..08a05a8
--- /dev/null
+++ b/regress/case-unknown-flags-harmless.out
@@ -0,0 +1,5 @@
+adns debug: using nameserver 172.18.45.6
+chiark.greenend.org.uk flags 1074266112 type 1 A(-) submitted
+chiark.greenend.org.uk flags 1074266112 type A(-): OK; nrrs=1; cname=$; owner=$; ttl=3600
+ 212.13.197.229
+rc=0
diff --git a/regress/case-unknown-flags-harmless.sys b/regress/case-unknown-flags-harmless.sys
new file mode 100644
index 0000000..e06fc00
--- /dev/null
+++ b/regress/case-unknown-flags-harmless.sys
@@ -0,0 +1,34 @@
+./adnstest default -0x4000
+:0x60000000|1 0x40080000/chiark.greenend.org.uk
+ start 1414182720.022422
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000183
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000097
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000076
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000272
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999728
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.102141
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010000 0e100004 d40dc5e5 c0130002 00010001
+ 51800011 036e7331 0a72656c 61746976 697479c0 13c01300 02000100 01518000
+ 06036e73 30c048c0 61000100 01000151 800004ac 122d06c0 44000100 01000151
+ 800004ac 122d0b.
+ +0.000252
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000070
+ close fd=6
+ close=OK
+ +0.000138
diff --git a/regress/case-unknown-flags-init.err b/regress/case-unknown-flags-init.err
new file mode 100644
index 0000000..8d1d1d8
--- /dev/null
+++ b/regress/case-unknown-flags-init.err
@@ -0,0 +1 @@
+adns failure: init: errno=ENOSYS
diff --git a/regress/case-unknown-flags-init.out b/regress/case-unknown-flags-init.out
new file mode 100644
index 0000000..daa767e
--- /dev/null
+++ b/regress/case-unknown-flags-init.out
@@ -0,0 +1 @@
+rc=2
diff --git a/regress/case-unknown-flags-init.sys b/regress/case-unknown-flags-init.sys
new file mode 100644
index 0000000..e177c78
--- /dev/null
+++ b/regress/case-unknown-flags-init.sys
@@ -0,0 +1,2 @@
+./adnstest default -0x6000
+:0x60000000|1 0x40080000/chiark.greenend.org.uk
diff --git a/regress/case-unknown-flags-query.err b/regress/case-unknown-flags-query.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-unknown-flags-query.err
diff --git a/regress/case-unknown-flags-query.out b/regress/case-unknown-flags-query.out
new file mode 100644
index 0000000..ac8e541
--- /dev/null
+++ b/regress/case-unknown-flags-query.out
@@ -0,0 +1,3 @@
+adns debug: using nameserver 172.18.45.6
+chiark.greenend.org.uk flags 1075314688 type 1 not implemented
+rc=0
diff --git a/regress/case-unknown-flags-query.sys b/regress/case-unknown-flags-query.sys
new file mode 100644
index 0000000..ce849e8
--- /dev/null
+++ b/regress/case-unknown-flags-query.sys
@@ -0,0 +1,15 @@
+./adnstest default -0x4000
+:0x60000000|1 0x40180000/chiark.greenend.org.uk
+ start 1414182790.489799
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000123
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000047
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000039
+ close fd=6
+ close=OK
+ +0.000149
diff --git a/regress/case-unknown-flags-type.err b/regress/case-unknown-flags-type.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-unknown-flags-type.err
diff --git a/regress/case-unknown-flags-type.out b/regress/case-unknown-flags-type.out
new file mode 100644
index 0000000..a12353a
--- /dev/null
+++ b/regress/case-unknown-flags-type.out
@@ -0,0 +1,3 @@
+adns debug: using nameserver 172.18.45.6
+chiark.greenend.org.uk flags 1074266112 type 1 not implemented
+rc=0
diff --git a/regress/case-unknown-flags-type.sys b/regress/case-unknown-flags-type.sys
new file mode 100644
index 0000000..41705b8
--- /dev/null
+++ b/regress/case-unknown-flags-type.sys
@@ -0,0 +1,15 @@
+./adnstest default -0x4000
+:0x70000000|1 0x40080000/chiark.greenend.org.uk
+ start 1414182770.758670
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000142
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000080
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000060
+ close fd=6
+ close=OK
+ +0.000170
diff --git a/regress/case-unknown2.err b/regress/case-unknown2.err
new file mode 100644
index 0000000..2886e3c
--- /dev/null
+++ b/regress/case-unknown2.err
@@ -0,0 +1 @@
+adns debug: using nameserver 172.18.45.6
diff --git a/regress/case-unknown2.out b/regress/case-unknown2.out
new file mode 100644
index 0000000..94a2ab1
--- /dev/null
+++ b/regress/case-unknown2.out
@@ -0,0 +1,5 @@
+ucam.org TYPE2 \# 12 06636869 61726b02 6e73c01a
+ucam.org TYPE2 \# 11 08636869 6d616572 61 c0 35
+ucam.org TYPE2 \# 8 05726170 756ec035
+ucam.org TYPE2 \# 9 06626563 6b6574c0 35
+rc=0
diff --git a/regress/case-unknown2.sys b/regress/case-unknown2.sys
new file mode 100644
index 0000000..0a1f593
--- /dev/null
+++ b/regress/case-unknown2.sys
@@ -0,0 +1,66 @@
+./adnshost default
+-t type2 -Qq ucam.org.
+ start 1144369677.011111
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000083
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000049
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000043
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 04756361 6d036f72 67000002 0001.
+ sendto=26
+ +0.000308
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999692
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00406
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000098
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000987
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 04756361 6d036f72 67000002 0001.
+ sendto=26
+ +0.000244
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999756
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00531
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000287
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000988
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 04756361 6d036f72 67000002 0001.
+ sendto=26
+ +0.000252
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999748
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00540
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000288
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000989
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 04756361 6d036f72 67000002 0001.
+ sendto=26
+ +0.000237
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999763
+ select=1 rfds=[6] wfds=[] efds=[]
+ +1.961402
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010004 00040004 04756361 6d036f72 67000002 00010475 63616d03
+ 6f726700 00020001 00054600 000c0663 68696172 6b026e73 c01ac01a 00020001
+ 00054600 000b0863 68696d61 657261c0 35c01a00 02000100 05460000 08057261
+ 70756ec0 35c01a00 02000100 05460000 09066265 636b6574 c035c01a 00020001
+ 00054600 0002c02e c01a0002 00010005 46000002 c046c01a 00020001 00054600
+ 0002c05d c01a0002 00010005 46000002 c071c02e 00010001 0001517c 0004c1c9
+ c8aac046 00010001 0001517c 0004836f 082ac05d 00010001 0001517c 0004836f
+ e86cc071 00010001 0001517c 0004cd86 e6ba.
+ +0.000366
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000089
+ close fd=6
+ close=OK
+ +0.000187
diff --git a/regress/case-unknown33.err b/regress/case-unknown33.err
new file mode 100644
index 0000000..2886e3c
--- /dev/null
+++ b/regress/case-unknown33.err
@@ -0,0 +1 @@
+adns debug: using nameserver 172.18.45.6
diff --git a/regress/case-unknown33.out b/regress/case-unknown33.out
new file mode 100644
index 0000000..10be288
--- /dev/null
+++ b/regress/case-unknown33.out
@@ -0,0 +1,2 @@
+_jabber._tcp.jabber.org TYPE33 \# 18 001e001e 1495066a 61626265 72036f72 67 00
+rc=0
diff --git a/regress/case-unknown33.sys b/regress/case-unknown33.sys
new file mode 100644
index 0000000..7a6c122
--- /dev/null
+++ b/regress/case-unknown33.sys
@@ -0,0 +1,37 @@
+./adnshost default
+-t type33 -Qq _jabber._tcp.jabber.org
+ start 1144369693.043661
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000080
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000045
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000040
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 075f6a61 62626572 045f7463 70066a61 62626572
+ 036f7267 00002100 01.
+ sendto=41
+ +0.000316
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999684
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.004580
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8180 00010001 00040005 075f6a61 62626572 045f7463 70066a61 62626572
+ 036f7267 00002100 01c00c00 21000100 00031b00 12001e00 1e149506 6a616262
+ 6572036f 726700c0 19000200 01000018 33001103 6e733107 6a657265 6d696503
+ 636f6d00 c0190002 00010000 18330006 036e7332 c057c019 00020001 00001833
+ 000c036e 73310562 6c616872 c05fc019 00020001 00001833 0010026e 73076f62
+ 656c6973 6b036e65 7400c019 00010001 00000102 0004d0f5 d462c053 00010001
+ 00029f11 0004d0f5 d41dc070 00010001 00029f11 0004d0f5 d41ec082 00010001
+ 00029f13 00044051 6774c09a 00010001 00029f1d 00044761 e072.
+ +0.000369
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000082
+ close fd=6
+ close=OK
+ +0.002395
diff --git a/regress/case-unknown5.err b/regress/case-unknown5.err
new file mode 100644
index 0000000..2886e3c
--- /dev/null
+++ b/regress/case-unknown5.err
@@ -0,0 +1 @@
+adns debug: using nameserver 172.18.45.6
diff --git a/regress/case-unknown5.out b/regress/case-unknown5.out
new file mode 100644
index 0000000..197296a
--- /dev/null
+++ b/regress/case-unknown5.out
@@ -0,0 +1,2 @@
+pop.chiark.greenend.org.uk TYPE5 \# 15 0c736572 76696365 2d6e616d 65 c0 10
+rc=0
diff --git a/regress/case-unknown5.sys b/regress/case-unknown5.sys
new file mode 100644
index 0000000..4a436c4
--- /dev/null
+++ b/regress/case-unknown5.sys
@@ -0,0 +1,45 @@
+./adnshost default
+-t type5 pop.chiark.greenend.org.uk
+ start 1144369700.944069
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000074
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000048
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000040
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03706f70 06636869 61726b08 67726565 6e656e64
+ 036f7267 02756b00 00050001.
+ sendto=44
+ +0.000311
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999689
+ select=0 rfds=[] wfds=[] efds=[]
+ +2.-00919
+ select max=7 rfds=[6] wfds=[] efds=[] to=0.000608
+ select=0 rfds=[] wfds=[] efds=[]
+ +0.000988
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 03706f70 06636869 61726b08 67726565 6e656e64
+ 036f7267 02756b00 00050001.
+ sendto=44
+ +0.000264
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999736
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.004660
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010001 00020002 03706f70 06636869 61726b08 67726565 6e656e64
+ 036f7267 02756b00 00050001 c00c0005 00010001 5180000f 0c736572 76696365
+ 2d6e616d 65c010c0 17000200 01000151 80001103 6e73300a 72656c61 74697669
+ 7479c017 c0170002 00010001 51800006 036e7331 c057c053 00010001 00015180
+ 0004ac12 2d06c070 00010001 00015180 0004ac12 2d0b.
+ +0.000242
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000074
+ close fd=6
+ close=OK
+ +0.000144
diff --git a/regress/case-unknownq.err b/regress/case-unknownq.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-unknownq.err
diff --git a/regress/case-unknownq.out b/regress/case-unknownq.out
new file mode 100644
index 0000000..c9e53e4
--- /dev/null
+++ b/regress/case-unknownq.out
@@ -0,0 +1,3 @@
+adns debug: using nameserver 172.18.45.6
+davenant.relativity.greenend.org.uk. flags 0 type 32767 not implemented
+rc=0
diff --git a/regress/case-unknownq.sys b/regress/case-unknownq.sys
new file mode 100644
index 0000000..60e6d2d
--- /dev/null
+++ b/regress/case-unknownq.sys
@@ -0,0 +1,15 @@
+adnstest default
+:0x0|32767 davenant.relativity.greenend.org.uk.
+ start 933811310.565828
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=4
+ +0.000264
+ fcntl fd=4 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000087
+ fcntl fd=4 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000067
+ close fd=4
+ close=OK
+ +0.000307
diff --git a/regress/case-unkopts.err b/regress/case-unkopts.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-unkopts.err
diff --git a/regress/case-unkopts.out b/regress/case-unkopts.out
new file mode 100644
index 0000000..42ee65b
--- /dev/null
+++ b/regress/case-unkopts.out
@@ -0,0 +1,10 @@
+adns debug: using nameserver 172.18.45.6
+adns: <supplied configuration text>:5: unknown option `wombat'
+adns: <supplied configuration text>:6: unknown configuration directive `stoat'
+adns: <supplied configuration text>:7: unknown option `zorkmid'
+adns: <supplied configuration text>:8: option adns_af has bad value or entry `dampstring' (option must be `any', or list of `ipv4',`ipv6')
+adns: <supplied configuration text>:8: unknown option `spong'
+chiark.greenend.org.uk flags 0 type 1 A(-) submitted
+chiark.greenend.org.uk flags 0 type A(-): OK; nrrs=1; cname=$; owner=$; ttl=3600
+ 212.13.197.229
+rc=0
diff --git a/regress/case-unkopts.sys b/regress/case-unkopts.sys
new file mode 100644
index 0000000..dadf4c3
--- /dev/null
+++ b/regress/case-unkopts.sys
@@ -0,0 +1,34 @@
+./adnstest unkopts
+:0x0|1 chiark.greenend.org.uk
+ start 1414184606.322883
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000116
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000047
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000040
+ sendto fd=6 addr=172.18.45.6:53
+ 311f0100 00010000 00000000 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001.
+ sendto=40
+ +0.000202
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999798
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.002958
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.18.45.6:53
+ 311f8580 00010001 00020002 06636869 61726b08 67726565 6e656e64 036f7267
+ 02756b00 00010001 c00c0001 00010000 0e100004 d40dc5e5 c0130002 00010001
+ 51800011 036e7331 0a72656c 61746976 697479c0 13c01300 02000100 01518000
+ 06036e73 30c048c0 61000100 01000151 800004ac 122d06c0 44000100 01000151
+ 800004ac 122d0b.
+ +0.000383
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000138
+ close fd=6
+ close=OK
+ +0.000180
diff --git a/regress/case-v6-map.err b/regress/case-v6-map.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-v6-map.err
diff --git a/regress/case-v6-map.out b/regress/case-v6-map.out
new file mode 100644
index 0000000..28d4081
--- /dev/null
+++ b/regress/case-v6-map.out
@@ -0,0 +1,11 @@
+adns debug: using nameserver 172.29.199.224
+distorted.org.uk flags 4096 type 65537 A(addr) submitted
+distorted.org.uk flags 4096 type 65551 MX(+addr) submitted
+distorted.org.uk flags 4096 type 65537 A(addr) submitted
+distorted.org.uk flags 4096 type MX(+addr): OK; nrrs=1; cname=$; owner=$; ttl=14400
+ 50 mail.distorted.org.uk ok 0 ok "OK" ( INET6 ::ffff:172.29.199.180 )
+distorted.org.uk flags 4096 type A(addr): OK; nrrs=1; cname=$; owner=$; ttl=14400
+ INET6 ::ffff:172.29.199.180
+distorted.org.uk flags 4096 type A(addr): OK; nrrs=1; cname=$; owner=$; ttl=14400
+ INET 172.29.199.180
+rc=0
diff --git a/regress/case-v6-map.sys b/regress/case-v6-map.sys
new file mode 100644
index 0000000..3e92dce
--- /dev/null
+++ b/regress/case-v6-map.sys
@@ -0,0 +1,79 @@
+./adnstest distorted
+:0x1010000|1,0x1010000|15,0x10000|1 0x1000/distorted.org.uk
+ start 1402443121.225484
+ socket domain=AF_INET type=SOCK_DGRAM
+ socket=6
+ +0.000067
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000031
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000027
+ sendto fd=6 addr=172.29.199.224:53
+ 31200100 00010000 00000000 09646973 746f7274 6564036f 72670275 6b000001
+ 0001.
+ sendto=34
+ +0.000188
+ sendto fd=6 addr=172.29.199.224:53
+ 31210100 00010000 00000000 09646973 746f7274 6564036f 72670275 6b00000f
+ 0001.
+ sendto=34
+ +0.000110
+ sendto fd=6 addr=172.29.199.224:53
+ 31230100 00010000 00000000 09646973 746f7274 6564036f 72670275 6b000001
+ 0001.
+ sendto=34
+ +0.000101
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.999601
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.001672
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31208580 00010001 00040008 09646973 746f7274 6564036f 72670275 6b000001
+ 0001c00c 00010001 00003840 0004ac1d c7b4c00c 00020001 00003840 000d0776
+ 616d7069 7265026e 73c00cc0 0c000200 01000038 40000c09 70726563 6973696f
+ 6ec046c0 0c000200 01000038 40000906 72616469 7573c046 c00c0002 00010000
+ 3840000d 0a74656c 65636173 746572c0 46c06f00 01000100 00384000 04ac1dc7
+ 01c06f00 1c000100 00384000 10200104 70974000 01000000 00000000 01c03e00
+ 01000100 00384000 04ac1dc7 05c03e00 1c000100 00384000 10200104 70974000
+ 01000000 00000000 05c05700 01000100 00384000 04ac1dc7 b2c05700 1c000100
+ 00384000 1020010b a801d900 02000000 00000000 02c08400 01000100 00384000
+ 04ac1dc7 b3c08400 1c000100 00384000 1020010b a801d900 02000000 00000000
+ 03.
+ +0.000436
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31218580 00010001 0004000a 09646973 746f7274 6564036f 72670275 6b00000f
+ 0001c00c 000f0001 00003840 00090032 046d6169 6cc00cc0 0c000200 01000038
+ 40000c06 72616469 7573026e 73c00cc0 0c000200 01000038 40000c09 70726563
+ 6973696f 6ec04ac0 0c000200 01000038 40000a07 76616d70 697265c0 4ac00c00
+ 02000100 00384000 0d0a7465 6c656361 73746572 c04ac030 00010001 00003840
+ 0004ac1d c7b4c030 001c0001 00003840 00102001 0ba801d9 00020000 00000000
+ 0004c043 00010001 00003840 0004ac1d c701c043 001c0001 00003840 00102001
+ 04709740 00010000 00000000 0001c073 00010001 00003840 0004ac1d c705c073
+ 001c0001 00003840 00102001 04709740 00010000 00000000 0005c05b 00010001
+ 00003840 0004ac1d c7b2c05b 001c0001 00003840 00102001 0ba801d9 00020000
+ 00000000 0002c089 00010001 00003840 0004ac1d c7b3c089 001c0001 00003840
+ 00102001 0ba801d9 00020000 00000000 0003.
+ +0.000356
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=172.29.199.224:53
+ 31238580 00010001 00040008 09646973 746f7274 6564036f 72670275 6b000001
+ 0001c00c 00010001 00003840 0004ac1d c7b4c00c 00020001 00003840 00100a74
+ 656c6563 61737465 72026e73 c00cc00c 00020001 00003840 000a0776 616d7069
+ 7265c049 c00c0002 00010000 3840000c 09707265 63697369 6f6ec049 c00c0002
+ 00010000 38400009 06726164 697573c0 49c08800 01000100 00384000 04ac1dc7
+ 01c08800 1c000100 00384000 10200104 70974000 01000000 00000000 01c05a00
+ 01000100 00384000 04ac1dc7 05c05a00 1c000100 00384000 10200104 70974000
+ 01000000 00000000 05c07000 01000100 00384000 04ac1dc7 b2c07000 1c000100
+ 00384000 1020010b a801d900 02000000 00000000 02c03e00 01000100 00384000
+ 04ac1dc7 b3c03e00 1c000100 00384000 1020010b a801d900 02000000 00000000
+ 03.
+ +0.000329
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000049
+ close fd=6
+ close=OK
+ +0.000145
diff --git a/regress/case-v6-transport-simple.err b/regress/case-v6-transport-simple.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/case-v6-transport-simple.err
diff --git a/regress/case-v6-transport-simple.out b/regress/case-v6-transport-simple.out
new file mode 100644
index 0000000..182190a
--- /dev/null
+++ b/regress/case-v6-transport-simple.out
@@ -0,0 +1,34 @@
+adns debug: using nameserver 2001:ba8:1d9::1
+www.distorted.org.uk flags 0 type 1 A(-) submitted
+www.distorted.org.uk flags 0 type 2 NS(raw) submitted
+www.distorted.org.uk flags 0 type 5 CNAME(-) submitted
+www.distorted.org.uk flags 0 type 6 SOA(raw) submitted
+www.distorted.org.uk flags 0 type 12 PTR(raw) submitted
+www.distorted.org.uk flags 0 type 13 HINFO(-) submitted
+www.distorted.org.uk flags 0 type 15 MX(raw) submitted
+www.distorted.org.uk flags 0 type 16 TXT(-) submitted
+www.distorted.org.uk flags 0 type 17 RP(raw) submitted
+www.distorted.org.uk flags 0 type 65537 A(addr) submitted
+www.distorted.org.uk flags 0 type 65538 NS(+addr) submitted
+www.distorted.org.uk flags 0 type 65548 PTR(checked) submitted
+www.distorted.org.uk flags 0 type 65551 MX(+addr) submitted
+www.distorted.org.uk flags 0 type 131078 SOA(822) submitted
+www.distorted.org.uk flags 0 type 131089 RP(822) submitted
+www.distorted.org.uk flags 0 type PTR(checked): Domain invalid for particular DNS query type; nrrs=0; cname=$; owner=$; ttl=604800
+www.distorted.org.uk flags 0 type A(-): OK; nrrs=1; cname=$; owner=$; ttl=14400
+ 172.29.199.180
+www.distorted.org.uk flags 0 type NS(raw): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type CNAME(-): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type SOA(raw): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type PTR(raw): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type HINFO(-): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type MX(raw): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type TXT(-): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type RP(raw): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type A(addr): OK; nrrs=1; cname=$; owner=$; ttl=14400
+ INET 172.29.199.180
+www.distorted.org.uk flags 0 type NS(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type MX(+addr): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type SOA(822): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+www.distorted.org.uk flags 0 type RP(822): No such data; nrrs=0; cname=$; owner=$; ttl=14400
+rc=0
diff --git a/regress/case-v6-transport-simple.sys b/regress/case-v6-transport-simple.sys
new file mode 100644
index 0000000..e6ad68e
--- /dev/null
+++ b/regress/case-v6-transport-simple.sys
@@ -0,0 +1,221 @@
+./adnstest distorted-v6 -0x400
+www.distorted.org.uk
+ start 1402047441.083542
+ socket domain=AF_INET6 type=SOCK_DGRAM
+ socket=6
+ +0.000065
+ fcntl fd=6 cmd=F_GETFL
+ fcntl=~O_NONBLOCK&...
+ +0.000031
+ fcntl fd=6 cmd=F_SETFL O_NONBLOCK|...
+ fcntl=OK
+ +0.000026
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 311f0100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000001 0001.
+ sendto=38
+ +0.000733
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 31200100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000002 0001.
+ sendto=38
+ +0.000302
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 31210100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000005 0001.
+ sendto=38
+ +0.000357
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 31220100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000006 0001.
+ sendto=38
+ +0.000275
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 31230100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b00000c 0001.
+ sendto=38
+ +0.000260
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 31240100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b00000d 0001.
+ sendto=38
+ +0.000257
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 31250100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b00000f 0001.
+ sendto=38
+ +0.000254
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 31260100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000010 0001.
+ sendto=38
+ +0.000272
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 31270100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000011 0001.
+ sendto=38
+ +0.000253
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 31290100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000001 0001.
+ sendto=38
+ +0.000255
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 312a0100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000002 0001.
+ sendto=38
+ +0.000253
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 312c0100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b00000f 0001.
+ sendto=38
+ +0.000343
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 312d0100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000006 0001.
+ sendto=38
+ +0.000269
+ sendto fd=6 addr=[2001:ba8:1d9::1]:53
+ 312e0100 00010000 00000000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000011 0001.
+ sendto=38
+ +0.000267
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.995650
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.118752
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 311f8580 00010001 00040008 03777777 09646973 746f7274 6564036f 72670275
+ 6b000001 0001c00c 00010001 00003840 0004ac1d c7b4c010 00020001 00003840
+ 00100a74 656c6563 61737465 72026e73 c010c010 00020001 00003840 000a0776
+ 616d7069 7265c04d c0100002 00010000 38400009 06726164 697573c0 4dc01000
+ 02000100 00384000 0c097072 65636973 696f6ec0 4dc07400 01000100 00384000
+ 04ac1dc7 01c07400 1c000100 00384000 10200104 70974000 01000000 00000000
+ 01c05e00 01000100 00384000 04ac1dc7 05c05e00 1c000100 00384000 10200104
+ 70974000 01000000 00000000 05c08900 01000100 00384000 04ac1dc7 b2c08900
+ 1c000100 00384000 1020010b a801d900 02000000 00000000 02c04200 01000100
+ 00384000 04ac1dc7 b3c04200 1c000100 00384000 1020010b a801d900 02000000
+ 00000000 03.
+ +0.000346
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 31208580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000002 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000138
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 31218580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000005 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000108
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 31228580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000006 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000131
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 31238580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b00000c 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000154
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000033
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.877915
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000368
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 31248580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b00000d 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000117
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000034
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.877653
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000616
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 31258580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b00000f 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000114
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 31268580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000010 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000106
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 31278580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000011 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000107
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000031
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.877458
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000101
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 31298580 00010001 00040008 03777777 09646973 746f7274 6564036f 72670275
+ 6b000001 0001c00c 00010001 00003840 0004ac1d c7b4c010 00020001 00003840
+ 00100a74 656c6563 61737465 72026e73 c010c010 00020001 00003840 000a0776
+ 616d7069 7265c04d c0100002 00010000 38400009 06726164 697573c0 4dc01000
+ 02000100 00384000 0c097072 65636973 696f6ec0 4dc07400 01000100 00384000
+ 04ac1dc7 01c07400 1c000100 00384000 10200104 70974000 01000000 00000000
+ 01c05e00 01000100 00384000 04ac1dc7 05c05e00 1c000100 00384000 10200104
+ 70974000 01000000 00000000 05c08900 01000100 00384000 04ac1dc7 b2c08900
+ 1c000100 00384000 1020010b a801d900 02000000 00000000 02c04200 01000100
+ 00384000 04ac1dc7 b3c04200 1c000100 00384000 1020010b a801d900 02000000
+ 00000000 03.
+ +0.000273
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000043
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.877296
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000239
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 312a8580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000002 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000113
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 312c8580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b00000f 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000108
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 312d8580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000006 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000104
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000069
+ select max=7 rfds=[6] wfds=[] efds=[] to=1.877528
+ select=1 rfds=[6] wfds=[] efds=[]
+ +0.000094
+ recvfrom fd=6 buflen=512
+ recvfrom=OK addr=[2001:ba8:1d9::1]:53
+ 312e8580 00010000 00010000 03777777 09646973 746f7274 6564036f 72670275
+ 6b000011 0001c010 00060001 00003840 002a0672 61646975 73c0100a 686f7374
+ 6d617374 6572c010 780bfb99 00015180 00000e10 00127500 00003840.
+ +0.000106
+ recvfrom fd=6 buflen=512
+ recvfrom=EAGAIN
+ +0.000032
+ close fd=6
+ close=OK
+ +0.000110
diff --git a/regress/checkall b/regress/checkall
new file mode 100755
index 0000000..5b405c4
--- /dev/null
+++ b/regress/checkall
@@ -0,0 +1,70 @@
+#!/bin/sh
+# usage: checkall
+# runs all test cases
+#
+# This file is part of adns, which is
+# Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+# Copyright (C) 2014 Mark Wooding
+# Copyright (C) 1999-2000,2003,2006 Tony Finch
+# Copyright (C) 1991 Massachusetts Institute of Technology
+# (See the file INSTALL for full details.)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation.
+
+set -e
+
+: ${srcdir=.}
+failed=''
+passed=''
+skipped=''
+
+for f in $srcdir/case-*.sys
+do
+ case="`echo \"$f\" | sed -e 's:^.*/::; s/^case-//; s/\.sys$//'`"
+ set +e
+ $srcdir/r1test $case
+ rc=$?
+ set -e
+ case $rc in
+ 0) passed="$passed $case" ;;
+ 5) skipped="$skipped $case" ;;
+ *) echo
+ failed="$failed $case"
+ echo
+ ;;
+ esac
+done
+
+if [ "x$failed" = x ]
+then
+ echo "
+"
+ if [ "x$skipped" = x ]
+ then
+ echo "all tests passed."
+ else
+ echo "all applicable tests passed (skipped:$skipped)"
+ fi
+ echo
+ exit 0
+fi
+
+echo >&2 "
+AT LEAST ONE TEST FAILED
+passed tests:${passed:- NONE}
+skipped tests:${skipped:- NONE}
+failed tests:$failed
+"
+
+exit 1
diff --git a/regress/gdbwrap b/regress/gdbwrap
new file mode 100755
index 0000000..a01178b
--- /dev/null
+++ b/regress/gdbwrap
@@ -0,0 +1,37 @@
+#!/bin/sh
+set -e
+
+# For example, put this in x.gdb
+# break adns__revparse_label
+# break adns__revparse_done
+# run
+# and then
+# ADNS_TEST_DEBUG='./gdbwrap -n x.gdb' ./r1test tcpptr
+#
+# gdbwrap can be passed arguments like
+# *.gdb passed to gdb with -x
+# -n exit with exit status 5 which makes r1test think "skipped"
+#
+# other arguments are taken to be the program name provided by
+# whatever has been told to use gdbwrap (eg r1test)
+
+while true; do
+ case "$1" in
+ *.gdb) xgdb="-x $1"; shift;;
+ -n) x5='exit 5'; shift;;
+ *) break;;
+ esac
+done
+
+exe=$1; shift
+
+exec 5<&0 6>&1 7>&2
+exec 0<>/dev/tty 1>&0 2>&0
+
+set +e
+ex="set args <&5 >&6 2>&7"
+for a in "$@"; do
+ ex="$ex '$a'"
+done
+gdb --return-child-result -ex "$ex" $xgdb $exe
+$x5
diff --git a/regress/hack-query-ids b/regress/hack-query-ids
new file mode 100755
index 0000000..0c9b8d7
--- /dev/null
+++ b/regress/hack-query-ids
@@ -0,0 +1,17 @@
+#! /usr/bin/perl
+
+@seq = sort { $a <=> $b } map { hex } @ARGV;
+
+while (<STDIN>) {
+ print;
+ if (/^ (sendto fd=\d+|recvfrom=OK) addr=([0-9.]+|\[0-9a-f:]+\]).*:53/) {
+ my $line = <STDIN>;
+ if ($line !~ /^ ([0-9a-f]{4})(.*)$/s) {
+ print $line;
+ next;
+ }
+ my $qq = hex $1;
+ for my $q (@seq) { $qq++ if $qq >= $q; }
+ printf " %04x%s", ($qq & 0xffff), $2;
+ }
+}
diff --git a/regress/harness.h b/regress/harness.h
new file mode 100644
index 0000000..eae4206
--- /dev/null
+++ b/regress/harness.h
@@ -0,0 +1,44 @@
+#ifndef HARNESS_H_INCLUDED
+#define HARNESS_H_INCLUDED
+#include "internal.h"
+#include "hsyscalls.h"
+/* There is a Q function (Q for Question) for each such syscall;
+ * it constructs a string representing the call, and calls Q_str
+ * on it, or constructs it in vb and calls Q_vb;
+ */
+void Qselect( int max , const fd_set *rfds , const fd_set *wfds , const fd_set *efds , struct timeval *to );
+#ifdef HAVE_POLL
+void Qpoll( const struct pollfd *fds , int nfds , int timeout );
+#endif
+void Qsocket( int domain , int type );
+void Qfcntl( int fd , int cmd , long arg );
+void Qconnect( int fd , const struct sockaddr *addr , int addrlen );
+void Qbind( int fd , const struct sockaddr *addr , int addrlen );
+void Qlisten( int fd , int backlog );
+void Qclose( int fd );
+void Qsendto( int fd , const void *msg , int msglen , const struct sockaddr *addr , int addrlen );
+void Qrecvfrom( int fd , int buflen , int addrlen );
+void Qread( int fd , size_t buflen );
+void Qwrite( int fd , const void *buf , size_t len );
+void Q_vb(void);
+extern void Tshutdown(void);
+/* General help functions */
+void Tfailed(const char *why);
+void Toutputerr(void);
+void Tnomem(void);
+void Tfsyscallr(const char *fmt, ...) PRINTFFORMAT(1,2);
+void Tensurerecordfile(void);
+void Tmust(const char *call, const char *arg, int cond);
+void Tvbf(const char *fmt, ...) PRINTFFORMAT(1,2);
+void Tvbvf(const char *fmt, va_list al);
+void Tvbfdset(int max, const fd_set *set);
+void Tvbpollfds(const struct pollfd *fds, int nfds);
+void Tvbaddr(const struct sockaddr *addr, int addrlen);
+void Tvbbytes(const void *buf, int len);
+void Tvberrno(int e);
+void Tvba(const char *str);
+/* Shared globals */
+extern vbuf vb;
+extern struct timeval currenttime;
+extern const struct Terrno { const char *n; int v; } Terrnos[];
+#endif
diff --git a/regress/harness.h.m4 b/regress/harness.h.m4
new file mode 100644
index 0000000..bf4f308
--- /dev/null
+++ b/regress/harness.h.m4
@@ -0,0 +1,71 @@
+m4_dnl harness.h.m4
+m4_dnl (part of complex test harness, not of the library)
+m4_dnl - function and other declarations
+
+m4_dnl This file is part of adns, which is
+m4_dnl Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+m4_dnl Copyright (C) 2014 Mark Wooding
+m4_dnl Copyright (C) 1999-2000,2003,2006 Tony Finch
+m4_dnl Copyright (C) 1991 Massachusetts Institute of Technology
+m4_dnl (See the file INSTALL for full details.)
+m4_dnl
+m4_dnl This program is free software; you can redistribute it and/or modify
+m4_dnl it under the terms of the GNU General Public License as published by
+m4_dnl the Free Software Foundation; either version 3, or (at your option)
+m4_dnl any later version.
+m4_dnl
+m4_dnl This program is distributed in the hope that it will be useful,
+m4_dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+m4_dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+m4_dnl GNU General Public License for more details.
+m4_dnl
+m4_dnl You should have received a copy of the GNU General Public License
+m4_dnl along with this program; if not, write to the Free Software Foundation.
+
+m4_include(hmacros.i4)
+
+#ifndef HARNESS_H_INCLUDED
+#define HARNESS_H_INCLUDED
+
+#include "internal.h"
+#include "hsyscalls.h"
+
+/* There is a Q function (Q for Question) for each such syscall;
+ * it constructs a string representing the call, and calls Q_str
+ * on it, or constructs it in vb and calls Q_vb;
+ */
+
+hm_create_proto_q
+m4_define(`hm_syscall', `void Q$1(hm_args_massage($3,void));')
+m4_define(`hm_specsyscall', `')
+m4_include(`hsyscalls.i4')
+
+void Q_vb(void);
+
+extern void Tshutdown(void);
+
+/* General help functions */
+
+void Tfailed(const char *why);
+void Toutputerr(void);
+void Tnomem(void);
+void Tfsyscallr(const char *fmt, ...) PRINTFFORMAT(1,2);
+void Tensurerecordfile(void);
+void Tmust(const char *call, const char *arg, int cond);
+
+void Tvbf(const char *fmt, ...) PRINTFFORMAT(1,2);
+void Tvbvf(const char *fmt, va_list al);
+void Tvbfdset(int max, const fd_set *set);
+void Tvbpollfds(const struct pollfd *fds, int nfds);
+void Tvbaddr(const struct sockaddr *addr, int addrlen);
+void Tvbbytes(const void *buf, int len);
+void Tvberrno(int e);
+void Tvba(const char *str);
+
+/* Shared globals */
+
+extern vbuf vb;
+extern struct timeval currenttime;
+extern const struct Terrno { const char *n; int v; } Terrnos[];
+
+#endif
diff --git a/regress/hcommon.c b/regress/hcommon.c
new file mode 100644
index 0000000..ebbef94
--- /dev/null
+++ b/regress/hcommon.c
@@ -0,0 +1,304 @@
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include "harness.h"
+#include "internal.h"
+vbuf vb;
+FILE *Toutputfile= 0;
+struct timeval currenttime;
+const struct Terrno Terrnos[]= {
+ { "EBADF", EBADF },
+ { "EAGAIN", EAGAIN },
+ { "EINPROGRESS", EINPROGRESS },
+ { "EINTR", EINTR },
+ { "EINVAL", EINVAL },
+ { "EMSGSIZE", EMSGSIZE },
+ { "ENOBUFS", ENOBUFS },
+ { "ENOENT", ENOENT },
+ { "ENOPROTOOPT", ENOPROTOOPT },
+ { "ENOSPC", ENOSPC },
+ { "EWOULDBLOCK", EWOULDBLOCK },
+ { "EHOSTUNREACH", EHOSTUNREACH },
+ { "ECONNRESET", ECONNRESET },
+ { "ECONNREFUSED", ECONNREFUSED },
+ { "EPIPE", EPIPE },
+ { "ENOTSOCK", ENOTSOCK },
+ { 0, 0 }
+};
+static vbuf vbw;
+int Hgettimeofday(struct timeval *tv, struct timezone *tz) {
+ Tensurerecordfile();
+ Tmust("gettimeofday","tz",!tz);
+ *tv= currenttime;
+ return 0;
+}
+int Hwritev(int fd, const struct iovec *vector, size_t count) {
+ size_t i;
+ vbw.used= 0;
+ for (i=0; i<count; i++, vector++) {
+ if (!adns__vbuf_append(&vbw,vector->iov_base,vector->iov_len)) Tnomem();
+ }
+ return Hwrite(fd,vbw.buf,vbw.used);
+}
+void Qselect( int max , const fd_set *rfds , const fd_set *wfds , const fd_set *efds , struct timeval *to ) {
+ vb.used= 0;
+ Tvba("select");
+ Tvbf(" max=%d",max);
+ Tvbf(" rfds="); Tvbfdset(max,rfds);
+ Tvbf(" wfds="); Tvbfdset(max,wfds);
+ Tvbf(" efds="); Tvbfdset(max,efds);
+ if (to) Tvbf(" to=%ld.%06ld",(long)to->tv_sec,(long)to->tv_usec);
+ else Tvba(" to=null");
+ Q_vb();
+}
+#ifdef HAVE_POLL
+void Qpoll( const struct pollfd *fds , int nfds , int timeout ) {
+ vb.used= 0;
+ Tvba("poll");
+ Tvbf(" fds="); Tvbpollfds(fds,nfds);
+ Tvbf(" timeout=%d",timeout);
+ Q_vb();
+}
+#endif
+void Qsocket( int domain , int type ) {
+ vb.used= 0;
+ Tvba("socket");
+ Tvbf(domain==AF_INET ? " domain=AF_INET" :
+ domain==AF_INET6 ? " domain=AF_INET6" :
+ " domain=AF_???");
+ Tvbf(type==SOCK_STREAM ? " type=SOCK_STREAM" : " type=SOCK_DGRAM");
+ Q_vb();
+}
+void Qfcntl( int fd , int cmd , long arg ) {
+ vb.used= 0;
+ Tvba("fcntl");
+ Tvbf(" fd=%d",fd);
+ if (cmd == F_SETFL) {
+ Tvbf(" cmd=F_SETFL %s",arg & O_NONBLOCK ? "O_NONBLOCK|..." : "~O_NONBLOCK&...");
+ } else if (cmd == F_GETFL) {
+ Tvba(" cmd=F_GETFL");
+ } else {
+ Tmust("cmd","F_GETFL/F_SETFL",0);
+ }
+ Q_vb();
+}
+void Qconnect( int fd , const struct sockaddr *addr , int addrlen ) {
+ vb.used= 0;
+ Tvba("connect");
+ Tvbf(" fd=%d",fd);
+ Tvba(" addr="); Tvbaddr(addr,addrlen);
+ Q_vb();
+}
+void Qbind( int fd , const struct sockaddr *addr , int addrlen ) {
+ vb.used= 0;
+ Tvba("bind");
+ Tvbf(" fd=%d",fd);
+ Tvba(" addr="); Tvbaddr(addr,addrlen);
+ Q_vb();
+}
+void Qlisten( int fd , int backlog ) {
+ vb.used= 0;
+ Tvba("listen");
+ Tvbf(" fd=%d",fd);
+ Tvbf(" backlog=%d",backlog);
+ Q_vb();
+}
+void Qclose( int fd ) {
+ vb.used= 0;
+ Tvba("close");
+ Tvbf(" fd=%d",fd);
+ Q_vb();
+}
+void Qsendto( int fd , const void *msg , int msglen , const struct sockaddr *addr , int addrlen ) {
+ vb.used= 0;
+ Tvba("sendto");
+ Tvbf(" fd=%d",fd);
+ Tvba(" addr="); Tvbaddr(addr,addrlen);
+ Tvbbytes(msg,msglen);
+ Q_vb();
+}
+void Qrecvfrom( int fd , int buflen , int addrlen ) {
+ vb.used= 0;
+ Tvba("recvfrom");
+ Tvbf(" fd=%d",fd);
+ Tvbf(" buflen=%lu",(unsigned long)buflen);
+ Q_vb();
+}
+void Qread( int fd , size_t buflen ) {
+ vb.used= 0;
+ Tvba("read");
+ Tvbf(" fd=%d",fd);
+ Tvbf(" buflen=%lu",(unsigned long)buflen);
+ Q_vb();
+}
+void Qwrite( int fd , const void *buf , size_t len ) {
+ vb.used= 0;
+ Tvba("write");
+ Tvbf(" fd=%d",fd);
+ Tvbbytes(buf,len);
+ Q_vb();
+}
+void Tvbaddr(const struct sockaddr *addr, int len) {
+ char buf[ADNS_ADDR2TEXT_BUFLEN];
+ int err, port;
+ int sz= sizeof(buf);
+ err= adns_addr2text(addr, 0, buf,&sz, &port);
+ assert(!err);
+ Tvbf(strchr(buf, ':') ? "[%s]:%d" : "%s:%d", buf,port);
+}
+void Tvbbytes(const void *buf, int len) {
+ const byte *bp;
+ int i;
+ if (!len) { Tvba("\n ."); return; }
+ for (i=0, bp=buf; i<len; i++, bp++) {
+ if (!(i&31)) Tvba("\n ");
+ else if (!(i&3)) Tvba(" ");
+ Tvbf("%02x",*bp);
+ }
+ Tvba(".");
+}
+void Tvbfdset(int max, const fd_set *fds) {
+ int i;
+ const char *comma= "";
+ Tvba("[");
+ for (i=0; i<max; i++) {
+ if (!FD_ISSET(i,fds)) continue;
+ Tvba(comma);
+ Tvbf("%d",i);
+ comma= ",";
+ }
+ Tvba("]");
+}
+static void Tvbpollevents(int events) {
+ const char *delim= "";
+ events &= (POLLIN|POLLOUT|POLLPRI);
+ if (!events) { Tvba("0"); return; }
+ if (events & POLLIN) { Tvba("POLLIN"); delim= "|"; }
+ if (events & POLLOUT) { Tvba(delim); Tvba("POLLOUT"); delim= "|"; }
+ if (events & POLLPRI) { Tvba(delim); Tvba("POLLPRI"); }
+}
+void Tvbpollfds(const struct pollfd *fds, int nfds) {
+ const char *comma= "";
+ Tvba("[");
+ while (nfds>0) {
+ Tvba(comma);
+ Tvbf("{fd=%d, events=",fds->fd);
+ Tvbpollevents(fds->events);
+ Tvba(", revents=");
+ Tvbpollevents(fds->revents);
+ Tvba("}");
+ comma= ", ";
+ nfds--; fds++;
+ }
+ Tvba("]");
+}
+void Tvberrno(int e) {
+ const struct Terrno *te;
+ for (te= Terrnos; te->n && te->v != e; te++);
+ assert(te->n);
+ Tvba(te->n);
+}
+void Tvba(const char *str) {
+ if (!adns__vbuf_appendstr(&vb,str)) Tnomem();
+}
+void Tvbvf(const char *fmt, va_list al) {
+ char buf[1000];
+ buf[sizeof(buf)-2]= '\t';
+ vsnprintf(buf,sizeof(buf),fmt,al);
+ assert(buf[sizeof(buf)-2] == '\t');
+ Tvba(buf);
+}
+void Tvbf(const char *fmt, ...) {
+ va_list al;
+ va_start(al,fmt);
+ Tvbvf(fmt,al);
+ va_end(al);
+}
+void Tmust(const char *call, const char *arg, int cond) {
+ if (cond) return;
+ fprintf(stderr,"adns test harness: case not handled: system call %s, arg %s",call,arg);
+ exit(-1);
+}
+void Tfailed(const char *why) {
+ fprintf(stderr,"adns test harness: failure: %s: %s\n",why,strerror(errno));
+ exit(-1);
+}
+void Tnomem(void) {
+ Tfailed("unable to malloc/realloc");
+}
+void Toutputerr(void) {
+ Tfailed("write error on test harness output");
+}
+struct malloced {
+ struct malloced *next, *back;
+ size_t sz;
+ unsigned long count;
+ struct { double d; long ul; void *p; void (*fp)(void); } data;
+};
+static unsigned long malloccount, mallocfailat;
+static struct { struct malloced *head, *tail; } mallocedlist;
+#define MALLOCHSZ ((char*)&mallocedlist.head->data - (char*)mallocedlist.head)
+void *Hmalloc(size_t sz) {
+ struct malloced *newnode;
+ const char *mfavar;
+ char *ep;
+ assert(sz);
+ newnode= malloc(MALLOCHSZ + sz); if (!newnode) Tnomem();
+ LIST_LINK_TAIL(mallocedlist,newnode);
+ newnode->sz= sz;
+ newnode->count= ++malloccount;
+ if (!mallocfailat) {
+ mfavar= getenv("ADNS_REGRESS_MALLOCFAILAT");
+ if (mfavar) {
+ mallocfailat= strtoul(mfavar,&ep,10);
+ if (!mallocfailat || *ep) Tfailed("ADNS_REGRESS_MALLOCFAILAT bad value");
+ } else {
+ mallocfailat= ~0UL;
+ }
+ }
+ assert(newnode->count != mallocfailat);
+ memset(&newnode->data,0xc7,sz);
+ return &newnode->data;
+}
+void Hfree(void *ptr) {
+ struct malloced *oldnode;
+ if (!ptr) return;
+ oldnode= (void*)((char*)ptr - MALLOCHSZ);
+ LIST_UNLINK(mallocedlist,oldnode);
+ memset(&oldnode->data,0x38,oldnode->sz);
+ free(oldnode);
+}
+void *Hrealloc(void *op, size_t nsz) {
+ struct malloced *oldnode;
+ void *np;
+ size_t osz;
+ if (op) { oldnode= (void*)((char*)op - MALLOCHSZ); osz= oldnode->sz; } else { osz= 0; }
+ np= Hmalloc(nsz);
+ memcpy(np,op, osz>nsz ? nsz : osz);
+ Hfree(op);
+ return np;
+}
+void Hexit(int rv) {
+ struct malloced *loopnode;
+ Tshutdown();
+ adns__vbuf_free(&vb);
+ adns__vbuf_free(&vbw);
+ if (mallocedlist.head) {
+ fprintf(stderr,"adns test harness: memory leaked:");
+ for (loopnode=mallocedlist.head; loopnode; loopnode=loopnode->next)
+ fprintf(stderr," %lu",loopnode->count);
+ putc('\n',stderr);
+ if (ferror(stderr)) exit(-1);
+ }
+ exit(rv);
+}
+pid_t Hgetpid(void) {
+ return 2264; /* just some number */
+}
diff --git a/regress/hcommon.c.m4 b/regress/hcommon.c.m4
new file mode 100644
index 0000000..c5069ee
--- /dev/null
+++ b/regress/hcommon.c.m4
@@ -0,0 +1,328 @@
+m4_dnl hcommon.c
+m4_dnl (part of complex test harness, not of the library)
+m4_dnl - routines used for both record and playback
+
+m4_dnl This file is part of adns, which is
+m4_dnl Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+m4_dnl Copyright (C) 2014 Mark Wooding
+m4_dnl Copyright (C) 1999-2000,2003,2006 Tony Finch
+m4_dnl Copyright (C) 1991 Massachusetts Institute of Technology
+m4_dnl (See the file INSTALL for full details.)
+m4_dnl
+m4_dnl This program is free software; you can redistribute it and/or modify
+m4_dnl it under the terms of the GNU General Public License as published by
+m4_dnl the Free Software Foundation; either version 3, or (at your option)
+m4_dnl any later version.
+m4_dnl
+m4_dnl This program is distributed in the hope that it will be useful,
+m4_dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+m4_dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+m4_dnl GNU General Public License for more details.
+m4_dnl
+m4_dnl You should have received a copy of the GNU General Public License
+m4_dnl along with this program; if not, write to the Free Software Foundation.
+
+m4_include(hmacros.i4)
+
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "harness.h"
+#include "internal.h"
+
+vbuf vb;
+FILE *Toutputfile= 0;
+struct timeval currenttime;
+
+const struct Terrno Terrnos[]= {
+ { "EBADF", EBADF },
+ { "EAGAIN", EAGAIN },
+ { "EINPROGRESS", EINPROGRESS },
+ { "EINTR", EINTR },
+ { "EINVAL", EINVAL },
+ { "EMSGSIZE", EMSGSIZE },
+ { "ENOBUFS", ENOBUFS },
+ { "ENOENT", ENOENT },
+ { "ENOPROTOOPT", ENOPROTOOPT },
+ { "ENOSPC", ENOSPC },
+ { "EWOULDBLOCK", EWOULDBLOCK },
+ { "EHOSTUNREACH", EHOSTUNREACH },
+ { "ECONNRESET", ECONNRESET },
+ { "ECONNREFUSED", ECONNREFUSED },
+ { "EPIPE", EPIPE },
+ { "ENOTSOCK", ENOTSOCK },
+ { 0, 0 }
+};
+
+static vbuf vbw;
+
+int Hgettimeofday(struct timeval *tv, struct timezone *tz) {
+ Tensurerecordfile();
+ Tmust("gettimeofday","tz",!tz);
+ *tv= currenttime;
+ return 0;
+}
+
+int Hwritev(int fd, const struct iovec *vector, size_t count) {
+ size_t i;
+
+ vbw.used= 0;
+ for (i=0; i<count; i++, vector++) {
+ if (!adns__vbuf_append(&vbw,vector->iov_base,vector->iov_len)) Tnomem();
+ }
+ return Hwrite(fd,vbw.buf,vbw.used);
+}
+
+m4_define(`hm_syscall', `
+ hm_create_proto_q
+void Q$1(hm_args_massage($3,void)) {
+
+ vb.used= 0;
+ Tvba("$1");
+ m4_define(`hm_na',`')
+ m4_define(`hm_arg_nullptr',`')
+ m4_define(`hm_arg_int', `Tvbf(" $'`1=%d",$'`1);')
+ m4_define(`hm_arg_fdset_io', `Tvbf(" $'`1="); Tvbfdset($'`2,$'`1);')
+ m4_define(`hm_arg_pollfds_io', `Tvbf(" $'`1="); Tvbpollfds($'`1,$'`2);')
+ m4_define(`hm_arg_timeval_in_rel_null', `
+ if ($'`1) Tvbf(" $'`1=%ld.%06ld",(long)$'`1->tv_sec,(long)$'`1->tv_usec);
+ else Tvba(" $'`1=null");')
+ m4_define(`hm_arg_must', `')
+ m4_define(`hm_arg_socktype', `
+ Tvbf($'`1==SOCK_STREAM ? " $'`1=SOCK_STREAM" : " $'`1=SOCK_DGRAM");')
+ m4_define(`hm_arg_addrfam', `
+ Tvbf($'`1==AF_INET ? " $'`1=AF_INET" :
+ $'`1==AF_INET6 ? " $'`1=AF_INET6" :
+ " $'`1=AF_???");')
+ m4_define(`hm_arg_ign', `')
+ m4_define(`hm_arg_fd', `Tvbf(" $'`1=%d",$'`1);')
+ m4_define(`hm_arg_fcntl_cmd_arg', `
+ if ($'`1 == F_SETFL) {
+ Tvbf(" $'`1=F_SETFL %s",arg & O_NONBLOCK ? "O_NONBLOCK|..." : "~O_NONBLOCK&...");
+ } else if ($'`1 == F_GETFL) {
+ Tvba(" $'`1=F_GETFL");
+ } else {
+ Tmust("$'`1","F_GETFL/F_SETFL",0);
+ }')
+ m4_define(`hm_arg_addr_in', `Tvba(" $'`1="); Tvbaddr($'`1,$'`2);')
+ m4_define(`hm_arg_bytes_in', `')
+ m4_define(`hm_arg_bytes_out', `Tvbf(" $'`4=%lu",(unsigned long)$'`4);')
+ m4_define(`hm_arg_addr_out', `')
+ $3
+
+ hm_create_nothing
+ m4_define(`hm_arg_bytes_in', `Tvbbytes($'`2,$'`4);')
+ $3
+
+ Q_vb();
+}
+')
+
+m4_define(`hm_specsyscall', `')
+
+m4_include(`hsyscalls.i4')
+
+void Tvbaddr(const struct sockaddr *addr, int len) {
+ char buf[ADNS_ADDR2TEXT_BUFLEN];
+ int err, port;
+ int sz= sizeof(buf);
+
+ err= adns_addr2text(addr, 0, buf,&sz, &port);
+ assert(!err);
+
+ Tvbf(strchr(buf, ':') ? "[%s]:%d" : "%s:%d", buf,port);
+}
+
+void Tvbbytes(const void *buf, int len) {
+ const byte *bp;
+ int i;
+
+ if (!len) { Tvba("\n ."); return; }
+ for (i=0, bp=buf; i<len; i++, bp++) {
+ if (!(i&31)) Tvba("\n ");
+ else if (!(i&3)) Tvba(" ");
+ Tvbf("%02x",*bp);
+ }
+ Tvba(".");
+}
+
+void Tvbfdset(int max, const fd_set *fds) {
+ int i;
+ const char *comma= "";
+
+ Tvba("[");
+ for (i=0; i<max; i++) {
+ if (!FD_ISSET(i,fds)) continue;
+ Tvba(comma);
+ Tvbf("%d",i);
+ comma= ",";
+ }
+ Tvba("]");
+}
+
+static void Tvbpollevents(int events) {
+ const char *delim= "";
+
+ events &= (POLLIN|POLLOUT|POLLPRI);
+ if (!events) { Tvba("0"); return; }
+ if (events & POLLIN) { Tvba("POLLIN"); delim= "|"; }
+ if (events & POLLOUT) { Tvba(delim); Tvba("POLLOUT"); delim= "|"; }
+ if (events & POLLPRI) { Tvba(delim); Tvba("POLLPRI"); }
+}
+
+void Tvbpollfds(const struct pollfd *fds, int nfds) {
+ const char *comma= "";
+
+ Tvba("[");
+ while (nfds>0) {
+ Tvba(comma);
+ Tvbf("{fd=%d, events=",fds->fd);
+ Tvbpollevents(fds->events);
+ Tvba(", revents=");
+ Tvbpollevents(fds->revents);
+ Tvba("}");
+ comma= ", ";
+ nfds--; fds++;
+ }
+ Tvba("]");
+}
+
+void Tvberrno(int e) {
+ const struct Terrno *te;
+
+ for (te= Terrnos; te->n && te->v != e; te++);
+ assert(te->n);
+ Tvba(te->n);
+}
+
+void Tvba(const char *str) {
+ if (!adns__vbuf_appendstr(&vb,str)) Tnomem();
+}
+
+void Tvbvf(const char *fmt, va_list al) {
+ char buf[1000];
+ buf[sizeof(buf)-2]= '\t';
+ vsnprintf(buf,sizeof(buf),fmt,al);
+ assert(buf[sizeof(buf)-2] == '\t');
+
+ Tvba(buf);
+}
+
+void Tvbf(const char *fmt, ...) {
+ va_list al;
+ va_start(al,fmt);
+ Tvbvf(fmt,al);
+ va_end(al);
+}
+
+
+void Tmust(const char *call, const char *arg, int cond) {
+ if (cond) return;
+ fprintf(stderr,"adns test harness: case not handled: system call %s, arg %s",call,arg);
+ exit(-1);
+}
+
+void Tfailed(const char *why) {
+ fprintf(stderr,"adns test harness: failure: %s: %s\n",why,strerror(errno));
+ exit(-1);
+}
+
+void Tnomem(void) {
+ Tfailed("unable to malloc/realloc");
+}
+
+void Toutputerr(void) {
+ Tfailed("write error on test harness output");
+}
+
+struct malloced {
+ struct malloced *next, *back;
+ size_t sz;
+ unsigned long count;
+ struct { double d; long ul; void *p; void (*fp)(void); } data;
+};
+
+static unsigned long malloccount, mallocfailat;
+static struct { struct malloced *head, *tail; } mallocedlist;
+
+#define MALLOCHSZ ((char*)&mallocedlist.head->data - (char*)mallocedlist.head)
+
+void *Hmalloc(size_t sz) {
+ struct malloced *newnode;
+ const char *mfavar;
+ char *ep;
+
+ assert(sz);
+
+ newnode= malloc(MALLOCHSZ + sz); if (!newnode) Tnomem();
+
+ LIST_LINK_TAIL(mallocedlist,newnode);
+ newnode->sz= sz;
+ newnode->count= ++malloccount;
+ if (!mallocfailat) {
+ mfavar= getenv("ADNS_REGRESS_MALLOCFAILAT");
+ if (mfavar) {
+ mallocfailat= strtoul(mfavar,&ep,10);
+ if (!mallocfailat || *ep) Tfailed("ADNS_REGRESS_MALLOCFAILAT bad value");
+ } else {
+ mallocfailat= ~0UL;
+ }
+ }
+ assert(newnode->count != mallocfailat);
+ memset(&newnode->data,0xc7,sz);
+ return &newnode->data;
+}
+
+void Hfree(void *ptr) {
+ struct malloced *oldnode;
+
+ if (!ptr) return;
+
+ oldnode= (void*)((char*)ptr - MALLOCHSZ);
+ LIST_UNLINK(mallocedlist,oldnode);
+ memset(&oldnode->data,0x38,oldnode->sz);
+ free(oldnode);
+}
+
+void *Hrealloc(void *op, size_t nsz) {
+ struct malloced *oldnode;
+ void *np;
+ size_t osz;
+
+ if (op) { oldnode= (void*)((char*)op - MALLOCHSZ); osz= oldnode->sz; } else { osz= 0; }
+ np= Hmalloc(nsz);
+ memcpy(np,op, osz>nsz ? nsz : osz);
+ Hfree(op);
+ return np;
+}
+
+void Hexit(int rv) {
+ struct malloced *loopnode;
+
+ Tshutdown();
+ adns__vbuf_free(&vb);
+ adns__vbuf_free(&vbw);
+ if (mallocedlist.head) {
+ fprintf(stderr,"adns test harness: memory leaked:");
+ for (loopnode=mallocedlist.head; loopnode; loopnode=loopnode->next)
+ fprintf(stderr," %lu",loopnode->count);
+ putc('\n',stderr);
+ if (ferror(stderr)) exit(-1);
+ }
+ exit(rv);
+}
+
+pid_t Hgetpid(void) {
+ return 2264; /* just some number */
+}
+
diff --git a/regress/hmacros.i4 b/regress/hmacros.i4
new file mode 100644
index 0000000..7212394
--- /dev/null
+++ b/regress/hmacros.i4
@@ -0,0 +1,140 @@
+m4_dnl hmacros.h.m4
+m4_dnl (part of complex test harness, not of the library)
+m4_dnl - common macros
+
+m4_dnl This file is part of adns, which is
+m4_dnl Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+m4_dnl Copyright (C) 2014 Mark Wooding
+m4_dnl Copyright (C) 1999-2000,2003,2006 Tony Finch
+m4_dnl Copyright (C) 1991 Massachusetts Institute of Technology
+m4_dnl (See the file INSTALL for full details.)
+m4_dnl
+m4_dnl This program is free software; you can redistribute it and/or modify
+m4_dnl it under the terms of the GNU General Public License as published by
+m4_dnl the Free Software Foundation; either version 3, or (at your option)
+m4_dnl any later version.
+m4_dnl
+m4_dnl This program is distributed in the hope that it will be useful,
+m4_dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+m4_dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+m4_dnl GNU General Public License for more details.
+m4_dnl
+m4_dnl You should have received a copy of the GNU General Public License
+m4_dnl along with this program; if not, write to the Free Software Foundation.
+
+m4_define(`hm_args_massage',
+ `m4_ifelse(
+ m4_patsubst(
+ $1,
+ `hm_comma\|[
+ ]+',
+ `'),
+ `',
+ `$2',
+ `m4_dnl
+ m4_patsubst(m4_patsubst(m4_patsubst(m4_translit($1, `
+ ',` '), `\(hm_comma *\)*$', `'), `^\( *hm_comma\)*', `'),
+ `\( *hm_comma *\)+',` hm_comma ')m4_dnl
+ ')')
+
+m4_define(`hm_create_nothing', `
+ m4_define(`hm_na',`')
+ m4_define(`hm_arg_nullptr', `')
+ m4_define(`hm_arg_int', `')
+ m4_define(`hm_arg_fdset_io', `')
+ m4_define(`hm_arg_pollfds_io', `')
+ m4_define(`hm_arg_timeval_in_rel_null',`')
+ m4_define(`hm_arg_must', `')
+ m4_define(`hm_arg_socktype',`')
+ m4_define(`hm_arg_addrfam',`')
+ m4_define(`hm_arg_ign', `')
+ m4_define(`hm_arg_fd', `')
+ m4_define(`hm_arg_fcntl_cmd_arg',`')
+ m4_define(`hm_arg_addr_in', `')
+ m4_define(`hm_arg_bytes_in', `')
+ m4_define(`hm_arg_bytes_out', `')
+ m4_define(`hm_arg_addr_out', `')
+')
+
+m4_define(`hm_create_proto_h',`
+ m4_define(`hm_na', `hm_comma')
+ m4_define(`hm_arg_nullptr', `$'`1 $'`2')
+ m4_define(`hm_arg_int', `int $'`1')
+ m4_define(`hm_arg_fdset_io', `fd_set *$'`1')
+ m4_define(`hm_arg_pollfds_io', `struct pollfd *$'`1 hm_comma int $'`2')
+ m4_define(`hm_arg_timeval_in_rel_null', `struct timeval *$'`1')
+ m4_define(`hm_arg_must', `$'`1 $'`2')
+ m4_define(`hm_arg_socktype', `int $'`1')
+ m4_define(`hm_arg_addrfam', `int $'`1')
+ m4_define(`hm_arg_ign', `$'`1 $'`2')
+ m4_define(`hm_arg_fd', `int $'`1')
+ m4_define(`hm_arg_fcntl_cmd_arg', `int $'`1 hm_comma ...')
+ m4_define(`hm_arg_addr_in', `const struct sockaddr *$'`1 hm_comma int $'`2')
+ m4_define(`hm_arg_bytes_in', `const $'`1 *$'`2 hm_comma $'`3 $'`4')
+ m4_define(`hm_arg_bytes_out', `$'`1 *$'`2 hm_comma $'`3 $'`4')
+ m4_define(`hm_arg_addr_out', `struct sockaddr *$'`1 hm_comma int *$'`2')
+')
+
+m4_define(`hm_create_proto_q',`
+ hm_create_proto_h
+ m4_define(`hm_arg_nullptr', `')
+ m4_define(`hm_arg_fdset_io', `const fd_set *$'`1')
+ m4_define(`hm_arg_pollfds_io', `const struct pollfd *$'`1 hm_comma int $'`2')
+ m4_define(`hm_arg_must', `')
+ m4_define(`hm_arg_ign', `')
+ m4_define(`hm_arg_fcntl_cmd_arg', `int $'`1 hm_comma long $'`2')
+ m4_define(`hm_arg_bytes_out', `$'`3 $'`4')
+ m4_define(`hm_arg_addr_out', `int $'`2')
+')
+
+m4_define(`hm_create_hqcall_vars',`
+ hm_create_nothing
+ m4_define(`hm_arg_fcntl_cmd_arg',`va_list al; long $'`2;')
+')
+
+m4_define(`hm_create_hqcall_init',`
+ hm_create_nothing
+ m4_define(`hm_arg_nullptr', `Tmust("$1","$'`2",!$'`2);')
+ m4_define(`hm_arg_must', `Tmust("$1","$'`2",$'`2==$'`3);')
+ m4_define(`hm_arg_socktype',`
+ Tmust("$1","$'`1",$'`1==SOCK_STREAM || $'`1==SOCK_DGRAM);')
+ m4_define(`hm_arg_addrfam',`
+ Tmust("$1","$'`1",$'`1==AF_INET || $'`1==AF_INET6);')
+ m4_define(`hm_arg_fcntl_cmd_arg',`
+ Tmust("$1","$'`1",$'`1==F_SETFL || $'`1==F_GETFL);
+ if ($'`1 == F_SETFL) {
+ va_start(al,$'`1); $'`2= va_arg(al,long); va_end(al);
+ } else {
+ $'`2= 0;
+ }')
+ m4_define(`hm_arg_addr_out',`Tmust("$1","*$'`2",*$'`2>=sizeof(struct sockaddr_in));')
+')
+
+m4_define(`hm_create_realcall_args',`
+ m4_define(`hm_na',`hm_comma')
+ m4_define(`hm_arg_nullptr', `0')
+ m4_define(`hm_arg_int', `$'`1')
+ m4_define(`hm_arg_fdset_io', `$'`1')
+ m4_define(`hm_arg_pollfds_io', `$'`1 hm_comma $'`2')
+ m4_define(`hm_arg_timeval_in_rel_null', `$'`1')
+ m4_define(`hm_arg_must', `$'`2')
+ m4_define(`hm_arg_socktype', `$'`1')
+ m4_define(`hm_arg_addrfam', `$'`1')
+ m4_define(`hm_arg_ign', `$'`2')
+ m4_define(`hm_arg_fd', `$'`1')
+ m4_define(`hm_arg_fcntl_cmd_arg', `$'`1 hm_comma $'`2')
+ m4_define(`hm_arg_addr_in', `$'`1 hm_comma $'`2')
+ m4_define(`hm_arg_bytes_in', `$'`2 hm_comma $'`4')
+ m4_define(`hm_arg_bytes_out', `$'`2 hm_comma $'`4')
+ m4_define(`hm_arg_addr_out', `$'`1 hm_comma $'`2')
+')
+
+m4_define(`hm_create_hqcall_args',`
+ hm_create_realcall_args
+ m4_define(`hm_arg_nullptr', `')
+ m4_define(`hm_arg_must', `')
+ m4_define(`hm_arg_ign', `')
+ m4_define(`hm_arg_bytes_in', `$'`2 hm_comma $'`4')
+ m4_define(`hm_arg_bytes_out', `$'`4')
+ m4_define(`hm_arg_addr_out', `*$'`2')
+')
diff --git a/regress/hplayback.c b/regress/hplayback.c
new file mode 100644
index 0000000..279934c
--- /dev/null
+++ b/regress/hplayback.c
@@ -0,0 +1,594 @@
+#include <assert.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <sys/time.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include "harness.h"
+static FILE *Tinputfile, *Treportfile;
+static vbuf vb2;
+extern void Tshutdown(void) {
+ adns__vbuf_free(&vb2);
+}
+static void Tensurereportfile(void) {
+ const char *fdstr;
+ int fd;
+ if (Treportfile) return;
+ Treportfile= stderr;
+ fdstr= getenv("ADNS_TEST_REPORT_FD"); if (!fdstr) return;
+ fd= atoi(fdstr);
+ Treportfile= fdopen(fd,"a"); if (!Treportfile) Tfailed("fdopen ADNS_TEST_REPORT_FD");
+}
+static void Psyntax(const char *where) {
+ fprintf(stderr,"adns test harness: syntax error in test log input file: %s\n",where);
+ exit(-1);
+}
+static void Pcheckinput(void) {
+ if (ferror(Tinputfile)) Tfailed("read test log input file");
+ if (feof(Tinputfile)) Psyntax("eof at syscall reply");
+}
+void Tensurerecordfile(void) {
+ const char *fdstr;
+ int fd;
+ int chars;
+ unsigned long sec, usec;
+ if (Tinputfile) return;
+ Tinputfile= stdin;
+ fdstr= getenv("ADNS_TEST_IN_FD");
+ if (fdstr) {
+ fd= atoi(fdstr);
+ Tinputfile= fdopen(fd,"r"); if (!Tinputfile) Tfailed("fdopen ADNS_TEST_IN_FD");
+ }
+ setvbuf(Tinputfile,0,_IONBF,0);
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ chars= -1;
+ sscanf(vb2.buf," start %lu.%lu%n",&sec,&usec,&chars);
+ if (chars==-1) Psyntax("start time invalid");
+ currenttime.tv_sec= sec;
+ currenttime.tv_usec= usec;
+ if (vb2.buf[chars] != '\n') Psyntax("not newline after start time");
+}
+static void Parg(const char *argname) {
+ int l;
+ if (vb2.buf[vb2.used++] != ' ') Psyntax("not a space before argument");
+ l= strlen(argname);
+ if (memcmp(vb2.buf+vb2.used,argname,l)) Psyntax("argument name wrong");
+ vb2.used+= l;
+ if (vb2.buf[vb2.used++] != '=') Psyntax("not = after argument name");
+}
+static int Pstring_maybe(const char *string) {
+ int l;
+ l= strlen(string);
+ if (memcmp(vb2.buf+vb2.used,string,l)) return 0;
+ vb2.used+= l;
+ return 1;
+}
+static void Pstring(const char *string, const char *emsg) {
+ if (Pstring_maybe(string)) return;
+ Psyntax(emsg);
+}
+static int Perrno(const char *stuff) {
+ const struct Terrno *te;
+ int r;
+ char *ep;
+ for (te= Terrnos; te->n && strcmp(te->n,stuff); te++);
+ if (te->n) return te->v;
+ r= strtoul(stuff+2,&ep,10);
+ if (*ep) Psyntax("errno value not recognised, not numeric");
+ return r;
+}
+static void P_updatetime(void) {
+ int chars;
+ unsigned long sec, usec;
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ chars= -1;
+ sscanf(vb2.buf," +%lu.%lu%n",&sec,&usec,&chars);
+ if (chars==-1) Psyntax("update time invalid");
+ currenttime.tv_sec+= sec;
+ currenttime.tv_usec+= usec;
+ if (currenttime.tv_usec > 1000000) {
+ currenttime.tv_sec++;
+ currenttime.tv_usec -= 1000000;
+ }
+ if (vb2.buf[chars] != '\n') Psyntax("not newline after update time");
+}
+static void Pfdset(fd_set *set, int max) {
+ int r, c;
+ char *ep;
+ if (vb2.buf[vb2.used++] != '[') Psyntax("fd set start not [");
+ FD_ZERO(set);
+ if (vb2.buf[vb2.used] == ']') { vb2.used++; return; }
+ for (;;) {
+ r= strtoul(vb2.buf+vb2.used,&ep,10);
+ if (r>=max) Psyntax("fd set member > max");
+ if (ep == (char*)vb2.buf+vb2.used) Psyntax("empty entry in fd set");
+ FD_SET(r,set);
+ vb2.used= ep - (char*)vb2.buf;
+ c= vb2.buf[vb2.used++];
+ if (c == ']') break;
+ if (c != ',') Psyntax("fd set separator not ,");
+ }
+}
+#ifdef HAVE_POLL
+static int Ppollfdevents(void) {
+ int events;
+ if (Pstring_maybe("0")) return 0;
+ events= 0;
+ if (Pstring_maybe("POLLIN")) {
+ events |= POLLIN;
+ if (!Pstring_maybe("|")) return events;
+ }
+ if (Pstring_maybe("POLLOUT")) {
+ events |= POLLOUT;
+ if (!Pstring_maybe("|")) return events;
+ }
+ Pstring("POLLPRI","pollfdevents PRI?");
+ return events;
+}
+static void Ppollfds(struct pollfd *fds, int nfds) {
+ int i;
+ char *ep;
+ const char *comma= "";
+ if (vb2.buf[vb2.used++] != '[') Psyntax("pollfds start not [");
+ for (i=0; i<nfds; i++) {
+ Pstring("{fd=","{fd= in pollfds");
+ fds->fd= strtoul(vb2.buf+vb2.used,&ep,10);
+ vb2.used= ep - (char*)vb2.buf;
+ Pstring(", events=",", events= in pollfds");
+ fds->events= Ppollfdevents();
+ Pstring(", revents=",", revents= in pollfds");
+ fds->revents= Ppollfdevents();
+ Pstring("}","} in pollfds");
+ Pstring(comma,"separator in pollfds");
+ comma= ", ";
+ }
+ if (vb2.buf[vb2.used++] != ']') Psyntax("pollfds end not ]");
+}
+#endif
+static void Paddr(struct sockaddr *addr, int *lenr) {
+ adns_rr_addr a;
+ char *p, *q, *ep;
+ int err;
+ unsigned long ul;
+ p= vb2.buf+vb2.used;
+ if (*p!='[') {
+ q= strchr(p,':');
+ if (!q) Psyntax("missing :");
+ *q++= 0;
+ } else {
+ p++;
+ q= strchr(p,']');
+ if (!q) Psyntax("missing ]");
+ *q++= 0;
+ if (*q!=':') Psyntax("expected : after ]");
+ q++;
+ }
+ ul= strtoul(q,&ep,10);
+ if (*ep && *ep != ' ') Psyntax("invalid port (bad syntax)");
+ if (ul >= 65536) Psyntax("port too large");
+ a.len= sizeof(a.addr);
+ err= adns_text2addr(p, (int)ul, 0, &a.addr.sa,&a.len);
+ if (err) Psyntax("invalid address");
+ assert(*lenr >= a.len);
+ memcpy(addr, &a.addr, a.len);
+ *lenr= a.len;
+ vb2.used= ep - (char*)vb2.buf;
+}
+static int Pbytes(byte *buf, int maxlen) {
+ static const char hexdigits[]= "0123456789abcdef";
+ int c, v, done;
+ const char *pf;
+ done= 0;
+ for (;;) {
+ c= getc(Tinputfile); Pcheckinput();
+ if (c=='\n' || c==' ' || c=='\t') continue;
+ if (c=='.') break;
+ pf= strchr(hexdigits,c); if (!pf) Psyntax("invalid first hex digit");
+ v= (pf-hexdigits)<<4;
+ c= getc(Tinputfile); Pcheckinput();
+ pf= strchr(hexdigits,c); if (!pf) Psyntax("invalid second hex digit");
+ v |= (pf-hexdigits);
+ if (maxlen<=0) Psyntax("buffer overflow in bytes");
+ *buf++= v;
+ maxlen--; done++;
+ }
+ for (;;) {
+ c= getc(Tinputfile); Pcheckinput();
+ if (c=='\n') return done;
+ }
+}
+void Q_vb(void) {
+ const char *nl;
+ Tensurerecordfile();
+ if (!adns__vbuf_ensure(&vb2,vb.used+2)) Tnomem();
+ fread(vb2.buf,1,vb.used+2,Tinputfile);
+ if (feof(Tinputfile)) {
+ fprintf(stderr,"adns test harness: input ends prematurely; program did:\n %.*s\n",
+ vb.used,vb.buf);
+ exit(-1);
+ }
+ Pcheckinput();
+ if (vb2.buf[0] != ' ') Psyntax("not space before call");
+ if (memcmp(vb.buf,vb2.buf+1,vb.used) ||
+ vb2.buf[vb.used+1] != '\n') {
+ fprintf(stderr,
+ "adns test harness: program did unexpected:\n %.*s\n"
+ "was expecting:\n %.*s\n",
+ vb.used,vb.buf, vb.used,vb2.buf+1);
+ exit(1);
+ }
+ Tensurereportfile();
+ nl= memchr(vb.buf,'\n',vb.used);
+ fprintf(Treportfile," %.*s\n", (int)(nl ? nl - (const char*)vb.buf : vb.used), vb.buf);
+}
+int Hselect( int max , fd_set *rfds , fd_set *wfds , fd_set *efds , struct timeval *to ) {
+ int r, amtread;
+ char *ep;
+ Qselect( max , rfds , wfds , efds , to );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," select=",8)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[8] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+8);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ r= strtoul(vb2.buf+8,&ep,10);
+ if (*ep && *ep!=' ') Psyntax("return value not E* or positive number");
+ vb2.used= ep - (char*)vb2.buf;
+ Parg("rfds"); Pfdset(rfds,max);
+ Parg("wfds"); Pfdset(wfds,max);
+ Parg("efds"); Pfdset(efds,max);
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ P_updatetime();
+ return r;
+}
+#ifdef HAVE_POLL
+int Hpoll( struct pollfd *fds , int nfds , int timeout ) {
+ int r, amtread;
+ char *ep;
+ Qpoll( fds , nfds , timeout );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," poll=",6)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[6] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+6);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ r= strtoul(vb2.buf+6,&ep,10);
+ if (*ep && *ep!=' ') Psyntax("return value not E* or positive number");
+ vb2.used= ep - (char*)vb2.buf;
+ Parg("fds"); Ppollfds(fds,nfds);
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ P_updatetime();
+ return r;
+}
+#endif
+int Hsocket( int domain , int type , int protocol ) {
+ int r, amtread;
+ char *ep;
+ Tmust("socket","domain",domain==AF_INET || domain==AF_INET6);
+ Tmust("socket","type",type==SOCK_STREAM || type==SOCK_DGRAM);
+ Qsocket( domain , type );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," socket=",8)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[8] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+8);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ r= strtoul(vb2.buf+8,&ep,10);
+ if (*ep && *ep!=' ') Psyntax("return value not E* or positive number");
+ vb2.used= ep - (char*)vb2.buf;
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ P_updatetime();
+ return r;
+}
+int Hfcntl( int fd , int cmd , ... ) {
+ int r, amtread;
+ va_list al; long arg;
+ Tmust("fcntl","cmd",cmd==F_SETFL || cmd==F_GETFL);
+ if (cmd == F_SETFL) {
+ va_start(al,cmd); arg= va_arg(al,long); va_end(al);
+ } else {
+ arg= 0;
+ }
+ Qfcntl( fd , cmd , arg );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," fcntl=",7)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[7] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+7);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ r= 0;
+ if (cmd == F_GETFL) {
+ if (!memcmp(vb2.buf+7,"O_NONBLOCK|...",14)) {
+ r= O_NONBLOCK;
+ vb2.used= 7+14;
+ } else if (!memcmp(vb2.buf+7,"~O_NONBLOCK&...",15)) {
+ vb2.used= 7+15;
+ } else {
+ Psyntax("fcntl flags not O_NONBLOCK|... or ~O_NONBLOCK&...");
+ }
+ } else if (cmd == F_SETFL) {
+ if (memcmp(vb2.buf+7,"OK",2)) Psyntax("success/fail not E* or OK");
+ vb2.used= 7+2;
+ r= 0;
+ } else {
+ Psyntax("fcntl not F_GETFL or F_SETFL");
+ }
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ P_updatetime();
+ return r;
+}
+int Hconnect( int fd , const struct sockaddr *addr , int addrlen ) {
+ int r, amtread;
+ Qconnect( fd , addr , addrlen );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," connect=",9)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[9] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+9);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ if (memcmp(vb2.buf+9,"OK",2)) Psyntax("success/fail not E* or OK");
+ vb2.used= 9+2;
+ r= 0;
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ P_updatetime();
+ return r;
+}
+int Hbind( int fd , const struct sockaddr *addr , int addrlen ) {
+ int r, amtread;
+ Qbind( fd , addr , addrlen );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," bind=",6)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[6] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+6);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ if (memcmp(vb2.buf+6,"OK",2)) Psyntax("success/fail not E* or OK");
+ vb2.used= 6+2;
+ r= 0;
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ P_updatetime();
+ return r;
+}
+int Hlisten( int fd , int backlog ) {
+ int r, amtread;
+ Qlisten( fd , backlog );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," listen=",8)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[8] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+8);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ if (memcmp(vb2.buf+8,"OK",2)) Psyntax("success/fail not E* or OK");
+ vb2.used= 8+2;
+ r= 0;
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ P_updatetime();
+ return r;
+}
+int Hclose( int fd ) {
+ int r, amtread;
+ Qclose( fd );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," close=",7)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[7] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+7);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ if (memcmp(vb2.buf+7,"OK",2)) Psyntax("success/fail not E* or OK");
+ vb2.used= 7+2;
+ r= 0;
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ P_updatetime();
+ return r;
+}
+int Hsendto( int fd , const void *msg , int msglen , unsigned int flags , const struct sockaddr *addr , int addrlen ) {
+ int r, amtread;
+ char *ep;
+ Tmust("sendto","flags",flags==0);
+ Qsendto( fd , msg , msglen , addr , addrlen );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," sendto=",8)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[8] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+8);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ r= strtoul(vb2.buf+8,&ep,10);
+ if (*ep && *ep!=' ') Psyntax("return value not E* or positive number");
+ vb2.used= ep - (char*)vb2.buf;
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ P_updatetime();
+ return r;
+}
+int Hrecvfrom( int fd , void *buf , int buflen , unsigned int flags , struct sockaddr *addr , int *addrlen ) {
+ int r, amtread;
+ Tmust("recvfrom","flags",flags==0);
+ Tmust("recvfrom","*addrlen",*addrlen>=sizeof(struct sockaddr_in));
+ Qrecvfrom( fd , buflen , *addrlen );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," recvfrom=",10)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[10] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+10);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ if (memcmp(vb2.buf+10,"OK",2)) Psyntax("success/fail not E* or OK");
+ vb2.used= 10+2;
+ r= 0;
+ Parg("addr"); Paddr(addr,addrlen);
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ r= Pbytes(buf,buflen);
+ P_updatetime();
+ return r;
+}
+int Hread( int fd , void *buf , size_t buflen ) {
+ int r, amtread;
+ Qread( fd , buflen );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," read=",6)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[6] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+6);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ if (memcmp(vb2.buf+6,"OK",2)) Psyntax("success/fail not E* or OK");
+ vb2.used= 6+2;
+ r= 0;
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ r= Pbytes(buf,buflen);
+ P_updatetime();
+ return r;
+}
+int Hwrite( int fd , const void *buf , size_t len ) {
+ int r, amtread;
+ char *ep;
+ Qwrite( fd , buf , len );
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!='\n')
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," write=",7)) Psyntax("syscall reply mismatch");
+ if (vb2.buf[7] == 'E') {
+ int e;
+ e= Perrno(vb2.buf+7);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+ r= strtoul(vb2.buf+7,&ep,10);
+ if (*ep && *ep!=' ') Psyntax("return value not E* or positive number");
+ vb2.used= ep - (char*)vb2.buf;
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+ P_updatetime();
+ return r;
+}
diff --git a/regress/hplayback.c.m4 b/regress/hplayback.c.m4
new file mode 100644
index 0000000..475144a
--- /dev/null
+++ b/regress/hplayback.c.m4
@@ -0,0 +1,389 @@
+m4_dnl hplayback.c.m4
+m4_dnl (part of complex test harness, not of the library)
+m4_dnl - playback routines
+
+m4_dnl This file is part of adns, which is
+m4_dnl Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+m4_dnl Copyright (C) 2014 Mark Wooding
+m4_dnl Copyright (C) 1999-2000,2003,2006 Tony Finch
+m4_dnl Copyright (C) 1991 Massachusetts Institute of Technology
+m4_dnl (See the file INSTALL for full details.)
+m4_dnl
+m4_dnl This program is free software; you can redistribute it and/or modify
+m4_dnl it under the terms of the GNU General Public License as published by
+m4_dnl the Free Software Foundation; either version 3, or (at your option)
+m4_dnl any later version.
+m4_dnl
+m4_dnl This program is distributed in the hope that it will be useful,
+m4_dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+m4_dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+m4_dnl GNU General Public License for more details.
+m4_dnl
+m4_dnl You should have received a copy of the GNU General Public License
+m4_dnl along with this program; if not, write to the Free Software Foundation.
+
+m4_include(hmacros.i4)
+
+#include <assert.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <sys/time.h>
+
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "harness.h"
+
+static FILE *Tinputfile, *Treportfile;
+static vbuf vb2;
+
+extern void Tshutdown(void) {
+ adns__vbuf_free(&vb2);
+}
+
+static void Tensurereportfile(void) {
+ const char *fdstr;
+ int fd;
+
+ if (Treportfile) return;
+ Treportfile= stderr;
+ fdstr= getenv("ADNS_TEST_REPORT_FD"); if (!fdstr) return;
+ fd= atoi(fdstr);
+ Treportfile= fdopen(fd,"a"); if (!Treportfile) Tfailed("fdopen ADNS_TEST_REPORT_FD");
+}
+
+static void Psyntax(const char *where) {
+ fprintf(stderr,"adns test harness: syntax error in test log input file: %s\n",where);
+ exit(-1);
+}
+
+static void Pcheckinput(void) {
+ if (ferror(Tinputfile)) Tfailed("read test log input file");
+ if (feof(Tinputfile)) Psyntax("eof at syscall reply");
+}
+
+void Tensurerecordfile(void) {
+ const char *fdstr;
+ int fd;
+ int chars;
+ unsigned long sec, usec;
+
+ if (Tinputfile) return;
+ Tinputfile= stdin;
+ fdstr= getenv("ADNS_TEST_IN_FD");
+ if (fdstr) {
+ fd= atoi(fdstr);
+ Tinputfile= fdopen(fd,"r"); if (!Tinputfile) Tfailed("fdopen ADNS_TEST_IN_FD");
+ }
+ setvbuf(Tinputfile,0,_IONBF,0);
+
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ chars= -1;
+ sscanf(vb2.buf," start %lu.%lu%n",&sec,&usec,&chars);
+ if (chars==-1) Psyntax("start time invalid");
+ currenttime.tv_sec= sec;
+ currenttime.tv_usec= usec;
+ if (vb2.buf[chars] != hm_squote\nhm_squote) Psyntax("not newline after start time");
+}
+
+static void Parg(const char *argname) {
+ int l;
+
+ if (vb2.buf[vb2.used++] != hm_squote hm_squote) Psyntax("not a space before argument");
+ l= strlen(argname);
+ if (memcmp(vb2.buf+vb2.used,argname,l)) Psyntax("argument name wrong");
+ vb2.used+= l;
+ if (vb2.buf[vb2.used++] != hm_squote=hm_squote) Psyntax("not = after argument name");
+}
+
+static int Pstring_maybe(const char *string) {
+ int l;
+
+ l= strlen(string);
+ if (memcmp(vb2.buf+vb2.used,string,l)) return 0;
+ vb2.used+= l;
+ return 1;
+}
+
+static void Pstring(const char *string, const char *emsg) {
+ if (Pstring_maybe(string)) return;
+ Psyntax(emsg);
+}
+
+static int Perrno(const char *stuff) {
+ const struct Terrno *te;
+ int r;
+ char *ep;
+
+ for (te= Terrnos; te->n && strcmp(te->n,stuff); te++);
+ if (te->n) return te->v;
+ r= strtoul(stuff+2,&ep,10);
+ if (*ep) Psyntax("errno value not recognised, not numeric");
+ return r;
+}
+
+static void P_updatetime(void) {
+ int chars;
+ unsigned long sec, usec;
+
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+ chars= -1;
+ sscanf(vb2.buf," +%lu.%lu%n",&sec,&usec,&chars);
+ if (chars==-1) Psyntax("update time invalid");
+ currenttime.tv_sec+= sec;
+ currenttime.tv_usec+= usec;
+ if (currenttime.tv_usec > 1000000) {
+ currenttime.tv_sec++;
+ currenttime.tv_usec -= 1000000;
+ }
+ if (vb2.buf[chars] != hm_squote\nhm_squote) Psyntax("not newline after update time");
+}
+
+static void Pfdset(fd_set *set, int max) {
+ int r, c;
+ char *ep;
+
+ if (vb2.buf[vb2.used++] != hm_squote[hm_squote) Psyntax("fd set start not [");
+ FD_ZERO(set);
+ if (vb2.buf[vb2.used] == hm_squote]hm_squote) { vb2.used++; return; }
+ for (;;) {
+ r= strtoul(vb2.buf+vb2.used,&ep,10);
+ if (r>=max) Psyntax("fd set member > max");
+ if (ep == (char*)vb2.buf+vb2.used) Psyntax("empty entry in fd set");
+ FD_SET(r,set);
+ vb2.used= ep - (char*)vb2.buf;
+ c= vb2.buf[vb2.used++];
+ if (c == hm_squote]hm_squote) break;
+ if (c != hm_squote,hm_squote) Psyntax("fd set separator not ,");
+ }
+}
+
+#ifdef HAVE_POLL
+static int Ppollfdevents(void) {
+ int events;
+
+ if (Pstring_maybe("0")) return 0;
+ events= 0;
+
+ if (Pstring_maybe("POLLIN")) {
+ events |= POLLIN;
+ if (!Pstring_maybe("|")) return events;
+ }
+
+ if (Pstring_maybe("POLLOUT")) {
+ events |= POLLOUT;
+ if (!Pstring_maybe("|")) return events;
+ }
+
+ Pstring("POLLPRI","pollfdevents PRI?");
+ return events;
+}
+
+static void Ppollfds(struct pollfd *fds, int nfds) {
+ int i;
+ char *ep;
+ const char *comma= "";
+
+ if (vb2.buf[vb2.used++] != hm_squote[hm_squote) Psyntax("pollfds start not [");
+ for (i=0; i<nfds; i++) {
+ Pstring("{fd=","{fd= in pollfds");
+ fds->fd= strtoul(vb2.buf+vb2.used,&ep,10);
+ vb2.used= ep - (char*)vb2.buf;
+ Pstring(", events=",", events= in pollfds");
+ fds->events= Ppollfdevents();
+ Pstring(", revents=",", revents= in pollfds");
+ fds->revents= Ppollfdevents();
+ Pstring("}","} in pollfds");
+ Pstring(comma,"separator in pollfds");
+ comma= ", ";
+ }
+ if (vb2.buf[vb2.used++] != hm_squote]hm_squote) Psyntax("pollfds end not ]");
+}
+#endif
+
+static void Paddr(struct sockaddr *addr, int *lenr) {
+ adns_rr_addr a;
+ char *p, *q, *ep;
+ int err;
+ unsigned long ul;
+
+ p= vb2.buf+vb2.used;
+ if (*p!='[') {
+ q= strchr(p,':');
+ if (!q) Psyntax("missing :");
+ *q++= 0;
+ } else {
+ p++;
+ q= strchr(p,']');
+ if (!q) Psyntax("missing ]");
+ *q++= 0;
+ if (*q!=':') Psyntax("expected : after ]");
+ q++;
+ }
+ ul= strtoul(q,&ep,10);
+ if (*ep && *ep != ' ') Psyntax("invalid port (bad syntax)");
+ if (ul >= 65536) Psyntax("port too large");
+
+ a.len= sizeof(a.addr);
+ err= adns_text2addr(p, (int)ul, 0, &a.addr.sa,&a.len);
+ if (err) Psyntax("invalid address");
+
+ assert(*lenr >= a.len);
+ memcpy(addr, &a.addr, a.len);
+ *lenr= a.len;
+ vb2.used= ep - (char*)vb2.buf;
+}
+
+static int Pbytes(byte *buf, int maxlen) {
+ static const char hexdigits[]= "0123456789abcdef";
+
+ int c, v, done;
+ const char *pf;
+
+ done= 0;
+ for (;;) {
+ c= getc(Tinputfile); Pcheckinput();
+ if (c=='\n' || c==' ' || c=='\t') continue;
+ if (c=='.') break;
+ pf= strchr(hexdigits,c); if (!pf) Psyntax("invalid first hex digit");
+ v= (pf-hexdigits)<<4;
+ c= getc(Tinputfile); Pcheckinput();
+ pf= strchr(hexdigits,c); if (!pf) Psyntax("invalid second hex digit");
+ v |= (pf-hexdigits);
+ if (maxlen<=0) Psyntax("buffer overflow in bytes");
+ *buf++= v;
+ maxlen--; done++;
+ }
+ for (;;) {
+ c= getc(Tinputfile); Pcheckinput();
+ if (c=='\n') return done;
+ }
+}
+
+void Q_vb(void) {
+ const char *nl;
+
+ Tensurerecordfile();
+ if (!adns__vbuf_ensure(&vb2,vb.used+2)) Tnomem();
+ fread(vb2.buf,1,vb.used+2,Tinputfile);
+ if (feof(Tinputfile)) {
+ fprintf(stderr,"adns test harness: input ends prematurely; program did:\n %.*s\n",
+ vb.used,vb.buf);
+ exit(-1);
+ }
+ Pcheckinput();
+ if (vb2.buf[0] != hm_squote hm_squote) Psyntax("not space before call");
+ if (memcmp(vb.buf,vb2.buf+1,vb.used) ||
+ vb2.buf[vb.used+1] != hm_squote\nhm_squote) {
+ fprintf(stderr,
+ "adns test harness: program did unexpected:\n %.*s\n"
+ "was expecting:\n %.*s\n",
+ vb.used,vb.buf, vb.used,vb2.buf+1);
+ exit(1);
+ }
+ Tensurereportfile();
+ nl= memchr(vb.buf,'\n',vb.used);
+ fprintf(Treportfile," %.*s\n", (int)(nl ? nl - (const char*)vb.buf : vb.used), vb.buf);
+}
+
+m4_define(`hm_syscall', `
+ hm_create_proto_h
+int H$1(hm_args_massage($3,void)) {
+ int r, amtread;
+ m4_define(`hm_rv_fd',`char *ep;')
+ m4_define(`hm_rv_any',`char *ep;')
+ m4_define(`hm_rv_len',`')
+ m4_define(`hm_rv_must',`')
+ m4_define(`hm_rv_succfail',`')
+ m4_define(`hm_rv_fcntl',`')
+ $2
+
+ hm_create_hqcall_vars
+ $3
+
+ hm_create_hqcall_init($1)
+ $3
+
+ hm_create_hqcall_args
+ Q$1(hm_args_massage($3));
+
+ m4_define(`hm_r_offset',`m4_len(` $1=')')
+ if (!adns__vbuf_ensure(&vb2,1000)) Tnomem();
+ fgets(vb2.buf,vb2.avail,Tinputfile); Pcheckinput();
+
+ Tensurereportfile();
+ fprintf(Treportfile,"%s",vb2.buf);
+ amtread= strlen(vb2.buf);
+ if (amtread<=0 || vb2.buf[--amtread]!=hm_squote\nhm_squote)
+ Psyntax("badly formed line");
+ vb2.buf[amtread]= 0;
+ if (memcmp(vb2.buf," $1=",hm_r_offset)) Psyntax("syscall reply mismatch");
+
+ if (vb2.buf[hm_r_offset] == hm_squoteEhm_squote) {
+ int e;
+ e= Perrno(vb2.buf+hm_r_offset);
+ P_updatetime();
+ errno= e;
+ return -1;
+ }
+
+ m4_define(`hm_rv_succfail',`
+ if (memcmp(vb2.buf+hm_r_offset,"OK",2)) Psyntax("success/fail not E* or OK");
+ vb2.used= hm_r_offset+2;
+ r= 0;
+ ')
+ m4_define(`hm_rv_len',`hm_rv_succfail')
+ m4_define(`hm_rv_must',`hm_rv_succfail')
+ m4_define(`hm_rv_any',`
+ r= strtoul(vb2.buf+hm_r_offset,&ep,10);
+ if (*ep && *ep!=hm_squote hm_squote) Psyntax("return value not E* or positive number");
+ vb2.used= ep - (char*)vb2.buf;
+ ')
+ m4_define(`hm_rv_fd',`hm_rv_any')
+ m4_define(`hm_rv_fcntl',`
+ r= 0;
+ if (cmd == F_GETFL) {
+ if (!memcmp(vb2.buf+hm_r_offset,"O_NONBLOCK|...",14)) {
+ r= O_NONBLOCK;
+ vb2.used= hm_r_offset+14;
+ } else if (!memcmp(vb2.buf+hm_r_offset,"~O_NONBLOCK&...",15)) {
+ vb2.used= hm_r_offset+15;
+ } else {
+ Psyntax("fcntl flags not O_NONBLOCK|... or ~O_NONBLOCK&...");
+ }
+ } else if (cmd == F_SETFL) {
+ hm_rv_succfail
+ } else {
+ Psyntax("fcntl not F_GETFL or F_SETFL");
+ }
+ ')
+ $2
+
+ hm_create_nothing
+ m4_define(`hm_arg_fdset_io',`Parg("$'`1"); Pfdset($'`1,$'`2);')
+ m4_define(`hm_arg_pollfds_io',`Parg("$'`1"); Ppollfds($'`1,$'`2);')
+ m4_define(`hm_arg_addr_out',`Parg("$'`1"); Paddr($'`1,$'`2);')
+ $3
+ assert(vb2.used <= amtread);
+ if (vb2.used != amtread) Psyntax("junk at end of line");
+
+ hm_create_nothing
+ m4_define(`hm_arg_bytes_out',`r= Pbytes($'`2,$'`4);')
+ $3
+
+ P_updatetime();
+ return r;
+}
+')
+
+m4_define(`hm_specsyscall', `')
+
+m4_include(`hsyscalls.i4')
diff --git a/regress/hrecord.c b/regress/hrecord.c
new file mode 100644
index 0000000..dec099b
--- /dev/null
+++ b/regress/hrecord.c
@@ -0,0 +1,257 @@
+#include <assert.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include "harness.h"
+static FILE *Toutputfile;
+void Tshutdown(void) {
+}
+static void R_recordtime(void) {
+ int r;
+ struct timeval tv, tvrel;
+ Tensurerecordfile();
+ r= gettimeofday(&tv,0); if (r) Tfailed("gettimeofday syscallbegin");
+ tvrel.tv_sec= tv.tv_sec - currenttime.tv_sec;
+ tvrel.tv_usec= tv.tv_usec - currenttime.tv_usec;
+ if (tv.tv_usec < 0) { tvrel.tv_usec += 1000000; tvrel.tv_sec--; }
+ Tvbf("\n +%ld.%06ld",(long)tvrel.tv_sec,(long)tvrel.tv_usec);
+ currenttime= tv;
+}
+void Tensurerecordfile(void) {
+ const char *fdstr;
+ int fd, r;
+ if (Toutputfile) return;
+ Toutputfile= stdout;
+ fdstr= getenv("ADNS_TEST_OUT_FD");
+ if (fdstr) {
+ fd= atoi(fdstr);
+ Toutputfile= fdopen(fd,"a"); if (!Toutputfile) Tfailed("fdopen ADNS_TEST_OUT_FD");
+ }
+ r= gettimeofday(&currenttime,0); if (r) Tfailed("gettimeofday syscallbegin");
+ if (fprintf(Toutputfile," start %ld.%06ld\n",
+ (long)currenttime.tv_sec,(long)currenttime.tv_usec) == EOF) Toutputerr();
+}
+void Q_vb(void) {
+ if (!adns__vbuf_append(&vb,"",1)) Tnomem();
+ Tensurerecordfile();
+ if (fprintf(Toutputfile," %s\n",vb.buf) == EOF) Toutputerr();
+ if (fflush(Toutputfile)) Toutputerr();
+}
+static void R_vb(void) {
+ Q_vb();
+}
+int Hselect( int max , fd_set *rfds , fd_set *wfds , fd_set *efds , struct timeval *to ) {
+ int r, e;
+ Qselect( max , rfds , wfds , efds , to );
+ r= select( max , rfds , wfds , efds , to );
+ e= errno;
+ vb.used= 0;
+ Tvba("select=");
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ Tvbf("%d",r);
+ Tvba(" rfds="); Tvbfdset(max,rfds);
+ Tvba(" wfds="); Tvbfdset(max,wfds);
+ Tvba(" efds="); Tvbfdset(max,efds);
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+#ifdef HAVE_POLL
+int Hpoll( struct pollfd *fds , int nfds , int timeout ) {
+ int r, e;
+ Qpoll( fds , nfds , timeout );
+ r= poll( fds , nfds , timeout );
+ e= errno;
+ vb.used= 0;
+ Tvba("poll=");
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ Tvbf("%d",r);
+ Tvba(" fds="); Tvbpollfds(fds,nfds);
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+#endif
+int Hsocket( int domain , int type , int protocol ) {
+ int r, e;
+ Tmust("socket","domain",domain==AF_INET || domain==AF_INET6);
+ Tmust("socket","type",type==SOCK_STREAM || type==SOCK_DGRAM);
+ Qsocket( domain , type );
+ r= socket( domain , type , protocol );
+ e= errno;
+ vb.used= 0;
+ Tvba("socket=");
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ Tvbf("%d",r);
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+int Hfcntl( int fd , int cmd , ... ) {
+ int r, e;
+ va_list al; long arg;
+ Tmust("fcntl","cmd",cmd==F_SETFL || cmd==F_GETFL);
+ if (cmd == F_SETFL) {
+ va_start(al,cmd); arg= va_arg(al,long); va_end(al);
+ } else {
+ arg= 0;
+ }
+ Qfcntl( fd , cmd , arg );
+ r= fcntl( fd , cmd , arg );
+ e= errno;
+ vb.used= 0;
+ Tvba("fcntl=");
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ if (cmd == F_GETFL) {
+ Tvbf(r & O_NONBLOCK ? "O_NONBLOCK|..." : "~O_NONBLOCK&...");
+ } else {
+ if (cmd == F_SETFL) {
+ Tmust("fcntl","return",!r);
+ } else {
+ Tmust("cmd","F_GETFL/F_SETFL",0);
+ }
+ Tvba("OK");
+ }
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+int Hconnect( int fd , const struct sockaddr *addr , int addrlen ) {
+ int r, e;
+ Qconnect( fd , addr , addrlen );
+ r= connect( fd , addr , addrlen );
+ e= errno;
+ vb.used= 0;
+ Tvba("connect=");
+ if (r) { Tvberrno(e); goto x_error; }
+ Tvba("OK");
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+int Hbind( int fd , const struct sockaddr *addr , int addrlen ) {
+ int r, e;
+ Qbind( fd , addr , addrlen );
+ r= bind( fd , addr , addrlen );
+ e= errno;
+ vb.used= 0;
+ Tvba("bind=");
+ if (r) { Tvberrno(e); goto x_error; }
+ Tvba("OK");
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+int Hlisten( int fd , int backlog ) {
+ int r, e;
+ Qlisten( fd , backlog );
+ r= listen( fd , backlog );
+ e= errno;
+ vb.used= 0;
+ Tvba("listen=");
+ if (r) { Tvberrno(e); goto x_error; }
+ Tvba("OK");
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+int Hclose( int fd ) {
+ int r, e;
+ Qclose( fd );
+ r= close( fd );
+ e= errno;
+ vb.used= 0;
+ Tvba("close=");
+ if (r) { Tvberrno(e); goto x_error; }
+ Tvba("OK");
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+int Hsendto( int fd , const void *msg , int msglen , unsigned int flags , const struct sockaddr *addr , int addrlen ) {
+ int r, e;
+ Tmust("sendto","flags",flags==0);
+ Qsendto( fd , msg , msglen , addr , addrlen );
+ r= sendto( fd , msg , msglen , flags , addr , addrlen );
+ e= errno;
+ vb.used= 0;
+ Tvba("sendto=");
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ Tvbf("%d",r);
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+int Hrecvfrom( int fd , void *buf , int buflen , unsigned int flags , struct sockaddr *addr , int *addrlen ) {
+ int r, e;
+ Tmust("recvfrom","flags",flags==0);
+ Tmust("recvfrom","*addrlen",*addrlen>=sizeof(struct sockaddr_in));
+ Qrecvfrom( fd , buflen , *addrlen );
+ r= recvfrom( fd , buf , buflen , flags , addr , addrlen );
+ e= errno;
+ vb.used= 0;
+ Tvba("recvfrom=");
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ Tmust("recvfrom","return",r<=buflen);
+ Tvba("OK");
+ Tvba(" addr="); Tvbaddr(addr,*addrlen);
+ Tvbbytes(buf,r);
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+int Hread( int fd , void *buf , size_t buflen ) {
+ int r, e;
+ Qread( fd , buflen );
+ r= read( fd , buf , buflen );
+ e= errno;
+ vb.used= 0;
+ Tvba("read=");
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ Tmust("read","return",r<=buflen);
+ Tvba("OK");
+ Tvbbytes(buf,r);
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+int Hwrite( int fd , const void *buf , size_t len ) {
+ int r, e;
+ Qwrite( fd , buf , len );
+ r= write( fd , buf , len );
+ e= errno;
+ vb.used= 0;
+ Tvba("write=");
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ Tvbf("%d",r);
+ x_error:
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
diff --git a/regress/hrecord.c.m4 b/regress/hrecord.c.m4
new file mode 100644
index 0000000..6e50efb
--- /dev/null
+++ b/regress/hrecord.c.m4
@@ -0,0 +1,158 @@
+m4_dnl hrecord.c.m4
+m4_dnl (part of complex test harness, not of the library)
+m4_dnl - recording routines
+
+m4_dnl This file is part of adns, which is
+m4_dnl Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+m4_dnl Copyright (C) 2014 Mark Wooding
+m4_dnl Copyright (C) 1999-2000,2003,2006 Tony Finch
+m4_dnl Copyright (C) 1991 Massachusetts Institute of Technology
+m4_dnl (See the file INSTALL for full details.)
+m4_dnl
+m4_dnl This program is free software; you can redistribute it and/or modify
+m4_dnl it under the terms of the GNU General Public License as published by
+m4_dnl the Free Software Foundation; either version 3, or (at your option)
+m4_dnl any later version.
+m4_dnl
+m4_dnl This program is distributed in the hope that it will be useful,
+m4_dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+m4_dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+m4_dnl GNU General Public License for more details.
+m4_dnl
+m4_dnl You should have received a copy of the GNU General Public License
+m4_dnl along with this program; if not, write to the Free Software Foundation.
+
+m4_include(hmacros.i4)
+
+#include <assert.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#include <sys/types.h>
+#include <unistd.h>
+#include <fcntl.h>
+
+#include "harness.h"
+
+static FILE *Toutputfile;
+
+void Tshutdown(void) {
+}
+
+static void R_recordtime(void) {
+ int r;
+ struct timeval tv, tvrel;
+
+ Tensurerecordfile();
+ r= gettimeofday(&tv,0); if (r) Tfailed("gettimeofday syscallbegin");
+ tvrel.tv_sec= tv.tv_sec - currenttime.tv_sec;
+ tvrel.tv_usec= tv.tv_usec - currenttime.tv_usec;
+ if (tv.tv_usec < 0) { tvrel.tv_usec += 1000000; tvrel.tv_sec--; }
+ Tvbf("\n +%ld.%06ld",(long)tvrel.tv_sec,(long)tvrel.tv_usec);
+ currenttime= tv;
+}
+
+void Tensurerecordfile(void) {
+ const char *fdstr;
+ int fd, r;
+
+ if (Toutputfile) return;
+
+ Toutputfile= stdout;
+ fdstr= getenv("ADNS_TEST_OUT_FD");
+ if (fdstr) {
+ fd= atoi(fdstr);
+ Toutputfile= fdopen(fd,"a"); if (!Toutputfile) Tfailed("fdopen ADNS_TEST_OUT_FD");
+ }
+
+ r= gettimeofday(&currenttime,0); if (r) Tfailed("gettimeofday syscallbegin");
+ if (fprintf(Toutputfile," start %ld.%06ld\n",
+ (long)currenttime.tv_sec,(long)currenttime.tv_usec) == EOF) Toutputerr();
+}
+
+void Q_vb(void) {
+ if (!adns__vbuf_append(&vb,"",1)) Tnomem();
+ Tensurerecordfile();
+ if (fprintf(Toutputfile," %s\n",vb.buf) == EOF) Toutputerr();
+ if (fflush(Toutputfile)) Toutputerr();
+}
+
+static void R_vb(void) {
+ Q_vb();
+}
+
+m4_define(`hm_syscall', `
+ hm_create_proto_h
+int H$1(hm_args_massage($3,void)) {
+ int r, e;
+
+ hm_create_hqcall_vars
+ $3
+
+ hm_create_hqcall_init($1)
+ $3
+
+ hm_create_hqcall_args
+ Q$1(hm_args_massage($3));
+
+ hm_create_realcall_args
+ r= $1(hm_args_massage($3));
+ e= errno;
+
+ vb.used= 0;
+ Tvba("$1=");
+ m4_define(`hm_rv_any',`
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ Tvbf("%d",r);')
+ m4_define(`hm_rv_fd',`hm_rv_any($'`1)')
+ m4_define(`hm_rv_succfail',`
+ if (r) { Tvberrno(e); goto x_error; }
+ Tvba("OK");')
+ m4_define(`hm_rv_must',`Tmust("$1","return",!r); Tvba("OK");')
+ m4_define(`hm_rv_len',`
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ Tmust("$1","return",r<=$'`1);
+ Tvba("OK");')
+ m4_define(`hm_rv_fcntl',`
+ if (r==-1) { Tvberrno(e); goto x_error; }
+ if (cmd == F_GETFL) {
+ Tvbf(r & O_NONBLOCK ? "O_NONBLOCK|..." : "~O_NONBLOCK&...");
+ } else {
+ if (cmd == F_SETFL) {
+ Tmust("$1","return",!r);
+ } else {
+ Tmust("cmd","F_GETFL/F_SETFL",0);
+ }
+ Tvba("OK");
+ }')
+ $2
+
+ hm_create_nothing
+ m4_define(`hm_arg_fdset_io',`Tvba(" $'`1="); Tvbfdset($'`2,$'`1);')
+ m4_define(`hm_arg_pollfds_io',`Tvba(" $'`1="); Tvbpollfds($'`1,$'`2);')
+ m4_define(`hm_arg_addr_out',`Tvba(" $'`1="); Tvbaddr($'`1,*$'`2);')
+ $3
+
+ hm_create_nothing
+ m4_define(`hm_arg_bytes_out',`Tvbbytes($'`2,r);')
+ $3
+
+ m4_define(`hm_rv_any',`x_error:')
+ m4_define(`hm_rv_fd',`x_error:')
+ m4_define(`hm_rv_succfail',`x_error:')
+ m4_define(`hm_rv_len',`x_error:')
+ m4_define(`hm_rv_fcntl',`x_error:')
+ m4_define(`hm_rv_must',`')
+ $2
+
+ R_recordtime();
+ R_vb();
+ errno= e;
+ return r;
+}
+')
+
+m4_define(`hm_specsyscall', `')
+
+m4_include(`hsyscalls.i4')
diff --git a/regress/hredirect.h b/regress/hredirect.h
new file mode 100644
index 0000000..7bff129
--- /dev/null
+++ b/regress/hredirect.h
@@ -0,0 +1,44 @@
+#ifndef HREDIRECT_H_INCLUDED
+#define HREDIRECT_H_INCLUDED
+#include "hsyscalls.h"
+#undef select
+#define select Hselect
+#ifdef HAVE_POLL
+#undef poll
+#define poll Hpoll
+#endif
+#undef socket
+#define socket Hsocket
+#undef fcntl
+#define fcntl Hfcntl
+#undef connect
+#define connect Hconnect
+#undef bind
+#define bind Hbind
+#undef listen
+#define listen Hlisten
+#undef close
+#define close Hclose
+#undef sendto
+#define sendto Hsendto
+#undef recvfrom
+#define recvfrom Hrecvfrom
+#undef read
+#define read Hread
+#undef write
+#define write Hwrite
+#undef writev
+#define writev Hwritev
+#undef gettimeofday
+#define gettimeofday Hgettimeofday
+#undef getpid
+#define getpid Hgetpid
+#undef malloc
+#define malloc Hmalloc
+#undef free
+#define free Hfree
+#undef realloc
+#define realloc Hrealloc
+#undef exit
+#define exit Hexit
+#endif
diff --git a/regress/hredirect.h.m4 b/regress/hredirect.h.m4
new file mode 100644
index 0000000..8111640
--- /dev/null
+++ b/regress/hredirect.h.m4
@@ -0,0 +1,39 @@
+m4_dnl hredirect.h.m4
+m4_dnl (part of complex test harness, not of the library)
+m4_dnl - redefinitions of system calls
+
+m4_dnl This file is part of adns, which is
+m4_dnl Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+m4_dnl Copyright (C) 2014 Mark Wooding
+m4_dnl Copyright (C) 1999-2000,2003,2006 Tony Finch
+m4_dnl Copyright (C) 1991 Massachusetts Institute of Technology
+m4_dnl (See the file INSTALL for full details.)
+m4_dnl
+m4_dnl This program is free software; you can redistribute it and/or modify
+m4_dnl it under the terms of the GNU General Public License as published by
+m4_dnl the Free Software Foundation; either version 3, or (at your option)
+m4_dnl any later version.
+m4_dnl
+m4_dnl This program is distributed in the hope that it will be useful,
+m4_dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+m4_dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+m4_dnl GNU General Public License for more details.
+m4_dnl
+m4_dnl You should have received a copy of the GNU General Public License
+m4_dnl along with this program; if not, write to the Free Software Foundation.
+
+m4_include(hmacros.i4)
+
+#ifndef HREDIRECT_H_INCLUDED
+#define HREDIRECT_H_INCLUDED
+
+#include "hsyscalls.h"
+
+hm_create_nothing
+m4_define(`hm_syscall', `#undef $1
+#define $1 H$1')
+m4_define(`hm_specsyscall',`#undef $2
+#define $2 H$2')
+m4_include(`hsyscalls.i4')
+
+#endif
diff --git a/regress/hsyscalls.h b/regress/hsyscalls.h
new file mode 100644
index 0000000..6dc9edc
--- /dev/null
+++ b/regress/hsyscalls.h
@@ -0,0 +1,32 @@
+#ifndef HSYSCALLS_H_INCLUDED
+#define HSYSCALLS_H_INCLUDED
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/socket.h>
+#include <sys/uio.h>
+#include <unistd.h>
+#ifdef HAVE_POLL
+#include <sys/poll.h>
+#endif
+int Hselect( int max , fd_set *rfds , fd_set *wfds , fd_set *efds , struct timeval *to );
+#ifdef HAVE_POLL
+int Hpoll( struct pollfd *fds , int nfds , int timeout );
+#endif
+int Hsocket( int domain , int type , int protocol );
+int Hfcntl( int fd , int cmd , ... );
+int Hconnect( int fd , const struct sockaddr *addr , int addrlen );
+int Hbind( int fd , const struct sockaddr *addr , int addrlen );
+int Hlisten( int fd , int backlog );
+int Hclose( int fd );
+int Hsendto( int fd , const void *msg , int msglen , unsigned int flags , const struct sockaddr *addr , int addrlen );
+int Hrecvfrom( int fd , void *buf , int buflen , unsigned int flags , struct sockaddr *addr , int *addrlen );
+int Hread( int fd , void *buf , size_t buflen );
+int Hwrite( int fd , const void *buf , size_t len );
+int Hwritev(int fd, const struct iovec *vector, size_t count);
+int Hgettimeofday(struct timeval *tv, struct timezone *tz);
+pid_t Hgetpid(void);
+void* Hmalloc(size_t sz);
+void Hfree(void *ptr);
+void* Hrealloc(void *op, size_t nsz);
+void Hexit(int rv)NONRETURNING;
+#endif
diff --git a/regress/hsyscalls.h.m4 b/regress/hsyscalls.h.m4
new file mode 100644
index 0000000..3abb5e7
--- /dev/null
+++ b/regress/hsyscalls.h.m4
@@ -0,0 +1,45 @@
+m4_dnl hsyscalls.h.m4
+m4_dnl (part of complex test harness, not of the library)
+m4_dnl - prototypes of redefinitions of system calls
+
+m4_dnl This file is part of adns, which is
+m4_dnl Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+m4_dnl Copyright (C) 2014 Mark Wooding
+m4_dnl Copyright (C) 1999-2000,2003,2006 Tony Finch
+m4_dnl Copyright (C) 1991 Massachusetts Institute of Technology
+m4_dnl (See the file INSTALL for full details.)
+m4_dnl
+m4_dnl This program is free software; you can redistribute it and/or modify
+m4_dnl it under the terms of the GNU General Public License as published by
+m4_dnl the Free Software Foundation; either version 3, or (at your option)
+m4_dnl any later version.
+m4_dnl
+m4_dnl This program is distributed in the hope that it will be useful,
+m4_dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+m4_dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+m4_dnl GNU General Public License for more details.
+m4_dnl
+m4_dnl You should have received a copy of the GNU General Public License
+m4_dnl along with this program; if not, write to the Free Software Foundation.
+
+m4_include(hmacros.i4)
+
+#ifndef HSYSCALLS_H_INCLUDED
+#define HSYSCALLS_H_INCLUDED
+
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/socket.h>
+#include <sys/uio.h>
+#include <unistd.h>
+
+#ifdef HAVE_POLL
+#include <sys/poll.h>
+#endif
+
+hm_create_proto_h
+m4_define(`hm_syscall', `int H$1(hm_args_massage($3,void));')
+m4_define(`hm_specsyscall', `$1 H$2($3)$4;')
+m4_include(`hsyscalls.i4')
+
+#endif
diff --git a/regress/hsyscalls.i4 b/regress/hsyscalls.i4
new file mode 100644
index 0000000..2efa879
--- /dev/null
+++ b/regress/hsyscalls.i4
@@ -0,0 +1,143 @@
+m4_dnl hsyscalls.i4
+m4_dnl (part of complex test harness, not of the library)
+m4_dnl - list of syscalls to override/log and their args
+
+m4_dnl This file is part of adns, which is
+m4_dnl Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+m4_dnl Copyright (C) 2014 Mark Wooding
+m4_dnl Copyright (C) 1999-2000,2003,2006 Tony Finch
+m4_dnl Copyright (C) 1991 Massachusetts Institute of Technology
+m4_dnl (See the file INSTALL for full details.)
+m4_dnl
+m4_dnl This program is free software; you can redistribute it and/or modify
+m4_dnl it under the terms of the GNU General Public License as published by
+m4_dnl the Free Software Foundation; either version 3, or (at your option)
+m4_dnl any later version.
+m4_dnl
+m4_dnl This program is distributed in the hope that it will be useful,
+m4_dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+m4_dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+m4_dnl GNU General Public License for more details.
+m4_dnl
+m4_dnl You should have received a copy of the GNU General Public License
+m4_dnl along with this program; if not, write to the Free Software Foundation.
+
+m4_dnl each system call has
+m4_dnl hm_syscall(<name>,<returnvalue>,<args>)
+m4_dnl <returnvalue> is one of
+m4_dnl hm_rv_must must succeed and return 0
+m4_dnl hm_rv_any any nonnegative return allowed, -1 means see errno
+m4_dnl hm_rv_fd file descriptor is returned, -1 means see errno
+m4_dnl hm_rv_succfail returns 0 (ok) or -1 (see errno)
+m4_dnl hm_rv_len(<max>) returns length read/written, must be <=max, -1 => errno
+m4_dnl hm_rv_fcntl syscall is fcntl, do special processing
+m4_dnl <args> is list of macros for arguments, each followed by hm_na
+m4_dnl hm_arg_nullptr(<type>,<arg>) pointer of type type, must be null
+m4_dnl hm_arg_int(<arg>) signed integer
+m4_dnl hm_arg_fdset_io(<arg>,<max>) fd_set, max bit set is in max
+m4_dnl hm_arg_timeval_in_rel_null(<t>) struct timeval*, pass in, relative, may be null
+m4_dnl hm_arg_must(<type>,<arg>,<val>) must have correct value, or abort test
+m4_dnl hm_arg_socktype(<arg>) SOCK_STREAM or SOCK_DGRAM (an int)
+m4_dnl hm_arg_addrfam(<arg>) a supported address family
+m4_dnl hm_arg_ign(<type>,<arg>) input parameter ignored
+m4_dnl hm_arg_fd(<arg>) fd
+m4_dnl hm_arg_fcntl_cmd_arg(<ca>,<aa>) syscall is fcntl, do special processing
+m4_dnl hm_arg_addr_in(<arg>,<len>) struct sockaddr*, length given by <len> (an int)
+m4_dnl hm_arg_bytes_in(<objtype>,<objarg>,<lentype>,<lenarg>)
+m4_dnl some data from caller; <objarg> is of type pointer to const <objtype>
+m4_dnl and points to <lenarg> bytes (<lenarg> is of type <lentype>)
+m4_dnl hm_arg_bytes_out(<objtype>,<objarg>,<lentype>,<buflenarg>)
+m4_dnl buffer for data from syscall; <objarg> is of type pointer to const <objtype>
+m4_dnl and points to at least <lenarg> bytes (<lenarg> is of type <lentype>)
+m4_dnl return value from syscall is supposed to be returned length
+m4_dnl hm_arg_addr_out(<arg>,<lenptr>) struct sockaddr*, length io at <lenptr> (an int*)
+
+hm_syscall(
+ select, `hm_rv_any', `
+ hm_arg_int(max) hm_na
+ hm_arg_fdset_io(rfds,max) hm_na
+ hm_arg_fdset_io(wfds,max) hm_na
+ hm_arg_fdset_io(efds,max) hm_na
+ hm_arg_timeval_in_rel_null(to) hm_na
+')
+
+#ifdef HAVE_POLL
+hm_syscall(
+ poll, `hm_rv_any', `
+ hm_arg_pollfds_io(fds,nfds) hm_na
+ hm_arg_int(timeout) hm_na
+')
+#endif
+
+hm_syscall(
+ socket, `hm_rv_fd', `
+ hm_arg_addrfam(domain) hm_na
+ hm_arg_socktype(type) hm_na
+ hm_arg_ign(int,protocol) hm_na
+')
+
+hm_syscall(
+ fcntl, `hm_rv_fcntl', `
+ hm_arg_fd(fd) hm_na
+ hm_arg_fcntl_cmd_arg(cmd,arg) hm_na
+')
+
+hm_syscall(
+ connect, `hm_rv_succfail', `
+ hm_arg_fd(fd) hm_na
+ hm_arg_addr_in(addr,addrlen) hm_na
+')
+
+hm_syscall(
+ bind, `hm_rv_succfail', `
+ hm_arg_fd(fd) hm_na
+ hm_arg_addr_in(addr,addrlen) hm_na
+')
+
+hm_syscall(
+ listen, `hm_rv_succfail', `
+ hm_arg_fd(fd) hm_na
+ hm_arg_int(backlog) hm_na
+')
+
+hm_syscall(
+ close, `hm_rv_succfail', `
+ hm_arg_fd(fd) hm_na
+')
+
+hm_syscall(
+ sendto, `hm_rv_any', `
+ hm_arg_fd(fd) hm_na
+ hm_arg_bytes_in(void,msg,int,msglen) hm_na
+ hm_arg_must(unsigned int,flags,0) hm_na
+ hm_arg_addr_in(addr,addrlen) hm_na
+')
+
+hm_syscall(
+ recvfrom, `hm_rv_len(buflen)', `
+ hm_arg_fd(fd) hm_na
+ hm_arg_bytes_out(void,buf,int,buflen) hm_na
+ hm_arg_must(unsigned int,flags,0) hm_na
+ hm_arg_addr_out(addr,addrlen) hm_na
+')
+
+hm_syscall(
+ read, `hm_rv_len(buflen)', `
+ hm_arg_fd(fd) hm_na
+ hm_arg_bytes_out(void,buf,size_t,buflen) hm_na
+')
+
+hm_syscall(
+ write, `hm_rv_any', `
+ hm_arg_fd(fd) hm_na
+ hm_arg_bytes_in(void,buf,size_t,len) hm_na
+')
+
+hm_specsyscall(int, writev, `int fd, const struct iovec *vector, size_t count')
+hm_specsyscall(int, gettimeofday, `struct timeval *tv, struct timezone *tz')
+hm_specsyscall(pid_t, getpid, `void')
+
+hm_specsyscall(void*, malloc, `size_t sz')
+hm_specsyscall(void, free, `void *ptr')
+hm_specsyscall(void*, realloc, `void *op, size_t nsz')
+hm_specsyscall(void, exit, `int rv', NONRETURNING)
diff --git a/regress/init-1stservbroken.text b/regress/init-1stservbroken.text
new file mode 100644
index 0000000..56cd423
--- /dev/null
+++ b/regress/init-1stservbroken.text
@@ -0,0 +1,3 @@
+nameserver 172.18.45.2
+nameserver 172.18.45.6
+sortlist 127.0.0.1/32 172.18.45.0/28 172.18.45.0/24
diff --git a/regress/init-1stservto.text b/regress/init-1stservto.text
new file mode 100644
index 0000000..b70e678
--- /dev/null
+++ b/regress/init-1stservto.text
@@ -0,0 +1,3 @@
+nameserver 10.0.0.1
+nameserver 172.18.45.6
+sortlist 127.0.0.1/32 172.18.45.0/28 172.18.45.0/24
diff --git a/regress/init-2ndserver.text b/regress/init-2ndserver.text
new file mode 100644
index 0000000..88cb0d2
--- /dev/null
+++ b/regress/init-2ndserver.text
@@ -0,0 +1,3 @@
+nameserver 172.18.45.36
+nameserver 172.18.45.6
+sortlist 127.0.0.1/32 172.18.45.0/28 172.18.45.0/24
diff --git a/regress/init-anarres.text b/regress/init-anarres.text
new file mode 100644
index 0000000..1918381
--- /dev/null
+++ b/regress/init-anarres.text
@@ -0,0 +1,2 @@
+nameserver 172.18.45.2
+search davenant.greenend.org.uk
diff --git a/regress/init-bogus-sortlist.text b/regress/init-bogus-sortlist.text
new file mode 100644
index 0000000..eea7114
--- /dev/null
+++ b/regress/init-bogus-sortlist.text
@@ -0,0 +1,3 @@
+nameserver 172.18.45.6
+sortlist 198.51.100.1/24 2001:db8:2::/10 0/32 ::/128 255.0.0.0 2/33 ::/129
+search dnserr.distorted.org.uk distorted.org.uk
diff --git a/regress/init-default.text b/regress/init-default.text
new file mode 100644
index 0000000..e224ea7
--- /dev/null
+++ b/regress/init-default.text
@@ -0,0 +1,3 @@
+nameserver 172.18.45.6
+sortlist 127.0.0.1/32 172.18.45.0/28 172.18.45.0/24
+search davenant.greenend.org.uk greenend.org.uk
diff --git a/regress/init-distorted-v6.text b/regress/init-distorted-v6.text
new file mode 100644
index 0000000..d0c712a
--- /dev/null
+++ b/regress/init-distorted-v6.text
@@ -0,0 +1,3 @@
+nameserver 2001:ba8:1d9::1
+sortlist 198.51.100.0/24 2001:db8:2::/48 0/0 ::/0
+search dnserr.distorted.org.uk distorted.org.uk
diff --git a/regress/init-distorted.text b/regress/init-distorted.text
new file mode 100644
index 0000000..a35a854
--- /dev/null
+++ b/regress/init-distorted.text
@@ -0,0 +1,3 @@
+nameserver 172.29.199.224
+sortlist 198.51.100.0/24 2001:db8:2::/48 0/0 ::/0
+search dnserr.distorted.org.uk distorted.org.uk
diff --git a/regress/init-manyptrwrong.text b/regress/init-manyptrwrong.text
new file mode 100644
index 0000000..34b6084
--- /dev/null
+++ b/regress/init-manyptrwrong.text
@@ -0,0 +1 @@
+nameserver 140.200.128.13
diff --git a/regress/init-ncipher.text b/regress/init-ncipher.text
new file mode 100644
index 0000000..11ef2db
--- /dev/null
+++ b/regress/init-ncipher.text
@@ -0,0 +1,3 @@
+nameserver 195.224.55.129
+sortlist 127.0.0.1/32 195.224.55.128/25 195.224.55.0/24
+search ncipher.com
diff --git a/regress/init-ndots.text b/regress/init-ndots.text
new file mode 100644
index 0000000..099c2ee
--- /dev/null
+++ b/regress/init-ndots.text
@@ -0,0 +1,4 @@
+nameserver 172.18.45.6
+sortlist 127.0.0.1/32 172.18.45.0/28 172.18.45.0/24
+search davenant.greenend.org.uk greenend.org.uk
+options ndots:3
diff --git a/regress/init-ndots100.text b/regress/init-ndots100.text
new file mode 100644
index 0000000..e241120
--- /dev/null
+++ b/regress/init-ndots100.text
@@ -0,0 +1,4 @@
+nameserver 172.18.45.6
+sortlist 127.0.0.1/32 172.18.45.0/28 172.18.45.0/24
+search davenant.greenend.org.uk greenend.org.uk
+options ndots:100
diff --git a/regress/init-ndotsbad.text b/regress/init-ndotsbad.text
new file mode 100644
index 0000000..2045821
--- /dev/null
+++ b/regress/init-ndotsbad.text
@@ -0,0 +1,4 @@
+nameserver 172.18.45.6
+sortlist 127.0.0.1/32 172.18.45.0/28 172.18.45.0/24
+search davenant.greenend.org.uk greenend.org.uk
+options ndots:X
diff --git a/regress/init-noserver.text b/regress/init-noserver.text
new file mode 100644
index 0000000..0c8450c
--- /dev/null
+++ b/regress/init-noserver.text
@@ -0,0 +1,2 @@
+nameserver 172.18.45.36
+sortlist 127.0.0.1/32 172.18.45.0/28 172.18.45.0/24
diff --git a/regress/init-tunnel.text b/regress/init-tunnel.text
new file mode 100644
index 0000000..29c789e
--- /dev/null
+++ b/regress/init-tunnel.text
@@ -0,0 +1,3 @@
+nameserver 172.31.80.9
+sortlist 127.0.0.1/32 172.18.45.0/24 172.31.80.0/28
+search davenant.greenend.org.uk greenend.org.uk
diff --git a/regress/init-unkopts.text b/regress/init-unkopts.text
new file mode 100644
index 0000000..a148864
--- /dev/null
+++ b/regress/init-unkopts.text
@@ -0,0 +1,11 @@
+nameserver 172.18.45.6
+sortlist 127.0.0.1/32 172.18.45.0/28 172.18.45.0/24
+search davenant.greenend.org.uk greenend.org.uk
+lwserver 127.0.0.1
+options timeout:1 attempts:30 rotate no-check-names inet6 edns0 wombat
+stoat
+options adns_checkc:freq zorkmid
+options adns_af:any adns_af:ipv6,ipv4,dampstring spong
+options adns_ignoreunkcfg wombat2
+stoat2
+options adns_af:any adns_af:ipv6,ipv4,dampstring2 spong2
diff --git a/regress/m1test b/regress/m1test
new file mode 100755
index 0000000..a662ed2
--- /dev/null
+++ b/regress/m1test
@@ -0,0 +1,107 @@
+#!/bin/bash
+# usage: m1test <name> <initfile> [<initflags>] <queryargs>'
+# test recording script
+#
+# This file is part of adns, which is
+# Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+# Copyright (C) 2014 Mark Wooding
+# Copyright (C) 1999-2000,2003,2006 Tony Finch
+# Copyright (C) 1991 Massachusetts Institute of Technology
+# (See the file INSTALL for full details.)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation.
+
+set -e
+
+: ${srcdir=.}
+if [ $# -lt 3 ]
+then
+ echo >&2 \
+'usage: m1test <name> <initfile> [-<initflags>] ["<"]
+ [=<hrecord-command-args>] <queryargs>
+("<" means read input from case-<name>.in)'
+ exit 1
+fi
+
+case="$srcdir/case-$1"; shift
+initfile="$1"; shift
+
+hrecord="./adnstest_record"
+
+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
+
+if test ! -f "$hrecord" -a -f "${hrecord}_record"
+then
+ case "$hrecord" in
+ /*) program="$hrecord" ;;
+ *) program="./$hrecord" ;;
+ esac
+ hrecord="${program}_record"
+else
+ program="$(echo "$hrecord" | sed -e 's/ .*//; s/_record$//')"
+fi
+
+queryargs="$*"
+
+initstring="`cat $srcdir/init-$initfile.text`"
+xinitflagsf=$srcdir/$program-xinitflags.text
+if test -f $xinitflagsf
+then
+ useinitflags="$initflags $(cat $xinitflagsf)";
+else
+ useinitflags="$initflags /"
+fi
+
+echo $program $initfile $initflags >"$case.sys"
+echo "$queryargs" >>"$case.sys"
+
+EF_DISABLE_BANNER=1
+export EF_DISABLE_BANNER
+
+rm -f pipe.out pipe.err
+mknod pipe.out p
+mknod pipe.err p
+tee <pipe.out "$case.out" &
+tee_out=$!
+tee <pipe.err "$case.err" &
+tee_err=$!
+exec 4>pipe.out
+exec 5>pipe.err
+
+echo running hrecord $initflags "... $queryargs"
+set +e
+ADNS_TEST_OUT_FD=3 3>>"$case.sys" >&4 2>&5 \
+ $hrecord $useinitflags"$initstring" $queryargs
+rc=$?
+set -e
+
+echo "rc=$rc" >&4
+exec 4>&-
+exec 5>&-
+
+wait $tee_out
+wait $tee_err
+
+echo "exit status: $rc"
diff --git a/regress/r1test b/regress/r1test
new file mode 100755
index 0000000..d160782
--- /dev/null
+++ b/regress/r1test
@@ -0,0 +1,109 @@
+#!/bin/sh
+# usage: r1test <testcasename>
+# test execution script, for running one test
+#
+# This file is part of adns, which is
+# Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
+# Copyright (C) 2014 Mark Wooding
+# Copyright (C) 1999-2000,2003,2006 Tony Finch
+# Copyright (C) 1991 Massachusetts Institute of Technology
+# (See the file INSTALL for full details.)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation.
+
+set -e
+: ${srcdir=.}
+mrc=1
+trap 'exit $mrc' 0
+
+casename="$1"
+case="$srcdir/case-$casename"
+ocase="output-$casename"
+
+exec 4<"$case.sys"
+read <&4 program initfile initflags
+read <&4 queryargs
+
+initstring="`cat $srcdir/init-$initfile.text`"
+xinitflagsf=$srcdir/$program-xinitflags.text
+if test -f $xinitflagsf
+then
+ initflags="$initflags `cat $xinitflagsf`";
+else
+ initflags="$initflags /"
+fi
+
+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
+
+playback=./${program}_playback
+if test ! -f $playback
+then
+ printf "SKIPPED-$casename "
+ mrc=5
+ exit
+fi
+
+set +e
+ADNS_TEST_REPORT_FD=3 ADNS_TEST_IN_FD=4 \
+ 3>>"$ocase.report" 4<&4 >"$ocase.out" 2>"$ocase.err" \
+ $ADNS_TEST_DEBUG $playback $initflags"$initstring" $queryargs
+rc=$?
+set -e
+
+if [ "$rc" = 5 ]
+then
+ printf "SKIPPED-$casename "
+ mrc=5
+ exit
+fi
+
+echo "rc=$rc" >>$ocase.out
+
+failed=false
+for part in err out
+do
+ if diff -u -- "$case.$part" "$ocase.$part"
+ then
+ :
+ else
+ failwhy="$failwhy WRONG OUTPUT"
+ fi
+done
+
+cat <&4 >"$ocase.leftover"
+if egrep . /dev/null "$ocase.leftover"
+then
+ failwhy="$failwhy EXITED EARLY"
+fi
+
+if [ "x$failwhy" != x ]
+then
+ scremain="`wc -l <\"$ocase.leftover\"`"
+ echo >&2 "FAILED $case -$failwhy - lines of syscall remaining $scremain"
+ mrc=2
+ exit
+fi
+
+printf "$casename "
+mrc=0