Update to Teaclave SGX SDK 1.1.2 (#275)

diff --git a/.drone.yml b/.drone.yml
index 8d28536..81bbf1a 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -3,23 +3,23 @@
 
 steps:
 - name: prepare
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - mkdir -p build
   - cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DTEST_MODE=ON ..
 - name: check
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make check
 - name: compile
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make VERBOSE=1 -j2
 - name: test
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   environment:
     AS_ALGO: sgx_epid
     AS_URL: https://api.trustedservices.intel.com:443
@@ -55,25 +55,25 @@
 
 steps:
 - name: prepare
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.5:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.6:0.1.0
   commands:
   - . /root/.cargo/env
   - mkdir -p build
   - cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DTEST_MODE=ON -DDCAP=ON ..
 - name: check
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.5:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.6:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make check
 - name: compile
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.5:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.6:0.1.0
   commands:
   - . /root/.cargo/env
   - . /opt/sgxsdk/environment
   - sed -i 's/ias_root_ca_cert/dcap_root_ca_cert/' config/build.config.toml
   - cd build && make VERBOSE=1 -j2
 - name: test
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.5:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.6:0.1.0
   environment:
     AS_ALGO: sgx_ecdsa
     AS_URL: https://localhost:8080
@@ -121,23 +121,23 @@
 
 steps:
 - name: prepare
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - mkdir -p build
   - cd build && cmake -DTEST_MODE=ON ..
 - name: check
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make check
 - name: compile
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make VERBOSE=1 -j2
 - name: test
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   privileged: true
   environment:
     AS_ALGO: sgx_epid
@@ -173,23 +173,23 @@
 
 steps:
 - name: prepare
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - mkdir -p build
   - cd build && cmake -DTEST_MODE=ON ..
 - name: check
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make check
 - name: compile
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DSGX_SIM_MODE=ON .. && make VERBOSE=1 -j2
 - name: test
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make run-tests
@@ -204,23 +204,23 @@
 
 steps:
 - name: prepare
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - mkdir -p build
   - cd build && cmake -DTEST_MODE=YES ..
 - name: check
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make check
 - name: compile
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && cmake -DSGX_SIM_MODE=ON .. && make VERBOSE=1 -j2
 - name: test
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make run-tests
@@ -401,18 +401,18 @@
 
 steps:
 - name: prepare
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - mkdir -p build
   - cd build && cmake -DRUSTFLAGS="-D warnings" -DTEST_MODE=ON ..
 - name: check
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make check
 - name: clippy
-  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+  image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
   commands:
   - . /root/.cargo/env
   - cd build && make CLP=1
@@ -427,24 +427,24 @@
 
 # steps:
 # - name: prepare
-#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
 #   commands:
 #   - . /root/.cargo/env
 #   - mkdir -p build
 #   - cd build && cmake -DCMAKE_BUILD_TYPE=DEBUG -DCOV=ON -DTEST_MODE=ON ..
 # - name: check
-#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
 #   commands:
 #   - . /root/.cargo/env
 #   - cd build && make check
 # - name: compile
-#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
 #   commands:
 #   - . /root/.cargo/env
 #   - export RUSTFLAGS="-D warnings"
 #   - cd build && make VERBOSE=1 -j2
 # - name: test
-#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
 #   environment:
 #     AS_ALGO: sgx_epid
 #     AS_URL: https://api.trustedservices.intel.com:443
@@ -463,7 +463,7 @@
 #   - cd build && make run-tests
 # - name: coverage
 #   failure: ignore
-#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
 #   commands:
 #   - cd build && make cov
 #   - bash -c "bash <(curl -s https://codecov.io/bash) -f intermediate/cov.info"
@@ -495,13 +495,13 @@
 
 # steps:
 # - name: prepare
-#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
 #   commands:
 #   - . /root/.cargo/env
 #   - mkdir -p build
 #   - cd build && cmake ..
 # - name: doc
-#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9:0.1.1
+#   image: teaclave/teaclave-build-ubuntu-1804-sgx-2.9.1:0.1.0
 #   failure: ignore
 #   commands:
 #   - . /root/.cargo/env
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c5df00d..ac30fc8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,7 +14,7 @@
 set_strvar_from_env_or(TEACLAVE_CMAKE_DBG ""
                        "set to turn on debug message for cmake")
 set(MESAPY_VERSION eb769f13d6f9947b62aa04c2fb34496082bdadeb)
-set(RUSTUP_TOOLCHAIN "nightly-2020-03-12")
+set(RUSTUP_TOOLCHAIN "nightly-2020-04-07")
 option(COV "Turn on/off coverage" OFF)
 option(OFFLINE "Turn on/off cargo offline" ON)
 option(TEST_MODE "Turn on/off test mode" OFF)
diff --git a/attestation/Cargo.toml b/attestation/Cargo.toml
index d0ade53..2e612f7 100644
--- a/attestation/Cargo.toml
+++ b/attestation/Cargo.toml
@@ -41,8 +41,8 @@
 teaclave_config = { path = "../config", features = ["build_config"] }
 teaclave_test_utils = { path = "../tests/utils" }
 
-sgx_rand    = { version = "1.1.1", optional = true }
-sgx_tcrypto = { version = "1.1.1", optional = true }
-sgx_tse     = { version = "1.1.1", optional = true }
-sgx_tstd    = { version = "1.1.1", features = ["net", "backtrace"], optional = true }
-sgx_types   = { version = "1.1.1" }
+sgx_rand    = { version = "1.1.2", optional = true }
+sgx_tcrypto = { version = "1.1.2", optional = true }
+sgx_tse     = { version = "1.1.2", optional = true }
+sgx_tstd    = { version = "1.1.2", features = ["net", "backtrace"], optional = true }
+sgx_types   = { version = "1.1.2" }
diff --git a/binder/Cargo.toml b/binder/Cargo.toml
index 2fc86b5..0fdd071 100644
--- a/binder/Cargo.toml
+++ b/binder/Cargo.toml
@@ -29,6 +29,6 @@
 teaclave_config = { path = "../config" }
 teaclave_binder_attribute = { path = "./attribute", optional = true }
 
-sgx_types = { version = "1.1.1" }
-sgx_urts  = { version = "1.1.1", features = ["global_init"], optional = true }
-sgx_tstd  = { version = "1.1.1", features = ["net", "backtrace"], optional = true }
+sgx_types = { version = "1.1.2" }
+sgx_urts  = { version = "1.1.2", features = ["global_init"], optional = true }
+sgx_tstd  = { version = "1.1.2", features = ["net", "backtrace"], optional = true }
diff --git a/cmake/scripts/test.sh b/cmake/scripts/test.sh
index af0b9c1..87ce604 100755
--- a/cmake/scripts/test.sh
+++ b/cmake/scripts/test.sh
@@ -30,7 +30,7 @@
   trap cleanup INT TERM ERR
   pushd ${TEACLAVE_TEST_INSTALL_DIR}
 
-  start_storage_server 
+  start_storage_server
   echo_title "encalve unit tests"
   ./teaclave_unit_tests
 
@@ -53,17 +53,21 @@
   popd
 
   echo_title "protected_fs_rs tests (untrusted)"
+  pushd ${MT_SGXAPP_TOML_DIR}
   cargo test --manifest-path ${TEACLAVE_PROJECT_ROOT}/common/protected_fs_rs/Cargo.toml \
             --target-dir ${TEACLAVE_TARGET_DIR}/untrusted
+  popd
 
   echo_title "file_agent tests (untrusted)"
 
   pushd ${TEACLAVE_TEST_INSTALL_DIR}
-  start_storage_server 
+  start_storage_server
   popd
 
+  pushd ${MT_SGXAPP_TOML_DIR}
   cargo test --manifest-path ${TEACLAVE_PROJECT_ROOT}/file_agent/Cargo.toml \
             --target-dir ${TEACLAVE_TARGET_DIR}/untrusted
+  popd
 
   cleanup
 }
