aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-07-05 13:09:21 -0400
committerNick Mathewson <nickm@torproject.org>2017-07-05 13:09:21 -0400
commit16d2bce89310d68804bacabf5e87a90e8f7322af (patch)
tree11e31a4b3fbef272dcd105f83a20fb4fa6b443d1 /src/common
parentbb97f680e74170673246b3de32e847ade46840f2 (diff)
downloadtor-16d2bce89310d68804bacabf5e87a90e8f7322af.tar.gz
tor-16d2bce89310d68804bacabf5e87a90e8f7322af.zip
Allow setsockopt(IPV6_V6ONLY) in sandbox.
Fixes bug 20247. We started setting V6ONLY in 0.2.3.13-alpha and added the sandbox on 0.2.5.1-alpha.
Diffstat (limited to 'src/common')
-rw-r--r--src/common/sandbox.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/common/sandbox.c b/src/common/sandbox.c
index da96ad8248..7f4511db2a 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;
}