DNS 16 BADVERS/BADSIG vs 19 BADMODE
Both DNS 16 (BADVERS/BADSIG) and 19 (BADMODE) belong to the DNS Response Codes (RCODEs) category. 16 indicates that bad OPT Version or TSIG Signature Failure. Either the EDNS version in the OPT record is not supported, or the TSIG signature on the message failed verification. Meanwhile, 19 means that bad TKEY Mode. The TKEY mode field contains a value not supported by the server.
Description
Bad OPT Version or TSIG Signature Failure. Either the EDNS version in the OPT record is not supported, or the TSIG signature on the message failed verification.
When You See It
As BADVERS: your client sent an EDNS version higher than the server supports. As BADSIG: the TSIG MAC on the message did not match, indicating a shared-secret mismatch or message tampering.
How to Fix
For BADVERS, downgrade the EDNS version (most servers support version 0 only). For BADSIG, regenerate and re-synchronize the TSIG shared secret on both endpoints.
Description
Bad TKEY Mode. The TKEY mode field contains a value not supported by the server.
When You See It
Your client attempted a TKEY key exchange using a mode (e.g., Diffie-Hellman, GSS-API) that the server does not support or has not been configured for.
How to Fix
Check which TKEY modes the server supports and configure your client to use a compatible mode. GSS-TSIG (mode 3) is the most widely deployed.
Key Differences
DNS 16: Bad OPT Version or TSIG Signature Failure. Either the EDNS version in the OPT record is not supported, or the TSIG signature on the message failed verification.
DNS 19: Bad TKEY Mode. The TKEY mode field contains a value not supported by the server.
You encounter 16 when as BADVERS: your client sent an EDNS version higher than the server supports. As BADSIG: the TSIG MAC on the message did not match, indicating a shared-secret mismatch or message tampering.
You encounter 19 when your client attempted a TKEY key exchange using a mode (e.g., Diffie-Hellman, GSS-API) that the server does not support or has not been configured for.
When to Use Which
For 16 (BADVERS/BADSIG): For BADVERS, downgrade the EDNS version (most servers support version 0 only). For BADSIG, regenerate and re-synchronize the TSIG shared secret on both endpoints. For 19 (BADMODE): Check which TKEY modes the server supports and configure your client to use a compatible mode. GSS-TSIG (mode 3) is the most widely deployed.