Skip to content

libknot/packet: compression algorithm improved

Mark Karpilovskij requested to merge compr-improvement into master

The previous compression algorithm does not compress everything it can in cases where there are domain names in the data section of a RR, e.g. when the answer contains

bar.example.com CNAME foo.example.com foo.example.com A 192.0.0.2

and foo.example.com was not encountered previously, then the second RR leaves the 'foo' part uncompressed.

The improvement resolves some of these cases by comparing the owner of a new RRset to be written with the last written dname instead of QNAME. Also, the effectivity was slightly increased according to benchmarks.

Edited by Mark Karpilovskij

Merge request reports