summaryrefslogtreecommitdiffstats
path: root/lib/utils_keyring.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 08:35:41 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 08:35:41 +0000
commitf7458043ae6a2d2d54b911fac52e50341646bef2 (patch)
tree6c58e084cd8728490fd5bb8eead07db0be0038f4 /lib/utils_keyring.h
parentAdding upstream version 2:2.6.1. (diff)
downloadcryptsetup-upstream/2%2.7.0.tar.xz
cryptsetup-upstream/2%2.7.0.zip
Adding upstream version 2:2.7.0.upstream/2%2.7.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'lib/utils_keyring.h')
-rw-r--r--lib/utils_keyring.h39
1 files changed, 22 insertions, 17 deletions
diff --git a/lib/utils_keyring.h b/lib/utils_keyring.h
index 0248862..896f8d8 100644
--- a/lib/utils_keyring.h
+++ b/lib/utils_keyring.h
@@ -1,8 +1,8 @@
/*
* kernel keyring syscall wrappers
*
- * Copyright (C) 2016-2023 Red Hat, Inc. All rights reserved.
- * Copyright (C) 2016-2023 Ondrej Kozina
+ * Copyright (C) 2016-2024 Red Hat, Inc. All rights reserved.
+ * Copyright (C) 2016-2024 Ondrej Kozina
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -23,33 +23,38 @@
#define _UTILS_KEYRING
#include <stddef.h>
+#include <stdint.h>
-typedef enum { LOGON_KEY = 0, USER_KEY } key_type_t;
+#ifndef HAVE_KEY_SERIAL_T
+#define HAVE_KEY_SERIAL_T
+typedef int32_t key_serial_t;
+#endif
+
+typedef enum { LOGON_KEY = 0, USER_KEY, BIG_KEY, TRUSTED_KEY, ENCRYPTED_KEY, INVALID_KEY } key_type_t;
const char *key_type_name(key_type_t ktype);
+key_type_t key_type_by_name(const char *name);
+key_serial_t keyring_find_key_id_by_name(const char *key_name);
+key_serial_t keyring_find_keyring_id_by_name(const char *keyring_name);
int keyring_check(void);
-int keyring_get_key(const char *key_desc,
- char **key,
- size_t *key_size);
+key_serial_t keyring_request_key_id(key_type_t key_type,
+ const char *key_description);
-int keyring_get_passphrase(const char *key_desc,
- char **passphrase,
- size_t *passphrase_len);
-
-int keyring_add_key_in_thread_keyring(
- key_type_t ktype,
- const char *key_desc,
- const void *key,
- size_t key_size);
+int keyring_read_key(key_serial_t kid,
+ char **key,
+ size_t *key_size);
-int keyring_add_key_in_user_keyring(
+key_serial_t keyring_add_key_in_thread_keyring(
key_type_t ktype,
const char *key_desc,
const void *key,
size_t key_size);
-int keyring_revoke_and_unlink_key(key_type_t ktype, const char *key_desc);
+key_serial_t keyring_add_key_to_custom_keyring(key_type_t ktype, const char *key_desc, const void *key,
+ size_t key_size, key_serial_t keyring_to_link);
+int keyring_unlink_key_from_keyring(key_serial_t kid, key_serial_t keyring_id);
+int keyring_unlink_key_from_thread_keyring(key_serial_t kid);
#endif