]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
creds-util: add helper for opening the credentials directory
authorLennart Poettering <lennart@poettering.net>
Wed, 22 Nov 2023 09:57:20 +0000 (10:57 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 18 Dec 2023 10:10:14 +0000 (11:10 +0100)
src/shared/creds-util.c
src/shared/creds-util.h

index 7cc8889595318beb414d0b10095102c5bd952ee9..0026da5b48352fcabc7ebd73caeb0245989fad5a 100644 (file)
@@ -100,6 +100,17 @@ int get_encrypted_credentials_dir(const char **ret) {
         return get_credentials_dir_internal("ENCRYPTED_CREDENTIALS_DIRECTORY", ret);
 }
 
+int open_credentials_dir(void) {
+        const char *d;
+        int r;
+
+        r = get_credentials_dir(&d);
+        if (r < 0)
+                return r;
+
+        return RET_NERRNO(open(d, O_CLOEXEC|O_DIRECTORY));
+}
+
 int read_credential(const char *name, void **ret, size_t *ret_size) {
         _cleanup_free_ char *fn = NULL;
         const char *d;
index 5e39a6a022f6dc159e2b50627dbf9ec8b8412229..36ca0fb61009a8b18e559267d12a900c5b228c72 100644 (file)
@@ -31,6 +31,8 @@ bool credential_glob_valid(const char *s);
 int get_credentials_dir(const char **ret);
 int get_encrypted_credentials_dir(const char **ret);
 
+int open_credentials_dir(void);
+
 /* Where creds have been passed to the system */
 #define SYSTEM_CREDENTIALS_DIRECTORY "/run/credentials/@system"
 #define ENCRYPTED_SYSTEM_CREDENTIALS_DIRECTORY "/run/credentials/@encrypted"