tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 5199b9b33747ddcf787cf97d5e14b3b50a579802
parent e0427b6bf6bd9ea4c77a2225c0063ebb5938e280
Author: Nick Mathewson <nickm@torproject.org>
Date:   Sun, 18 Feb 2018 16:19:43 -0500

Use autoconf to check for optional zstd functionality.

Fixes a bug in our zstd-static code.  Bug not in any released
version of Tor.

Diffstat:
Mconfigure.ac | 10++++++++++
Msrc/common/compress_zstd.c | 4++++
2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/configure.ac b/configure.ac @@ -977,6 +977,16 @@ if test "x$have_zstd" = "xyes"; then AC_DEFINE(HAVE_ZSTD,1,[Have Zstd]) TOR_ZSTD_CFLAGS="${ZSTD_CFLAGS}" TOR_ZSTD_LIBS="${ZSTD_LIBS}" + + dnl now check for zstd functions + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$LIBS $ZSTD_LIBS" + CFLAGS="$CFLAGS $ZSTD_CFLAGS" + AC_CHECK_FUNCS(ZSTD_estimateCStreamSize \ + ZSTD_estimateDCtxSize) + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" fi AC_SUBST(TOR_ZSTD_CFLAGS) AC_SUBST(TOR_ZSTD_LIBS) diff --git a/src/common/compress_zstd.c b/src/common/compress_zstd.c @@ -219,10 +219,14 @@ tor_zstd_state_size_precalc(int compress, int preset) #ifdef ZSTD_STATIC_LINKING_ONLY if (tor_zstd_can_use_static_apis()) { if (compress) { +#ifdef HAVE_ZSTD_ESTIMATECSTREAMSIZE return ZSTD_estimateCStreamSize(preset); +#endif } else { +#ifdef HAVE_ZSTD_ESTIMATEDCTXSIZE /* Could use DStream, but that takes a windowSize. */ return ZSTD_estimateDCtxSize(); +#endif } } #endif