diff --git a/.drone.yml b/.drone.yml index d425ca275..e0f706d7e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3,26 +3,26 @@ name: sgx-debug-ubuntu-1804 steps: - name: prepare - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - mkdir -p build - cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DTEST_MODE=ON .. - name: check - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - cd build && make check - name: compile - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - cd build && make VERBOSE=1 -j2 - name: test - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 environment: AS_ALGO: sgx_epid AS_URL: https://api.trustedservices.intel.com:443 @@ -61,27 +61,27 @@ name: sgx-dcap-debug-ubuntu-1804 steps: - name: prepare - image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.9:0.2.1 + image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.11:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - 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.9:0.2.1 + image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.11:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - cd build && make check - name: compile - image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.9:0.2.1 + image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.11: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.9:0.2.1 + image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.11:0.1.0 environment: AS_ALGO: sgx_ecdsa AS_URL: https://localhost:8080 @@ -140,26 +140,26 @@ name: sgx-release-ubuntu-1804 steps: - name: prepare - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - mkdir -p build - cd build && cmake -DCMAKE_BUILD_TYPE=Release -DTEST_MODE=OFF .. - name: check - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - cd build && make check - name: compile - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - cd build && make VERBOSE=1 -j2 - name: test - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 privileged: true environment: AS_ALGO: sgx_epid @@ -196,26 +196,26 @@ name: sim-debug-ubuntu-1804 steps: - name: prepare - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - mkdir -p build - cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DSGX_SIM_MODE=ON -DTEST_MODE=ON .. - name: check - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - cd build && make check - name: compile - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - cd build && make VERBOSE=1 -j2 - name: test - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 environment: AS_ALGO: sgx_epid AS_URL: https://api.trustedservices.intel.com:443 @@ -238,26 +238,26 @@ name: sim-release-ubuntu-1804 steps: - name: prepare - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - mkdir -p build - cd build && cmake -DCMAKE_BUILD_TYPE=Release -DSGX_SIM_MODE=ON -DTEST_MODE=OFF .. - name: check - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - cd build && make check - name: compile - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - cd build && make VERBOSE=1 -j2 - name: test - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment @@ -273,20 +273,20 @@ name: lint steps: - name: prepare - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - mkdir -p build - cd build && cmake -DRUSTFLAGS="-D warnings" -DTEST_MODE=ON .. - name: check - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment - cd build && make check - name: clippy - image: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + image: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 commands: - . /root/.cargo/env - . /opt/sgxsdk/environment diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 268e00eed..6d54178bc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,7 +28,7 @@ jobs: cd sdk/swift/TeaclaveClientSDK && xcodebuild -scheme TeaclaveClientSDK sim-debug-ubuntu-1804: runs-on: ubuntu-18.04 - container: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + container: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 steps: - uses: actions/checkout@v2 - name: Setting up $HOME @@ -61,7 +61,7 @@ jobs: format: runs-on: ubuntu-18.04 - container: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + container: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 steps: - uses: actions/checkout@v2 - name: Setting up $HOME @@ -82,7 +82,7 @@ jobs: cd build && make check lint: runs-on: ubuntu-18.04 - container: teaclave/teaclave-build-ubuntu-1804-sgx-2.12:0.2.0 + container: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.0 steps: - uses: actions/checkout@v2 - name: Setting up $HOME diff --git a/CMakeLists.txt b/CMakeLists.txt index f00327ba7..95dc495e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,7 @@ include(ExternalProject) find_package(Git) find_package(OpenSSL) check_exe_dependencies(rustup pypy) -pkg_check_modules(INTEL_SGX_SDK QUIET libsgx_urts=2.12.100.3) +pkg_check_modules(INTEL_SGX_SDK QUIET libsgx_urts>=2.12.100.3) if(NOT INTEL_SGX_SDK_FOUND) message(FATAL_ERROR "Intel SGX SDK (version 2.12.100.3) is not found or version not matched.") endif() diff --git a/binder/src/ocall.rs b/binder/src/ocall.rs index f773258df..4eae51612 100644 --- a/binder/src/ocall.rs +++ b/binder/src/ocall.rs @@ -18,6 +18,9 @@ use sgx_types::*; use std::ptr; +#[cfg(sgx_sim)] +#[link(name = "sgx_quote_ex_sim")] +#[cfg(not(sgx_sim))] #[link(name = "sgx_quote_ex")] extern "C" { fn sgx_select_att_key_id( diff --git a/docker/build.ubuntu-1804.sgx-2.12.Dockerfile b/docker/build.ubuntu-1804.sgx-2.14.Dockerfile similarity index 95% rename from docker/build.ubuntu-1804.sgx-2.12.Dockerfile rename to docker/build.ubuntu-1804.sgx-2.14.Dockerfile index 65b74a5d5..35f8427c8 100644 --- a/docker/build.ubuntu-1804.sgx-2.12.Dockerfile +++ b/docker/build.ubuntu-1804.sgx-2.14.Dockerfile @@ -1,8 +1,8 @@ FROM ubuntu:18.04 -ENV VERSION 2.12.100.3-bionic1 -ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-linux/2.12/distro/ubuntu18.04-server" -ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.12.100.3.bin +ENV VERSION 2.14.100.2-bionic1 +ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-linux/2.14/distro/ubuntu18.04-server" +ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.14.100.2.bin ENV SGX_LINUX_X64_SDK_URL "$SGX_DOWNLOAD_URL_BASE/$SGX_LINUX_X64_SDK" ENV DEBIAN_FRONTEND=noninteractive diff --git a/docker/build.ubuntu-1804.sgx-dcap-1.9.Dockerfile b/docker/build.ubuntu-1804.sgx-dcap-1.11.Dockerfile similarity index 92% rename from docker/build.ubuntu-1804.sgx-dcap-1.9.Dockerfile rename to docker/build.ubuntu-1804.sgx-dcap-1.11.Dockerfile index f71df1fb9..3bb57ad95 100644 --- a/docker/build.ubuntu-1804.sgx-dcap-1.9.Dockerfile +++ b/docker/build.ubuntu-1804.sgx-dcap-1.11.Dockerfile @@ -1,9 +1,9 @@ FROM ubuntu:18.04 -ENV DCAP_VERSION 1.9.100.3-bionic1 -ENV VERSION 2.12.100.3-bionic1 -ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-dcap/1.9/linux/distro/ubuntu18.04-server" -ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.12.100.3.bin +ENV DCAP_VERSION 1.11.100.2-bionic1 +ENV VERSION 2.14.100.2-bionic1 +ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-dcap/1.11/linux/distro/ubuntu18.04-server" +ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.14.100.2.bin ENV SGX_LINUX_X64_SDK_URL "$SGX_DOWNLOAD_URL_BASE/$SGX_LINUX_X64_SDK" ENV DEBIAN_FRONTEND=noninteractive @@ -46,7 +46,8 @@ RUN apt-get update && apt-get install -y -f \ libsgx-dcap-ql-dev=$DCAP_VERSION \ libsgx-dcap-default-qpl-dev=$DCAP_VERSION \ libsgx-qe3-logic=$DCAP_VERSION \ - libsgx-pce-logic=$DCAP_VERSION + libsgx-pce-logic=$DCAP_VERSION \ + libsgx-uae-service=$VERSION RUN mkdir /var/run/aesmd && mkdir /etc/init RUN wget $SGX_LINUX_X64_SDK_URL && \ chmod u+x $SGX_LINUX_X64_SDK && \ diff --git a/docker/teaclave-rt.ubuntu-1804.Dockerfile b/docker/teaclave-rt.ubuntu-1804.Dockerfile index 5bfbe4172..529379584 100644 --- a/docker/teaclave-rt.ubuntu-1804.Dockerfile +++ b/docker/teaclave-rt.ubuntu-1804.Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:18.04 -ENV VERSION 2.12.100.3-bionic1 +ENV VERSION 2.14.100.2-bionic1 ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-linux/2.12/distro/ubuntu18.04-server" ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.12.100.3.bin ENV SGX_LINUX_X64_SDK_URL "$SGX_DOWNLOAD_URL_BASE/$SGX_LINUX_X64_SDK" diff --git a/docs/azure-confidential-computing.md b/docs/azure-confidential-computing.md index 17425bb84..223b826a9 100644 --- a/docs/azure-confidential-computing.md +++ b/docs/azure-confidential-computing.md @@ -52,7 +52,7 @@ Build Teaclave. $ git clone https://github.com/apache/incubator-teaclave.git $ cd incubator-teaclave $ docker run --rm -v $(pwd):/teaclave -w /teaclave \ - -it teaclave/teaclave-build-ubuntu-1804-sgx-2.12:latest \ + -it teaclave/teaclave-build-ubuntu-1804-sgx-2.14:latest \ bash -c ". /root/.cargo/env && \ . /opt/sgxsdk/environment && \ mkdir -p build && cd build && \ diff --git a/docs/my-first-function.md b/docs/my-first-function.md index 74e9bd372..de5d1f141 100644 --- a/docs/my-first-function.md +++ b/docs/my-first-function.md @@ -72,7 +72,7 @@ Build the Teaclave platform using docker: ``` $ cd incubator-teaclave $ docker run --rm -v $(pwd):/teaclave -w /teaclave \ - -it teaclave/teaclave-build-ubuntu-1804-sgx-2.12:latest \ + -it teaclave/teaclave-build-ubuntu-1804-sgx-2.14:latest \ bash -c ". /root/.cargo/env && \ . /opt/sgxsdk/environment && \ mkdir -p build && cd build && \ @@ -201,7 +201,7 @@ SIGKILL: kill" error during the compilation. $ git clone https://github.com/apache/incubator-teaclave.git $ cd incubator-teaclave $ docker run --rm -v $(pwd):/teaclave -w /teaclave \ - -it teaclave/teaclave-build-ubuntu-1804-sgx-2.12:latest \ + -it teaclave/teaclave-build-ubuntu-1804-sgx-2.14:latest \ bash -c ". /root/.cargo/env && \ . /opt/sgxsdk/environment && \ mkdir -p build && cd build && \