DNS

DNS 1 FORMERR vs 20 BADNAME

Both DNS 1 (FORMERR) and 20 (BADNAME) belong to the DNS Response Codes (RCODEs) category. 1 indicates that format error. The name server was unable to interpret the query due to a malformed DNS message. Meanwhile, 20 means that duplicate key name. The key name in a TKEY negotiation is already in use or conflicts with an existing key.

Description

Format error. The name server was unable to interpret the query due to a malformed DNS message.

When You See It

Your DNS client or library sent a query the server could not parse, often caused by a buggy resolver, corrupted packet, or unsupported EDNS options.

How to Fix

Check your DNS client or library version for known bugs. Capture the raw query with dig or Wireshark and verify it conforms to the DNS wire format.

Description

Duplicate key name. The key name in a TKEY negotiation is already in use or conflicts with an existing key.

When You See It

A TKEY key establishment failed because a key with the same name already exists on the server from a previous session that was not properly cleaned up.

How to Fix

Use a unique key name for each TKEY session (e.g., append a timestamp or random suffix). Delete stale keys on the server if they are no longer needed.

Key Differences

1.

DNS 1: Format error. The name server was unable to interpret the query due to a malformed DNS message.

2.

DNS 20: Duplicate key name. The key name in a TKEY negotiation is already in use or conflicts with an existing key.

3.

You encounter 1 when your DNS client or library sent a query the server could not parse, often caused by a buggy resolver, corrupted packet, or unsupported EDNS options.

4.

You encounter 20 when a TKEY key establishment failed because a key with the same name already exists on the server from a previous session that was not properly cleaned up.

When to Use Which

For 1 (FORMERR): Check your DNS client or library version for known bugs. Capture the raw query with dig or Wireshark and verify it conforms to the DNS wire format. For 20 (BADNAME): Use a unique key name for each TKEY session (e.g., append a timestamp or random suffix). Delete stale keys on the server if they are no longer needed.

Learn More