From 89e86c2d2d8156dca9c660d20a8155a0861c6450 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Wed, 14 Feb 2024 14:25:33 +0100 Subject: [PATCH] feat: remove `intel-tee-quote-verification-sys` important fixes have been upstreamed Signed-off-by: Harald Hoyer --- Cargo.lock | 27 +++--- Cargo.toml | 3 +- .../Cargo.toml | 10 --- .../License.txt | 38 -------- .../bindings.h | 33 ------- .../intel-tee-quote-verification-sys/build.rs | 88 ------------------- .../src/lib.rs | 52 ----------- 7 files changed, 14 insertions(+), 237 deletions(-) delete mode 100644 crates/intel-tee-quote-verification-sys/Cargo.toml delete mode 100644 crates/intel-tee-quote-verification-sys/License.txt delete mode 100644 crates/intel-tee-quote-verification-sys/bindings.h delete mode 100644 crates/intel-tee-quote-verification-sys/build.rs delete mode 100644 crates/intel-tee-quote-verification-sys/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index ca5180a..4bbfb1a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -370,17 +370,17 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "bindgen" -version = "0.69.4" +version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" dependencies = [ - "bitflags 2.4.2", + "bitflags 1.3.2", "cexpr", "clang-sys", - "itertools", "lazy_static", "lazycell", "log", + "peeking_take_while", "prettyplease", "proc-macro2", "quote", @@ -1364,18 +1364,11 @@ dependencies = [ [[package]] name = "intel-tee-quote-verification-sys" -version = "0.2.0" -dependencies = [ - "bindgen", -] - -[[package]] -name = "itertools" -version = "0.12.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +checksum = "93c8bc48d598fa48310e41f65a706e0beb2a74f5f9e5a26c5c2ca6cd83416fcc" dependencies = [ - "either", + "bindgen", ] [[package]] @@ -1734,6 +1727,12 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + [[package]] name = "pem-rfc7468" version = "0.7.0" diff --git a/Cargo.toml b/Cargo.toml index afe3c6f..8ec3550 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -68,7 +68,6 @@ actix-web = { version = "4.5", features = ["rustls-0_22"] } anyhow = "1.0.79" awc = { version = "3.4", features = ["rustls-0_22-webpki-roots"] } base64 = "0.21.7" -bindgen = "0.69.4" bitflags = "2.4" bytemuck = { version = "1.14.3", features = ["derive", "min_const_generics", "extern_crate_std"] } bytes = "1" @@ -80,7 +79,7 @@ futures-core = { version = "0.3.30", features = ["alloc"], default-features = fa getrandom = "0.2.12" hex = { version = "0.4.3", features = ["std"], default-features = false } intel-tee-quote-verification-rs = { path = "crates/intel-tee-quote-verification-rs", version = "0.2.1" } -intel-tee-quote-verification-sys = { path = "crates/intel-tee-quote-verification-sys", version = "0.2.0" } +intel-tee-quote-verification-sys = { version = "0.2.1" } k256 = "0.13" log = "0.4" mio = "0.8.10" diff --git a/crates/intel-tee-quote-verification-sys/Cargo.toml b/crates/intel-tee-quote-verification-sys/Cargo.toml deleted file mode 100644 index a2597ef..0000000 --- a/crates/intel-tee-quote-verification-sys/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -# Fork of the original crate: https://github.com/intel/SGXDataCenterAttestationPrimitives - -[package] -name = "intel-tee-quote-verification-sys" -version = "0.2.0" -edition = "2021" -license = "BSD-3-Clause" - -[build-dependencies] -bindgen.workspace = true diff --git a/crates/intel-tee-quote-verification-sys/License.txt b/crates/intel-tee-quote-verification-sys/License.txt deleted file mode 100644 index c49d62f..0000000 --- a/crates/intel-tee-quote-verification-sys/License.txt +++ /dev/null @@ -1,38 +0,0 @@ -BSD License - -Copyright (C) 2011-2021 Intel Corporation. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - * Neither the name of Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -============================================================== - -pce.signed.dll, qve.signed.dll,id_enclave.signed.dll and qe3.signed.dll, -libsgx_pce.signed.so, libsgx_qve.signed.so, libsgx_id_enclave.signed.so, -libsgx_qe3.signed.so and libsgx_tdqe.signed.so are licensed under -3-Clause BSD License. - diff --git a/crates/intel-tee-quote-verification-sys/bindings.h b/crates/intel-tee-quote-verification-sys/bindings.h deleted file mode 100644 index 4735c32..0000000 --- a/crates/intel-tee-quote-verification-sys/bindings.h +++ /dev/null @@ -1,33 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -/* - * Copyright (C) 2011-2021 Intel Corporation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include "sgx_dcap_quoteverify.h" diff --git a/crates/intel-tee-quote-verification-sys/build.rs b/crates/intel-tee-quote-verification-sys/build.rs deleted file mode 100644 index 9f05778..0000000 --- a/crates/intel-tee-quote-verification-sys/build.rs +++ /dev/null @@ -1,88 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -/* - * Copyright (C) 2011-2021 Intel Corporation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -use std::env; -use std::path::PathBuf; - -fn main() { - // Tell cargo to tell rustc to link the system - // sgx-dcap-quoteverify shared library. - println!("cargo:rustc-link-lib=sgx_dcap_quoteverify"); - - // Tell cargo to invalidate the built crate whenever the wrapper changes - println!("cargo:rerun-if-changed=bindings.h"); - - // Set sdk to search path if SGX_SDK is in environment variable - let mut sdk_inc = String::from(""); - if let Ok(val) = env::var("SGX_SDK") { - sdk_inc.push_str("-I"); - sdk_inc.push_str(&val); - sdk_inc.push_str("/include/"); - } - - // The bindgen::Builder is the main entry point - // to bindgen, and lets you build up options for - // the resulting bindings. - let bindings = bindgen::Builder::default() - // The input header we would like to generate - // bindings for. - .header("bindings.h") - // Include search path - .clang_arg(sdk_inc) - // Convert C enum to Rust enum - .rustified_enum("_quote3_error_t") - .rustified_enum("_sgx_ql_request_policy") - .rustified_enum("_sgx_ql_qv_result_t") - .rustified_enum("sgx_qv_path_type_t") - // Disable Debug trait for packed C structures - .no_debug("_quote_t") - .no_debug("_sgx_ql_auth_data_t") - .no_debug("_sgx_ql_certification_data_t") - .no_debug("_sgx_ql_ecdsa_sig_data_t") - .no_debug("_sgx_quote3_t") - .no_debug("_sgx_ql_att_key_id_param_t") - // Enable Default trait - .derive_default(true) - // Tell cargo to invalidate the built crate whenever any of the - // included header files changed. - .parse_callbacks(Box::new(bindgen::CargoCallbacks::new())) - // Finish the builder and generate the bindings. - .generate() - // Unwrap the Result and panic on failure. - .expect("Unable to generate bindings"); - - // Write the bindings to the $OUT_DIR/bindings.rs file. - let out_path = PathBuf::from(env::var("OUT_DIR").unwrap()); - bindings - .write_to_file(out_path.join("bindings.rs")) - .expect("Couldn't write bindings!"); -} diff --git a/crates/intel-tee-quote-verification-sys/src/lib.rs b/crates/intel-tee-quote-verification-sys/src/lib.rs deleted file mode 100644 index a06fa7e..0000000 --- a/crates/intel-tee-quote-verification-sys/src/lib.rs +++ /dev/null @@ -1,52 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -/* - * Copyright (C) 2011-2021 Intel Corporation. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ -//! Intel(R) Software Guard Extensions Data Center Attestation Primitives (Intel(R) SGX DCAP) -//! Rust raw FFI bindings for Quote Verification Library -//! ================================================ -//! -//! Please install the following prerequisite: -//! * Intel(R) SGX DCAP Driver -//! * Intel(R) SGX SDK -//! * Intel(R) SGX DCAP Packages -//! * Intel(R) SGX DCAP PCCS (Provisioning Certificate Caching Service) -//! -//! *Please refer to [SGX DCAP Linux installation guide]( -//! https://download.01.org/intel-sgx/latest/linux-latest/docs/Intel_SGX_SW_Installation_Guide_for_Linux.pdf) -//! to install above dependencies.* -//! -//! *Note that you need to install **libsgx-dcap-quote-verify-dev** and **clang** for this package.* - -#![allow(non_upper_case_globals)] -#![allow(non_camel_case_types)] -#![allow(non_snake_case)] -#![allow(clippy::missing_safety_doc)] -include!(concat!(env!("OUT_DIR"), "/bindings.rs"));