diff --git a/cmake/tomls/Cargo.sgx_trusted_lib.toml b/cmake/tomls/Cargo.sgx_trusted_lib.toml
index 0ccae4a..1eab052 100644
--- a/cmake/tomls/Cargo.sgx_trusted_lib.toml
+++ b/cmake/tomls/Cargo.sgx_trusted_lib.toml
@@ -20,19 +20,19 @@
 # Patched sgx crates to vendored, uncomment below crate when needed.
 
 # Rust SGX SDK
-sgx_alloc         = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_build_helper  = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_cov           = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_libc          = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_rand          = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_tcrypto       = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_tprotected_fs = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_trts          = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_tse           = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_tstd          = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-# sgx_tunittest     = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_types         = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_unwind        = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
+sgx_alloc         = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_build_helper  = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_cov           = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_libc          = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_rand          = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_tcrypto       = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_tprotected_fs = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_trts          = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_tse           = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_tstd          = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+# sgx_tunittest     = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_types         = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_unwind        = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
 
 # SGX crates
 # adler32           = { git = "https://github.com/mesalock-linux/adler32-rs-sgx" }
@@ -61,7 +61,7 @@
 profiler_builtins = { git = "https://github.com/mesalock-linux/sgx-fake-profiler-builtins" }
 prost             = { git = "https://github.com/mesalock-linux/prost-sgx" }
 quick-error       = { git = "https://github.com/mesalock-linux/quick-error-sgx" }
-rand              = { git = "https://github.com/mesalock-linux/rand-sgx", tag = "v0.6.5_sgx1.1.1" }
+rand              = { git = "https://github.com/mesalock-linux/rand-sgx", tag = "v0.7.3_sgx1.1.2" }
 regex             = { git = "https://github.com/mesalock-linux/regex-sgx" }
 ring              = { git = "https://github.com/mesalock-linux/ring-sgx", tag = "v0.16.5" }
 rustls            = { git = "https://github.com/mesalock-linux/rustls", branch = "mesalock_sgx-client-cert-verifier-patch" }
diff --git a/cmake/tomls/Cargo.sgx_untrusted_app.toml b/cmake/tomls/Cargo.sgx_untrusted_app.toml
index b1b3bea..17a22f1 100644
--- a/cmake/tomls/Cargo.sgx_untrusted_app.toml
+++ b/cmake/tomls/Cargo.sgx_untrusted_app.toml
@@ -18,5 +18,5 @@
 
 [patch.crates-io]
 # We cannot remove these crates, because proto crates depend on them
