X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=execute.h;h=cb69bb3bd82c43f8f2b06116b76e69053a5133ed;hb=24e61ac49db6add10ffa448f42202245fb883b96;hp=3e332105c1ab15f12bea9d4b82a95e76b15a995c;hpb=a6a80b4f440bcc1c6087572503c08a72ee674075;p=elogind.git diff --git a/execute.h b/execute.h index 3e332105c..cb69bb3bd 100644 --- a/execute.h +++ b/execute.h @@ -33,11 +33,13 @@ typedef struct ExecContext ExecContext; #include #include +struct CGroupBonding; + #include "list.h" #include "util.h" /* Abstract namespace! */ -#define LOGGER_SOCKET "/org/freedesktop.org/systemd1/logger" +#define LOGGER_SOCKET "/org/freedesktop/systemd1/logger" typedef enum ExecOutput { EXEC_OUTPUT_CONSOLE, @@ -97,7 +99,6 @@ struct ExecContext { int syslog_priority; char *syslog_identifier; - /* FIXME: all privs related settings need to be enforced */ cap_t capabilities; int secure_bits; uint64_t capability_bounding_set_drop; @@ -137,16 +138,26 @@ typedef enum ExitStatus { EXIT_SIGNAL_MASK, EXIT_INPUT, EXIT_OUTPUT, - EXIT_CHROOT, + EXIT_CHROOT, /* 210 */ EXIT_PGID, EXIT_IOPRIO, EXIT_TIMERSLACK, EXIT_SECUREBITS, EXIT_SETSCHEDULER, - EXIT_CPUAFFINITY + EXIT_CPUAFFINITY, + EXIT_GROUP, + EXIT_USER, + EXIT_CAPABILITIES, + EXIT_CGROUP } ExitStatus; -int exec_spawn(const ExecCommand *command, const ExecContext *context, int *fds, unsigned n_fds, pid_t *ret); +int exec_spawn(const ExecCommand *command, + const ExecContext *context, + int *fds, unsigned n_fds, + bool apply_permissions, + bool apply_chroot, + struct CGroupBonding *cgroup_bondings, + pid_t *ret); void exec_command_free_list(ExecCommand *c); void exec_command_free_array(ExecCommand **c, unsigned n);