Skip to content

Don't compress in the rrset if compression was disabled

Ondřej Surý requested to merge 3423-fix-root-zone-compression into main

Currently, when rrset is being compressed, the optimization has been put in place to reuse offset to the previous name in the same rrset. This skips the check for non-improving compression and thus compresses the root zone making the wireformat worse by one byte.

Additionally, when the compression has been disabled for the name, it would be repeatedly added to the compression table because we act as if the name was not found and the dns_compress_add() doesn't check for the existing entry.

Change the dns_name_towire2() to always lookup the name in the compression table to prevent adding duplicates, but don't use it neither in the wireformat nor in the rrset cache.

Closes #3423 (closed)

Edited by Ondřej Surý

Merge request reports