]> git.ipfire.org Git - pakfire.git/commitdiff
jail: Make the entire jail private
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 12 Oct 2024 13:22:50 +0000 (13:22 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 12 Oct 2024 13:22:50 +0000 (13:22 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/include/pakfire/jail.h
src/libpakfire/jail.c
src/libpakfire/libpakfire.sym

index 084f434de4801bcf01e00ce5454d1262fbc34dd4..0ec24f666d7723523239c7f44e55b45067c17dba 100644 (file)
 #ifndef PAKFIRE_JAIL_H
 #define PAKFIRE_JAIL_H
 
+#ifdef PAKFIRE_PRIVATE
+
+#include <pakfire/cgroup.h>
 #include <pakfire/pakfire.h>
+#include <pakfire/pty.h>
 
 struct pakfire_jail;
 
@@ -66,11 +70,6 @@ enum pakfire_jail_exec_flags {
 
 int pakfire_jail_exec(struct pakfire_jail* jail, const char* argv[], int flags, char** output);
 
-#ifdef PAKFIRE_PRIVATE
-
-#include <pakfire/cgroup.h>
-#include <pakfire/pty.h>
-
 // Resource limits
 int pakfire_jail_set_cgroup(struct pakfire_jail* jail, struct pakfire_cgroup* cgroup);
 
@@ -94,5 +93,4 @@ int pakfire_jail_ldconfig(struct pakfire* pakfire);
 int pakfire_jail_run_systemd_tmpfiles(struct pakfire* pakfire);
 
 #endif /* PAKFIRE_PRIVATE */
-
 #endif /* PAKFIRE_JAIL_H */
index 3e12cf6e85729fb1fa4dbae42f71618ce7d0f9d7..017dc6eb95324abdcd90c7641609f030346e9136 100644 (file)
@@ -55,7 +55,6 @@
 #include <pakfire/mount.h>
 #include <pakfire/pakfire.h>
 #include <pakfire/path.h>
-#include <pakfire/private.h>
 #include <pakfire/pty.h>
 #include <pakfire/pwd.h>
 #include <pakfire/string.h>
@@ -205,7 +204,7 @@ static int pakfire_jail_setup_interactive_env(struct pakfire_jail* jail) {
        return 0;
 }
 
-PAKFIRE_EXPORT int pakfire_jail_create(struct pakfire_jail** jail, struct pakfire* pakfire) {
+int pakfire_jail_create(struct pakfire_jail** jail, struct pakfire* pakfire) {
        int r;
 
        const char* arch = pakfire_get_effective_arch(pakfire);
@@ -265,13 +264,13 @@ ERROR:
        return r;
 }
 
-PAKFIRE_EXPORT struct pakfire_jail* pakfire_jail_ref(struct pakfire_jail* jail) {
+struct pakfire_jail* pakfire_jail_ref(struct pakfire_jail* jail) {
        ++jail->nrefs;
 
        return jail;
 }
 
-PAKFIRE_EXPORT struct pakfire_jail* pakfire_jail_unref(struct pakfire_jail* jail) {
+struct pakfire_jail* pakfire_jail_unref(struct pakfire_jail* jail) {
        if (--jail->nrefs > 0)
                return jail;
 
@@ -281,7 +280,7 @@ PAKFIRE_EXPORT struct pakfire_jail* pakfire_jail_unref(struct pakfire_jail* jail
 
 // Resource Limits
 
-PAKFIRE_EXPORT int pakfire_jail_nice(struct pakfire_jail* jail, int nice) {
+int pakfire_jail_nice(struct pakfire_jail* jail, int nice) {
        // Check if nice level is in range
        if (nice < -19 || nice > 20) {
                errno = EINVAL;
@@ -346,7 +345,7 @@ static int pakfire_jail_find_env(struct pakfire_jail* jail, const char* key) {
 }
 
 // Returns the value of an environment variable or NULL
-PAKFIRE_EXPORT const char* pakfire_jail_get_env(struct pakfire_jail* jail,
+const char* pakfire_jail_get_env(struct pakfire_jail* jail,
                const char* key) {
        int i = pakfire_jail_find_env(jail, key);
        if (i < 0)
@@ -356,7 +355,7 @@ PAKFIRE_EXPORT const char* pakfire_jail_get_env(struct pakfire_jail* jail,
 }
 
 // Sets an environment variable
-PAKFIRE_EXPORT int pakfire_jail_set_env(struct pakfire_jail* jail,
+int pakfire_jail_set_env(struct pakfire_jail* jail,
                const char* key, const char* value) {
        // Find the index where to write this value to
        int i = pakfire_jail_find_env(jail, key);
@@ -382,7 +381,7 @@ PAKFIRE_EXPORT int pakfire_jail_set_env(struct pakfire_jail* jail,
 }
 
 // Imports an environment
-PAKFIRE_EXPORT int pakfire_jail_import_env(struct pakfire_jail* jail, const char* env[]) {
+int pakfire_jail_import_env(struct pakfire_jail* jail, const char* env[]) {
        if (!env)
                return 0;
 
@@ -414,7 +413,7 @@ PAKFIRE_EXPORT int pakfire_jail_import_env(struct pakfire_jail* jail, const char
 
 // Timeout
 
-PAKFIRE_EXPORT int pakfire_jail_set_timeout(
+int pakfire_jail_set_timeout(
                struct pakfire_jail* jail, unsigned int timeout) {
        // Store value
        jail->timeout = timeout;
@@ -686,7 +685,7 @@ ERROR:
 
 // Mountpoints
 
-PAKFIRE_EXPORT int pakfire_jail_bind(struct pakfire_jail* jail,
+int pakfire_jail_bind(struct pakfire_jail* jail,
                const char* source, const char* target, int flags) {
        struct pakfire_jail_mountpoint* mp = NULL;
        int r;
@@ -1562,7 +1561,7 @@ ERROR:
        return ctx.exit;
 }
 
-PAKFIRE_EXPORT int pakfire_jail_exec(struct pakfire_jail* jail,
+int pakfire_jail_exec(struct pakfire_jail* jail,
                const char* argv[], int flags, char** output) {
        return __pakfire_jail_exec(jail, argv, flags, NULL, NULL, NULL, NULL, output);
 }
index 11e364f9733bead7e6bcefb2c44352f97d82616d..a04722348277df104b9fdef9ae42a075ab6a20f3 100644 (file)
@@ -171,18 +171,6 @@ global:
        pakfire_key_unref;
        pakfire_key_verify;
 
-       # jail
-       pakfire_jail_bind;
-       pakfire_jail_create;
-       pakfire_jail_exec;
-       pakfire_jail_get_env;
-       pakfire_jail_import_env;
-       pakfire_jail_nice;
-       pakfire_jail_ref;
-       pakfire_jail_set_env;
-       pakfire_jail_set_timeout;
-       pakfire_jail_unref;
-
        # log
        pakfire_log_stderr;
        pakfire_log_syslog;