]> git.ipfire.org Git - thirdparty/bind9.git/commit
handle QP lookups involving escaped characters better
authorEvan Hunt <each@isc.org>
Tue, 30 Apr 2024 21:23:43 +0000 (14:23 -0700)
committerEvan Hunt <each@isc.org>
Wed, 1 May 2024 07:36:51 +0000 (00:36 -0700)
commitf81bf6bafdc3084111e148d2fd6352f28d3b6506
treeedf7d424cd9673dcfca53bc8ae19ed0fedbacde2
parenta23ce2c53c9bb6ba24c721228e941a8e3e2f1873
handle QP lookups involving escaped characters better

in QP keys, characters that are not common in DNS names are
encoded as two-octet sequences. this caused a glitch in iterator
positioning when some lookups failed.

consider the case where we're searching for "\009" (represented
in a QP key as {0x03, 0x0c}) and a branch exists for "\000"
(represented as {0x03, 0x03}). we match on the 0x03, and continue
to search down. at the point where we find we have no match,
we need to pop back up to the branch before the 0x03 - which may
be multiple levels up the stack - before we position the iterator.
lib/dns/qp.c