Knot DNS depends on zlib to calculate Adler-32 checksums. A comment in
crc.h states that it “should be removed”. I want to use knsupdate on
OpenWRT and would also like to remove the dependency.
Unfortunately, there is no single library that provides only Adler-32
checksums and every examined software either relies on zlib or its
bundled implementation of varying quality and speed. Other projects seem
to use CRC32C because there is an instruction to calculate it in the
SSE4.2 instruction set. But again there is no library that only
implements only CRC32C checksums. Switching to CRC32C would also make
the journal format incompatible.
I'm inclined to just copy the reference implementation from RFC 1950 for
my purposes but wanted to check with the upstream maintainers whether
there are any plans or ideas.
It would also be nice if the configure script would have an option to
not include and compile unused functionality from libknot and
libzscanner to minimize binaries sizes.
- Matthias-Christian