From: Lennart Poettering Date: Wed, 22 Nov 2023 09:57:20 +0000 (+0100) Subject: creds-util: add helper for opening the credentials directory X-Git-Tag: v256-rc1~1474^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=58982cf0cb42e43157a48e6e32f18b831d84f5d0;p=thirdparty%2Fsystemd.git creds-util: add helper for opening the credentials directory --- diff --git a/src/shared/creds-util.c b/src/shared/creds-util.c index 7cc88895953..0026da5b483 100644 --- a/src/shared/creds-util.c +++ b/src/shared/creds-util.c @@ -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; diff --git a/src/shared/creds-util.h b/src/shared/creds-util.h index 5e39a6a022f..36ca0fb6100 100644 --- a/src/shared/creds-util.h +++ b/src/shared/creds-util.h @@ -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"