From aaac2d152770c4acd0404d432307db691ba2fd66 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Tue, 30 Jan 2024 13:32:10 +0800 Subject: [PATCH] chore: program_args is optional --- launcher.c | 4 +++- library.c | 1 + sandbox.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/launcher.c b/launcher.c index 741c506..9ccbedd 100644 --- a/launcher.c +++ b/launcher.c @@ -47,7 +47,7 @@ void parse(int argc, char *argv[]) { [CFG_FILE_OUTPUT] = {"file_output", required_argument, NULL, 0}, [CFG_FILE_INFO] = {"file_info", required_argument, NULL, 0}, [CFG_PROGRAM] = {"program", required_argument, NULL, 0}, - [CFG_PROGRAM_ARG] = {"program_arg", required_argument, NULL, 0}, + [CFG_PROGRAM_ARG] = {"program_arg", optional_argument, NULL, 0}, [CFG_IS_VALID] = {"help", no_argument, NULL, 0}, [CFG_IS_VALID + 1] = {NULL, 0, NULL, 0} }; @@ -76,6 +76,8 @@ void parse(int argc, char *argv[]) { } void launch_child() { + LOG_DEBUG("Launching child process: (%s) (%s)", config[CFG_PROGRAM], config[CFG_PROGRAM_ARG]); + char *args[] = {config[CFG_PROGRAM], config[CFG_PROGRAM_ARG], NULL}; /* build stdin */ { diff --git a/library.c b/library.c index 991ac00..3a3c891 100644 --- a/library.c +++ b/library.c @@ -31,6 +31,7 @@ void setup_all(void) { config[CFG_SANDBOX_TEMPLATE] = getenv(SANDBOX_TEMPLATE); config[CFG_SANDBOX_ACTION] = getenv(SANDBOX_ACTION); config[CFG_PROGRAM] = getenv(SANDBOX_EXE_PATH); + config[CFG_PROGRAM_ARG] = getenv(SANDBOX_EXE_ARG1); config[CFG_UID] = getenv(USER_UID); config[CFG_GID] = getenv(USER_GID); diff --git a/sandbox.h b/sandbox.h index 3c0beab..b585b48 100644 --- a/sandbox.h +++ b/sandbox.h @@ -9,6 +9,7 @@ #define SANDBOX_TEMPLATE "SANDBOX_TEMPLATE" #define SANDBOX_ACTION "SANDBOX_ACTION" #define SANDBOX_EXE_PATH "SANDBOX_EXE_PATH" +#define SANDBOX_EXE_ARG1 "SANDBOX_EXE_ARG1" void setup_seccomp(char *config[CFG_IS_VALID + 1]);