浏览代码

Allow getsockopt(…, SOL_SOCKET, SO_ACCEPTCONN, …) in sandbox

SO_ACCEPTCONN checks whether socket listening is enabled and is
used ever since 9369152aae9527cc3764 has been merged.

Closes ticket #29150
Peter Gerber 6 年之前
父节点
当前提交
db3ee1d862
共有 1 个文件被更改,包括 6 次插入0 次删除
  1. 6 0
      src/lib/sandbox/sandbox.c

+ 6 - 0
src/lib/sandbox/sandbox.c

@@ -832,6 +832,12 @@ sb_getsockopt(scmp_filter_ctx ctx, sandbox_cfg_t *filter)
   if (rc)
     return rc;
 
+  rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getsockopt),
+      SCMP_CMP(1, SCMP_CMP_EQ, SOL_SOCKET),
+      SCMP_CMP(2, SCMP_CMP_EQ, SO_ACCEPTCONN));
+  if (rc)
+    return rc;
+
 #ifdef HAVE_SYSTEMD
   rc = seccomp_rule_add_2(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getsockopt),
       SCMP_CMP(1, SCMP_CMP_EQ, SOL_SOCKET),