From b0b89fff02191b5231d529bde0658ebaa7d2b1d8 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 12 Oct 2024 13:40:00 +0000 Subject: [PATCH] jail: Setup shell environment in the shell function Signed-off-by: Michael Tremer --- src/libpakfire/jail.c | 41 +++++++++++++++-------------------------- 1 file changed, 15 insertions(+), 26 deletions(-) diff --git a/src/libpakfire/jail.c b/src/libpakfire/jail.c index 8ebc4d85c..2e668ace1 100644 --- a/src/libpakfire/jail.c +++ b/src/libpakfire/jail.c @@ -180,28 +180,6 @@ static const char* pakfire_jail_uuid(struct pakfire_jail* jail) { return jail->__uuid; } -static int pakfire_jail_setup_interactive_env(struct pakfire_jail* jail) { - int r; - - // Copy TERM - char* TERM = secure_getenv("TERM"); - if (TERM) { - r = pakfire_jail_set_env(jail, "TERM", TERM); - if (r) - return r; - } - - // Copy LANG - char* LANG = secure_getenv("LANG"); - if (LANG) { - r = pakfire_jail_set_env(jail, "LANG", LANG); - if (r) - return r; - } - - return 0; -} - int pakfire_jail_create(struct pakfire_jail** jail, struct pakfire* pakfire) { int r; @@ -1699,10 +1677,21 @@ int pakfire_jail_shell(struct pakfire_jail* jail) { "/bin/bash", "--login", NULL, }; - // Setup interactive stuff - r = pakfire_jail_setup_interactive_env(jail); - if (r) - return r; + // Copy TERM + char* TERM = secure_getenv("TERM"); + if (TERM) { + r = pakfire_jail_set_env(jail, "TERM", TERM); + if (r) + return r; + } + + // Copy LANG + char* LANG = secure_getenv("LANG"); + if (LANG) { + r = pakfire_jail_set_env(jail, "LANG", LANG); + if (r) + return r; + } // Execute /bin/bash r = pakfire_jail_exec(jail, argv, PAKFIRE_JAIL_INTERACTIVE, NULL); -- 2.47.2