-sgx_urts = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_types = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
+sgx_urts = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_types = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
diff --git a/cmake/tomls/Cargo.unix_app.toml b/cmake/tomls/Cargo.unix_app.toml
index 0603908..03990cc 100644
--- a/cmake/tomls/Cargo.unix_app.toml
+++ b/cmake/tomls/Cargo.unix_app.toml
@@ -13,6 +13,6 @@
 
 [patch.crates-io]
 
-# sgx_urts = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_types = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
-sgx_ucrypto = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.1" }
+# sgx_urts = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_types = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
+sgx_ucrypto = { git = "https://github.com/apache/teaclave-sgx-sdk", rev = "v1.1.2" }
diff --git a/common/mayfail/Cargo.toml b/common/mayfail/Cargo.toml
index 31c8b10..0b927d9 100644
--- a/common/mayfail/Cargo.toml
+++ b/common/mayfail/Cargo.toml
@@ -8,7 +8,7 @@
 [features]
 default = []
 mesalock_sgx = ["sgx_tstd", "mesatee_core/mesalock_sgx"]
-sgx_tstd        = { version = "1.1.1", features = ["net", "backtrace"], optional = true }
+sgx_tstd        = { version = "1.1.2", features = ["net", "backtrace"], optional = true }
 
 [dependencies]
 mesatee_core    = { version = "0.1.0" }
diff --git a/common/protected_fs_rs/Cargo.toml b/common/protected_fs_rs/Cargo.toml
index a506194..9fabc78 100644
--- a/common/protected_fs_rs/Cargo.toml
+++ b/common/protected_fs_rs/Cargo.toml
@@ -20,9 +20,9 @@
 
 libc        = { version = "0.2", optional = true }
 
-sgx_types = { version = "1.1.1", optional = true }
-sgx_tstd = { version = "1.1.1",  optional = true }
-sgx_trts = { version = "1.1.1", optional = true }
+sgx_types = { version = "1.1.2", optional = true }
+sgx_tstd = { version = "1.1.2",  optional = true }
+sgx_trts = { version = "1.1.2", optional = true }
 
 
 [build-dependencies]
diff --git a/common/rusty_leveldb_sgx/Cargo.toml b/common/rusty_leveldb_sgx/Cargo.toml
index 4bc29ba..c612aef 100644
--- a/common/rusty_leveldb_sgx/Cargo.toml
+++ b/common/rusty_leveldb_sgx/Cargo.toml
@@ -25,7 +25,7 @@
 protected_fs_rs = { path = "../protected_fs_rs", optional = true }
 teaclave_test_utils = { path = "../../tests/utils", optional = true }
 
-sgx_tstd 	= { version = "1.1.1", optional = true }
-sgx_trts 	= { version = "1.1.1", optional = true }
-sgx_types 	= { version = "1.1.1", optional = true }
-sgx_libc	= { version = "1.1.1", optional = true }
+sgx_tstd 	= { version = "1.1.2", optional = true }
+sgx_trts 	= { version = "1.1.2", optional = true }
+sgx_types 	= { version = "1.1.2", optional = true }
+sgx_libc	= { version = "1.1.2", optional = true }
diff --git a/common/rusty_leveldb_sgx/src/cmp.rs b/common/rusty_leveldb_sgx/src/cmp.rs
index 065f648..bcaf961 100644
--- a/common/rusty_leveldb_sgx/src/cmp.rs
+++ b/common/rusty_leveldb_sgx/src/cmp.rs
@@ -1,3 +1,5 @@
+#![allow(clippy::many_single_char_names)]
+
 #[cfg(feature = "mesalock_sgx")]
 use std::prelude::v1::*;
 
diff --git a/config/Cargo.toml b/config/Cargo.toml
index cf375ac..4c5cb18 100644
--- a/config/Cargo.toml
+++ b/config/Cargo.toml
@@ -18,4 +18,4 @@
 toml   = { version = "0.5.1" }
 url    = { version = "2.1.1" }
 
-sgx_tstd = { version = "1.1.1", optional = true }
+sgx_tstd = { version = "1.1.2", optional = true }
diff --git a/crypto/Cargo.toml b/crypto/Cargo.toml
index 9e2e298..69c1d21 100644
--- a/crypto/Cargo.toml
+++ b/crypto/Cargo.toml
@@ -28,4 +28,4 @@
 
 teaclave_test_utils = { path = "../tests/utils", optional = true }
 
-sgx_tstd = { version = "1.1.1", features = ["net", "backtrace"], optional = true }
+sgx_tstd = { version = "1.1.2", features = ["net", "backtrace"], optional = true }
diff --git a/dcap/Cargo.toml b/dcap/Cargo.toml
index 68448ae..5c762e6 100644
--- a/dcap/Cargo.toml
+++ b/dcap/Cargo.toml
@@ -22,5 +22,5 @@
 percent-encoding = { version = "2.1.0" }
 pem              = { version = "0.7.0" }
 
-sgx_types        = { version = "1.1.1" }
-sgx_ucrypto      = { version = "1.1.1" }
+sgx_types        = { version = "1.1.2" }
+sgx_ucrypto      = { version = "1.1.2" }
diff --git a/docker/build.ubuntu-1804.sgx-2.9.Dockerfile b/docker/build.ubuntu-1804.sgx-2.9.1.Dockerfile
similarity index 93%
rename from docker/build.ubuntu-1804.sgx-2.9.Dockerfile
rename to docker/build.ubuntu-1804.sgx-2.9.1.Dockerfile
index 94b0121..74d5893 100644
--- a/docker/build.ubuntu-1804.sgx-2.9.Dockerfile
+++ b/docker/build.ubuntu-1804.sgx-2.9.1.Dockerfile
@@ -1,13 +1,13 @@
 FROM ubuntu:18.04
 
