Nick Mathewson
2d20cbf837
Extract compression functions into a new library.
2018-06-21 13:08:25 -04:00
Nick Mathewson
0dab29ce10
Run rectify_include_paths.py
2018-06-20 09:35:05 -04:00
Nick Mathewson
fb0019daf9
Update copyrights to 2018.
2018-06-20 08:13:28 -04:00
Nick Mathewson
6230dfaf14
Merge branch 'maint-0.3.3'
2018-06-12 08:18:57 -04:00
Nick Mathewson
7fff99110b
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-06-12 08:18:56 -04:00
Nick Mathewson
5d8a927aa3
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-06-12 08:18:56 -04:00
teor
8366be3b51
Silence unused-const-variable warnings in zstd.h on some gcc versions
...
Fixes bug 26272; bugfix on 0.3.1.1-alpha.
2018-06-02 14:11:04 -07:00
Nick Mathewson
5199b9b337
Use autoconf to check for optional zstd functionality.
...
Fixes a bug in our zstd-static code. Bug not in any released
version of Tor.
2018-02-18 16:19:43 -05:00
Nick Mathewson
5a9ada342f
tor_zstd_format_version shouldn't be built when !HAVE_ZSTD
...
Fixes bug 25276; bugfix not in any released Tor.
2018-02-16 08:06:01 -05:00
Nick Mathewson
a03488954c
Add configure option to control ZSTD_STATIC_LINKING_ONLY
2018-02-06 11:58:05 -05:00
Nick Mathewson
a77a366b87
Warn on zstd header/library version mismatch
...
If we're going to potentially degrade performance in this case, we
may as well tell people so.
2018-02-06 11:05:07 -05:00
Nick Mathewson
f98cb5d355
Use "static-only" zstd functions to estimate memory usage.
...
These should provide better and more accurate results when we can
use them; we fall back to the old approach when we can't.
2018-02-06 11:05:07 -05:00
Nick Mathewson
358b609e9d
Enable (safe) use of zstd static-only APIs
...
We'll only use these when the compile-time version and the run-time
version of the zstd library match. Part of ticket 25162.
2018-02-06 11:05:07 -05:00
Nick Mathewson
c92ac9f5cb
Convert the rest of src/common's headers to use FREE_AND_NULL
2017-12-08 14:47:19 -05:00
Nick Mathewson
ff0aabc35d
Merge branch 'maint-0.3.1'
2017-09-20 09:45:07 -04:00
Andreas Stieger
427c2cc9e8
in zstd compression, fix 32 bit build
...
format '%lu' expects argument of type 'long unsigned int', but argument ... has type 'size_t'
Closes ticket 23568.
2017-09-20 09:43:08 -04:00
Nick Mathewson
c1deabd3b0
Run our #else/#endif annotator on our source code.
2017-09-15 16:24:44 -04:00
Nick Mathewson
7465ea4ad9
Remove some LCOV_EXCL stuff that I think may be testable after all.
...
This is partial revert on 22286.
Also, tweak some log messages to be distinct.
2017-08-08 10:08:06 -04:00
Nick Mathewson
6121ca16bc
Merge remote-tracking branch 'ahf/bugs/22286' into maint-0.3.1
2017-08-08 10:03:08 -04:00
Nick Mathewson
2ae51ed5e2
Fix zstd 1.3.0 trouble: Be more respectful of its state machine
...
In zstd 1.3.0, once you have called ZSTD_endStream and been told
that your putput buffer is full, it really doesn't want you to call
ZSTD_compressStream again. ZSTD 1.2.0 didn't seem to mind about
this.
This patch fixes the issue by making sure never to call
ZSTD_endStream if there's any more data on the input buffer to
process, by flushing even when we're about to call "endStream", and
by never calling "compress" or "flush" after "endStream".
2017-07-14 16:31:29 -04:00
teor
cbaf0c049c
Return TOR_COMPRESS_BUFFER_FULL when zstd has additional input
...
Fixes #22628 .
2017-06-16 09:47:32 +10:00
teor
617e1da636
Remove a redundant conditional in tor_zstd_compress_process
...
Part of #22502
2017-06-16 09:46:46 +10:00
teor
7605bd528e
Move a comment to the right place in tor_zstd_compress_process
...
Part of #22502
2017-06-16 09:45:58 +10:00
Alexander Færøy
fcf836d239
Add coverage markers in Zstd + LZMA compression backends.
...
See: https://bugs.torproject.org/22286
2017-05-17 13:23:54 +00:00
Nick Mathewson
39cfaba9e2
Fix handling of "final" flag in zstd decompression
...
We were returning "DONE" on truncated input streams, which was not
what we wanted.
2017-04-27 10:42:05 -04:00
Nick Mathewson
7fb9586953
Fix compilation when lzma or zstd is absent
2017-04-26 15:00:40 -04:00
Nick Mathewson
4038202f89
Avoid a warning from the use of floating-point in zstd
...
Replace "(preset - 0.5) * 1mb" with "preset * 1mb - 0.5 mb", to
avoid warning about converting double to size_t.
2017-04-26 14:21:45 -04:00
Alexander Færøy
e42c204f67
Approximate memory usage needed for the Zstandard backend.
...
This patch adds support for measuring the approximated memory usage by
the individual `tor_zstd_compress_state_t` object instances.
See: https://bugs.torproject.org/22066
2017-04-26 19:54:18 +02:00
Alexander Færøy
fac8ac0e4a
Remove unused header from the Zstandard compression backend.
...
Since we stopped looking at Zstandard error codes there is no need to
include the zstd_errors.h header file anymore.
2017-04-26 02:54:34 +02:00
Nick Mathewson
7a37cbbea3
Whitespace fixes.
2017-04-25 10:54:34 -04:00
Nick Mathewson
49868340f7
Merge branch 'unified_compress_squashed'
2017-04-25 10:51:13 -04:00
Nick Mathewson
4b01b45ec1
Add a "best compression" flag.
2017-04-25 10:50:50 -04:00
Nick Mathewson
880fb3e3a9
Combine all *compress/*uncompress backend function into one
...
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-25 10:50:50 -04:00
Nick Mathewson
4266ec766a
Use atomic counters for compressor allocation.
2017-04-25 10:29:07 -04:00
Alexander Færøy
cf912259ba
Remove tor_compress_memory_level()
.
...
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-25 08:11:32 -04:00
Alexander Færøy
6b905b38bb
Add API entry-point for getting compression method version numbers.
...
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-25 08:10:10 -04:00
Alexander Færøy
1c77d8690c
Add function to check if a given compression method is supported.
...
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-25 08:10:09 -04:00
Alexander Færøy
380736d045
Add Zstandard support.
...
See: https://bugs.torproject.org/21662
2017-04-25 08:10:09 -04:00