Hi Andre, I've taken your suggestions. Here is the updated patch. Thanks From a7c754da51888f23755ba46904191bf16523fc17 Mon Sep 17 00:00:00 2001 From: fanquake Date: Thu, 24 Aug 2023 09:47:33 +0100 Subject: [PATCH] gnu: tor: Update to 0.4.8.5. * gnu/packages/tor.scm (tor): Update to 0.4.8.5. * gnu/packages/tor.scm (tor)[arguments]<#:configure-flags>: Add "--enable-gpl". * gnu/packages/patches/tor-remove-defensive-assert.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/tor.scm (tor)[source]: Add patch to remove defensive assert. --- gnu/local.mk | 1 + .../patches/tor-remove-defensive-assert.patch | 28 +++++++++++++++++++ gnu/packages/tor.scm | 8 ++++-- 3 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/tor-remove-defensive-assert.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9b493df8d5..6a4f9dabb2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2012,6 +2012,7 @@ dist_patch_DATA = \ %D%/packages/patches/tofi-32bit-compat.patch \ %D%/packages/patches/tootle-glib-object-naming.patch \ %D%/packages/patches/tootle-reason-phrase.patch \ + %D%/packages/patches/tor-remove-defensive-assert.patch \ %D%/packages/patches/transcode-ffmpeg.patch \ %D%/packages/patches/transfig-gcc10-fno-common.patch \ %D%/packages/patches/trytond-add-egg-modules-to-path.patch \ diff --git a/gnu/packages/patches/tor-remove-defensive-assert.patch b/gnu/packages/patches/tor-remove-defensive-assert.patch new file mode 100644 index 0000000000..7207ec867a --- /dev/null +++ b/gnu/packages/patches/tor-remove-defensive-assert.patch @@ -0,0 +1,28 @@ +This patch removes a call to `tor_assert_nonfatal_unreached()` in +`relay_key_is_unavailable_()` that is only called when Tor is compiled +without relay support. + +Unfortunately, the non-fatal assertion causes a BUG log +message to appear for clients when they start up without relay support +for each CPU worker we spawn. This makes it spotting issues during +bootstrap harder particularly for our iOS developers. + +Since the call sites to `get_master_identity_key()` handles `NULL` +values already, we do not think this will be an issue later on. + +Reported by Benjamin Erhart (@tla) from Guardian Project. + +Fixes tpo/core/tor#40848. + +diff --git a/src/feature/relay/routerkeys.h b/src/feature/relay/routerkeys.h +index 7b6d80773c..b97615a9c9 100644 +--- a/src/feature/relay/routerkeys.h ++++ b/src/feature/relay/routerkeys.h +@@ -53,7 +53,6 @@ void routerkeys_free_all(void); + static inline void * + relay_key_is_unavailable_(void) + { +- tor_assert_nonfatal_unreached(); + return NULL; + } + #define relay_key_is_unavailable(type) \ diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 7fec88656f..44e62b63cc 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -63,18 +63,20 @@ (define-module (gnu packages tor) (define-public tor (package (name "tor") - (version "0.4.7.14") + (version "0.4.8.5") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "1y2xwrji1rvk6h0k15705yra5s74h72h2g84x02zr0338vv6gb55")))) + "06g1awb4piqvgxa97pyswxgjzkpj8rx3iy2jbiaygvi99b8wymv9")) + (patches (search-patches "tor-remove-defensive-assert.patch")))) (build-system gnu-build-system) (arguments (list #:configure-flags - #~(list "--enable-lzma" + #~(list "--enable-gpl" + "--enable-lzma" "--enable-zstd") #:phases #~(modify-phases %standard-phases -- 2.42.0 On Thu, 31 Aug 2023 at 03:10, André Batista wrote: > Hi Michael! > > The Tor Project has released v0.4.8.5, so I guess we can skip > v0.4.8.4. Would you care to send a new version of your patch? > > Also, Tor v0.4.8.x has introduced a new PoW feature which is useful > for Onion Service operators and users during those all too common > DDoS attempts on the network. However, the feature is disabled by > default because the code was GPL'd. So, in order to enable it for > Guix users - whom I think won't have an issue with GPL code ;) -, you > need to change the current package definition configure flags and add > "--enable-gpl", otherwise we will be missing on this. > > Moreover, I'm running the tor-client package and have hit on core/tor > issue #40848[1], since upgrading to v0.4.8.5. Apparently it's a > pretty harmless bug assertion which Alexander Færøy solved [2] by > just removing the bug assertion. Nonetheless, I think it's best if we > also include that patch on Guix, otherwise there may be future > repeated questions from guix users once they start seeing it show up > on system logs. > > WDYT? > > Cheers! > > 1 - https://gitlab.torproject.org/tpo/core/tor/-/issues/40848 > 2 - https://gitlab.torproject.org/tpo/core/tor/-/merge_requests/752 >