]> git.ipfire.org Git - thirdparty/bind9.git/commit
Implement RFC 3645 Section 4.1.1 key expiry check in TKEY
authorOndřej Surý <ondrej@sury.org>
Tue, 17 Mar 2026 23:28:04 +0000 (00:28 +0100)
committerOndřej Surý <ondrej@sury.org>
Wed, 1 Apr 2026 05:04:39 +0000 (07:04 +0200)
commit5e10fdc29552d601adfea2ef63b7121877fdee74
tree67e17955994c8b50d704a5aa20973ff5d04775b1
parent443b73b5657c63a314f82db640d43b791134fb7d
Implement RFC 3645 Section 4.1.1 key expiry check in TKEY

Check for existing non-expired TSIG keys before accepting a new
GSS-API negotiation.  Per RFC 3645 Section 4.1.1:

- If a key exists and has not expired, reject with BADNAME
- If a key exists but has expired, delete it and start fresh

Previously, an expired GSS key would permanently block
re-negotiation for that name until the server was restarted.

Use BADKEY rather than BADNAME to avoid creating an oracle for
key name enumeration by unauthenticated attackers.
lib/dns/tkey.c