chiark / gitweb /
execute: support syscall filtering using seccomp filters
[elogind.git] / src / core / execute.h
index 0d7e7dd65db1feb8727c5d5137519da1644b5741..187165cdc26b1c113bdd679495de1f8e43aec528 100644 (file)
@@ -9,16 +9,16 @@
   Copyright 2010 Lennart Poettering
 
   systemd is free software; you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
   (at your option) any later version.
 
   systemd is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  General Public License for more details.
+  Lesser General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
+  You should have received a copy of the GNU Lesser General Public License
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
@@ -118,7 +118,7 @@ struct ExecContext {
         ExecOutput std_output;
         ExecOutput std_error;
 
-        unsigned long timer_slack_nsec;
+        nsec_t timer_slack_nsec;
 
         char *tcpwrap_name;
 
@@ -164,6 +164,8 @@ struct ExecContext {
         bool private_tmp;
         bool private_network;
 
+        bool no_new_privileges;
+
         bool control_group_modify;
         int control_group_persistent;
 
@@ -174,11 +176,12 @@ struct ExecContext {
          * don't enter a trigger loop. */
         bool same_pgrp;
 
+        uint32_t *syscall_filter;
+
         bool oom_score_adjust_set:1;
         bool nice_set:1;
         bool ioprio_set:1;
         bool cpu_sched_set:1;
-        bool timer_slack_nsec_set:1;
 };
 
 int exec_spawn(ExecCommand *command,
@@ -192,6 +195,9 @@ int exec_spawn(ExecCommand *command,
                bool confirm_spawn,
                struct CGroupBonding *cgroup_bondings,
                struct CGroupAttribute *cgroup_attributes,
+               const char *cgroup_suffix,
+               const char *unit_id,
+               int pipe_fd[2],
                pid_t *ret);
 
 void exec_command_done(ExecCommand *c);