diff --git a/cmake/scripts/gen_cov.sh b/cmake/scripts/gen_cov.sh index a24b5aac2..35fb3e8ae 100755 --- a/cmake/scripts/gen_cov.sh +++ b/cmake/scripts/gen_cov.sh @@ -6,7 +6,7 @@ for var in "${REQUIRED_ENVS[@]}"; do done LCOV=lcov -LCOVOPT="--gcov-tool ${TEACLAVE_PROJECT_ROOT}/cmake/scripts/llvm-gcov" +LCOVOPT="--gcov-tool ${TEACLAVE_PROJECT_ROOT}/cmake/scripts/llvm-gcov.sh" LCOV_REALPATH="${TEACLAVE_PROJECT_ROOT}/cmake/scripts/lcov_realpath.py" GENHTML=genhtml diff --git a/cmake/scripts/gen_enclave_info_toml.py b/cmake/scripts/gen_enclave_info_toml.py index 1bc30da95..3eead058f 100644 --- a/cmake/scripts/gen_enclave_info_toml.py +++ b/cmake/scripts/gen_enclave_info_toml.py @@ -1,10 +1,11 @@ +#!/usr/bin/env python3 import sys def find_hex_value(content, section): index = content.index(section) # assume each element in content is ending with '\n' - hex_bytes = ''.join(content[index+1:index+3]).split() + hex_bytes = ''.join(content[index + 1:index + 3]).split() return ''.join(['%02x' % int(x, 16) for x in hex_bytes]) diff --git a/cmake/scripts/lcov_realpath.py b/cmake/scripts/lcov_realpath.py index 45a078615..bf8127780 100644 --- a/cmake/scripts/lcov_realpath.py +++ b/cmake/scripts/lcov_realpath.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 import os import sys @@ -5,6 +6,6 @@ for l in f: if l.startswith("SF:"): realpath = os.path.realpath(l[3:]) - print "SF:" + realpath, + print("SF:" + realpath, end='') else: - print l, + print(l, end='') diff --git a/cmake/scripts/llvm-gcov b/cmake/scripts/llvm-gcov.sh similarity index 100% rename from cmake/scripts/llvm-gcov rename to cmake/scripts/llvm-gcov.sh diff --git a/cmake/scripts/parse_cargo_packages.py b/cmake/scripts/parse_cargo_packages.py index 372b1229d..46399a58a 100644 --- a/cmake/scripts/parse_cargo_packages.py +++ b/cmake/scripts/parse_cargo_packages.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 ''' [usage] python parse_cargo_package.py This script parses Cargo.toml to print three lists for CMake @@ -67,17 +68,18 @@ def pkg_path_2_category(pkg_path): elif pkg_path == 'dcap': return 'dcap' else: - sys.stderr.write('[Error]: Unknown category for package_path {}\n'.format(pkg_path)) + sys.stderr.write( + '[Error]: Unknown category for package_path {}\n'.format(pkg_path)) sys.exit(-1) DEFAULT_EDL_LIB = "Enclave_common_t" PKG_NAME_TO_EDL_LIB = { - "teaclave_unit_tests_enclave" : "Enclave_fa_t", - "teaclave_execution_service_enclave" : "Enclave_fa_t", - } + "teaclave_unit_tests_enclave": "Enclave_fa_t", + "teaclave_execution_service_enclave": "Enclave_fa_t", +} + - def pkg_name_2_edl_lib_name(pkg_name): """ Take pkg_name and return its configured edl libary name, default is DEFAULT_EDL_LIB. @@ -110,8 +112,10 @@ def main(): pkg_categories.append(pkg_path_2_category(pkg_path)) edl_lib_names.append(pkg_name_2_edl_lib_name(pkg_name)) - out = [":".join(pkg_names), ":".join(pkg_paths), - ":".join(pkg_categories), ":".join(edl_lib_names)] + out = [ + ":".join(pkg_names), ":".join(pkg_paths), ":".join(pkg_categories), + ":".join(edl_lib_names) + ] sys.stdout.write("\n".join(out)) diff --git a/cmake/scripts/prep.sh b/cmake/scripts/prep.sh index 3d08a2db2..a7fca7185 100755 --- a/cmake/scripts/prep.sh +++ b/cmake/scripts/prep.sh @@ -14,7 +14,7 @@ for var in "${REQUIRED_ENVS[@]}"; do [ -z "${!var}" ] && echo "Please set ${var}" && exit -1 done -${MT_SCRIPT_DIR}/setup_cmake_tomls ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} +${MT_SCRIPT_DIR}/setup_cmake_tomls.py ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} mkdir -p ${TEACLAVE_OUT_DIR} ${TEACLAVE_TARGET_DIR} ${TEACLAVE_SERVICE_INSTALL_DIR} \ ${TEACLAVE_EXAMPLE_INSTALL_DIR} ${TEACLAVE_CLI_INSTALL_DIR} \ ${TEACLAVE_BIN_INSTALL_DIR} ${TEACLAVE_LIB_INSTALL_DIR} \ diff --git a/cmake/scripts/setup_cmake_tomls b/cmake/scripts/setup_cmake_tomls.py similarity index 73% rename from cmake/scripts/setup_cmake_tomls rename to cmake/scripts/setup_cmake_tomls.py index 19c6513a4..516f46d01 100755 --- a/cmake/scripts/setup_cmake_tomls +++ b/cmake/scripts/setup_cmake_tomls.py @@ -1,6 +1,6 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 ''' -[usage] setup_cmake_tomls [project_root_dir] [project_build_dir] +[usage] setup_cmake_tomls.py [project_root_dir] [project_build_dir] Create cmake_tomls under build_dir Create separate folders for unix_app|sgx_trusted|sgx_untrusted under build_dir/cmake_tomls Create symlinks for Cargo.*.toml and folders so cargo build can run in separate folders @@ -11,13 +11,7 @@ import sys # symlinks won't be created for the following directories -SYM_FOLDER_BLACKLIST = [ - 'docs', - 'cmake', - 'out', - 'bin', - 'build' -] +SYM_FOLDER_BLACKLIST = ['docs', 'cmake', 'out', 'bin', 'build'] CATEGORIES = ['sgx_trusted_lib', 'sgx_untrusted_app', 'unix_app'] @@ -31,7 +25,8 @@ def exec_cmd(cmd): def filter_sym_dir(root_dir, name): """return true if name corresponds to a folder and is not in blacklist""" return not name.startswith( - '.') and not name in SYM_FOLDER_BLACKLIST and osp.isdir(osp.join(root_dir, name)) + '.') and not name in SYM_FOLDER_BLACKLIST and osp.isdir( + osp.join(root_dir, name)) def create_symlinks(root_dir, build_dir): @@ -39,23 +34,24 @@ def create_symlinks(root_dir, build_dir): exec_cmd('mkdir -p {build_dir}/cmake_tomls'.format(build_dir=build_dir)) sym_folders = list( - filter( - lambda name: filter_sym_dir( - root_dir, - name), - os.listdir(root_dir))) + filter(lambda name: filter_sym_dir(root_dir, name), + os.listdir(root_dir))) for cate in CATEGORIES: - cate_dir = '{build_dir}/cmake_tomls/{cate}'.format( - build_dir=build_dir, cate=cate) + cate_dir = '{build_dir}/cmake_tomls/{cate}'.format(build_dir=build_dir, + cate=cate) cmd = 'mkdir -p {cate_dir} && [ ! -f {cate_dir}/Cargo.toml ] && \ ln -s {root_dir}/cmake/tomls/Cargo.{cate}.toml \ - {cate_dir}/Cargo.toml'.format(root_dir=root_dir, cate=cate, cate_dir=cate_dir) + {cate_dir}/Cargo.toml'.format(root_dir=root_dir, + cate=cate, + cate_dir=cate_dir) exec_cmd(cmd) for folder in sym_folders: cmd = '[ ! -d {cate_dir}/{folder} ] && ln -sn {root_dir}/{folder} \ - {cate_dir}/'.format(root_dir=root_dir, folder=folder, cate_dir=cate_dir) + {cate_dir}/'.format(root_dir=root_dir, + folder=folder, + cate_dir=cate_dir) exec_cmd(cmd) @@ -80,14 +76,18 @@ def setup_cargo_for_unix(root_dir, build_dir): && cp -f {third_party_dir}/crates-io/config {build_dir}/cmake_tomls/{target}/.cargo/config \ && sed -i 's/directory = "vendor"/directory = "third_party\/crates-io\/vendor"/' \ {build_dir}/cmake_tomls/{target}/.cargo/config''' - cmd = cmd.format(build_dir=build_dir, third_party_dir=third_party_dir, target=target) + cmd = cmd.format(build_dir=build_dir, + third_party_dir=third_party_dir, + target=target) exec_cmd(cmd) def main(): """setup tomls for cmake""" if len(sys.argv) != 3: - print('[usage] setup_cmake_tomls [project_root_dir] [project_build_dir]') + print( + '[usage] setup_cmake_tomls.py [project_root_dir] [project_build_dir]' + ) sys.exit(-1) root_dir = sys.argv[1] build_dir = sys.argv[2] diff --git a/examples/python/builtin_echo.py b/examples/python/builtin_echo.py index fd980ceec..d9569b2d1 100644 --- a/examples/python/builtin_echo.py +++ b/examples/python/builtin_echo.py @@ -2,20 +2,11 @@ import sys -from teaclave import ( - AuthenticationService, - FrontendService, - AuthenticationClient, - FrontendClient -) -from utils import ( - AUTHENTICATION_SERVICE_ADDRESS, - FRONTEND_SERVICE_ADDRESS, - AS_ROOT_CA_CERT_PATH, - ENCLAVE_INFO_PATH, - USER_ID, - USER_PASSWORD -) +from teaclave import (AuthenticationService, FrontendService, + AuthenticationClient, FrontendClient) +from utils import (AUTHENTICATION_SERVICE_ADDRESS, FRONTEND_SERVICE_ADDRESS, + AS_ROOT_CA_CERT_PATH, ENCLAVE_INFO_PATH, USER_ID, + USER_PASSWORD) class BuiltinEchoExample: diff --git a/examples/python/builtin_gbdt_train.py b/examples/python/builtin_gbdt_train.py index d2e03e3bd..7d727154c 100644 --- a/examples/python/builtin_gbdt_train.py +++ b/examples/python/builtin_gbdt_train.py @@ -128,7 +128,7 @@ def gbdt(self): def main(): example = BuiltinGbdtExample(USER_ID, USER_PASSWORD) - rt = example.gbdt() + rt = example.gbdt() print("[+] function return: ", rt) diff --git a/examples/python/builtin_online_decrypt.py b/examples/python/builtin_online_decrypt.py index 6bad1bf82..d14cf7a94 100644 --- a/examples/python/builtin_online_decrypt.py +++ b/examples/python/builtin_online_decrypt.py @@ -75,7 +75,7 @@ def main(): ] nonce = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] encrypted_data = "CaZd8qSMMlBp8SjSXj2I4dQIuC9KkZ5DI/ATo1sWJw==" - algorithm = "aes256gcm" # Alogorithm can be "aes256gcm" or "aes128gcm" + algorithm = "aes256gcm" # Alogorithm can be "aes256gcm" or "aes128gcm" rt = example.decrypt(key, nonce, encrypted_data, algorithm) print("[+] function return: ", rt) diff --git a/examples/python/mesapy_echo.py b/examples/python/mesapy_echo.py index 6536f9484..570adc74f 100644 --- a/examples/python/mesapy_echo.py +++ b/examples/python/mesapy_echo.py @@ -2,20 +2,11 @@ import sys -from teaclave import ( - AuthenticationService, - FrontendService, - AuthenticationClient, - FrontendClient -) -from utils import ( - AUTHENTICATION_SERVICE_ADDRESS, - FRONTEND_SERVICE_ADDRESS, - AS_ROOT_CA_CERT_PATH, - ENCLAVE_INFO_PATH, - USER_ID, - USER_PASSWORD -) +from teaclave import (AuthenticationService, FrontendService, + AuthenticationClient, FrontendClient) +from utils import (AUTHENTICATION_SERVICE_ADDRESS, FRONTEND_SERVICE_ADDRESS, + AS_ROOT_CA_CERT_PATH, ENCLAVE_INFO_PATH, USER_ID, + USER_PASSWORD) class MesaPyEchoExample: @@ -23,7 +14,9 @@ def __init__(self, user_id, user_password): self.user_id = user_id self.user_password = user_password - def echo(self, payload_file="mesapy_echo_payload.py", message="Hello, Teaclave!"): + def echo(self, + payload_file="mesapy_echo_payload.py", + message="Hello, Teaclave!"): channel = AuthenticationService(AUTHENTICATION_SERVICE_ADDRESS, AS_ROOT_CA_CERT_PATH, ENCLAVE_INFO_PATH).connect() diff --git a/examples/python/utils.py b/examples/python/utils.py index 2bd4725ba..ee085dec3 100644 --- a/examples/python/utils.py +++ b/examples/python/utils.py @@ -20,4 +20,3 @@ else: AS_ROOT_CA_CERT_PATH = "../../keys/" + AS_ROOT_CERT_FILENAME ENCLAVE_INFO_PATH = "../../release/tests/enclave_info.toml" - diff --git a/tests/scripts/functional_tests.py b/tests/scripts/functional_tests.py index 1cf4e2b21..0e6d0e6b3 100755 --- a/tests/scripts/functional_tests.py +++ b/tests/scripts/functional_tests.py @@ -78,8 +78,8 @@ def verify_report(cert, endpoint_name): quote = base64.b64decode(quote) # get mr_enclave and mr_signer from the quote - mr_enclave = quote[112:112+32].hex() - mr_signer = quote[176:176+32].hex() + mr_enclave = quote[112:112 + 32].hex() + mr_signer = quote[176:176 + 32].hex() # get enclave_info enclave_info = toml.load(ENCLAVE_INFO_PATH) @@ -94,7 +94,6 @@ def verify_report(cert, endpoint_name): class TestAuthenticationService(unittest.TestCase): - def setUp(self): sock = socket.create_connection(AUTHENTICATION_SERVICE_ADDRESS) self.socket = CONTEXT.wrap_socket(sock, server_hostname=HOSTNAME) diff --git a/tests/scripts/simple_http_server.py b/tests/scripts/simple_http_server.py index 3fe4aa428..5a0cd0161 100644 --- a/tests/scripts/simple_http_server.py +++ b/tests/scripts/simple_http_server.py @@ -23,6 +23,7 @@ def do_PUT(self): else: port = 6789 socketserver.TCPServer.allow_reuse_address = True - with socketserver.TCPServer(("localhost", port), HTTPRequestHandler) as httpd: + with socketserver.TCPServer(("localhost", port), + HTTPRequestHandler) as httpd: print("serving at port", port) httpd.serve_forever()