chore: program_args is optional

This commit is contained in:
Paul Pan 2024-01-30 13:32:10 +08:00
parent ca5aa20715
commit aaac2d1527
3 changed files with 5 additions and 1 deletions

View File

@ -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 */ {

View File

@ -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);

View File

@ -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]);