summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-07-27 08:23:36 -0400
committerNick Mathewson <nickm@torproject.org>2017-07-27 08:23:36 -0400
commitad35e595e5070b16ad034315b5082d734f71f181 (patch)
tree964a112c1fbdf80eaeadf16538da8e12ac5cee5c
parent7021d33b91a3fe4a4d90ad660db4bba5642769f7 (diff)
parent24ddf5862e8582a903860a8fe4a1b4a63153f40f (diff)
downloadtor-ad35e595e5070b16ad034315b5082d734f71f181.tar.gz
tor-ad35e595e5070b16ad034315b5082d734f71f181.zip
Merge branch 'maint-0.2.9' into maint-0.3.0
-rw-r--r--changes/bug202474
-rw-r--r--src/common/sandbox.c8
2 files changed, 12 insertions, 0 deletions
diff --git a/changes/bug20247 b/changes/bug20247
new file mode 100644
index 0000000000..731cf0046f
--- /dev/null
+++ b/changes/bug20247
@@ -0,0 +1,4 @@
+ o Minor bugfixes (linux seccomp2 sandbox):
+ - Avoid a sandbox failure when trying to re-bind to a socket and mark
+ it as IPv6-only. Fixes bug 20247; bugfix on 0.2.5.1-alpha.
+
diff --git a/src/common/sandbox.c b/src/common/sandbox.c
index 8b92558a91..2e1519e922 100644
--- a/src/common/sandbox.c
+++ b/src/common/sandbox.c
@@ -728,6 +728,14 @@ sb_setsockopt(scmp_filter_ctx ctx, sandbox_cfg_t *filter)
return rc;
#endif
+#ifdef IPV6_V6ONLY
+ rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(setsockopt),
+ SCMP_CMP(1, SCMP_CMP_EQ, IPPROTO_IPV6),
+ SCMP_CMP(2, SCMP_CMP_EQ, IPV6_V6ONLY));
+ if (rc)
+ return rc;
+#endif
+
return 0;
}