intel / linux-sgx

Intel SGX for Linux*
https://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/linux-overview.html
Other
1.33k stars 548 forks source link

external/epid-sdk GroupId definition differs from upstream #418

Open deeglaze opened 5 years ago

deeglaze commented 5 years ago

As part of third-party code compliance review, I've been asked to change our build of linux-sgx to instead depend on more up-to-date and independently maintained packages.

The changelog for external/epid-sdk suggests it's v6.0.0, but the difference I see doesn't account for the history I see in https://github.com/Intel-EPID-SDK/epid-sdk.

Why do these definitions diverge?

--- third_party/linux_sgx/v_2_5/external/epid-sdk/epid/common/types.h +++ third_party/epid_sdk/v6_0_1/epid/common/types.h @@ -144,9 +144,7 @@ } Epid2Params;

/// group ID -typedef OctStr32 GroupId; -typedef OctStr32 RLver_t; -typedef OctStr32 RLCount; +typedef OctStr128 GroupId;

/// Intel(R) EPID 2.0 group public key /*!

lzha101 commented 5 years ago

The code is indeed based on the upstream EPID SDK v6.0.0, plus some specific changes. For the types.h difference, we made the change to work with epid provisioning backend server.

deeglaze commented 5 years ago

Will you be upstreaming your difference, perhaps behind an ifdef? Or remove the external code and have a "project setup" script that pulls the dependency, checks a checksum, and then applies a patch?

lzha101 commented 5 years ago

Thanks for your advice. Will consider to create a PR for types.h later.