summaryrefslogtreecommitdiff
path: root/src/common/compress_lzma.c
AgeCommit message (Collapse)Author
2018-06-21Extract compression functions into a new library.Nick Mathewson
2018-06-20Run rectify_include_paths.pyNick Mathewson
2018-06-20Update copyrights to 2018.Nick Mathewson
2017-12-08Convert the rest of src/common's headers to use FREE_AND_NULLNick Mathewson
2017-09-28Move around some LCOV_EXCLs in src/commonNick Mathewson
Apparently, my compiler now generates coverage markers for label-only lines, so we need to exclude those too if they are meant to be unreachable.
2017-09-15Run our #else/#endif annotator on our source code.Nick Mathewson
2017-08-08Remove some LCOV_EXCL stuff that I think may be testable after all.Nick Mathewson
This is partial revert on 22286. Also, tweak some log messages to be distinct.
2017-05-17Add coverage markers in Zstd + LZMA compression backends.Alexander Færøy
See: https://bugs.torproject.org/22286
2017-04-27Enforce 16 MB upper bound of memory usage in LZMA decoder.Alexander Færøy
This patch changes two things in our LZMA compression backend: - We lower the preset values for all `compression_level_t` values to ensure that we can run the LZMA decoder with less than 65 MB of memory available. This seems to have a small impact on the real world usage and fits well with our needs. - We set the upper bound of memory usage for the LZMA decoder to 16 MB. See: https://bugs.torproject.org/21665
2017-04-26Fix compilation when lzma or zstd is absentNick Mathewson
2017-04-26Approximate memory usage needed for the LZMA backend.Alexander Færøy
This patch adds support for measuring the approximated memory usage by the individual `tor_lzma_compress_state_t` object instances. The LZMA library provides the functions `lzma_easy_encoder_memusage()` and `lzma_easy_decoder_memusage()` which is used to find the estimated usage in bytes. See: https://bugs.torproject.org/22066
2017-04-25Whitespace fixes.Nick Mathewson
2017-04-25Merge branch 'unified_compress_squashed'Nick Mathewson
2017-04-25Add a "best compression" flag.Nick Mathewson
2017-04-25Combine all *compress/*uncompress backend function into oneNick Mathewson
Since we have a streaming API for each compression backend, we don't need a non-streaming API for each: we can build a common non-streaming API at the front-end.
2017-04-25Use atomic counters for compressor allocation.Nick Mathewson
2017-04-25Remove `tor_compress_memory_level()`.Alexander Færøy
This patch splits up `tor_compress_memory_level()` into static functions in the individual compression backends, which allows us to tune the values per compression backend rather than globally. See: https://bugs.torproject.org/21662
2017-04-25Add API entry-point for getting compression method version numbers.Alexander Færøy
This patch adds `tor_compress_version_str()` and `tor_compress_header_version_str()` to get the version strings of the different compression schema providers. Both functions returns `NULL` in case a given `compress_method_t` is unknown or unsupported. See: https://bugs.torproject.org/21662
2017-04-25Add function to check if a given compression method is supported.Alexander Færøy
This patch adds support for checking if a given `compress_method_t` is supported by the currently running Tor instance using `tor_compress_supports_method()`. See: https://bugs.torproject.org/21662
2017-04-25Add LZMA support.Alexander Færøy
See: https://bugs.torproject.org/21662