mirror of
https://github.com/systemd/systemd
synced 2024-09-06 08:46:19 +00:00
cryptsetup-token-systemd-fido2: use crypt_normalize_pin
Use the helper function introduced in the previous commit ("cryptsetup: implement cryptsetup_token_open_pin for systemd-tpm2 LUKS2 token") for cryptsetup-token-systemd-tpm2.
This commit is contained in:
parent
35ba2b4f01
commit
89db47550d
|
@ -43,18 +43,11 @@ _public_ int cryptsetup_token_open_pin(
|
|||
assert_se(token == r);
|
||||
assert(json);
|
||||
|
||||
if (pin && memchr(pin, 0, pin_size - 1))
|
||||
return crypt_log_error_errno(cd, ENOANO, "PIN must be characters string.");
|
||||
r = crypt_normalize_pin(pin, pin_size, &pin_string);
|
||||
if (r < 0)
|
||||
return crypt_log_debug_errno(cd, r, "Can not normalize PIN: %m");
|
||||
|
||||
/* pin was passed as pin = pin, pin_size = strlen(pin). We need to add terminating
|
||||
* NULL byte to addressable memory*/
|
||||
if (pin && pin[pin_size-1] != '\0') {
|
||||
pin_string = strndup(pin, pin_size);
|
||||
if (!pin_string)
|
||||
return crypt_log_oom(cd);
|
||||
}
|
||||
|
||||
return acquire_luks2_key(cd, json, (const char *)usrptr, pin_string ?: pin, password, password_len);
|
||||
return acquire_luks2_key(cd, json, (const char *)usrptr, pin_string, password, password_len);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue