diff --git a/torsocks/.signature b/torsocks/.signature index 2dd3b4d7f..9338c6113 100644 --- a/torsocks/.signature +++ b/torsocks/.signature @@ -1,6 +1,8 @@ untrusted comment: verify with /etc/ports/contrib.pub -RWSagIOpLGJF36mst1dPhq2utjnsChFm7u4fdz5HG+qD8WbWVrtkC/LXwhLZsznboehle+ti8h7QLYU3eZoX8xcedTL7nd89EwQ= -SHA256 (Pkgfile) = 25c4548fc03f5b9e55492a0b42e9ffd3a13bd92df6e45b053cd2f57915c8d603 +RWSagIOpLGJF37fqgLRVeSi+SupO8oPp+Pq0GEbZAXDUedIE+K4QM4DSCYwJr6MPNfmsr2yKXh+pCJu/qmWlO6nCeBV5YqvRRAo= +SHA256 (Pkgfile) = ccfbf322cfa3dd2268c20f02d2c3a1ff83bc75d1601c39eb46268e19bcbe3706 SHA256 (.footprint) = 84e7a17cbfbe9ce795d4f4fd350124647c3f03861002c739f2b424b3748abf36 SHA256 (torsocks-2.3.0.tar.xz) = b9f1b981d6b3fd4e1820de1eee325f8a7038c84765d5a6cd9af12571d5cc3622 -SHA256 (torsocks-2.3.0-fix-syscall.patch) = 618b0cde0f11f1a36bd3b168a34abde750de0467bb639abe1cbff7b12d86f278 +SHA256 (4c00ec8773fd63fa48ef49e1ccf2adac598427be.patch) = c30c02ad83a270eaeef1a8a7ae0e21ddc97705c9c425ad1c7493eb9cd5e58f64 +SHA256 (d4b0a84bdf2a1895c8ec3091dc2767fd9f8c2d66.patch) = b5626099e7bf98d4aeba6c4265d28a2bb0c8b15e77ae7dd7be83d301f293e384 +SHA256 (fb7db9ecd0be04385ad5ae40e6e802cd80bb3455.patch) = 3a4f8b55cdfdcd529bf53d6d13185bf8fba16a5b109b0067773b5d4f5b3ce8e8 diff --git a/torsocks/torsocks-2.3.0-fix-syscall.patch b/torsocks/4c00ec8773fd63fa48ef49e1ccf2adac598427be.patch similarity index 99% rename from torsocks/torsocks-2.3.0-fix-syscall.patch rename to torsocks/4c00ec8773fd63fa48ef49e1ccf2adac598427be.patch index 93eb7ad45..985eb7b71 100644 --- a/torsocks/torsocks-2.3.0-fix-syscall.patch +++ b/torsocks/4c00ec8773fd63fa48ef49e1ccf2adac598427be.patch @@ -90,5 +90,5 @@ index 7fba580..f793da7 100644 default: /* -- -cgit v1.1 +cgit v1.2.1 diff --git a/torsocks/Pkgfile b/torsocks/Pkgfile index 37de6bb3c..8cabd6254 100644 --- a/torsocks/Pkgfile +++ b/torsocks/Pkgfile @@ -5,9 +5,11 @@ name=torsocks version=2.3.0 -release=1 +release=2 source=(https://people.torproject.org/~dgoulet/$name/$name-$version.tar.xz - $name-$version-fix-syscall.patch) + 4c00ec8773fd63fa48ef49e1ccf2adac598427be.patch + d4b0a84bdf2a1895c8ec3091dc2767fd9f8c2d66.patch + fb7db9ecd0be04385ad5ae40e6e802cd80bb3455.patch) build() { cd $name-$version @@ -18,7 +20,9 @@ build() { { echo 1>&2 "Failed to disable network tests!"; exit 1; } done - patch -p1 -i $SRC/torsocks-2.3.0-fix-syscall.patch + patch -p1 -i $SRC/4c00ec8773fd63fa48ef49e1ccf2adac598427be.patch + patch -p1 -i $SRC/d4b0a84bdf2a1895c8ec3091dc2767fd9f8c2d66.patch + patch -p1 -i $SRC/fb7db9ecd0be04385ad5ae40e6e802cd80bb3455.patch autoreconf -f -i ./configure --prefix=/usr --sysconfdir=/etc diff --git a/torsocks/d4b0a84bdf2a1895c8ec3091dc2767fd9f8c2d66.patch b/torsocks/d4b0a84bdf2a1895c8ec3091dc2767fd9f8c2d66.patch new file mode 100644 index 000000000..e00555304 --- /dev/null +++ b/torsocks/d4b0a84bdf2a1895c8ec3091dc2767fd9f8c2d66.patch @@ -0,0 +1,32 @@ +From d4b0a84bdf2a1895c8ec3091dc2767fd9f8c2d66 Mon Sep 17 00:00:00 2001 +From: Ola Bini +Date: Thu, 9 Jul 2020 18:31:41 +0000 +Subject: Fixes an issue when calling recvmsg on a domain socket non-blocking + +Since the original flags are not taken into account when peeking, the peek +recvmsg call will hang forever in certain circumstances, including in all QT +applications running Wayland. This fix simply adds the original flags, so that +the peeking recvmsg call might be nonblocking, if the original call was +nonblocking. + +Closes #40001 +--- + src/lib/recv.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/lib/recv.c b/src/lib/recv.c +index d1bbaea..abdd1fa 100644 +--- a/src/lib/recv.c ++++ b/src/lib/recv.c +@@ -92,7 +92,7 @@ LIBC_RECVMSG_RET_TYPE tsocks_recvmsg(LIBC_RECVMSG_SIG) + + do { + /* Just peek the data to inspect the payload for fd. */ +- ret = tsocks_libc_recvmsg(sockfd, &msg_hdr, MSG_PEEK); ++ ret = tsocks_libc_recvmsg(sockfd, &msg_hdr, MSG_PEEK | flags); + } while (ret < 0 && errno == EINTR); + if (ret < 0) { + /* Use the current errno set by the call above. */ +-- +cgit v1.2.1 + diff --git a/torsocks/fb7db9ecd0be04385ad5ae40e6e802cd80bb3455.patch b/torsocks/fb7db9ecd0be04385ad5ae40e6e802cd80bb3455.patch new file mode 100644 index 000000000..c4a77f5e8 --- /dev/null +++ b/torsocks/fb7db9ecd0be04385ad5ae40e6e802cd80bb3455.patch @@ -0,0 +1,25 @@ +From fb7db9ecd0be04385ad5ae40e6e802cd80bb3455 Mon Sep 17 00:00:00 2001 +From: anonhelper +Date: Wed, 21 Oct 2020 02:07:26 +0000 +Subject: Fixed out-of-bounds write in onion pool. + +--- + src/common/onion.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/common/onion.c b/src/common/onion.c +index 6a61d83..d99bf5c 100644 +--- a/src/common/onion.c ++++ b/src/common/onion.c +@@ -62,7 +62,7 @@ static int insert_onion_entry(struct onion_entry *entry, + assert(entry); + assert(pool); + +- if (pool->count > pool->size) { ++ if (pool->count >= pool->size) { + /* Double the size of the pool. */ + ret = resize_onion_pool(pool, pool->size * 2); + if (ret < 0) { +-- +cgit v1.2.1 +