Can somebody please help me understand the change log for 3.1.x: "Support for these algorithms requires that tor is built with the libzstd and/or liblzma libraries available." Is it AND or OR or something whatever different ?
Hi! Let me try to clear it up:
If Tor is built with liblzma available, it will use liblzma when appropriate. The lzma format is expensive to calculate, but it provides very good compression, so we only use it for cases when we can compress something once and server it many many times -- like consensus documents, or consensus diffs.
If Tor is built with libzstd available, it will use libzstd when appropriate. The zstd format is cheap to calculate, but appears to provide better compression than zlib on our data.
If Tor is built with both libraries available, it will use either one when appropriate.
Of course, we can only use these compression formats when both sides support them.
Thanks. Clear to me. So 'Liblzma N/A' should not be an issue.