[tor-bugs] #25667 [Core Tor/Tor]: LZMA/ZSTD descriptor compression support
Tor Bug Tracker & Wiki
blackhole at torproject.org
Thu Mar 29 19:08:28 UTC 2018
#25667: LZMA/ZSTD descriptor compression support
-------------------------------------------------+-------------------------
Reporter: atagar | Owner: (none)
Type: defect | Status: new
Priority: Medium | Milestone: Tor:
| 0.3.3.x-final
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: regression? 033-must needs-analysis | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Comment (by teor):
> The spec should say how we pick among the compression. That is to say,
lzma > zstd > gzip > identity (or whatever the actual behavior is).
This is the required behaviour::
Relays MUST compress all directory documents with gzip. If lzma or zstd
are available, each compression method MAY be used to compress some types
of directory documents.
This is how the current implementation works, but clients shouldn't rely
on the exact details:
Typically, compression methods are used for the documents that provide the
best compression/CPU/RAM tradeoffs. Some compression methods are used to
compress long-lived documents, then those documents are cached. Other
methods are used for streaming compression when documents are requested.
This is the required behaviour:
When a directory mirror receives a request for compressed data, it MUST
serve a format that is available and supported by the client.
This is how the current implementation works, but clients shouldn't rely
on the exact details:
If multiple methods are supported, tor chooses the compression method in
this order:
Client requests contain all supported methods in this order:
lzma > zstd > zlib > gzip > identity
https://gitweb.torproject.org/tor.git/tree/src/or/directory.c#n3627
Directory responses choose a common, supported method in this order:
Precompressed, cached data: lzma > zstd > zlib > gzip > identity
Streamed data: zstd > zlib > gzip > identity
Anonymous connections (e.g. HSDirs): zlib > gzip > identity
https://gitweb.torproject.org/tor.git/tree/src/or/directory.c#n3575
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/25667#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list