]> git.ipfire.org Git - pakfire.git/commitdiff
jail: Setup shell environment in the shell function
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 12 Oct 2024 13:40:00 +0000 (13:40 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 12 Oct 2024 13:40:00 +0000 (13:40 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/jail.c

index 8ebc4d85c668000beaf56eb50ffed2ba3e08ddba..2e668ace19224f270c1d745232003fd5be3a4dfa 100644 (file)
@@ -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);