-ENV VERSION 2.9.100.2-bionic1
-ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-linux/2.9/distro/ubuntu18.04-server"
-ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.9.100.2.bin
+ENV VERSION 2.9.101.2-bionic1
+ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-linux/2.9.1/distro/ubuntu18.04-server"
+ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.9.101.2.bin
 ENV SGX_LINUX_X64_SDK_URL "$SGX_DOWNLOAD_URL_BASE/$SGX_LINUX_X64_SDK"
 
 ENV DEBIAN_FRONTEND=noninteractive
 
-ENV RUST_TOOLCHAIN nightly-2020-03-12
+ENV RUST_TOOLCHAIN nightly-2020-04-07
 
 # install SGX dependencies
 RUN apt-get update && apt-get install -q -y \
diff --git a/docker/build.ubuntu-1804.sgx-dcap-1.5.Dockerfile b/docker/build.ubuntu-1804.sgx-dcap-1.5.Dockerfile
deleted file mode 100644
index 9569709..0000000
--- a/docker/build.ubuntu-1804.sgx-dcap-1.5.Dockerfile
+++ /dev/null
@@ -1,88 +0,0 @@
-FROM ubuntu:18.04
-
-ENV VERSION 1.5.100.2-bionic1
-ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-dcap/1.5/linux/distro/ubuntuServer18.04/"
-ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.9.100.2.bin
-ENV SGX_LINUX_X64_SDK_URL "$SGX_DOWNLOAD_URL_BASE/$SGX_LINUX_X64_SDK"
-
-ENV DEBIAN_FRONTEND=noninteractive
-
-ENV RUST_TOOLCHAIN nightly-2020-03-12
-
-# install SGX dependencies
-RUN apt-get update && apt-get install -q -y \
-    build-essential \
-    ocaml \
-    ocamlbuild \
-    automake \
-    autoconf \
-    libtool \
-    wget \
-    python \
-    python3 \
-    libssl-dev \
-    libcurl4-openssl-dev \
-    libprotobuf-dev \
-    curl \
-    pkg-config
-
-RUN echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu bionic main' | \
-    tee /etc/apt/sources.list.d/intel-sgx.list
-RUN curl -fsSL  https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key add -
-RUN apt-get update && apt-get install -y \
-    libsgx-dcap-ql=$VERSION \
-    libsgx-dcap-default-qpl=$VERSION \
-    libsgx-dcap-ql-dbgsym=$VERSION \
-    libsgx-dcap-default-qpl-dbgsym=$VERSION \
-    libsgx-urts=2.9.100.2-bionic1 \
-    libsgx-enclave-common=2.9.100.2-bionic1 \
-    libsgx-enclave-common-dev=2.9.100.2-bionic1 \
-    libsgx-enclave-common-dbgsym=2.9.100.2-bionic1 \
-    libsgx-quote-ex=2.9.100.2-bionic1 \
-    libsgx-quote-ex-dev=2.9.100.2-bionic1 \
-    libsgx-dcap-ql-dev=$VERSION \
-    libsgx-dcap-default-qpl-dev=$VERSION
-RUN mkdir /var/run/aesmd && mkdir /etc/init
-RUN wget $SGX_LINUX_X64_SDK_URL               && \
-    chmod u+x $SGX_LINUX_X64_SDK              && \
-    echo -e 'no\n/opt' | ./$SGX_LINUX_X64_SDK && \
-    rm $SGX_LINUX_X64_SDK                     && \
-    echo 'source /opt/sgxsdk/environment' >> ~/.bashrc
-
-# install Rust and its dependencies
-
-RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y   && \
-    . $HOME/.cargo/env                                                        && \
-    rustup default $RUST_TOOLCHAIN                                            && \
-    rustup component add rust-src rls rust-analysis clippy rustfmt            && \
-    echo 'source $HOME/.cargo/env' >> ~/.bashrc                               && \
-    rm -rf /root/.cargo/registry && rm -rf /root/.cargo/git
-
-# install other dependencies for building
-
-RUN apt-get update && apt-get install -q -y \
-    software-properties-common \
-    cmake \
-    pypy \
-    pypy-dev
-
-RUN add-apt-repository ppa:git-core/ppa && \
-  apt-get update && apt-get install -q -y git
-
-# install dependencies for testing and coverage
-
-RUN apt-get update && apt-get install -q -y \
-    lsof \
-    procps \
-    lcov \
-    llvm \
-    curl \
-    iproute2 \
-    python3-pip
-
-RUN pip3 install pyopenssl toml cryptography
-
-# clean up apt caches
-
-RUN apt-get clean && \
-    rm -fr /var/lib/apt/lists/* /tmp/* /var/tmp/*
diff --git a/docker/build.ubuntu-1804.sgx-2.9.Dockerfile b/docker/build.ubuntu-1804.sgx-dcap-1.6.Dockerfile
similarity index 79%
copy from docker/build.ubuntu-1804.sgx-2.9.Dockerfile
copy to docker/build.ubuntu-1804.sgx-dcap-1.6.Dockerfile
index 94b0121..10eb982 100644
--- a/docker/build.ubuntu-1804.sgx-2.9.Dockerfile
+++ b/docker/build.ubuntu-1804.sgx-dcap-1.6.Dockerfile
@@ -1,13 +1,14 @@
 FROM ubuntu:18.04
 
-ENV VERSION 2.9.100.2-bionic1
-ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-linux/2.9/distro/ubuntu18.04-server"
-ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.9.100.2.bin
+ENV DCAP_VERSION 1.6.100.2-bionic1
+ENV VERSION 2.9.101.2-bionic1
+ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-dcap/1.6/linux/distro/ubuntuServer18.04/"
+ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.9.101.2.bin
 ENV SGX_LINUX_X64_SDK_URL "$SGX_DOWNLOAD_URL_BASE/$SGX_LINUX_X64_SDK"
 
 ENV DEBIAN_FRONTEND=noninteractive
 
-ENV RUST_TOOLCHAIN nightly-2020-03-12
+ENV RUST_TOOLCHAIN nightly-2020-04-07
 
 # install SGX dependencies
 RUN apt-get update && apt-get install -q -y \
@@ -30,17 +31,18 @@
     tee /etc/apt/sources.list.d/intel-sgx.list
 RUN curl -fsSL  https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key add -
 RUN apt-get update && apt-get install -y \
-    libsgx-aesm-launch-plugin=$VERSION \
+    libsgx-dcap-ql=$DCAP_VERSION \
+    libsgx-dcap-default-qpl=$DCAP_VERSION \
+    libsgx-dcap-ql-dbgsym=$DCAP_VERSION \
+    libsgx-dcap-default-qpl-dbgsym=$DCAP_VERSION \
+    libsgx-urts=$VERSION \
     libsgx-enclave-common=$VERSION \
     libsgx-enclave-common-dev=$VERSION \
-    libsgx-epid=$VERSION \
-    libsgx-epid-dev=$VERSION \
-    libsgx-launch=$VERSION \
-    libsgx-launch-dev=$VERSION \
+    libsgx-enclave-common-dbgsym=$VERSION \
     libsgx-quote-ex=$VERSION \
     libsgx-quote-ex-dev=$VERSION \
-    libsgx-uae-service=$VERSION \
-    libsgx-urts=$VERSION
+    libsgx-dcap-ql-dev=$DCAP_VERSION \
+    libsgx-dcap-default-qpl-dev=$DCAP_VERSION
 RUN mkdir /var/run/aesmd && mkdir /etc/init
 RUN wget $SGX_LINUX_X64_SDK_URL               && \
     chmod u+x $SGX_LINUX_X64_SDK              && \
@@ -66,7 +68,7 @@
     pypy-dev
 
 RUN add-apt-repository ppa:git-core/ppa && \
-    apt-get update && apt-get install -q -y git
+  apt-get update && apt-get install -q -y git
 
 # install dependencies for testing and coverage
 
@@ -76,6 +78,7 @@
     lcov \
     llvm \
     curl \
+    iproute2 \
     python3-pip
 
 RUN pip3 install pyopenssl toml cryptography
diff --git a/docker/teaclave-rt.ubuntu-1804.Dockerfile b/docker/teaclave-rt.ubuntu-1804.Dockerfile
index 36c6417..7145958 100644
--- a/docker/teaclave-rt.ubuntu-1804.Dockerfile
+++ b/docker/teaclave-rt.ubuntu-1804.Dockerfile
@@ -1,8 +1,8 @@
 FROM ubuntu:18.04
 
-ENV VERSION 2.9.100.2-bionic1
-ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-linux/2.9/distro/ubuntu18.04-server"
-ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.9.100.2.bin
+ENV VERSION 2.9.101.2-bionic1
+ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-linux/2.9.1/distro/ubuntu18.04-server"
+ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.9.101.2.bin
 ENV SGX_LINUX_X64_SDK_URL "$SGX_DOWNLOAD_URL_BASE/$SGX_LINUX_X64_SDK"
 
 RUN apt-get update && apt-get install -q -y \
diff --git a/function/Cargo.toml b/function/Cargo.toml
index 0249283..55d5749 100644
--- a/function/Cargo.toml
+++ b/function/Cargo.toml
@@ -36,6 +36,6 @@
 teaclave_runtime = { path = "../runtime", optional = true }
 teaclave_test_utils = { path = "../tests/utils", optional = true }
 
-sgx_cov       = { version = "1.1.1", optional = true }
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_cov       = { version = "1.1.2", optional = true }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml
index 69c837a..b2ce117 100644
--- a/rpc/Cargo.toml
+++ b/rpc/Cargo.toml
@@ -29,5 +29,5 @@
 teaclave_attestation = { path = "../attestation" }
 teaclave_rpc_proc_macro = { path = "./proc_macro" }
 
-sgx_trts = { version = "1.1.1" }
-sgx_tstd = { version = "1.1.1", features = ["net", "backtrace", "thread"], optional = true }
+sgx_trts = { version = "1.1.2" }
+sgx_tstd = { version = "1.1.2", features = ["net", "backtrace", "thread"], optional = true }
diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml
index 04dab12..6537758 100644
--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -25,6 +25,6 @@
 teaclave_types = { path = "../types" }
 teaclave_test_utils = { path = "../tests/utils", optional = true }
 
-sgx_cov       = { version = "1.1.1", optional = true }
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_cov       = { version = "1.1.2", optional = true }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/services/access_control/app/Cargo.toml b/services/access_control/app/Cargo.toml
index 900f6dc..dd0a4de 100644
--- a/services/access_control/app/Cargo.toml
+++ b/services/access_control/app/Cargo.toml
@@ -18,4 +18,4 @@
 teaclave_config            = { path = "../../../config" }
 teaclave_types             = { path = "../../../types" }
 
-sgx_types = { version = "1.1.1" }
+sgx_types = { version = "1.1.2" }
diff --git a/services/access_control/enclave/Cargo.toml b/services/access_control/enclave/Cargo.toml
index 2e19f5a..ca074f9 100644
--- a/services/access_control/enclave/Cargo.toml
+++ b/services/access_control/enclave/Cargo.toml
@@ -45,5 +45,5 @@
 teaclave_types                 = { path = "../../../types" }
 teaclave_test_utils            = { path = "../../../tests/utils" }
 
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/services/authentication/app/Cargo.toml b/services/authentication/app/Cargo.toml
index 9ebdd7d..2d05a52 100644
--- a/services/authentication/app/Cargo.toml
+++ b/services/authentication/app/Cargo.toml
@@ -18,4 +18,4 @@
 teaclave_config            = { path = "../../../config" }
 teaclave_types             = { path = "../../../types" }
 
-sgx_types = { version = "1.1.1" }
+sgx_types = { version = "1.1.2" }
diff --git a/services/authentication/enclave/Cargo.toml b/services/authentication/enclave/Cargo.toml
index 33c77f6..8ad22fd 100644
--- a/services/authentication/enclave/Cargo.toml
+++ b/services/authentication/enclave/Cargo.toml
@@ -48,5 +48,5 @@
 teaclave_types                 = { path = "../../../types" }
 teaclave_test_utils            = { path = "../../../tests/utils", optional = true }
 
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/services/execution/app/Cargo.toml b/services/execution/app/Cargo.toml
index eb5f8a4..6416814 100644
--- a/services/execution/app/Cargo.toml
+++ b/services/execution/app/Cargo.toml
@@ -19,4 +19,4 @@
 teaclave_types             = { path = "../../../types" }
 teaclave_file_agent        = { path = "../../../file_agent" }
 
-sgx_types = { version = "1.1.1" }
+sgx_types = { version = "1.1.2" }
diff --git a/services/execution/enclave/Cargo.toml b/services/execution/enclave/Cargo.toml
index 6923155..675e5e3 100644
--- a/services/execution/enclave/Cargo.toml
+++ b/services/execution/enclave/Cargo.toml
@@ -49,6 +49,6 @@
 teaclave_worker                = { path = "../../../worker" }
 teaclave_test_utils            = { path = "../../../tests/utils", optional = true }
 
-sgx_cov       = { version = "1.1.1", optional = true }
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_cov       = { version = "1.1.2", optional = true }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/services/execution/enclave/src/task_file_manager.rs b/services/execution/enclave/src/task_file_manager.rs
index e3e066a..6e27dda 100644
--- a/services/execution/enclave/src/task_file_manager.rs
+++ b/services/execution/enclave/src/task_file_manager.rs
@@ -62,7 +62,7 @@
         outputs: &FunctionOutputFiles,
     ) -> Result<Self> {
         let cwd = Path::new(base).join(task_id.to_string());
-        let inputs_base = cwd.clone().join("inputs");
+        let inputs_base = cwd.join("inputs");
         let outputs_base = cwd.join("outputs");
 
         let inter_inputs = InterInputs::new(&inputs_base, inputs.clone())?;
diff --git a/services/frontend/app/Cargo.toml b/services/frontend/app/Cargo.toml
index 730b540..d5182c8 100644
--- a/services/frontend/app/Cargo.toml
+++ b/services/frontend/app/Cargo.toml
@@ -18,4 +18,4 @@
 teaclave_config            = { path = "../../../config" }
 teaclave_types             = { path = "../../../types" }
 
-sgx_types = { version = "1.1.1" }
+sgx_types = { version = "1.1.2" }
diff --git a/services/frontend/enclave/Cargo.toml b/services/frontend/enclave/Cargo.toml
index 8ca073e..8eae695 100644
--- a/services/frontend/enclave/Cargo.toml
+++ b/services/frontend/enclave/Cargo.toml
@@ -45,5 +45,5 @@
 teaclave_types                 = { path = "../../../types" }
 teaclave_test_utils            = { path = "../../../tests/utils" }
 
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/services/management/app/Cargo.toml b/services/management/app/Cargo.toml
index 77081ce..969d1c1 100644
--- a/services/management/app/Cargo.toml
+++ b/services/management/app/Cargo.toml
@@ -18,4 +18,4 @@
 teaclave_config            = { path = "../../../config" }
 teaclave_types             = { path = "../../../types" }
 
-sgx_types = { version = "1.1.1" }
+sgx_types = { version = "1.1.2" }
diff --git a/services/management/enclave/Cargo.toml b/services/management/enclave/Cargo.toml
index 48247dc..2bbceb6 100644
--- a/services/management/enclave/Cargo.toml
+++ b/services/management/enclave/Cargo.toml
@@ -47,5 +47,5 @@
 teaclave_types                 = { path = "../../../types" }
 teaclave_test_utils            = { path = "../../../tests/utils" }
 
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/services/proto/Cargo.toml b/services/proto/Cargo.toml
index f5bfac4..e0bbca0 100644
--- a/services/proto/Cargo.toml
+++ b/services/proto/Cargo.toml
@@ -26,9 +26,9 @@
 url          = { version = "2.1.1" }
 uuid          = { version = "0.8.1", features = ["v4"] }
 
-sgx_cov      = { version = "1.1.1", optional = true }
-sgx_tstd     = { version = "1.1.1", features = ["net", "backtrace"], optional = true }
-sgx_types    = { version = "1.1.1" }
+sgx_cov      = { version = "1.1.2", optional = true }
+sgx_tstd     = { version = "1.1.2", features = ["net", "backtrace"], optional = true }
+sgx_types    = { version = "1.1.2" }
 teaclave_rpc = { path = "../../rpc" }
 teaclave_types = { path = "../../types" }
 teaclave_crypto = { path = "../../crypto" }
diff --git a/services/scheduler/app/Cargo.toml b/services/scheduler/app/Cargo.toml
index a996a83..86bdd7b 100644
--- a/services/scheduler/app/Cargo.toml
+++ b/services/scheduler/app/Cargo.toml
@@ -18,4 +18,4 @@
 teaclave_config            = { path = "../../../config" }
 teaclave_types             = { path = "../../../types" }
 
-sgx_types = { version = "1.1.1" }
+sgx_types = { version = "1.1.2" }
diff --git a/services/scheduler/enclave/Cargo.toml b/services/scheduler/enclave/Cargo.toml
index 01e9445..4a7278c 100644
--- a/services/scheduler/enclave/Cargo.toml
+++ b/services/scheduler/enclave/Cargo.toml
@@ -44,6 +44,6 @@
 teaclave_types                 = { path = "../../../types" }
 teaclave_test_utils            = { path = "../../../tests/utils", optional = true }
 
-sgx_cov       = { version = "1.1.1", optional = true }
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_cov       = { version = "1.1.2", optional = true }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/services/storage/app/Cargo.toml b/services/storage/app/Cargo.toml
index 3bbb874..92ef92b 100644
--- a/services/storage/app/Cargo.toml
+++ b/services/storage/app/Cargo.toml
@@ -18,4 +18,4 @@
 teaclave_config            = { path = "../../../config" }
 teaclave_types             = { path = "../../../types" }
 
-sgx_types = { version = "1.1.1" }
+sgx_types = { version = "1.1.2" }
diff --git a/services/storage/enclave/Cargo.toml b/services/storage/enclave/Cargo.toml
index c206adc..bd18414 100644
--- a/services/storage/enclave/Cargo.toml
+++ b/services/storage/enclave/Cargo.toml
@@ -44,5 +44,5 @@
 teaclave_test_utils            = { path = "../../../tests/utils", optional = true }
 
 
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/services/utils/service_enclave_utils/Cargo.toml b/services/utils/service_enclave_utils/Cargo.toml
index 012a6d5..160a5fa 100644
--- a/services/utils/service_enclave_utils/Cargo.toml
+++ b/services/utils/service_enclave_utils/Cargo.toml
@@ -23,6 +23,6 @@
 teaclave_attestation = { path = "../../../attestation" }
 teaclave_rpc         = { path = "../../../rpc" }
 
-sgx_cov  = { version = "1.1.1", optional = true }
-sgx_trts = { version = "1.1.1", optional = true }
-sgx_tstd = { version = "1.1.1", features = ["net", "backtrace"], optional = true }
+sgx_cov  = { version = "1.1.2", optional = true }
+sgx_trts = { version = "1.1.2", optional = true }
+sgx_tstd = { version = "1.1.2", features = ["net", "backtrace"], optional = true }
diff --git a/tests/functional/app/Cargo.toml b/tests/functional/app/Cargo.toml
index 4ec104e..dc34fae 100644
--- a/tests/functional/app/Cargo.toml
+++ b/tests/functional/app/Cargo.toml
@@ -16,4 +16,4 @@
 teaclave_binder            = { path = "../../../binder", features = ["app"] }
 teaclave_types             = { path = "../../../types" }
 
-sgx_types = { version = "1.1.1" }
+sgx_types = { version = "1.1.2" }
diff --git a/tests/functional/enclave/Cargo.toml b/tests/functional/enclave/Cargo.toml
index a187c33..b720f5c 100644
--- a/tests/functional/enclave/Cargo.toml
+++ b/tests/functional/enclave/Cargo.toml
@@ -48,5 +48,5 @@
 teaclave_proto                 = { path = "../../../services/proto" }
 teaclave_test_utils            = { path = "../../../tests/utils" }
 
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/tests/integration/app/Cargo.toml b/tests/integration/app/Cargo.toml
index 2644592..176551b 100644
--- a/tests/integration/app/Cargo.toml
+++ b/tests/integration/app/Cargo.toml
@@ -17,4 +17,4 @@
 teaclave_test_utils        = { path = "../../utils" }
 teaclave_types             = { path = "../../../types" }
 
-sgx_types = { version = "1.1.1" }
+sgx_types = { version = "1.1.2" }
diff --git a/tests/integration/enclave/Cargo.toml b/tests/integration/enclave/Cargo.toml
index 80b8d4a..a6ad256 100644
--- a/tests/integration/enclave/Cargo.toml
+++ b/tests/integration/enclave/Cargo.toml
@@ -52,5 +52,5 @@
 teaclave_worker                = { path = "../../../worker" }
 teaclave_test_utils            = { path = "../../../tests/utils" }
 
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }
diff --git a/tests/unit/app/Cargo.toml b/tests/unit/app/Cargo.toml
index aba6564..8b67d8a 100644
--- a/tests/unit/app/Cargo.toml
+++ b/tests/unit/app/Cargo.toml
@@ -16,4 +16,4 @@
 teaclave_binder            = { path = "../../../binder", features = ["app"] }
 teaclave_types             = { path = "../../../types" }
 
-sgx_types = { version = "1.1.1" }
+sgx_types = { version = "1.1.2" }
diff --git a/tests/unit/enclave/Cargo.toml b/tests/unit/enclave/Cargo.toml
index 7239ab7..5dc8e27 100644
--- a/tests/unit/enclave/Cargo.toml
+++ b/tests/unit/enclave/Cargo.toml
@@ -74,5 +74,5 @@
 teaclave_types                 = { path = "../../../types" }
 teaclave_crypto                = { path = "../../../crypto" }
 
-sgx_tstd  = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types = { version = "1.1.1" }
+sgx_tstd  = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types = { version = "1.1.2" }
diff --git a/tests/utils/Cargo.toml b/tests/utils/Cargo.toml
index 114969d..6d903c6 100644
--- a/tests/utils/Cargo.toml
+++ b/tests/utils/Cargo.toml
@@ -15,4 +15,4 @@
 [dependencies]
 inventory   = { version = "0.1.6" }
 teaclave_test_utils_proc_macro = { path = "./proc_macro" }
-sgx_tstd = { version = "1.1.1", features = ["backtrace"], optional = true }
+sgx_tstd = { version = "1.1.2", features = ["backtrace"], optional = true }
diff --git a/tests/utils/src/lib.rs b/tests/utils/src/lib.rs
index e061b47..30de9a9 100644
--- a/tests/utils/src/lib.rs
+++ b/tests/utils/src/lib.rs
@@ -61,13 +61,7 @@
                     "\x1B[1;32mok\x1B[0m"
                 );
             }
-            false => {
-                ::std::rt::begin_panic($fmt, {
-                    // static requires less code at runtime, more constant data
-                    static _FILE_LINE_COL: (&'static str, u32, u32) = (file!(), line!(), column!());
-                    &_FILE_LINE_COL
-                })
-            }
+            false => ::std::rt::begin_panic($fmt),
         }
     }};
 }
diff --git a/third_party/crates-io b/third_party/crates-io
index 12aeb43..c2c58c9 160000
--- a/third_party/crates-io
+++ b/third_party/crates-io
@@ -1 +1 @@
-Subproject commit 12aeb43d22bd37f575a58b27b78d35a846561c55
+Subproject commit c2c58c9cfc59442d6e22da94f795fd32177366b5
diff --git a/third_party/crates-sgx b/third_party/crates-sgx
index c0f033e..7b0f647 160000
--- a/third_party/crates-sgx
+++ b/third_party/crates-sgx
@@ -1 +1 @@
-Subproject commit c0f033e385818ff79c118c06edd08378d4fe7476
+Subproject commit 7b0f647835e67a61304717af13a8fa934c919ce1
diff --git a/third_party/rust-sgx-sdk b/third_party/rust-sgx-sdk
index 7f38d08..31b3233 160000
--- a/third_party/rust-sgx-sdk
+++ b/third_party/rust-sgx-sdk
@@ -1 +1 @@
-Subproject commit 7f38d082750c32afc546f140e76ce3880e41f77c
+Subproject commit 31b323366cbab3b359fd4a3a9bc827ff37654059
diff --git a/types/Cargo.toml b/types/Cargo.toml
index 8a8c5fd..56cef0b 100644
--- a/types/Cargo.toml
+++ b/types/Cargo.toml
@@ -22,7 +22,7 @@
 
 log           = { version = "0.4.6" }
 anyhow       = { version = "1.0.26" }
-sgx_types    = { version = "1.1.1" }
+sgx_types    = { version = "1.1.2" }
 rand         = { version = "0.7.0" }
 hex          = { version = "0.4.0" }
 serde        = { version = "1.0.92", features = ["derive"] }
@@ -36,4 +36,4 @@
 teaclave_test_utils = { path = "../tests/utils", optional = true }
 teaclave_crypto = { path = "../crypto" }
 
-sgx_tstd = { version = "1.1.1", features = ["net", "backtrace"], optional = true }
+sgx_tstd = { version = "1.1.2", features = ["net", "backtrace"], optional = true }
diff --git a/worker/Cargo.toml b/worker/Cargo.toml
index d8d7975..d551ac9 100644
--- a/worker/Cargo.toml
+++ b/worker/Cargo.toml
@@ -31,6 +31,6 @@
 teaclave_runtime = { path = "../runtime" }
 teaclave_test_utils = { path = "../tests/utils", optional = true }
 
-sgx_cov       = { version = "1.1.1", optional = true }
-sgx_tstd      = { version = "1.1.1", features = ["net", "thread", "backtrace"], optional = true }
-sgx_types     = { version = "1.1.1" }
+sgx_cov       = { version = "1.1.2", optional = true }
+sgx_tstd      = { version = "1.1.2", features = ["net", "thread", "backtrace"], optional = true }
+sgx_types     = { version = "1.1.2" }