If UINT32_MAX is passed in the PCR masks pick some reasonable defaults
in encrypt_credential_and_warn().
These defaults copy what "systemd-creds encrypt" uses. By adding these
defaults to the internal functions any user of them can take benefit of
them.
#include "stat-util.h"
#include "string-util.h"
#include "tmpfile-util.h"
+#include "tpm2-pcr.h"
#include "tpm2-util.h"
#include "user-util.h"
return log_error_errno(r, "Failed to determine local credential host secret: %m");
}
+ if (tpm2_hash_pcr_mask == UINT32_MAX)
+ tpm2_hash_pcr_mask = 0;
+ if (tpm2_pubkey_pcr_mask == UINT32_MAX)
+ tpm2_pubkey_pcr_mask = UINT32_C(1) << TPM2_PCR_KERNEL_BOOT;
+
#if HAVE_TPM2
bool try_tpm2;
if (CRED_KEY_WANTS_TPM2(with_key)) {