]> git.ipfire.org Git - thirdparty/bind9.git/commit
ns_client_error() could assert if rcode was overridden to NOERROR
authorEvan Hunt <each@isc.org>
Tue, 27 Jul 2021 21:08:07 +0000 (14:08 -0700)
committerMichał Kępień <michal@isc.org>
Tue, 10 Aug 2021 10:18:35 +0000 (12:18 +0200)
commit893b2a794a1bd9850a84ff2c29f70355fd43ecf1
tree3ef11cff57e596cf9bf43a170a13f2211a64665b
parentc3689e6d2c3764643c3de95b78cf55455fb8f32a
ns_client_error() could assert if rcode was overridden to NOERROR

The client->rcode_override was originally created to force the server
to send SERVFAIL in some cases when it would normally have sent FORMERR.

More recently, it was used in a3ba95116ed04594ea59a8124bf781b30367a7a2
commit (part of GL #2790) to force the sending of a TC=1 NOERROR
response, triggering a retry via TCP, when a UDP packet could not be
sent due to ISC_R_MAXSIZE.

This ran afoul of a pre-existing INSIST in ns_client_error() when
RRL was in use. the INSIST was based on the assumption that
ns_client_error() could never result in a non-error rcode. as
that assumption is no longer valid, the INSIST has been removed.
lib/ns/client.c