[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#870911: marked as done (stretch-pu: package torsocks/2.2.0-1+deb9u1)



Your message dated Sat, 07 Oct 2017 11:33:55 +0100
with message-id <1507372435.18586.64.camel@adam-barratt.org.uk>
and subject line Closing bugs for 9.2 point release
has caused the Debian Bug report #870911,
regarding stretch-pu: package torsocks/2.2.0-1+deb9u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
870911: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870911
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian.org@packages.debian.org
Usertags: pu

Hi!

A few Debian users let me know that the upgrade to Stretch broke some important
use cases of torsocks (most notably, the way some ISPs have set up
SMTP-over-Tor-Onion-Services between their email servers); the upstream author
(X-Debbugs-Cc'ed) says a great number of people also complained about various
bugs that share the same root cause.

I would like to fix this in Stretch.

To my request, the upstream author has started maintaining a maint-2.2.x branch
with only fixes to such serious bugs. Currently that branch has one single
commit, that fixes the root cause of the aforementioned issues. One of the
affected users (X-Debbugs-Cc'ed) has tested it and confirms the fix works
for him.

Can I upload to stretch-pu with the attached debdiff?

Cheers,
-- 
intrigeri
diff -Nru torsocks-2.2.0/debian/changelog torsocks-2.2.0/debian/changelog
--- torsocks-2.2.0/debian/changelog	2016-10-19 16:48:08.000000000 -0400
+++ torsocks-2.2.0/debian/changelog	2017-08-05 11:37:43.000000000 -0400
@@ -1,3 +1,14 @@
+torsocks (2.2.0-1+deb9u1) stretch; urgency=medium
+
+  * Fix-check_addr-to-return-either-0-or-1.patch: new patch, from upstream
+    maint-0.2.x branch, to fix a serious bug reported many times upstream
+    and to me (privately) since the Stretch release
+    (http://bugs.torproject.org/20871).
+  * Adjust debian/gbp.conf to ease working on our Git branch dedicated
+    to Stretch.
+
+ -- intrigeri <intrigeri@debian.org>  Sat, 05 Aug 2017 15:37:43 +0000
+
 torsocks (2.2.0-1) unstable; urgency=medium
 
   * New upstream release (Closes: #805741)
diff -Nru torsocks-2.2.0/debian/gbp.conf torsocks-2.2.0/debian/gbp.conf
--- torsocks-2.2.0/debian/gbp.conf	2016-10-19 16:48:08.000000000 -0400
+++ torsocks-2.2.0/debian/gbp.conf	2017-08-05 11:37:43.000000000 -0400
@@ -1,4 +1,4 @@
 [DEFAULT]
 pristine-tar = True
-debian-branch = master
+debian-branch = stretch
 upstream-branch = upstream
diff -Nru torsocks-2.2.0/debian/patches/Fix-check_addr-to-return-either-0-or-1.patch torsocks-2.2.0/debian/patches/Fix-check_addr-to-return-either-0-or-1.patch
--- torsocks-2.2.0/debian/patches/Fix-check_addr-to-return-either-0-or-1.patch	1969-12-31 19:00:00.000000000 -0500
+++ torsocks-2.2.0/debian/patches/Fix-check_addr-to-return-either-0-or-1.patch	2017-08-05 11:37:43.000000000 -0400
@@ -0,0 +1,97 @@
+Bug: http://bugs.torproject.org/20871
+Origin: upstream, https://gitweb.torproject.org/torsocks.git/commit/?h=maint-2.2.x&id=15465aa7ace1d5e6dbb58e7adf37933b48e20250
+From: David Goulet <dgoulet@ev0ke.net>
+Date: Fri, 24 Feb 2017 11:02:13 -0500
+Subject: Fix check_addr() to return either 0 or 1
+
+This function is used by utils_is_address_ipv4/6 and has to return 0 on
+error or 1 on success.
+
+Fixes #20871
+
+Signed-off-by: David Goulet <dgoulet@ev0ke.net>
+---
+ src/common/utils.c            | 11 ++++++-----
+ tests/unit/test_config-file.c |  4 ++--
+ tests/unit/test_utils.c       |  8 ++++----
+ 3 files changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/src/common/utils.c b/src/common/utils.c
+index 82479af..8fe9c6e 100644
+--- a/src/common/utils.c
++++ b/src/common/utils.c
+@@ -45,8 +45,8 @@ static const char *localhost_names_v6[] = {
+ };
+ 
+ /*
+- * Return 1 if the given IP belongs in the af domain else return a negative
+- * value.
++ * Return 1 if the given IP belongs in the af domain else return 0 if the
++ * given ip is not a valid address or the af value is unknown.
+  */
+ static int check_addr(const char *ip, int af)
+ {
+@@ -56,9 +56,10 @@ static int check_addr(const char *ip, int af)
+ 	assert(ip);
+ 
+ 	ret = inet_pton(af, ip, buf);
+-	if (ret != 1) {
+-		ret = -1;
+-	}
++  if (ret == -1) {
++    /* Possible if the af value is unknown to inet_pton. */
++    ret = 0;
++  }
+ 
+ 	return ret;
+ }
+diff --git a/tests/unit/test_config-file.c b/tests/unit/test_config-file.c
+index 59e3115..b48094c 100644
+--- a/tests/unit/test_config-file.c
++++ b/tests/unit/test_config-file.c
+@@ -104,13 +104,13 @@ static void test_config_file_read_invalid_values(void)
+ 
+ 	memset(&config, 0x0, sizeof(config));
+ 	ret = config_file_read(fixture("config4"), &config);
+-	ok(ret == -1 &&
++	ok(ret == 0 &&
+ 		config.conf_file.tor_address == NULL,
+ 		"TorAddress invalid IPv4 returns -1");
+ 
+ 	memset(&config, 0x0, sizeof(config));
+ 	ret = config_file_read(fixture("config5"), &config);
+-	ok(ret == -1 &&
++	ok(ret == 0 &&
+ 		config.conf_file.tor_address == NULL,
+ 		"TorAddress invalid IPv6 returns -1");
+ 
+diff --git a/tests/unit/test_utils.c b/tests/unit/test_utils.c
+index dc5b0ca..95469d8 100644
+--- a/tests/unit/test_utils.c
++++ b/tests/unit/test_utils.c
+@@ -36,10 +36,10 @@ static void test_is_address_ipv4(void)
+ 	ok(ret == 1, "Valid IPv4 address");
+ 
+ 	ret = utils_is_address_ipv4("127.0.0.256");
+-	ok(ret == -1, "Invalid IPv4 address");
++	ok(ret == 0, "Invalid IPv4 address");
+ 
+ 	ret = utils_is_address_ipv4("::1");
+-	ok(ret == -1, "Invalid IPv4 address when IPv6");
++	ok(ret == 0, "Invalid IPv4 address when IPv6");
+ }
+ 
+ static void test_is_address_ipv6(void)
+@@ -55,10 +55,10 @@ static void test_is_address_ipv6(void)
+ 	ok(ret == 1, "Valid IPv6 address");
+ 
+ 	ret = utils_is_address_ipv6("2001:DB8:0:0:8:800:200C:G");
+-	ok(ret == -1, "Invalid IPv6 address");
++	ok(ret == 0, "Invalid IPv6 address");
+ 
+ 	ret = utils_is_address_ipv6("192.168.0.1");
+-	ok(ret == -1, "Invalid IPv6 address when IPv4");
++	ok(ret == 0, "Invalid IPv6 address when IPv4");
+ }
+ 
+ static void test_localhost_resolve(void)
diff -Nru torsocks-2.2.0/debian/patches/series torsocks-2.2.0/debian/patches/series
--- torsocks-2.2.0/debian/patches/series	2016-10-19 16:48:08.000000000 -0400
+++ torsocks-2.2.0/debian/patches/series	2017-08-05 11:37:43.000000000 -0400
@@ -1 +1,2 @@
+Fix-check_addr-to-return-either-0-or-1.patch
 exclude_test_requiring_network.patch

--- End Message ---
--- Begin Message ---
Version: 9.2

Hi.

The updates referenced by each of these bugs was included in today's
point release of stretch.

Regards,

Adam

--- End Message ---

Reply to: