From 96fafb925c4991f26e216863222f2be25067bae6 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 21 May 2025 16:34:14 +0200 Subject: [PATCH] cryptsetup: Clean up includes Split out of #37344. --- src/cryptsetup/cryptsetup-generator.c | 5 +-- src/cryptsetup/cryptsetup-keyfile.c | 2 +- src/cryptsetup/cryptsetup-keyfile.h | 5 +-- src/cryptsetup/cryptsetup-pkcs11.c | 26 +++++------- src/cryptsetup/cryptsetup-pkcs11.h | 41 +------------------ .../cryptsetup-token-systemd-fido2.c | 5 +-- .../cryptsetup-token-systemd-pkcs11.c | 2 - .../cryptsetup-token-systemd-tpm2.c | 3 +- .../cryptsetup-tokens/cryptsetup-token-util.h | 4 +- .../cryptsetup-tokens/cryptsetup-token.h | 4 +- .../cryptsetup-tokens/luks2-pkcs11.h | 4 +- src/cryptsetup/cryptsetup.c | 9 ++-- src/cryptsetup/meson.build | 7 +--- 13 files changed, 28 insertions(+), 89 deletions(-) diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c index 466a5f02df..d4b72dcf31 100644 --- a/src/cryptsetup/cryptsetup-generator.c +++ b/src/cryptsetup/cryptsetup-generator.c @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include +#include #include -#include #include "alloc-util.h" #include "cryptsetup-util.h" @@ -23,6 +21,7 @@ #include "specifier.h" #include "string-util.h" #include "strv.h" +#include "time-util.h" #include "unit-name.h" typedef struct crypto_device { diff --git a/src/cryptsetup/cryptsetup-keyfile.c b/src/cryptsetup/cryptsetup-keyfile.c index fb80cecd34..7bcfd0b0d9 100644 --- a/src/cryptsetup/cryptsetup-keyfile.c +++ b/src/cryptsetup/cryptsetup-keyfile.c @@ -3,9 +3,9 @@ #include "alloc-util.h" #include "cryptsetup-keyfile.h" #include "fileio.h" +#include "iovec-util.h" #include "log.h" #include "path-util.h" -#include "string-util.h" #include "strv.h" int find_key_file(const char *key_file, char **search_path, const char *bindname, struct iovec *ret_key) { diff --git a/src/cryptsetup/cryptsetup-keyfile.h b/src/cryptsetup/cryptsetup-keyfile.h index fe54e904b0..76c21004af 100644 --- a/src/cryptsetup/cryptsetup-keyfile.h +++ b/src/cryptsetup/cryptsetup-keyfile.h @@ -1,9 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include -#include - -#include "iovec-util.h" +#include "forward.h" int find_key_file(const char *key_file, char **search_path, const char *bindname, struct iovec *ret_key); diff --git a/src/cryptsetup/cryptsetup-pkcs11.c b/src/cryptsetup/cryptsetup-pkcs11.c index f9a1c42869..238905ae90 100644 --- a/src/cryptsetup/cryptsetup-pkcs11.c +++ b/src/cryptsetup/cryptsetup-pkcs11.c @@ -1,29 +1,16 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include -#include -#include -#include -#include - #include "sd-json.h" #include "alloc-util.h" #include "ask-password-api.h" #include "cryptsetup-pkcs11.h" -#include "escape.h" -#include "fd-util.h" +#include "cryptsetup-util.h" #include "fileio.h" -#include "format-util.h" -#include "hexdecoct.h" #include "iovec-util.h" -#include "macro.h" -#include "memory-util.h" -#include "parse-util.h" +#include "log.h" #include "pkcs11-util.h" #include "random-util.h" -#include "stat-util.h" -#include "strv.h" int decrypt_pkcs11_key( const char *volume_name, @@ -37,7 +24,7 @@ int decrypt_pkcs11_key( AskPasswordFlags askpw_flags, void **ret_decrypted_key, size_t *ret_decrypted_key_size) { - +#if HAVE_P11KIT _cleanup_(pkcs11_crypt_device_callback_data_release) pkcs11_crypt_device_callback_data data = { .friendly_name = friendly_name, .askpw_flags = askpw_flags, @@ -86,6 +73,9 @@ int decrypt_pkcs11_key( *ret_decrypted_key_size = data.decrypted_key_size; return 0; +#else + return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "PKCS#11 Token support not available."); +#endif } int find_pkcs11_auto_data( @@ -95,6 +85,7 @@ int find_pkcs11_auto_data( size_t *ret_encrypted_key_size, int *ret_keyslot) { +#if HAVE_P11KIT _cleanup_free_ char *uri = NULL; _cleanup_free_ void *key = NULL; int r, keyslot = -1; @@ -170,4 +161,7 @@ int find_pkcs11_auto_data( *ret_encrypted_key_size = key_size; *ret_keyslot = keyslot; return 0; +#else + return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "PKCS#11 Token support not available."); +#endif } diff --git a/src/cryptsetup/cryptsetup-pkcs11.h b/src/cryptsetup/cryptsetup-pkcs11.h index 98fd3bcb3d..2dcacd5015 100644 --- a/src/cryptsetup/cryptsetup-pkcs11.h +++ b/src/cryptsetup/cryptsetup-pkcs11.h @@ -1,14 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -#include "ask-password-api.h" -#include "cryptsetup-util.h" -#include "log.h" -#include "time-util.h" - -#if HAVE_P11KIT +#include "forward.h" int decrypt_pkcs11_key( const char *volume_name, @@ -29,35 +22,3 @@ int find_pkcs11_auto_data( void **ret_encrypted_key, size_t *ret_encrypted_key_size, int *ret_keyslot); - -#else - -static inline int decrypt_pkcs11_key( - const char *volume_name, - const char *friendly_name, - const char *pkcs11_uri, - const char *key_file, - size_t key_file_size, - uint64_t key_file_offset, - const struct iovec *key_data, - usec_t until, - AskPasswordFlags askpw_flags, - void **ret_decrypted_key, - size_t *ret_decrypted_key_size) { - - return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), - "PKCS#11 Token support not available."); -} - -static inline int find_pkcs11_auto_data( - struct crypt_device *cd, - char **ret_uri, - void **ret_encrypted_key, - size_t *ret_encrypted_key_size, - int *ret_keyslot) { - - return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), - "PKCS#11 Token support not available."); -} - -#endif diff --git a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c index 787d35b216..02ed4dd273 100644 --- a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c +++ b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c @@ -1,14 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include +#include "sd-json.h" + #include "alloc-util.h" #include "cryptsetup-token.h" #include "cryptsetup-token-util.h" -#include "hexdecoct.h" -#include "json-util.h" #include "luks2-fido2.h" #include "memory-util.h" #include "version.h" diff --git a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c index dc8f92f2e1..4c6e28500a 100644 --- a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c +++ b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c @@ -1,6 +1,5 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include "sd-json.h" @@ -8,7 +7,6 @@ #include "alloc-util.h" #include "cryptsetup-token.h" #include "cryptsetup-token-util.h" -#include "hexdecoct.h" #include "luks2-pkcs11.h" #include "memory-util.h" #include "pkcs11-util.h" diff --git a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c index 967b26df4d..4b9fe11199 100644 --- a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c +++ b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c @@ -1,6 +1,5 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include "alloc-util.h" @@ -10,7 +9,7 @@ #include "json-util.h" #include "luks2-tpm2.h" #include "memory-util.h" -#include "strv.h" +#include "string-util.h" #include "tpm2-util.h" #include "version.h" diff --git a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-util.h b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-util.h index 51d30c845e..cdd26fd085 100644 --- a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-util.h +++ b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token-util.h @@ -3,10 +3,8 @@ #pragma once #include -#include -#include -#include "macro.h" +#include "forward.h" /* crypt_dump() internal indentation magic */ #define CRYPT_DUMP_LINE_SEP "\n\t " diff --git a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token.h b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token.h index c1ccb5ed31..b23f62be8d 100644 --- a/src/cryptsetup/cryptsetup-tokens/cryptsetup-token.h +++ b/src/cryptsetup/cryptsetup-tokens/cryptsetup-token.h @@ -1,9 +1,7 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -struct crypt_device; +#include "forward.h" /* for more information see libcryptsetup.h crypt-tokens section */ diff --git a/src/cryptsetup/cryptsetup-tokens/luks2-pkcs11.h b/src/cryptsetup/cryptsetup-tokens/luks2-pkcs11.h index 640685ce6f..9f51fc8161 100644 --- a/src/cryptsetup/cryptsetup-tokens/luks2-pkcs11.h +++ b/src/cryptsetup/cryptsetup-tokens/luks2-pkcs11.h @@ -2,9 +2,7 @@ #pragma once -#include - -struct crypt_device; +#include "forward.h" int acquire_luks2_key( struct crypt_device *cd, diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index f873305637..a30af20e97 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -1,14 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ -#include #include #include #include #include -#include #include #include "sd-device.h" +#include "sd-event.h" #include "sd-json.h" #include "sd-messages.h" @@ -21,10 +20,11 @@ #include "cryptsetup-pkcs11.h" #include "cryptsetup-tpm2.h" #include "cryptsetup-util.h" -#include "device-util.h" #include "efi-api.h" #include "efi-loader.h" +#include "efivars.h" #include "env-util.h" +#include "errno-util.h" #include "escape.h" #include "extract-word.h" #include "fileio.h" @@ -42,10 +42,11 @@ #include "path-util.h" #include "pkcs11-util.h" #include "pretty-print.h" -#include "process-util.h" #include "random-util.h" #include "string-table.h" +#include "string-util.h" #include "strv.h" +#include "time-util.h" #include "tpm2-pcr.h" #include "tpm2-util.h" #include "verbs.h" diff --git a/src/cryptsetup/meson.build b/src/cryptsetup/meson.build index 056a9d4672..c2f4dc9065 100644 --- a/src/cryptsetup/meson.build +++ b/src/cryptsetup/meson.build @@ -7,14 +7,11 @@ endif subdir('cryptsetup-tokens') systemd_cryptsetup_sources = files( - 'cryptsetup-keyfile.c', 'cryptsetup.c', + 'cryptsetup-keyfile.c', + 'cryptsetup-pkcs11.c', ) -if conf.get('HAVE_P11KIT') == 1 - systemd_cryptsetup_sources += files('cryptsetup-pkcs11.c') -endif - executables += [ executable_template + { 'name' : 'systemd-cryptsetup',