# Rust SGX SDK v1.1.1 **Supports Intel SGX SDK v2.9**
**Supports Rust nightly-2020-03-12** **Docker images refactored** Due to the requirement of LVI mitigation, the docker image has to contain very new version of GCC/G++ and GNU binutils with LVI patch. We shipped our docker images with two options: (1) build gcc from source, or (2) use gcc from well-known repo. Please use at your own choice. **New proc macro `sgx_align`** `sgx_align` can help with mitigate INTEL-SA-00219. Please refer to the [unit test codes](samplecode/unit-test/enclave/src/test_alignstruct.rs) for sample usage. **Use hashbrown to replace old std::collections** We move to hashbrown v0.7 and skipped v0.6. **sgx_core_futures** provides basic future primitive. We'll provide some samples later. **sgx_crypto_helper** is working on both trusted/untrusted side now. You can view, comment on, or merge this pull request online at: https://github.com/apache/incubator-teaclave-sgx-sdk/pull/211 -- Commit Summary -- * v1.1.1 testing * Bump up version of sgx_build_helper * Drafting Readme and update rust-toolchain * Fix samplecode's toml to remove sgx_tservice * Remove sgx_tservice from hello-rust-vscode-debug. Remove umodti3.o from kvdb-memdb's libenclave.a * Fix more sgx_tservices * Fix unit tests * Update Readme. Add 16.04 dockerfile. * Fix missing flex * Fix apt update * Fix 16.04 dbgsym missing * Refactor ubuntu 16.04 dockerfile * Update makefiles for LVI mitigation; tweak dockerfiles; * Fix dockerfile and sgx_backtrace_sys for LVI mitigation * Fix docker gcc prefix * Add autogen patch for fixing thunk missing error during reconf * unset env var after build * Add centos and fedora dockerfiles * make binutils compatible with yum * Fix fedora and centos docker * make binutils.sh compatible with all docker images * Fix centos7 full * Update readme and release_notes * Add Zhao Chan to authors. Thanks for his contribution\! * remove Dockerfile 2004 because it only provides g++-9 which reports -mfunction-return and -fcf-protection are not compatible -- File Changes -- M Readme.md (13) M buildenv.mk (68) D common/inc/pthread.h (34) A common/inc/sched.h (40) M common/inc/sys/_types.h (2) M common/inc/sys/stat.h (2) M compiler-rt/Makefile (8) A dockerfile/01_gcc_8.sh (12) A dockerfile/02_binutils.sh (18) A dockerfile/03_sdk.sh (10) A dockerfile/04_psw.sh (19) A dockerfile/05_rust.sh (8) A dockerfile/Dockerfile.1604.full.nightly (35) M dockerfile/Dockerfile.1604.nightly (101) M dockerfile/Dockerfile.1804.nightly (87) A dockerfile/Dockerfile.1804.unsafe.nightly (72) A dockerfile/Dockerfile.centos7.full.nightly (44) M dockerfile/Dockerfile.centos7.nightly (93) M dockerfile/Dockerfile.fedora27.nightly (84) A edl/intel/sgx_pthread.edl (38) A edl/intel/sgx_tkey_exchange.edl (49) A edl/intel/sgx_tprotected_fs.edl (47) A edl/intel/sgx_tstdc.edl (48) A edl/intel/sgx_tswitchless.edl (39) M edl/sgx_asyncio.edl (2) M edl/sgx_env.edl (10) M edl/sgx_fd.edl (8) M edl/sgx_file.edl (4) M edl/sgx_mem.edl (10) M edl/sgx_net.edl (6) M edl/sgx_net_switchless.edl (4) M edl/sgx_socket.edl (12) M edl/sgx_sys.edl (4) M edl/sgx_thread.edl (8) M edl/sgx_tstd.edl (9) M release_notes.md (16) M rust-toolchain (2) M samplecode/backtrace/Makefile (21) M samplecode/backtrace/enclave/Cargo.toml (1) M samplecode/backtrace/enclave/Makefile (6) M samplecode/backtrace/enclave/Xargo.toml (4) M samplecode/crypto/Makefile (21) M samplecode/crypto/enclave/Cargo.toml (1) M samplecode/crypto/enclave/Makefile (6) M samplecode/crypto/enclave/Xargo.toml (4) M samplecode/db-proxy/db-proxy/Makefile (18) M samplecode/db-proxy/db-proxy/enclave/Cargo.toml (1) M samplecode/db-proxy/db-proxy/enclave/Makefile (6) M samplecode/db-proxy/db-proxy/enclave/Xargo.toml (4) M samplecode/file/Makefile (20) M samplecode/file/enclave/Cargo.toml (1) M samplecode/file/enclave/Makefile (6) M samplecode/file/enclave/Xargo.toml (4) M samplecode/hello-regex/Makefile (21) M samplecode/hello-regex/enclave/Cargo.toml (1) M samplecode/hello-regex/enclave/Makefile (6) M samplecode/hello-regex/enclave/Xargo.toml (4) M samplecode/hello-rust-vscode-debug/Cargo.toml (1) M samplecode/hello-rust-vscode-debug/Makefile (18) M samplecode/hello-rust-vscode-debug/enclave/Cargo.toml (1) M samplecode/hello-rust-vscode-debug/enclave/Makefile (6) M samplecode/hello-rust-vscode-debug/enclave/Xargo.toml (4) M samplecode/hello-rust/Makefile (18) M samplecode/hello-rust/enclave/Cargo.toml (1) M samplecode/hello-rust/enclave/Makefile (6) M samplecode/hello-rust/enclave/Xargo.toml (4) M samplecode/helloworld/Makefile (21) M samplecode/helloworld/enclave/Cargo.toml (1) M samplecode/helloworld/enclave/Makefile (6) M samplecode/helloworld/enclave/Xargo.toml (4) M samplecode/http_req/Makefile (17) M samplecode/http_req/enclave/Cargo.toml (1) M samplecode/http_req/enclave/Makefile (6) M samplecode/http_req/enclave/Xargo.toml (4) M samplecode/hugemem/Makefile (21) M samplecode/hugemem/enclave/Cargo.toml (1) M samplecode/hugemem/enclave/Makefile (6) M samplecode/hugemem/enclave/Xargo.toml (4) M samplecode/kvdb-memdb/Makefile (20) M samplecode/kvdb-memdb/enclave/Cargo.toml (1) M samplecode/kvdb-memdb/enclave/Makefile (6) M samplecode/kvdb-memdb/enclave/Xargo.toml (4) M samplecode/localattestation/Makefile (20) M samplecode/localattestation/attestation/Cargo.toml (1) M samplecode/localattestation/attestation/Xargo.toml (4) M samplecode/localattestation/enclave1/Cargo.toml (1) M samplecode/localattestation/enclave1/Makefile (6) M samplecode/localattestation/enclave1/Xargo.toml (4) M samplecode/localattestation/enclave2/Cargo.toml (1) M samplecode/localattestation/enclave2/Makefile (6) M samplecode/localattestation/enclave2/Xargo.toml (4) M samplecode/localattestation/enclave3/Cargo.toml (1) M samplecode/localattestation/enclave3/Makefile (6) M samplecode/localattestation/enclave3/Xargo.toml (4) M samplecode/logger/Makefile (18) M samplecode/logger/enclave/Cargo.toml (1) M samplecode/logger/enclave/Makefile (6) M samplecode/logger/enclave/Xargo.toml (4) M samplecode/machine-learning/Makefile (18) M samplecode/machine-learning/enclave/Cargo.toml (1) M samplecode/machine-learning/enclave/Makefile (6) M samplecode/machine-learning/enclave/Xargo.toml (4) M samplecode/mio/client/Makefile (17) M samplecode/mio/client/enclave/Cargo.toml (1) M samplecode/mio/client/enclave/Makefile (6) M samplecode/mio/client/enclave/Xargo.toml (4) M samplecode/mio/server/Makefile (18) M samplecode/mio/server/enclave/Cargo.toml (1) M samplecode/mio/server/enclave/Makefile (6) M samplecode/mio/server/enclave/Xargo.toml (4) M samplecode/mutual-ra/Makefile (18) M samplecode/mutual-ra/enclave/Cargo.toml (1) M samplecode/mutual-ra/enclave/Makefile (6) M samplecode/mutual-ra/enclave/Xargo.toml (4) M samplecode/net2/Makefile (18) M samplecode/net2/enclave/Cargo.toml (1) M samplecode/net2/enclave/Makefile (6) M samplecode/net2/enclave/Xargo.toml (4) M samplecode/pcl/encrypted-hello/Makefile (17) M samplecode/pcl/encrypted-hello/enclave/Cargo.toml (1) M samplecode/pcl/encrypted-hello/enclave/Makefile (6) M samplecode/pcl/encrypted-hello/enclave/Xargo.toml (4) M samplecode/pcl/pcl-seal/Makefile (18) M samplecode/pcl/pcl-seal/enclave/Cargo.toml (1) M samplecode/pcl/pcl-seal/enclave/Makefile (6) M samplecode/pcl/pcl-seal/enclave/Xargo.toml (4) M samplecode/pcl/pcl-seal/enclave/ue_send_recv/Cargo.toml (1) M samplecode/prost-protobuf/Makefile (18) M samplecode/prost-protobuf/enclave/Cargo.toml (1) M samplecode/prost-protobuf/enclave/Makefile (6) M samplecode/prost-protobuf/enclave/Xargo.toml (4) M samplecode/protobuf/Makefile (18) M samplecode/protobuf/enclave/Cargo.toml (1) M samplecode/protobuf/enclave/Makefile (6) M samplecode/protobuf/enclave/Xargo.toml (4) M samplecode/psi/SMCClient/Makefile (13) M samplecode/psi/SMCServer/Makefile (25) M samplecode/psi/SMCServer/enclave/Cargo.toml (2) M samplecode/psi/SMCServer/enclave/Makefile (6) M samplecode/psi/SMCServer/enclave/Xargo.toml (4) M samplecode/remoteattestation/Application/Makefile (25) M samplecode/remoteattestation/Application/enclave/Cargo.toml (2) M samplecode/remoteattestation/Application/enclave/Makefile (6) M samplecode/remoteattestation/Application/enclave/Xargo.toml (4) M samplecode/remoteattestation/ServiceProvider/Makefile (11) M samplecode/sealeddata/Makefile (20) M samplecode/sealeddata/enclave/Cargo.toml (1) M samplecode/sealeddata/enclave/Makefile (6) M samplecode/sealeddata/enclave/Xargo.toml (4) M samplecode/secretsharing/Makefile (21) M samplecode/secretsharing/enclave/Cargo.toml (1) M samplecode/secretsharing/enclave/Makefile (6) M samplecode/secretsharing/enclave/Xargo.toml (4) M samplecode/serialize/Makefile (20) M samplecode/serialize/enclave/Cargo.toml (1) M samplecode/serialize/enclave/Makefile (6) M samplecode/serialize/enclave/Xargo.toml (4) M samplecode/sgx-cov/Makefile (17) M samplecode/sgx-cov/enclave/Cargo.toml (1) M samplecode/sgx-cov/enclave/Makefile (6) M samplecode/sgx-cov/enclave/Xargo.toml (4) D samplecode/sgxcounter/Makefile (163) D samplecode/sgxcounter/Readme.md (6) D samplecode/sgxcounter/app/Cargo.toml (13) D samplecode/sgxcounter/app/build.rs (40) D samplecode/sgxcounter/app/src/main.rs (82) D samplecode/sgxcounter/bin/readme.txt (1) D samplecode/sgxcounter/enclave/Cargo.toml (46) D samplecode/sgxcounter/enclave/Enclave.config.xml (12) D samplecode/sgxcounter/enclave/Enclave.edl (29) D samplecode/sgxcounter/enclave/Enclave.lds (9) D samplecode/sgxcounter/enclave/Enclave_private.pem (39) D samplecode/sgxcounter/enclave/Makefile (32) D samplecode/sgxcounter/enclave/Xargo.toml (94) D samplecode/sgxcounter/enclave/src/lib.rs (88) D samplecode/sgxcounter/enclave/x86_64-unknown-linux-sgx.json (31) D samplecode/sgxcounter/lib/readme.txt (1) D samplecode/sgxtime/Makefile (163) D samplecode/sgxtime/Readme.md (6) D samplecode/sgxtime/app/Cargo.toml (14) D samplecode/sgxtime/app/build.rs (40) D samplecode/sgxtime/app/src/main.rs (82) D samplecode/sgxtime/bin/readme.txt (1) D samplecode/sgxtime/enclave/Cargo.toml (46) D samplecode/sgxtime/enclave/Enclave.config.xml (12) D samplecode/sgxtime/enclave/Enclave.edl (29) D samplecode/sgxtime/enclave/Enclave.lds (9) D samplecode/sgxtime/enclave/Enclave_private.pem (39) D samplecode/sgxtime/enclave/Makefile (32) D samplecode/sgxtime/enclave/Xargo.toml (94) D samplecode/sgxtime/enclave/src/lib.rs (61) D samplecode/sgxtime/enclave/x86_64-unknown-linux-sgx.json (31) D samplecode/sgxtime/lib/readme.txt (1) M samplecode/static-data-distribution/Makefile (18) M samplecode/static-data-distribution/app/Cargo.toml (1) M samplecode/static-data-distribution/enclave/Cargo.toml (1) M samplecode/static-data-distribution/enclave/Makefile (6) M samplecode/static-data-distribution/enclave/Xargo.toml (4) M samplecode/switchless/Makefile (18) M samplecode/switchless/enclave/Cargo.toml (1) M samplecode/switchless/enclave/Makefile (6) M samplecode/switchless/enclave/Xargo.toml (4) M samplecode/tcmalloc/Makefile (22) M samplecode/tcmalloc/enclave/Cargo.toml (1) M samplecode/tcmalloc/enclave/Makefile (6) M samplecode/tcmalloc/enclave/Xargo.toml (4) M samplecode/thread/Makefile (24) M samplecode/thread/enclave/Cargo.toml (1) M samplecode/thread/enclave/Makefile (6) M samplecode/thread/enclave/Xargo.toml (4) M samplecode/tls/tlsclient/Makefile (17) M samplecode/tls/tlsclient/enclave/Cargo.toml (1) M samplecode/tls/tlsclient/enclave/Makefile (6) M samplecode/tls/tlsclient/enclave/Xargo.toml (4) M samplecode/tls/tlsserver/Makefile (18) M samplecode/tls/tlsserver/enclave/Cargo.toml (1) M samplecode/tls/tlsserver/enclave/Makefile (6) M samplecode/tls/tlsserver/enclave/Xargo.toml (4) M samplecode/tr-mpc/tr-mpc-server/Makefile (18) M samplecode/tr-mpc/tr-mpc-server/enclave/Cargo.toml (1) M samplecode/tr-mpc/tr-mpc-server/enclave/Makefile (6) M samplecode/tr-mpc/tr-mpc-server/enclave/Xargo.toml (4) M samplecode/ue-ra/ue-ra-server/Makefile (17) M samplecode/ue-ra/ue-ra-server/enclave/Cargo.toml (1) M samplecode/ue-ra/ue-ra-server/enclave/Makefile (6) M samplecode/ue-ra/ue-ra-server/enclave/Xargo.toml (4) M samplecode/unit-test/Makefile (18) M samplecode/unit-test/enclave/Cargo.toml (8) M samplecode/unit-test/enclave/Makefile (6) M samplecode/unit-test/enclave/Xargo.toml (6) M samplecode/unit-test/enclave/src/lib.rs (8) M samplecode/unit-test/enclave/src/test_alignbox.rs (80) A samplecode/unit-test/enclave/src/test_alignstruct.rs (82) M samplecode/unit-test/enclave/src/test_rts.rs (2) M samplecode/wasmi/Makefile (18) M samplecode/wasmi/enclave/Cargo.toml (1) M samplecode/wasmi/enclave/Makefile (6) M samplecode/wasmi/enclave/Xargo.toml (4) M samplecode/wasmi/enclave/sgxwasm/Cargo.toml (1) M samplecode/zlib-lazy-static-sample/Makefile (18) M samplecode/zlib-lazy-static-sample/enclave/Cargo.toml (1) M samplecode/zlib-lazy-static-sample/enclave/Makefile (6) M samplecode/zlib-lazy-static-sample/enclave/Xargo.toml (4) A sgx_align_struct_attribute/Cargo.toml (19) R sgx_align_struct_attribute/LICENSE (0) R sgx_align_struct_attribute/Readme.md (0) A sgx_align_struct_attribute/src/align.rs (232) A sgx_align_struct_attribute/src/layout.rs (199) R sgx_align_struct_attribute/src/lib.rs (18) M sgx_alloc/Cargo.toml (2) R sgx_alloc/src/alignalloc.rs (43) R sgx_alloc/src/alignbox.rs (58) M sgx_alloc/src/lib.rs (139) A sgx_alloc/src/rsrvmem.rs (166) A sgx_alloc/src/system.rs (185) M sgx_backtrace/Cargo.toml (2) M sgx_backtrace_sys/Cargo.toml (2) M sgx_backtrace_sys/build.rs (43) M sgx_build_helper/Cargo.toml (2) M sgx_build_helper/lib.rs (18) R sgx_core_futures/Cargo.toml (10) A sgx_core_futures/LICENSE (202) A sgx_core_futures/Readme.md (3) A sgx_core_futures/src/future.rs (118) A sgx_core_futures/src/lib.rs (99) M sgx_cov/Cargo.toml (2) M sgx_crypto_helper/Cargo.toml (72) M sgx_crypto_helper/src/lib.rs (13) M sgx_crypto_helper/src/rsa2048.rs (30) M sgx_crypto_helper/src/rsa3072.rs (31) M sgx_demangle/Cargo.toml (2) M sgx_libc/Cargo.toml (2) M sgx_libc/src/linux/x86_64/mod.rs (158) M sgx_libc/src/linux/x86_64/ocall.rs (1483) M sgx_no_tstd/Cargo.toml (2) M sgx_no_tstd/build.rs (15) M sgx_panic_unwind/lib.rs (2) M sgx_rand/Cargo.toml (2) M sgx_rand_derive/Cargo.toml (2) M sgx_serialize/Cargo.toml (2) M sgx_serialize_derive/Cargo.toml (2) M sgx_serialize_derive_internals/Cargo.toml (2) M sgx_tcrypto/Cargo.toml (2) M sgx_tcrypto/src/crypto.rs (224) M sgx_tcrypto_helper/Cargo.toml (42) M sgx_tcrypto_helper/src/lib.rs (46) D sgx_tcrypto_helper/src/rsa2048.rs (472) D sgx_tcrypto_helper/src/rsa3072.rs (461) M sgx_tdh/Cargo.toml (2) M sgx_tdh/src/dh.rs (20) M sgx_tkey_exchange/Cargo.toml (2) M sgx_tkey_exchange/src/lib.rs (22) M sgx_tprotected_fs/Cargo.toml (2) M sgx_tprotected_fs/src/fs.rs (10) M sgx_trts/Cargo.toml (2) M sgx_trts/src/c_str.rs (2) M sgx_trts/src/cpu_feature.rs (117) A sgx_trts/src/cpuid.rs (139) M sgx_trts/src/enclave.rs (145) M sgx_trts/src/lib.rs (5) -- Patch Links -- https://github.com/apache/incubator-teaclave-sgx-sdk/pull/211.patch https://github.com/apache/incubator-teaclave-sgx-sdk/pull/211.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/apache/incubator-teaclave-sgx-sdk/pull/211
