chore: Cargo fmt & fix

This commit is contained in:
Karolin Varner
2024-03-12 22:11:17 -04:00
parent 3175b7b783
commit 4d482aaab7
2 changed files with 21 additions and 16 deletions

View File

@@ -129,7 +129,7 @@ pub struct CookieReplyInner {
#[derive(AsBytes, FromBytes, FromZeroes)] #[derive(AsBytes, FromBytes, FromZeroes)]
pub struct CookieReply { pub struct CookieReply {
pub inner: CookieReplyInner, pub inner: CookieReplyInner,
pub padding: [u8; size_of::<Envelope<InitHello>>() - size_of::<CookieReplyInner>()] pub padding: [u8; size_of::<Envelope<InitHello>>() - size_of::<CookieReplyInner>()],
} }
// Traits ///////////////////////////////////////////////////////////////////// // Traits /////////////////////////////////////////////////////////////////////

View File

@@ -73,7 +73,7 @@ use std::convert::Infallible;
use std::mem::size_of; use std::mem::size_of;
use anyhow::{bail, ensure, Context, Result}; use anyhow::{bail, ensure, Context, Result};
use rand::{Fill as Randomize, Rng}; use rand::Fill as Randomize;
use memoffset::span_of; use memoffset::span_of;
use rosenpass_cipher_traits::Kem; use rosenpass_cipher_traits::Kem;
@@ -985,10 +985,13 @@ impl CryptoServer {
&cookie_value, &cookie_value,
)?; )?;
msg_out.padding.try_fill(&mut rosenpass_secret_memory::rand::rng()).unwrap(); msg_out
.padding
.try_fill(&mut rosenpass_secret_memory::rand::rng())
.unwrap();
// length of the response // length of the response
let len = Some(size_of::<CookieReply>()); let _len = Some(size_of::<CookieReply>());
Ok(HandleMsgResult { Ok(HandleMsgResult {
exchanged_with: None, exchanged_with: None,
@@ -1007,7 +1010,8 @@ impl CryptoServer {
let msg_type = rx_buf[0].try_into(); let msg_type = rx_buf[0].try_into();
match msg_type { match msg_type {
Ok(MsgType::InitHello) => { Ok(MsgType::InitHello) => {
let msg_in = Ref::<&[u8], Envelope<InitHello>>::new(rx_buf).ok_or(RosenpassError::BufferSizeMismatch)?; let msg_in = Ref::<&[u8], Envelope<InitHello>>::new(rx_buf)
.ok_or(RosenpassError::BufferSizeMismatch)?;
expected.copy_from_slice( expected.copy_from_slice(
&hash_domains::cookie()? &hash_domains::cookie()?
.mix(cookie_value)? .mix(cookie_value)?
@@ -1019,7 +1023,8 @@ impl CryptoServer {
rx_sid.copy_from_slice(&msg_in.payload.sidi); rx_sid.copy_from_slice(&msg_in.payload.sidi);
} }
Ok(MsgType::InitConf) => { Ok(MsgType::InitConf) => {
let msg_in = Ref::<&[u8], Envelope<InitConf>>::new(rx_buf).ok_or(RosenpassError::BufferSizeMismatch)?; let msg_in = Ref::<&[u8], Envelope<InitConf>>::new(rx_buf)
.ok_or(RosenpassError::BufferSizeMismatch)?;
expected.copy_from_slice( expected.copy_from_slice(
&hash_domains::cookie()? &hash_domains::cookie()?
@@ -1444,7 +1449,8 @@ impl IniHsPtr {
} }
// Add cookie to retransmitted message // Add cookie to retransmitted message
let mut envelope = Ref::<&mut[u8], Envelope<InitHello>>::new(tx_buf).ok_or(RosenpassError::BufferSizeMismatch)?; let mut envelope = Ref::<&mut [u8], Envelope<InitHello>>::new(tx_buf)
.ok_or(RosenpassError::BufferSizeMismatch)?;
envelope.seal_cookie(self.peer(), srv)?; envelope.seal_cookie(self.peer(), srv)?;
Ok(ih_tx_len) Ok(ih_tx_len)
@@ -1509,7 +1515,8 @@ where
let cookie = hash_domains::cookie()? let cookie = hash_domains::cookie()?
.mix(cookie_key.value.secret())? .mix(cookie_key.value.secret())?
.mix(&self.as_bytes()[span_of!(Self, msg_type..cookie)])?; .mix(&self.as_bytes()[span_of!(Self, msg_type..cookie)])?;
self.cookie.copy_from_slice(cookie.into_value()[..16].as_ref()); self.cookie
.copy_from_slice(cookie.into_value()[..16].as_ref());
} }
Ok(()) Ok(())
} }
@@ -2057,7 +2064,10 @@ impl CryptoServer {
let peer_ptr: Option<PeerPtr> = self let peer_ptr: Option<PeerPtr> = self
.lookup_session(Public::new(cr.inner.sid)) .lookup_session(Public::new(cr.inner.sid))
.map(|v| PeerPtr(v.0)) .map(|v| PeerPtr(v.0))
.or_else(|| self.lookup_handshake(Public::new(cr.inner.sid)).map(|v| PeerPtr(v.0))); .or_else(|| {
self.lookup_handshake(Public::new(cr.inner.sid))
.map(|v| PeerPtr(v.0))
});
if let Some(peer) = peer_ptr { if let Some(peer) = peer_ptr {
// Get last transmitted handshake message // Get last transmitted handshake message
if let Some(ih) = &peer.get(self).handshake { if let Some(ih) = &peer.get(self).handshake {
@@ -2086,18 +2096,13 @@ impl CryptoServer {
"No last sent message for peer {pidr:?} to decrypt cookie reply.", "No last sent message for peer {pidr:?} to decrypt cookie reply.",
pidr = cr.inner.sid pidr = cr.inner.sid
), ),
}?; }?;
let spkt = peer.get(self).spkt.secret(); let spkt = peer.get(self).spkt.secret();
let cookie_key = hash_domains::cookie_key()?.mix(spkt)?.into_value(); let cookie_key = hash_domains::cookie_key()?.mix(spkt)?.into_value();
let cookie_value = peer.cv().update_mut(self).unwrap(); let cookie_value = peer.cv().update_mut(self).unwrap();
xaead::decrypt( xaead::decrypt(cookie_value, &cookie_key, &mac, &cr.inner.cookie_encrypted)?;
cookie_value,
&cookie_key,
&mac,
&cr.inner.cookie_encrypted,
)?;
// Immediately retransmit on recieving a cookie reply message // Immediately retransmit on recieving a cookie reply message
peer.hs().register_immediate_retransmission(self)?; peer.hs().register_immediate_retransmission(self)?;