From: Michael Tremer Date: Tue, 2 Aug 2022 17:58:25 +0000 (+0000) Subject: execute: Use new jail to run shell X-Git-Tag: 0.9.28~617 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9bc4e00c4292205c0a2da0831a03f0f56219f642;p=pakfire.git execute: Use new jail to run shell Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/execute.c b/src/libpakfire/execute.c index 30714b75b..ba9441f1c 100644 --- a/src/libpakfire/execute.c +++ b/src/libpakfire/execute.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -998,14 +999,26 @@ out: } int pakfire_execute_shell(struct pakfire* pakfire) { + struct pakfire_jail* jail = NULL; + int r; + + // Create a new jail + r = pakfire_jail_create(&jail, pakfire, PAKFIRE_JAIL_INTERACTIVE); + if (r) + goto ERROR; + const char* argv[] = { "/bin/bash", "--login", NULL, }; - const int flags = - PAKFIRE_EXECUTE_INTERACTIVE | PAKFIRE_EXECUTE_ENABLE_NETWORK; + // Execute /bin/bash + r = pakfire_jail_exec(jail, argv); + +ERROR: + if (jail) + pakfire_jail_unref(jail); - return pakfire_execute(pakfire, argv, NULL, flags, NULL, NULL); + return r; } int pakfire_execute_ldconfig(struct pakfire* pakfire) {