# 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

Reply via email to