summaryrefslogtreecommitdiffstats
path: root/src/shared/keyring-util.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 03:50:40 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-12 03:50:40 +0000
commitfc53809803cd2bc2434e312b19a18fa36776da12 (patch)
treeb4b43bd6538f51965ce32856e9c053d0f90919c8 /src/shared/keyring-util.c
parentAdding upstream version 255.5. (diff)
downloadsystemd-fc53809803cd2bc2434e312b19a18fa36776da12.tar.xz
systemd-fc53809803cd2bc2434e312b19a18fa36776da12.zip
Adding upstream version 256.upstream/256
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/shared/keyring-util.c')
-rw-r--r--src/shared/keyring-util.c35
1 files changed, 0 insertions, 35 deletions
diff --git a/src/shared/keyring-util.c b/src/shared/keyring-util.c
deleted file mode 100644
index fadd90e..0000000
--- a/src/shared/keyring-util.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-or-later */
-
-#include "keyring-util.h"
-#include "memory-util.h"
-#include "missing_syscall.h"
-
-int keyring_read(key_serial_t serial, void **ret, size_t *ret_size) {
- size_t bufsize = 100;
-
- for (;;) {
- _cleanup_(erase_and_freep) uint8_t *buf = NULL;
- long n;
-
- buf = new(uint8_t, bufsize + 1);
- if (!buf)
- return -ENOMEM;
-
- n = keyctl(KEYCTL_READ, (unsigned long) serial, (unsigned long) buf, (unsigned long) bufsize, 0);
- if (n < 0)
- return -errno;
-
- if ((size_t) n <= bufsize) {
- buf[n] = 0; /* NUL terminate, just in case */
-
- if (ret)
- *ret = TAKE_PTR(buf);
- if (ret_size)
- *ret_size = n;
-
- return 0;
- }
-
- bufsize = (size_t) n;
- }
-}