Skip to content
This repository was archived by the owner on May 9, 2022. It is now read-only.

Commit 328887b

Browse files
committed
refactor(rtc_types,rtc_tenclave): move SealingError from rtc_tenclave to rtc_types::enclave_messages::errors
1 parent 61b48f3 commit 328887b

File tree

2 files changed

+28
-20
lines changed

2 files changed

+28
-20
lines changed

rtc_tenclave/src/dh/sealing.rs

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
33
use core::mem::size_of;
44

5-
use rkyv::ser::serializers::{BufferSerializer, BufferSerializerError};
5+
use rkyv::ser::serializers::BufferSerializer;
66
use rkyv::{Aligned, Archive, Deserialize, Infallible, Serialize};
77
use rtc_types::byte_formats::rkyv_format;
8+
use rtc_types::enclave_messages::errors::SealingError;
89
use rtc_types::enclave_messages::EncryptedEnclaveMessage;
9-
use sgx_types::sgx_status_t;
1010

1111
use crate::dh::ProtectedChannel;
1212

@@ -107,24 +107,6 @@ where
107107
unsafe { rkyv_format::view_array::<A>(&sealed.aad) }
108108
}
109109

110-
#[derive(Debug)]
111-
pub enum SealingError {
112-
Rkyv(BufferSerializerError),
113-
Sgx(sgx_status_t),
114-
}
115-
116-
impl From<BufferSerializerError> for SealingError {
117-
fn from(error: BufferSerializerError) -> Self {
118-
SealingError::Rkyv(error)
119-
}
120-
}
121-
122-
impl From<sgx_status_t> for SealingError {
123-
fn from(status: sgx_status_t) -> Self {
124-
SealingError::Sgx(status)
125-
}
126-
}
127-
128110
#[cfg(test)]
129111
mod tests {
130112
use proptest::prelude::*;

rtc_types/src/enclave_messages/errors.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
33
use std::sync::PoisonError;
44

5+
use rkyv::ser::serializers::BufferSerializerError;
56
use sgx_types::{sgx_enclave_id_t, sgx_status_t};
67
use thiserror::Error;
78

@@ -36,3 +37,28 @@ impl From<sgx_status_t> for AcquireSessionError {
3637
AcquireSessionError::Sgx(err)
3738
}
3839
}
40+
41+
#[derive(Debug)] // core
42+
#[derive(Error)] // thiserror
43+
pub enum SealingError {
44+
#[error("Failed to acquire ProtectedChannel: {0}")]
45+
ChannelNotFound(#[from] AcquireSessionError),
46+
47+
#[error("Failed to rkyv-serialize message: {0:?}")]
48+
RkyvSerializerFailed(BufferSerializerError),
49+
50+
#[error("SGX error: {0:?}")]
51+
Sgx(sgx_status_t),
52+
}
53+
54+
impl From<BufferSerializerError> for SealingError {
55+
fn from(error: BufferSerializerError) -> Self {
56+
SealingError::RkyvSerializerFailed(error)
57+
}
58+
}
59+
60+
impl From<sgx_status_t> for SealingError {
61+
fn from(status: sgx_status_t) -> Self {
62+
SealingError::Sgx(status)
63+
}
64+
}

0 commit comments

Comments
 (0)