diff --git a/Jenkinsfiles/ubuntu-16.04.dockerfile b/Jenkinsfiles/ubuntu-16.04.dockerfile index b5448976..a943ba94 100644 --- a/Jenkinsfiles/ubuntu-16.04.dockerfile +++ b/Jenkinsfiles/ubuntu-16.04.dockerfile @@ -15,6 +15,7 @@ RUN apt-get update \ git \ libapr1-dev \ libaprutil1-dev \ + libcurl4-openssl-dev \ libexpat1 \ libexpat1-dev \ libnss-mdns \ diff --git a/Jenkinsfiles/ubuntu-18.04.dockerfile b/Jenkinsfiles/ubuntu-18.04.dockerfile index e906114c..f5baad4a 100644 --- a/Jenkinsfiles/ubuntu-18.04.dockerfile +++ b/Jenkinsfiles/ubuntu-18.04.dockerfile @@ -14,6 +14,7 @@ RUN apt-get update && env DEBIAN_FRONTEND=noninteractive apt-get install -y \ git \ libapr1-dev \ libaprutil1-dev \ + libcurl4-openssl-dev \ libelf-dev \ libexpat1 \ libexpat1-dev \ diff --git a/Pal/src/host/Linux-SGX/Makefile b/Pal/src/host/Linux-SGX/Makefile index 6af824d0..94a292b2 100644 --- a/Pal/src/host/Linux-SGX/Makefile +++ b/Pal/src/host/Linux-SGX/Makefile @@ -62,7 +62,7 @@ urts-asm-objs = sgx_entry.o graphene_lib = .lib/graphene-lib.a .PHONY: all -all: sgx-driver/sgx.h $(host_files) +all: sgx-driver/sgx.h $(host_files) tools libpal-Linux-SGX.a: $(enclave-objs) $(enclave-asm-objs) $(call cmd,ar_a_o) @@ -120,6 +120,10 @@ endif include ../../../../Scripts/Makefile.rules +.PHONY: tools +tools: + $(MAKE) -C tools + CLEAN_FILES += $(notdir $(pal_static) $(pal_lib) $(pal_loader)) CLEAN_FILES += debugger/sgx_gdb.so CLEAN_FILES += quote/aesm.pb-c.c quote/aesm.pb-c.h quote/aesm.pb-c.d quote/aesm.pb-c.o @@ -132,10 +136,12 @@ clean_: .PHONY: clean clean: clean_ $(MAKE) -C sgx-driver $@ + $(MAKE) -C tools $@ .PHONY: distclean distclean: clean_ $(MAKE) -C sgx-driver $@ + $(MAKE) -C tools $@ .PHONY: test test: diff --git a/Pal/src/host/Linux-SGX/tools/common/.gitignore b/Pal/src/host/Linux-SGX/tools/common/.gitignore new file mode 100644 index 00000000..70cd1b9e --- /dev/null +++ b/Pal/src/host/Linux-SGX/tools/common/.gitignore @@ -0,0 +1,2 @@ +/cJSON* +/*.gz diff --git a/Pal/src/host/Linux-SGX/tools/common/attestation.c b/Pal/src/host/Linux-SGX/tools/common/attestation.c index c7c4416c..85169957 100644 --- a/Pal/src/host/Linux-SGX/tools/common/attestation.c +++ b/Pal/src/host/Linux-SGX/tools/common/attestation.c @@ -18,7 +18,6 @@ #include #include -#include "api.h" #include "attestation.h" #include "cJSON.h" #include "pal_crypto.h" diff --git a/Pal/src/host/Linux-SGX/tools/ias-request/Makefile b/Pal/src/host/Linux-SGX/tools/ias-request/Makefile index bf223447..23892a27 100644 --- a/Pal/src/host/Linux-SGX/tools/ias-request/Makefile +++ b/Pal/src/host/Linux-SGX/tools/ias-request/Makefile @@ -4,9 +4,10 @@ include ../../../../../../Scripts/Makefile.rules CFLAGS += -I../.. \ -I../common \ -L../common \ + -L../../../../../lib/crypto/mbedtls/install/lib \ -D_GNU_SOURCE -LDLIBS += -lsgx_util +LDLIBS += -lsgx_util -lmbedcrypto PREFIX ?= /usr/local diff --git a/Pal/src/host/Linux-SGX/tools/ias-request/ias_request.c b/Pal/src/host/Linux-SGX/tools/ias-request/ias_request.c index 6cfbcb91..43551c4b 100644 --- a/Pal/src/host/Linux-SGX/tools/ias-request/ias_request.c +++ b/Pal/src/host/Linux-SGX/tools/ias-request/ias_request.c @@ -88,18 +88,18 @@ int report(struct ias_context_t* ias, const char* quote_path, const char* nonce, ssize_t quote_size; quote_data = read_file(quote_path, "e_size); - if (!quote_data) { + if (!quote_data || quote_size <= 0) { ERROR("Failed to read quote file '%s'\n", quote_path); goto out; } - if (quote_size < sizeof(sgx_quote_t)) { + if ((size_t)quote_size < sizeof(sgx_quote_t)) { ERROR("Quote is too small\n"); goto out; } sgx_quote_t* quote = (sgx_quote_t*)quote_data; - if (quote_size < sizeof(sgx_quote_t) + quote->signature_len) { + if ((size_t)quote_size < sizeof(sgx_quote_t) + quote->signature_len) { ERROR("Quote is too small\n"); goto out; } diff --git a/Pal/src/host/Linux-SGX/tools/quote-dump/Makefile b/Pal/src/host/Linux-SGX/tools/quote-dump/Makefile index ef53a2a9..5076d534 100644 --- a/Pal/src/host/Linux-SGX/tools/quote-dump/Makefile +++ b/Pal/src/host/Linux-SGX/tools/quote-dump/Makefile @@ -4,9 +4,10 @@ include ../../../../../../Scripts/Makefile.rules CFLAGS += -I../.. \ -I../common \ -L../common \ + -L../../../../../lib/crypto/mbedtls/install/lib \ -D_GNU_SOURCE -LDLIBS += -lsgx_util +LDLIBS += -lsgx_util -lmbedcrypto PREFIX ?= /usr/local diff --git a/Pal/src/host/Linux-SGX/tools/verify-ias-report/Makefile b/Pal/src/host/Linux-SGX/tools/verify-ias-report/Makefile index 0030d085..e7e3c66f 100644 --- a/Pal/src/host/Linux-SGX/tools/verify-ias-report/Makefile +++ b/Pal/src/host/Linux-SGX/tools/verify-ias-report/Makefile @@ -4,9 +4,10 @@ include ../../../../../../Scripts/Makefile.rules CFLAGS += -I../.. \ -I../common \ -L../common \ + -L../../../../../lib/crypto/mbedtls/install/lib \ -D_GNU_SOURCE -LDLIBS += -lsgx_util +LDLIBS += -lsgx_util -lmbedcrypto PREFIX ?= /usr/local