chiark / gitweb /
src/: Support IPv6 reverse queries.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 24 May 2014 13:00:03 +0000 (14:00 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 13 Jun 2014 08:57:42 +0000 (09:57 +0100)
commit60b40c591fd6136f91f7119383c34524279b7f1b
tree8158cdfe9d4bec262203f4676ddb0793a23230bf
parent0d2449308348bcf48c9b00c0f00391c9a18d30b5
src/: Support IPv6 reverse queries.

This involves moving most of the label parser in ckl_ptr, and the
reverse-domain constructor, into addrfam and teaching them about IPv6.

The label parser is a little tricky because it involves keeping track of
a parse state for each possible address family until we run out of
possibilities or the parse is complete.

Moving the reverse-domain constructor introduces a slightly unpleasant
hack: because knowledge of the right reverse-lookup zone belongs in
addrfam, we get adns_submit_reverse to pass a sentinel through
_reverse_any to addrfam.

Signed-off-by: Mark Wooding <mdw@distorted.org.uk>
19 files changed:
regress/case-dh-ptr-aaaa.err [new file with mode: 0644]
regress/case-dh-ptr-aaaa.out [new file with mode: 0644]
regress/case-dh-ptr-aaaa.sys [new file with mode: 0644]
regress/case-ptr-aaaa-check.err [new file with mode: 0644]
regress/case-ptr-aaaa-check.out [new file with mode: 0644]
regress/case-ptr-aaaa-check.sys [new file with mode: 0644]
regress/case-ptr-aaaa-mismatch.err [new file with mode: 0644]
regress/case-ptr-aaaa-mismatch.out [new file with mode: 0644]
regress/case-ptr-aaaa-mismatch.sys [new file with mode: 0644]
regress/case-ptr-aaaa-plain.err [new file with mode: 0644]
regress/case-ptr-aaaa-plain.out [new file with mode: 0644]
regress/case-ptr-aaaa-plain.sys [new file with mode: 0644]
regress/case-ptr-aaaa.err [new file with mode: 0644]
regress/case-ptr-aaaa.out [new file with mode: 0644]
regress/case-ptr-aaaa.sys [new file with mode: 0644]
src/addrfam.c
src/internal.h
src/query.c
src/types.c