util: add capsule-util.[ch] with helpers for capsules

For now, there's only a routine for validating capsule names. More will
be added later.
This commit is contained in:
Lennart Poettering
2023-11-07 18:19:25 +01:00
parent 9b94ae834b
commit 9367af8a29
3 changed files with 22 additions and 0 deletions

17
src/shared/capsule-util.c Normal file
View File

@@ -0,0 +1,17 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include "capsule-util.h"
#include "path-util.h"
#include "user-util.h"
int capsule_name_is_valid(const char *name) {
if (!filename_is_valid(name))
return false;
_cleanup_free_ char *prefixed = strjoin("c-", name);
if (!prefixed)
return -ENOMEM;
return valid_user_group_name(prefixed, /* flags= */ 0);
}

View File

@@ -0,0 +1,4 @@
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once
int capsule_name_is_valid(const char *name);

View File

@@ -140,6 +140,7 @@ shared_sources = files(
'pkcs11-util.c',
'plymouth-util.c',
'pretty-print.c',
'capsule-util.c',
'ptyfwd.c',
'qrcode-util.c',
'quota-util.c',