rust learning of today: to avoid integer overflows when summing up lengths, always use checked_add in such situations :-)
E.g., this is wrong:
let total_body_len =
handle_area_size + parameter_area_size_field_len + param_area_size + sessions_len;
And this is right:
let total_body_len = handle_area_size
.checked_add(parameter_area_size_field_len)
.and_then(|len| len.checked_add(param_area_size))
.and_then(|len| len.checked_add(sessions_len))
.ok_or(TpmProtocolError::IntegerTooLarge)?;
Heh, Amazon's satellite internet service launched yesterday and their first marketing angle is “how about you get your AWS Direct Connect over satellite instead of paying for cross connects”
https://www.aboutamazon.com/news/amazon-leo/amazon-leo-satellite-internet-ultra-pro