Explorar o código

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 %!s(int64=6) %!d(string=hai) anos
pai
achega
db3ee1d862
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  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),