diff options
author | Nick Mathewson <nickm@torproject.org> | 2020-05-12 12:58:19 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2020-05-12 12:58:19 -0400 |
commit | 1557e73c824cc4e934110c41ecc917e8a29ed296 (patch) | |
tree | 04dd1448482bc4f96649a5f1b5308c0993f3b576 /src/lib/sandbox | |
parent | 86b5bcd80ad27083c9b8e5c5999927f235905ec6 (diff) | |
parent | 2913dbd6d9c1ee53c5a7524dd6693f5a6c6f8293 (diff) | |
download | tor-1557e73c824cc4e934110c41ecc917e8a29ed296.tar.gz tor-1557e73c824cc4e934110c41ecc917e8a29ed296.zip |
Merge branch 'bug34130_035'
Diffstat (limited to 'src/lib/sandbox')
-rw-r--r-- | src/lib/sandbox/sandbox.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/sandbox/sandbox.c b/src/lib/sandbox/sandbox.c index 626a4dc5a5..b917912f4d 100644 --- a/src/lib/sandbox/sandbox.c +++ b/src/lib/sandbox/sandbox.c @@ -266,6 +266,11 @@ static int filter_nopar_gen[] = { SCMP_SYS(listen), SCMP_SYS(connect), SCMP_SYS(getsockname), +#ifdef ENABLE_NSS +#ifdef __NR_getpeername + SCMP_SYS(getpeername), +#endif +#endif SCMP_SYS(recvmsg), SCMP_SYS(recvfrom), SCMP_SYS(sendto), @@ -649,6 +654,15 @@ sb_socket(scmp_filter_ctx ctx, sandbox_cfg_t *filter) } } +#ifdef ENABLE_NSS + rc = seccomp_rule_add_3(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), + SCMP_CMP(0, SCMP_CMP_EQ, PF_INET), + SCMP_CMP(1, SCMP_CMP_EQ, SOCK_STREAM), + SCMP_CMP(2, SCMP_CMP_EQ, IPPROTO_IP)); + if (rc) + return rc; +#endif + rc = seccomp_rule_add_3(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), SCMP_CMP(0, SCMP_CMP_EQ, PF_UNIX), SCMP_CMP_MASKED(1, SOCK_CLOEXEC|SOCK_NONBLOCK, SOCK_STREAM), |