You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@teaclave.apache.org by ms...@apache.org on 2020/02/06 23:27:54 UTC
[incubator-teaclave] branch develop updated: [binder] Merge ipc
into binder
This is an automated email from the ASF dual-hosted git repository.
mssun pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave.git
The following commit(s) were added to refs/heads/develop by this push:
new ad2accf [binder] Merge ipc into binder
ad2accf is described below
commit ad2accf60d04fdd3f6eeb4a59dec9e2a3bb91505
Author: Mingshen Sun <bo...@mssun.me>
AuthorDate: Thu Feb 6 15:20:00 2020 -0800
[binder] Merge ipc into binder
---
binder/Cargo.toml | 16 +++++++-
{ipc => binder}/attribute/Cargo.toml | 2 +-
{ipc => binder}/attribute/src/lib.rs | 0
binder/src/binder.rs | 7 ++--
.../channel/app_dep.rs => binder/src/ipc/app.rs | 7 ++--
.../tee_dep.rs => binder/src/ipc/enclave.rs | 10 ++---
ipc/src/lib.rs => binder/src/ipc/mod.rs | 45 ++++++----------------
binder/src/lib.rs | 21 +++++++---
{ipc => binder}/src/macros.rs | 8 ++--
{ipc => binder}/src/proto.rs | 0
ipc/Cargo.toml | 29 --------------
ipc/src/channel/mod.rs | 21 ----------
services/access_control/app/Cargo.toml | 3 +-
services/access_control/app/src/main.rs | 2 +-
services/access_control/enclave/Cargo.toml | 6 +--
services/access_control/enclave/src/lib.rs | 4 +-
services/authentication/app/Cargo.toml | 3 +-
services/authentication/app/src/main.rs | 2 +-
services/authentication/enclave/Cargo.toml | 6 +--
services/authentication/enclave/src/lib.rs | 6 +--
services/execution/app/Cargo.toml | 3 +-
services/execution/app/src/main.rs | 2 +-
services/execution/enclave/Cargo.toml | 6 +--
services/execution/enclave/src/lib.rs | 4 +-
services/frontend/app/Cargo.toml | 3 +-
services/frontend/app/src/main.rs | 2 +-
services/frontend/enclave/Cargo.toml | 6 +--
services/frontend/enclave/src/lib.rs | 6 +--
services/management/app/Cargo.toml | 3 +-
services/management/app/src/main.rs | 2 +-
services/management/enclave/Cargo.toml | 6 +--
services/management/enclave/src/lib.rs | 4 +-
services/storage/app/Cargo.toml | 3 +-
services/storage/app/src/main.rs | 2 +-
services/storage/enclave/Cargo.toml | 6 +--
services/storage/enclave/src/lib.rs | 4 +-
tests/functional_tests/app/Cargo.toml | 3 +-
tests/functional_tests/app/src/main.rs | 2 +-
tests/functional_tests/enclave/Cargo.toml | 4 +-
tests/functional_tests/enclave/src/lib.rs | 4 +-
tests/integration_tests/app/Cargo.toml | 3 +-
tests/integration_tests/app/src/main.rs | 2 +-
tests/integration_tests/enclave/Cargo.toml | 4 +-
tests/integration_tests/enclave/src/lib.rs | 4 +-
tests/unit_tests/app/Cargo.toml | 3 +-
tests/unit_tests/app/src/main.rs | 2 +-
tests/unit_tests/enclave/Cargo.toml | 4 +-
tests/unit_tests/enclave/src/lib.rs | 4 +-
48 files changed, 118 insertions(+), 181 deletions(-)
diff --git a/binder/Cargo.toml b/binder/Cargo.toml
index 209207c..6dee9db 100644
--- a/binder/Cargo.toml
+++ b/binder/Cargo.toml
@@ -6,7 +6,17 @@ description = "Abstract communication interfaces between TEE untrusted/trusted w
license = "Apache-2.0"
edition = "2018"
+[features]
+default = []
+app = ["sgx_urts"]
+mesalock_sgx = [
+ "sgx_tstd",
+ "teaclave_binder_attribute"
+]
+enclave_unit_test = []
+
[dependencies]
+cfg-if = { version = "0.1.9" }
anyhow = { version = "1.0.26" }
env_logger = { version = "0.7.1" }
log = { version = "0.4.6" }
@@ -14,8 +24,10 @@ serde = { version = "1.0.92", features = ["derive"] }
serde_json = { version = "1.0.39" }
thiserror = { version = "1.0.9" }
-teaclave_ipc = { path = "../ipc" }
teaclave_types = { path = "../types" }
+teaclave_config = { path = "../config" }
+teaclave_binder_attribute = { path = "./attribute", optional = true }
sgx_types = { version = "1.1.0" }
-sgx_urts = { version = "1.1.0", features = ["global_init"] }
+sgx_urts = { version = "1.1.0", features = ["global_init"], optional = true }
+sgx_tstd = { version = "1.1.0", features = ["net", "backtrace"], optional = true }
diff --git a/ipc/attribute/Cargo.toml b/binder/attribute/Cargo.toml
similarity index 82%
rename from ipc/attribute/Cargo.toml
rename to binder/attribute/Cargo.toml
index 10901e1..e59c434 100644
--- a/ipc/attribute/Cargo.toml
+++ b/binder/attribute/Cargo.toml
@@ -1,5 +1,5 @@
[package]
-name = "teaclave_ipc_attribute"
+name = "teaclave_binder_attribute"
version = "0.1.0"
authors = ["root"]
edition = "2018"
diff --git a/ipc/attribute/src/lib.rs b/binder/attribute/src/lib.rs
similarity index 100%
rename from ipc/attribute/src/lib.rs
rename to binder/attribute/src/lib.rs
diff --git a/binder/src/binder.rs b/binder/src/binder.rs
index 7c3a70e..867e9be 100644
--- a/binder/src/binder.rs
+++ b/binder/src/binder.rs
@@ -18,13 +18,14 @@
use sgx_types::*;
use sgx_urts::SgxEnclave;
+use log::{debug, info};
use serde::{Deserialize, Serialize};
-use teaclave_ipc::channel::ECallChannel;
-use teaclave_ipc::proto::{
+use crate::ipc::ECallChannel;
+use crate::ipc::IpcSender;
+use crate::proto::{
ECallCommand, FinalizeEnclaveInput, FinalizeEnclaveOutput, InitEnclaveInput, InitEnclaveOutput,
};
-use teaclave_ipc::IpcSender;
use teaclave_types::TeeServiceResult;
static ENCLAVE_FILE_SUFFIX: &str = "_enclave.signed.so";
diff --git a/ipc/src/channel/app_dep.rs b/binder/src/ipc/app.rs
similarity index 97%
rename from ipc/src/channel/app_dep.rs
rename to binder/src/ipc/app.rs
index 39f79e6..922053a 100644
--- a/ipc/src/channel/app_dep.rs
+++ b/binder/src/ipc/app.rs
@@ -15,16 +15,15 @@
// specific language governing permissions and limitations
// under the License.
-// Insert std prelude in the top for the sgx feature
-#[cfg(feature = "mesalock_sgx")]
use std::prelude::v1::*;
use serde::{Deserialize, Serialize};
use sgx_types::{sgx_enclave_id_t, sgx_status_t};
-use crate::IpcError;
-use crate::IpcSender;
+use crate::ipc::IpcError;
+use crate::ipc::IpcSender;
+use log::{debug, error};
use teaclave_types::EnclaveStatus;
// Delaration of ecall for App, the implementation is in TEE
diff --git a/ipc/src/channel/tee_dep.rs b/binder/src/ipc/enclave.rs
similarity index 84%
rename from ipc/src/channel/tee_dep.rs
rename to binder/src/ipc/enclave.rs
index 2515616..66a0e4d 100644
--- a/ipc/src/channel/tee_dep.rs
+++ b/binder/src/ipc/enclave.rs
@@ -15,23 +15,19 @@
// specific language governing permissions and limitations
// under the License.
-// Insert std prelude in the top for the sgx feature
-#[cfg(feature = "mesalock_sgx")]
use std::prelude::v1::*;
use serde;
use serde_json;
-use crate::IpcReceiver;
-use crate::IpcService;
-use anyhow::Result;
+use crate::ipc::{IpcReceiver, IpcService};
// Implementation of Receiver
// The receiver is TEE, the sender is App
-pub struct ECallReceiver {}
+pub struct ECallReceiver;
impl IpcReceiver for ECallReceiver {
- fn dispatch<U, V, X>(input_payload: &[u8], x: X) -> Result<Vec<u8>>
+ fn dispatch<U, V, X>(input_payload: &[u8], x: X) -> anyhow::Result<Vec<u8>>
where
U: for<'de> serde::Deserialize<'de>,
V: serde::Serialize,
diff --git a/ipc/src/lib.rs b/binder/src/ipc/mod.rs
similarity index 53%
rename from ipc/src/lib.rs
rename to binder/src/ipc/mod.rs
index 2a9f42a..2669acc 100644
--- a/ipc/src/lib.rs
+++ b/binder/src/ipc/mod.rs
@@ -1,33 +1,5 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-#![cfg_attr(feature = "mesalock_sgx", no_std)]
-#[cfg(feature = "mesalock_sgx")]
-#[macro_use]
-extern crate sgx_tstd as std;
-
-#[macro_use]
-extern crate log;
-
-#[cfg(feature = "mesalock_sgx")]
-use std::prelude::v1::*;
-
-use anyhow::Result;
use serde::{Deserialize, Serialize};
+use std::prelude::v1::*;
// Intra-Process-Communication
// Developer should split a process into two partitions, App and TEE.
@@ -59,7 +31,7 @@ where
// Generic X: Service Instance that serves of <U, V>
// Dispatch a received input to a specific service instance.
pub trait IpcReceiver {
- fn dispatch<U, V, X>(input: &[u8], x: X) -> Result<Vec<u8>>
+ fn dispatch<U, V, X>(input: &[u8], x: X) -> anyhow::Result<Vec<u8>>
where
U: for<'de> Deserialize<'de>,
V: Serialize,
@@ -78,7 +50,12 @@ pub enum IpcError {
TeeServiceError,
}
-pub mod channel;
-pub mod macros;
-pub mod proto;
-pub use teaclave_ipc_attribute::handle_ecall;
+cfg_if::cfg_if! {
+ if #[cfg(feature = "app")] {
+ mod app;
+ pub use app::ECallChannel;
+ } else if #[cfg(feature = "mesalock_sgx")] {
+ mod enclave;
+ pub use enclave::ECallReceiver;
+ }
+}
diff --git a/binder/src/lib.rs b/binder/src/lib.rs
index bbde925..ee8ee37 100644
--- a/binder/src/lib.rs
+++ b/binder/src/lib.rs
@@ -15,9 +15,20 @@
// specific language governing permissions and limitations
// under the License.
-#[macro_use]
-extern crate log;
+#![cfg_attr(feature = "mesalock_sgx", no_std)]
+#[cfg(feature = "mesalock_sgx")]
+extern crate sgx_tstd as std;
-mod binder;
-mod ocall;
-pub use binder::TeeBinder;
+pub mod ipc;
+pub mod proto;
+
+cfg_if::cfg_if! {
+ if #[cfg(feature = "app")] {
+ mod binder;
+ mod ocall;
+ pub use binder::TeeBinder;
+ } else if #[cfg(feature = "mesalock_sgx")] {
+ mod macros;
+ pub use teaclave_binder_attribute::handle_ecall;
+ }
+}
diff --git a/ipc/src/macros.rs b/binder/src/macros.rs
similarity index 95%
rename from ipc/src/macros.rs
rename to binder/src/macros.rs
index e012d5e..e4b556a 100644
--- a/ipc/src/macros.rs
+++ b/binder/src/macros.rs
@@ -16,6 +16,7 @@
// under the License.
// ATTN: Must bring `use ipc::IpcReceiver` into scope when use!!
+#[cfg(feature = "mesalock_sgx")]
#[macro_export]
macro_rules! register_ecall_handler {
( type $cmd_type: ty, $( ($cmd: path, $arg: ty, $ret: ty), )* ) =>
@@ -29,8 +30,7 @@ macro_rules! register_ecall_handler {
_ => anyhow::bail!("ECallCommandNotRegistered"),
}
}
- use teaclave_ipc::IpcService;
- use teaclave_ipc::IpcReceiver;
+ use teaclave_binder::ipc::IpcReceiver;
// Declear a local trait, the [handle_ecall] attribute macro
// will help implement this trait and call user defined function.
@@ -60,7 +60,7 @@ macro_rules! register_ecall_handler {
}
}
- impl<U, V> IpcService<U, V> for ServeInstance<U, V>
+ impl<U, V> teaclave_binder::ipc::IpcService<U, V> for ServeInstance<U, V>
where
U: HandleRequest<V> + for<'de> serde::Deserialize<'de>,
V: serde::Serialize,
@@ -77,7 +77,7 @@ macro_rules! register_ecall_handler {
V: serde::Serialize,
{
let instance = ServeInstance::<U, V>::new();
- teaclave_ipc::channel::ECallReceiver::dispatch(input, instance)
+ teaclave_binder::ipc::ECallReceiver::dispatch(input, instance)
}
/// The actual ecall function defined in .edl.
diff --git a/ipc/src/proto.rs b/binder/src/proto.rs
similarity index 100%
rename from ipc/src/proto.rs
rename to binder/src/proto.rs
diff --git a/ipc/Cargo.toml b/ipc/Cargo.toml
deleted file mode 100644
index 89274ef..0000000
--- a/ipc/Cargo.toml
+++ /dev/null
@@ -1,29 +0,0 @@
-[package]
-name = "teaclave_ipc"
-version = "0.1.0"
-authors = ["Teaclave Contributors <de...@teaclave.apache.org>"]
-description = "Teaclave IPC"
-license = "Apache-2.0"
-edition = "2018"
-
-[features]
-default = []
-mesalock_sgx = [
- "sgx_tstd",
- "teaclave_types/mesalock_sgx",
-]
-enclave_unit_test = []
-
-[dependencies]
-serde = { version = "1.0.92", features = ["derive"] }
-anyhow = { version = "1.0.26" }
-serde_json = { version = "1.0.39" }
-log = { version = "0.4.6" }
-thiserror = { version = "1.0.9" }
-
-teaclave_ipc_attribute = { path = "./attribute" }
-teaclave_types = { path = "../types" }
-teaclave_config = { path = "../config" }
-
-sgx_tstd = { version = "1.1.0", features = ["net", "backtrace"], optional = true }
-sgx_types = { version = "1.1.0" }
diff --git a/ipc/src/channel/mod.rs b/ipc/src/channel/mod.rs
deleted file mode 100644
index 48386ec..0000000
--- a/ipc/src/channel/mod.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-mod app_dep;
-mod tee_dep;
-pub use app_dep::ECallChannel;
-pub use tee_dep::ECallReceiver;
diff --git a/services/access_control/app/Cargo.toml b/services/access_control/app/Cargo.toml
index 79b88de..7b93228 100644
--- a/services/access_control/app/Cargo.toml
+++ b/services/access_control/app/Cargo.toml
@@ -12,8 +12,7 @@ log = { version = "0.4.6" }
env_logger = { version = "0.7.1" }
anyhow = { version = "1.0.26" }
-teaclave_ipc = { path = "../../../ipc" }
-teaclave_binder = { path = "../../../binder" }
+teaclave_binder = { path = "../../../binder", features = ["app"] }
teaclave_config = { path = "../../../config" }
teaclave_types = { path = "../../../types" }
diff --git a/services/access_control/app/src/main.rs b/services/access_control/app/src/main.rs
index 5bfbeb3..37b19b8 100644
--- a/services/access_control/app/src/main.rs
+++ b/services/access_control/app/src/main.rs
@@ -19,8 +19,8 @@
extern crate log;
use anyhow::Result;
+use teaclave_binder::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_binder::TeeBinder;
-use teaclave_ipc::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_types::TeeServiceResult;
fn main() -> Result<()> {
diff --git a/services/access_control/enclave/Cargo.toml b/services/access_control/enclave/Cargo.toml
index 359c862..bbef27a 100644
--- a/services/access_control/enclave/Cargo.toml
+++ b/services/access_control/enclave/Cargo.toml
@@ -16,14 +16,14 @@ mesalock_sgx = [
"sgx_tstd",
"teaclave_attestation/mesalock_sgx",
"teaclave_proto/mesalock_sgx",
- "teaclave_ipc/mesalock_sgx",
+ "teaclave_binder/mesalock_sgx",
"teaclave_rpc/mesalock_sgx",
"teaclave_service_enclave_utils/mesalock_sgx",
"teaclave_types/mesalock_sgx",
"teaclave_config/mesalock_sgx",
]
cov = ["teaclave_service_enclave_utils/cov"]
-enclave_unit_test = ["teaclave_ipc/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
+enclave_unit_test = ["teaclave_binder/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
[dependencies]
anyhow = { version = "1.0.26" }
@@ -38,7 +38,7 @@ rand = { version = "0.7.0" }
teaclave_attestation = { path = "../../../attestation" }
teaclave_config = { path = "../../../config" }
teaclave_proto = { path = "../../proto" }
-teaclave_ipc = { path = "../../../ipc" }
+teaclave_binder = { path = "../../../binder" }
teaclave_rpc = { path = "../../../rpc" }
teaclave_service_enclave_utils = { path = "../../../utils/service_enclave_utils" }
teaclave_types = { path = "../../../types" }
diff --git a/services/access_control/enclave/src/lib.rs b/services/access_control/enclave/src/lib.rs
index 8ac92f7..5086106 100644
--- a/services/access_control/enclave/src/lib.rs
+++ b/services/access_control/enclave/src/lib.rs
@@ -25,11 +25,11 @@ extern crate log;
use std::prelude::v1::*;
use teaclave_attestation::{AttestationConfig, RemoteAttestation};
-use teaclave_ipc::proto::{
+use teaclave_binder::proto::{
ECallCommand, FinalizeEnclaveInput, FinalizeEnclaveOutput, InitEnclaveInput, InitEnclaveOutput,
StartServiceInput, StartServiceOutput,
};
-use teaclave_ipc::{handle_ecall, register_ecall_handler};
+use teaclave_binder::{handle_ecall, register_ecall_handler};
use teaclave_proto::teaclave_access_control_service::{
TeaclaveAccessControlRequest, TeaclaveAccessControlResponse,
};
diff --git a/services/authentication/app/Cargo.toml b/services/authentication/app/Cargo.toml
index dd4a2bd..1621a8d 100644
--- a/services/authentication/app/Cargo.toml
+++ b/services/authentication/app/Cargo.toml
@@ -12,8 +12,7 @@ log = { version = "0.4.6" }
env_logger = { version = "0.7.1" }
anyhow = { version = "1.0.26" }
-teaclave_ipc = { path = "../../../ipc" }
-teaclave_binder = { path = "../../../binder" }
+teaclave_binder = { path = "../../../binder", features = ["app"] }
teaclave_config = { path = "../../../config" }
teaclave_types = { path = "../../../types" }
diff --git a/services/authentication/app/src/main.rs b/services/authentication/app/src/main.rs
index 5bfbeb3..37b19b8 100644
--- a/services/authentication/app/src/main.rs
+++ b/services/authentication/app/src/main.rs
@@ -19,8 +19,8 @@
extern crate log;
use anyhow::Result;
+use teaclave_binder::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_binder::TeeBinder;
-use teaclave_ipc::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_types::TeeServiceResult;
fn main() -> Result<()> {
diff --git a/services/authentication/enclave/Cargo.toml b/services/authentication/enclave/Cargo.toml
index 6e5d8fa..adea3c8 100644
--- a/services/authentication/enclave/Cargo.toml
+++ b/services/authentication/enclave/Cargo.toml
@@ -16,15 +16,15 @@ mesalock_sgx = [
"sgx_tstd",
"teaclave_attestation/mesalock_sgx",
"teaclave_proto/mesalock_sgx",
- "teaclave_ipc/mesalock_sgx",
"teaclave_rpc/mesalock_sgx",
"teaclave_service_enclave_utils/mesalock_sgx",
"teaclave_types/mesalock_sgx",
"teaclave_config/mesalock_sgx",
+ "teaclave_binder/mesalock_sgx",
"rusty-leveldb/mesalock_sgx",
]
cov = ["teaclave_service_enclave_utils/cov"]
-enclave_unit_test = ["teaclave_ipc/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
+enclave_unit_test = ["teaclave_binder/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
[dependencies]
anyhow = { version = "1.0.26" }
@@ -42,8 +42,8 @@ rusty-leveldb = { path = "../../../common/rusty_leveldb_sgx" }
teaclave_attestation = { path = "../../../attestation" }
teaclave_config = { path = "../../../config" }
teaclave_proto = { path = "../../proto" }
-teaclave_ipc = { path = "../../../ipc" }
teaclave_rpc = { path = "../../../rpc" }
+teaclave_binder = { path = "../../../binder" }
teaclave_service_enclave_utils = { path = "../../../utils/service_enclave_utils" }
teaclave_types = { path = "../../../types" }
teaclave_test_utils = { path = "../../../tests/test_utils", optional = true }
diff --git a/services/authentication/enclave/src/lib.rs b/services/authentication/enclave/src/lib.rs
index 33366da..38a4e0a 100644
--- a/services/authentication/enclave/src/lib.rs
+++ b/services/authentication/enclave/src/lib.rs
@@ -29,12 +29,12 @@ use std::sync::Arc;
use std::thread;
use teaclave_attestation::verifier;
use teaclave_attestation::{AttestationConfig, RemoteAttestation};
-use teaclave_config::BUILD_CONFIG;
-use teaclave_ipc::proto::{
+use teaclave_binder::proto::{
ECallCommand, FinalizeEnclaveInput, FinalizeEnclaveOutput, InitEnclaveInput, InitEnclaveOutput,
StartServiceInput, StartServiceOutput,
};
-use teaclave_ipc::{handle_ecall, register_ecall_handler};
+use teaclave_binder::{handle_ecall, register_ecall_handler};
+use teaclave_config::BUILD_CONFIG;
use teaclave_proto::teaclave_authentication_service::{
TeaclaveAuthenticationApiRequest, TeaclaveAuthenticationApiResponse,
TeaclaveAuthenticationInternalRequest, TeaclaveAuthenticationInternalResponse,
diff --git a/services/execution/app/Cargo.toml b/services/execution/app/Cargo.toml
index a602063..83bd8d3 100644
--- a/services/execution/app/Cargo.toml
+++ b/services/execution/app/Cargo.toml
@@ -15,8 +15,7 @@ log = { version = "0.4.6" }
env_logger = { version = "0.7.1" }
anyhow = { version = "1.0.26" }
-teaclave_ipc = { path = "../../../ipc" }
-teaclave_binder = { path = "../../../binder" }
+teaclave_binder = { path = "../../../binder", features = ["app"] }
teaclave_config = { path = "../../../config" }
teaclave_types = { path = "../../../types" }
diff --git a/services/execution/app/src/main.rs b/services/execution/app/src/main.rs
index 5bfbeb3..37b19b8 100644
--- a/services/execution/app/src/main.rs
+++ b/services/execution/app/src/main.rs
@@ -19,8 +19,8 @@
extern crate log;
use anyhow::Result;
+use teaclave_binder::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_binder::TeeBinder;
-use teaclave_ipc::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_types::TeeServiceResult;
fn main() -> Result<()> {
diff --git a/services/execution/enclave/Cargo.toml b/services/execution/enclave/Cargo.toml
index 58d8e3a..b286f61 100644
--- a/services/execution/enclave/Cargo.toml
+++ b/services/execution/enclave/Cargo.toml
@@ -16,7 +16,7 @@ mesalock_sgx = [
"sgx_tstd",
"teaclave_attestation/mesalock_sgx",
"teaclave_proto/mesalock_sgx",
- "teaclave_ipc/mesalock_sgx",
+ "teaclave_binder/mesalock_sgx",
"teaclave_rpc/mesalock_sgx",
"teaclave_service_enclave_utils/mesalock_sgx",
"teaclave_types/mesalock_sgx",
@@ -24,7 +24,7 @@ mesalock_sgx = [
"teaclave_worker/mesalock_sgx",
]
cov = ["sgx_cov"]
-enclave_unit_test = ["teaclave_ipc/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
+enclave_unit_test = ["teaclave_binder/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
[dependencies]
log = { version = "0.4.6" }
@@ -38,7 +38,7 @@ lazy_static = { version = "1.0.2", features = ["spin_no_std"] }
teaclave_attestation = { path = "../../../attestation" }
teaclave_config = { path = "../../../config" }
teaclave_proto = { path = "../../proto" }
-teaclave_ipc = { path = "../../../ipc" }
+teaclave_binder = { path = "../../../binder" }
teaclave_rpc = { path = "../../../rpc" }
teaclave_service_enclave_utils = { path = "../../../utils/service_enclave_utils" }
teaclave_types = { path = "../../../types" }
diff --git a/services/execution/enclave/src/lib.rs b/services/execution/enclave/src/lib.rs
index 76776af..c4545ba 100644
--- a/services/execution/enclave/src/lib.rs
+++ b/services/execution/enclave/src/lib.rs
@@ -27,11 +27,11 @@ extern crate log;
mod service;
-use teaclave_ipc::proto::{
+use teaclave_binder::proto::{
ECallCommand, FinalizeEnclaveInput, FinalizeEnclaveOutput, InitEnclaveInput, InitEnclaveOutput,
StartServiceInput, StartServiceOutput,
};
-use teaclave_ipc::{handle_ecall, register_ecall_handler};
+use teaclave_binder::{handle_ecall, register_ecall_handler};
use teaclave_service_enclave_utils::ServiceEnclave;
diff --git a/services/frontend/app/Cargo.toml b/services/frontend/app/Cargo.toml
index 971b2a3..40b5c21 100644
--- a/services/frontend/app/Cargo.toml
+++ b/services/frontend/app/Cargo.toml
@@ -12,8 +12,7 @@ log = { version = "0.4.6" }
env_logger = { version = "0.7.1" }
anyhow = { version = "1.0.26" }
-teaclave_ipc = { path = "../../../ipc" }
-teaclave_binder = { path = "../../../binder" }
+teaclave_binder = { path = "../../../binder", features = ["app"] }
teaclave_config = { path = "../../../config" }
teaclave_types = { path = "../../../types" }
diff --git a/services/frontend/app/src/main.rs b/services/frontend/app/src/main.rs
index 5bfbeb3..37b19b8 100644
--- a/services/frontend/app/src/main.rs
+++ b/services/frontend/app/src/main.rs
@@ -19,8 +19,8 @@
extern crate log;
use anyhow::Result;
+use teaclave_binder::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_binder::TeeBinder;
-use teaclave_ipc::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_types::TeeServiceResult;
fn main() -> Result<()> {
diff --git a/services/frontend/enclave/Cargo.toml b/services/frontend/enclave/Cargo.toml
index 67c4b42..06cc6cc 100644
--- a/services/frontend/enclave/Cargo.toml
+++ b/services/frontend/enclave/Cargo.toml
@@ -16,14 +16,14 @@ mesalock_sgx = [
"sgx_tstd",
"teaclave_attestation/mesalock_sgx",
"teaclave_proto/mesalock_sgx",
- "teaclave_ipc/mesalock_sgx",
+ "teaclave_binder/mesalock_sgx",
"teaclave_rpc/mesalock_sgx",
"teaclave_service_enclave_utils/mesalock_sgx",
"teaclave_types/mesalock_sgx",
"teaclave_config/mesalock_sgx",
]
cov = ["teaclave_service_enclave_utils/cov"]
-enclave_unit_test = ["teaclave_ipc/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
+enclave_unit_test = ["teaclave_binder/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
[dependencies]
anyhow = { version = "1.0.26" }
@@ -38,7 +38,7 @@ rand = { version = "0.7.0" }
teaclave_attestation = { path = "../../../attestation" }
teaclave_config = { path = "../../../config" }
teaclave_proto = { path = "../../proto" }
-teaclave_ipc = { path = "../../../ipc" }
+teaclave_binder = { path = "../../../binder" }
teaclave_rpc = { path = "../../../rpc" }
teaclave_service_enclave_utils = { path = "../../../utils/service_enclave_utils" }
teaclave_types = { path = "../../../types" }
diff --git a/services/frontend/enclave/src/lib.rs b/services/frontend/enclave/src/lib.rs
index da27852..7ffd5a1 100644
--- a/services/frontend/enclave/src/lib.rs
+++ b/services/frontend/enclave/src/lib.rs
@@ -26,12 +26,12 @@ extern crate log;
use std::prelude::v1::*;
use teaclave_attestation::verifier;
use teaclave_attestation::{AttestationConfig, RemoteAttestation};
-use teaclave_config::BUILD_CONFIG;
-use teaclave_ipc::proto::{
+use teaclave_binder::proto::{
ECallCommand, FinalizeEnclaveInput, FinalizeEnclaveOutput, InitEnclaveInput, InitEnclaveOutput,
StartServiceInput, StartServiceOutput,
};
-use teaclave_ipc::{handle_ecall, register_ecall_handler};
+use teaclave_binder::{handle_ecall, register_ecall_handler};
+use teaclave_config::BUILD_CONFIG;
use teaclave_proto::teaclave_frontend_service::{
TeaclaveFrontendRequest, TeaclaveFrontendResponse,
};
diff --git a/services/management/app/Cargo.toml b/services/management/app/Cargo.toml
index af7c251..f9fd7e7 100644
--- a/services/management/app/Cargo.toml
+++ b/services/management/app/Cargo.toml
@@ -12,8 +12,7 @@ log = { version = "0.4.6" }
env_logger = { version = "0.7.1" }
anyhow = { version = "1.0.26" }
-teaclave_ipc = { path = "../../../ipc" }
-teaclave_binder = { path = "../../../binder" }
+teaclave_binder = { path = "../../../binder", features = ["app"] }
teaclave_config = { path = "../../../config" }
teaclave_types = { path = "../../../types" }
diff --git a/services/management/app/src/main.rs b/services/management/app/src/main.rs
index 5bfbeb3..37b19b8 100644
--- a/services/management/app/src/main.rs
+++ b/services/management/app/src/main.rs
@@ -19,8 +19,8 @@
extern crate log;
use anyhow::Result;
+use teaclave_binder::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_binder::TeeBinder;
-use teaclave_ipc::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_types::TeeServiceResult;
fn main() -> Result<()> {
diff --git a/services/management/enclave/Cargo.toml b/services/management/enclave/Cargo.toml
index 28c598b..5767172 100644
--- a/services/management/enclave/Cargo.toml
+++ b/services/management/enclave/Cargo.toml
@@ -16,14 +16,14 @@ mesalock_sgx = [
"sgx_tstd",
"teaclave_attestation/mesalock_sgx",
"teaclave_proto/mesalock_sgx",
- "teaclave_ipc/mesalock_sgx",
+ "teaclave_binder/mesalock_sgx",
"teaclave_rpc/mesalock_sgx",
"teaclave_service_enclave_utils/mesalock_sgx",
"teaclave_types/mesalock_sgx",
"teaclave_config/mesalock_sgx",
]
cov = ["teaclave_service_enclave_utils/cov"]
-enclave_unit_test = ["teaclave_ipc/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
+enclave_unit_test = ["teaclave_binder/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
[dependencies]
anyhow = { version = "1.0.26" }
@@ -38,7 +38,7 @@ rand = { version = "0.7.0" }
teaclave_attestation = { path = "../../../attestation" }
teaclave_config = { path = "../../../config" }
teaclave_proto = { path = "../../proto" }
-teaclave_ipc = { path = "../../../ipc" }
+teaclave_binder = { path = "../../../binder" }
teaclave_rpc = { path = "../../../rpc" }
teaclave_service_enclave_utils = { path = "../../../utils/service_enclave_utils" }
teaclave_types = { path = "../../../types" }
diff --git a/services/management/enclave/src/lib.rs b/services/management/enclave/src/lib.rs
index 9af1d48..d0fe71b 100644
--- a/services/management/enclave/src/lib.rs
+++ b/services/management/enclave/src/lib.rs
@@ -25,11 +25,11 @@ extern crate log;
use std::prelude::v1::*;
use teaclave_attestation::{AttestationConfig, RemoteAttestation};
-use teaclave_ipc::proto::{
+use teaclave_binder::proto::{
ECallCommand, FinalizeEnclaveInput, FinalizeEnclaveOutput, InitEnclaveInput, InitEnclaveOutput,
StartServiceInput, StartServiceOutput,
};
-use teaclave_ipc::{handle_ecall, register_ecall_handler};
+use teaclave_binder::{handle_ecall, register_ecall_handler};
use teaclave_proto::teaclave_management_service::{
TeaclaveManagementRequest, TeaclaveManagementResponse,
};
diff --git a/services/storage/app/Cargo.toml b/services/storage/app/Cargo.toml
index d76647c..f26371b 100644
--- a/services/storage/app/Cargo.toml
+++ b/services/storage/app/Cargo.toml
@@ -12,8 +12,7 @@ log = { version = "0.4.6" }
env_logger = { version = "0.7.1" }
anyhow = { version = "1.0.26" }
-teaclave_ipc = { path = "../../../ipc" }
-teaclave_binder = { path = "../../../binder" }
+teaclave_binder = { path = "../../../binder", features = ["app"] }
teaclave_config = { path = "../../../config" }
teaclave_types = { path = "../../../types" }
diff --git a/services/storage/app/src/main.rs b/services/storage/app/src/main.rs
index 5bfbeb3..37b19b8 100644
--- a/services/storage/app/src/main.rs
+++ b/services/storage/app/src/main.rs
@@ -19,8 +19,8 @@
extern crate log;
use anyhow::Result;
+use teaclave_binder::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_binder::TeeBinder;
-use teaclave_ipc::proto::{ECallCommand, StartServiceInput, StartServiceOutput};
use teaclave_types::TeeServiceResult;
fn main() -> Result<()> {
diff --git a/services/storage/enclave/Cargo.toml b/services/storage/enclave/Cargo.toml
index 866c51c..3aa7ac7 100644
--- a/services/storage/enclave/Cargo.toml
+++ b/services/storage/enclave/Cargo.toml
@@ -16,7 +16,7 @@ mesalock_sgx = [
"sgx_tstd",
"teaclave_attestation/mesalock_sgx",
"teaclave_proto/mesalock_sgx",
- "teaclave_ipc/mesalock_sgx",
+ "teaclave_binder/mesalock_sgx",
"teaclave_rpc/mesalock_sgx",
"teaclave_service_enclave_utils/mesalock_sgx",
"teaclave_types/mesalock_sgx",
@@ -24,7 +24,7 @@ mesalock_sgx = [
"rusty-leveldb/mesalock_sgx",
]
cov = ["teaclave_service_enclave_utils/cov"]
-enclave_unit_test = ["teaclave_ipc/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
+enclave_unit_test = ["teaclave_binder/enclave_unit_test", "teaclave_test_utils/mesalock_sgx"]
[dependencies]
anyhow = { version = "1.0.26" }
@@ -37,7 +37,7 @@ rusty-leveldb = { path = "../../../common/rusty_leveldb_sgx" }
teaclave_attestation = { path = "../../../attestation" }
teaclave_config = { path = "../../../config" }
teaclave_proto = { path = "../../proto" }
-teaclave_ipc = { path = "../../../ipc" }
+teaclave_binder = { path = "../../../binder" }
teaclave_rpc = { path = "../../../rpc" }
teaclave_service_enclave_utils = { path = "../../../utils/service_enclave_utils" }
teaclave_types = { path = "../../../types" }
diff --git a/services/storage/enclave/src/lib.rs b/services/storage/enclave/src/lib.rs
index f54b599..cb0417a 100644
--- a/services/storage/enclave/src/lib.rs
+++ b/services/storage/enclave/src/lib.rs
@@ -24,11 +24,11 @@ extern crate log;
use std::prelude::v1::*;
-use teaclave_ipc::proto::{
+use teaclave_binder::proto::{
ECallCommand, FinalizeEnclaveInput, FinalizeEnclaveOutput, InitEnclaveInput, InitEnclaveOutput,
StartServiceInput, StartServiceOutput,
};
-use teaclave_ipc::{handle_ecall, register_ecall_handler};
+use teaclave_binder::{handle_ecall, register_ecall_handler};
use teaclave_service_enclave_utils::ServiceEnclave;
use teaclave_types::{TeeServiceError, TeeServiceResult};
diff --git a/tests/functional_tests/app/Cargo.toml b/tests/functional_tests/app/Cargo.toml
index 03104b5..727a438 100644
--- a/tests/functional_tests/app/Cargo.toml
+++ b/tests/functional_tests/app/Cargo.toml
@@ -12,8 +12,7 @@ log = { version = "0.4.6" }
env_logger = { version = "0.7.1" }
anyhow = { version = "1.0.26" }
-teaclave_ipc = { path = "../../../ipc" }
-teaclave_binder = { path = "../../../binder" }
+teaclave_binder = { path = "../../../binder", features = ["app"] }
teaclave_types = { path = "../../../types" }
sgx_types = { version = "1.1.0" }
diff --git a/tests/functional_tests/app/src/main.rs b/tests/functional_tests/app/src/main.rs
index dd9ab4d..6897147 100644
--- a/tests/functional_tests/app/src/main.rs
+++ b/tests/functional_tests/app/src/main.rs
@@ -17,8 +17,8 @@
use anyhow;
use log::error;
+use teaclave_binder::proto::{ECallCommand, RunTestInput, RunTestOutput};
use teaclave_binder::TeeBinder;
-use teaclave_ipc::proto::{ECallCommand, RunTestInput, RunTestOutput};
use teaclave_types::TeeServiceResult;
fn main() -> anyhow::Result<()> {
diff --git a/tests/functional_tests/enclave/Cargo.toml b/tests/functional_tests/enclave/Cargo.toml
index d7cb5c5..d545b3d 100644
--- a/tests/functional_tests/enclave/Cargo.toml
+++ b/tests/functional_tests/enclave/Cargo.toml
@@ -16,7 +16,7 @@ mesalock_sgx = [
"sgx_tstd",
"teaclave_attestation/mesalock_sgx",
"teaclave_proto/mesalock_sgx",
- "teaclave_ipc/mesalock_sgx",
+ "teaclave_binder/mesalock_sgx",
"teaclave_rpc/mesalock_sgx",
"teaclave_config/mesalock_sgx",
"teaclave_service_enclave_utils/mesalock_sgx",
@@ -35,7 +35,7 @@ url = { version = "2.1.1" }
teaclave_attestation = { path = "../../../attestation" }
teaclave_config = { path = "../../../config" }
-teaclave_ipc = { path = "../../../ipc" }
+teaclave_binder = { path = "../../../binder" }
teaclave_rpc = { path = "../../../rpc" }
teaclave_service_enclave_utils = { path = "../../../utils/service_enclave_utils" }
teaclave_types = { path = "../../../types" }
diff --git a/tests/functional_tests/enclave/src/lib.rs b/tests/functional_tests/enclave/src/lib.rs
index c92d939..8cb07f6 100644
--- a/tests/functional_tests/enclave/src/lib.rs
+++ b/tests/functional_tests/enclave/src/lib.rs
@@ -27,11 +27,11 @@ use std::prelude::v1::*;
use teaclave_types;
-use teaclave_ipc::proto::{
+use teaclave_binder::proto::{
ECallCommand, FinalizeEnclaveInput, FinalizeEnclaveOutput, InitEnclaveInput, InitEnclaveOutput,
RunTestInput, RunTestOutput,
};
-use teaclave_ipc::{handle_ecall, register_ecall_handler};
+use teaclave_binder::{handle_ecall, register_ecall_handler};
use teaclave_service_enclave_utils::ServiceEnclave;
use teaclave_test_utils::check_all_passed;
use teaclave_types::TeeServiceResult;
diff --git a/tests/integration_tests/app/Cargo.toml b/tests/integration_tests/app/Cargo.toml
index 10accdf..010c5a9 100644
--- a/tests/integration_tests/app/Cargo.toml
+++ b/tests/integration_tests/app/Cargo.toml
@@ -12,8 +12,7 @@ log = { version = "0.4.6" }
env_logger = { version = "0.7.1" }
anyhow = { version = "1.0.26" }
-teaclave_ipc = { path = "../../../ipc" }
-teaclave_binder = { path = "../../../binder" }
+teaclave_binder = { path = "../../../binder", features = ["app"] }
teaclave_config = { path = "../../../config" }
teaclave_test_utils = { path = "../../test_utils" }
teaclave_types = { path = "../../../types" }
diff --git a/tests/integration_tests/app/src/main.rs b/tests/integration_tests/app/src/main.rs
index dd9ab4d..6897147 100644
--- a/tests/integration_tests/app/src/main.rs
+++ b/tests/integration_tests/app/src/main.rs
@@ -17,8 +17,8 @@
use anyhow;
use log::error;
+use teaclave_binder::proto::{ECallCommand, RunTestInput, RunTestOutput};
use teaclave_binder::TeeBinder;
-use teaclave_ipc::proto::{ECallCommand, RunTestInput, RunTestOutput};
use teaclave_types::TeeServiceResult;
fn main() -> anyhow::Result<()> {
diff --git a/tests/integration_tests/enclave/Cargo.toml b/tests/integration_tests/enclave/Cargo.toml
index 802b571..853d54a 100644
--- a/tests/integration_tests/enclave/Cargo.toml
+++ b/tests/integration_tests/enclave/Cargo.toml
@@ -16,7 +16,7 @@ mesalock_sgx = [
"sgx_tstd",
"teaclave_attestation/mesalock_sgx",
"teaclave_proto/mesalock_sgx",
- "teaclave_ipc/mesalock_sgx",
+ "teaclave_binder/mesalock_sgx",
"teaclave_config/mesalock_sgx",
"teaclave_rpc/mesalock_sgx",
"teaclave_service_enclave_utils/mesalock_sgx",
@@ -42,7 +42,7 @@ protected_fs_rs = { path = "../../../common/protected_fs_rs", default-feature
teaclave_attestation = { path = "../../../attestation" }
teaclave_config = { path = "../../../config" }
-teaclave_ipc = { path = "../../../ipc" }
+teaclave_binder = { path = "../../../binder" }
teaclave_rpc = { path = "../../../rpc" }
teaclave_service_enclave_utils = { path = "../../../utils/service_enclave_utils" }
teaclave_types = { path = "../../../types" }
diff --git a/tests/integration_tests/enclave/src/lib.rs b/tests/integration_tests/enclave/src/lib.rs
index 1a82bb5..1d029cd 100644
--- a/tests/integration_tests/enclave/src/lib.rs
+++ b/tests/integration_tests/enclave/src/lib.rs
@@ -28,11 +28,11 @@ use std::prelude::v1::*;
use teaclave_types;
use teaclave_types::TeeServiceResult;
-use teaclave_ipc::proto::{
+use teaclave_binder::proto::{
ECallCommand, FinalizeEnclaveInput, FinalizeEnclaveOutput, InitEnclaveInput, InitEnclaveOutput,
RunTestInput, RunTestOutput,
};
-use teaclave_ipc::{handle_ecall, register_ecall_handler};
+use teaclave_binder::{handle_ecall, register_ecall_handler};
use teaclave_service_enclave_utils::ServiceEnclave;
use teaclave_test_utils::check_all_passed;
diff --git a/tests/unit_tests/app/Cargo.toml b/tests/unit_tests/app/Cargo.toml
index cea003a..5b43a97 100644
--- a/tests/unit_tests/app/Cargo.toml
+++ b/tests/unit_tests/app/Cargo.toml
@@ -12,8 +12,7 @@ log = { version = "0.4.6" }
env_logger = { version = "0.7.1" }
anyhow = { version = "1.0.26" }
-teaclave_ipc = { path = "../../../ipc" }
-teaclave_binder = { path = "../../../binder" }
+teaclave_binder = { path = "../../../binder", features = ["app"] }
teaclave_types = { path = "../../../types" }
sgx_types = { version = "1.1.0" }
diff --git a/tests/unit_tests/app/src/main.rs b/tests/unit_tests/app/src/main.rs
index dd9ab4d..6897147 100644
--- a/tests/unit_tests/app/src/main.rs
+++ b/tests/unit_tests/app/src/main.rs
@@ -17,8 +17,8 @@
use anyhow;
use log::error;
+use teaclave_binder::proto::{ECallCommand, RunTestInput, RunTestOutput};
use teaclave_binder::TeeBinder;
-use teaclave_ipc::proto::{ECallCommand, RunTestInput, RunTestOutput};
use teaclave_types::TeeServiceResult;
fn main() -> anyhow::Result<()> {
diff --git a/tests/unit_tests/enclave/Cargo.toml b/tests/unit_tests/enclave/Cargo.toml
index 9256c77..d8c9888 100644
--- a/tests/unit_tests/enclave/Cargo.toml
+++ b/tests/unit_tests/enclave/Cargo.toml
@@ -15,7 +15,7 @@ default = []
mesalock_sgx = [
"sgx_tstd",
"teaclave_attestation/mesalock_sgx",
- "teaclave_ipc/mesalock_sgx",
+ "teaclave_binder/mesalock_sgx",
"teaclave_rpc/mesalock_sgx",
"teaclave_service_enclave_utils/mesalock_sgx",
"teaclave_types/mesalock_sgx",
@@ -49,7 +49,7 @@ teaclave_worker = { path = "../../../worker" }
teaclave_test_utils = { path = "../../test_utils" }
teaclave_attestation = { path = "../../../attestation" }
teaclave_config = { path = "../../../config" }
-teaclave_ipc = { path = "../../../ipc" }
+teaclave_binder = { path = "../../../binder" }
teaclave_rpc = { path = "../../../rpc" }
teaclave_service_enclave_utils = { path = "../../../utils/service_enclave_utils" }
teaclave_types = { path = "../../../types" }
diff --git a/tests/unit_tests/enclave/src/lib.rs b/tests/unit_tests/enclave/src/lib.rs
index 942647d..25718e7 100644
--- a/tests/unit_tests/enclave/src/lib.rs
+++ b/tests/unit_tests/enclave/src/lib.rs
@@ -27,11 +27,11 @@ use std::prelude::v1::*;
use teaclave_types;
use teaclave_types::TeeServiceResult;
-use teaclave_ipc::proto::{
+use teaclave_binder::proto::{
ECallCommand, FinalizeEnclaveInput, FinalizeEnclaveOutput, InitEnclaveInput, InitEnclaveOutput,
RunTestInput, RunTestOutput,
};
-use teaclave_ipc::{handle_ecall, register_ecall_handler};
+use teaclave_binder::{handle_ecall, register_ecall_handler};
use teaclave_service_enclave_utils::ServiceEnclave;
use teaclave_access_control_service_enclave;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org