chiark / gitweb /
src/: Support IPv6 reverse queries.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 24 May 2014 13:00:03 +0000 (14:00 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 12 Oct 2014 19:39:47 +0000 (20:39 +0100)
commit9c6ba699718e1fadc82450945f3897ffd6dd8ef7
treeaaff4daeb8523a04af4e16ad97830ddb9544c799
parenteeee7503b2a331c4a0f6c01f8fb278e39ee144f5
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