Use u32 for 32-bit architectures

Signed-off-by: Patrick Uiterwijk <patrick@puiterwijk.org>
This commit is contained in:
Patrick Uiterwijk 2020-08-21 09:52:36 +02:00
parent a0420fb4e0
commit b7f8d115a7
2 changed files with 14 additions and 9 deletions

View file

@ -1,6 +1,6 @@
[package] [package]
name = "clevis-pin-tpm2" name = "clevis-pin-tpm2"
version = "0.1.1" version = "0.1.2"
authors = ["Patrick Uiterwijk <patrick@puiterwijk.org>"] authors = ["Patrick Uiterwijk <patrick@puiterwijk.org>"]
edition = "2018" edition = "2018"

View file

@ -7,6 +7,11 @@ use tss_esapi::utils::{
ObjectAttributes, PublicParmsUnion, Tpm2BPublicBuilder, TpmsEccParmsBuilder, ObjectAttributes, PublicParmsUnion, Tpm2BPublicBuilder, TpmsEccParmsBuilder,
}; };
#[cfg(target_pointer_width = "64")]
type Sizedu = u64;
#[cfg(target_pointer_width = "32")]
type Sizedu = u32;
use crate::PinError; use crate::PinError;
pub(super) fn get_key_public( pub(super) fn get_key_public(
@ -59,14 +64,14 @@ pub(super) fn create_tpm2b_public_sealed_object(
pub(super) fn get_tpm2b_public( pub(super) fn get_tpm2b_public(
val: tss_esapi::tss2_esys::TPM2B_PUBLIC, val: tss_esapi::tss2_esys::TPM2B_PUBLIC,
) -> Result<Vec<u8>, PinError> { ) -> Result<Vec<u8>, PinError> {
let mut offset = 0 as u64; let mut offset = 0 as Sizedu;
let mut resp = Vec::with_capacity((val.size + 4) as usize); let mut resp = Vec::with_capacity((val.size + 4) as usize);
unsafe { unsafe {
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PUBLIC_Marshal( let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PUBLIC_Marshal(
&val, &val,
resp.as_mut_ptr(), resp.as_mut_ptr(),
resp.capacity() as u64, resp.capacity() as Sizedu,
&mut offset, &mut offset,
); );
if res != 0 { if res != 0 {
@ -81,14 +86,14 @@ pub(super) fn get_tpm2b_public(
pub(super) fn get_tpm2b_private( pub(super) fn get_tpm2b_private(
val: tss_esapi::tss2_esys::TPM2B_PRIVATE, val: tss_esapi::tss2_esys::TPM2B_PRIVATE,
) -> Result<Vec<u8>, PinError> { ) -> Result<Vec<u8>, PinError> {
let mut offset = 0 as u64; let mut offset = 0 as Sizedu;
let mut resp = Vec::with_capacity((val.size + 4) as usize); let mut resp = Vec::with_capacity((val.size + 4) as usize);
unsafe { unsafe {
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PRIVATE_Marshal( let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PRIVATE_Marshal(
&val, &val,
resp.as_mut_ptr(), resp.as_mut_ptr(),
resp.capacity() as u64, resp.capacity() as Sizedu,
&mut offset, &mut offset,
); );
if res != 0 { if res != 0 {
@ -104,12 +109,12 @@ pub(super) fn build_tpm2b_private(
val: &[u8], val: &[u8],
) -> Result<tss_esapi::tss2_esys::TPM2B_PRIVATE, PinError> { ) -> Result<tss_esapi::tss2_esys::TPM2B_PRIVATE, PinError> {
let mut resp = tss_esapi::tss2_esys::TPM2B_PRIVATE::default(); let mut resp = tss_esapi::tss2_esys::TPM2B_PRIVATE::default();
let mut offset = 0 as u64; let mut offset = 0 as Sizedu;
unsafe { unsafe {
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PRIVATE_Unmarshal( let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PRIVATE_Unmarshal(
val[..].as_ptr(), val[..].as_ptr(),
val.len() as u64, val.len() as Sizedu,
&mut offset, &mut offset,
&mut resp, &mut resp,
); );
@ -125,12 +130,12 @@ pub(super) fn build_tpm2b_public(
val: &[u8], val: &[u8],
) -> Result<tss_esapi::tss2_esys::TPM2B_PUBLIC, PinError> { ) -> Result<tss_esapi::tss2_esys::TPM2B_PUBLIC, PinError> {
let mut resp = tss_esapi::tss2_esys::TPM2B_PUBLIC::default(); let mut resp = tss_esapi::tss2_esys::TPM2B_PUBLIC::default();
let mut offset = 0 as u64; let mut offset = 0 as Sizedu;
unsafe { unsafe {
let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PUBLIC_Unmarshal( let res = tss_esapi::tss2_esys::Tss2_MU_TPM2B_PUBLIC_Unmarshal(
val[..].as_ptr(), val[..].as_ptr(),
val.len() as u64, val.len() as Sizedu,
&mut offset, &mut offset,
&mut resp, &mut resp,
); );