-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump up version of the libipp-crypto dependency #37940
Conversation
Signed-off-by: Mikhail Krinkin <[email protected]> Signed-off-by: Mikhail Krinkin <[email protected]>
CC @envoyproxy/dependency-shepherds: Your approval is needed for changes made to |
/lgtm deps |
Hi, @giantcroc and @soulxu, can you please take a look and, if you don't have concern, approve? Thank you! |
/wait (for @giantcroc and @soulxu) |
Hi @giantcroc, a friendly ping, just in case it fell through the cracks. Thank you! |
lets push this through - if there is any issue we can revisit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, thanks @krinkinmu
The currently used version of libipp-crypto library has an issue when we build it using fresh versions of LLVM toolchain (specifically I tried 18). clang-14, that is currently used, is somewhat old-ish (the latest official release is from mid 2022) and in envoyproxy#37911 I'm looking and making changes that will make it possible to build Envoy with newer versions of LLVM toolchain. Now, when it comes to libipp-crypto library, the version Envoy currently uses internally defines a `__INLINE` macro. Identifiers that start with two underscores are typically reserved for compilers, standard library and similar use cases, but it didn't cause problems with the older version of LLVM toolchain. However, on LLVM-18 some system headers that libipp-crypto relies on also define `__INLINE` macro (and then undefine it) which causes conflicts and results in a compilation failure. The issue has been addressed upstream and to fix it in Envoy we just need to switch to a newer version of libipp-crypto to include intel/cryptography-primitives@ea7cd15 (and does not contain intel/cryptography-primitives@7d6ac34). This change bumps up the version of the libipp-crypto to a recent release that contains the fix In addition to newer clang versions I also did test that `--define=boringssl=fips` builds work with existing clang version (clang-14, `--config=docker-clang` and `--config=docker-clang-libc++`), plus checked that the `--config=docker-gcc` still builds. I tested both regular envoy and contrib versions, though this dependency is only used by contrib. For the functional tests I rely on the tests that will be run automatically by GitHub. Related to envoyproxy#37911 Fix envoyproxy#37628 Signed-off-by: Mikhail Krinkin <[email protected]> Signed-off-by: Mikhail Krinkin <[email protected]>
Commit Message: Update version of libipp-crypto dependency
Additional Description:
The currently used version of libipp-crypto library has an issue when we build it using fresh versions of LLVM toolchain (specifically I tried 18). clang-14, that is currently used, is somewhat old-ish (the latest official release is from mid 2022) and in #37911 I'm looking and making changes that will make it possible to build Envoy with newer versions of LLVM toolchain.
Now, when it comes to libipp-crypto library, the version Envoy currently uses internally defines a
__INLINE
macro. Identifiers that start with two underscores are typically reserved for compilers, standard library and similar use cases, but it didn't cause problems with the older version of LLVM toolchain. However, on LLVM-18 some system headers that libipp-crypto relies on also define__INLINE
macro (and then undefine it) which causes conflicts and results in a compilation failure.The issue has been addressed upstream and to fix it in Envoy we just need to switch to a newer version of libipp-crypto to include intel/cryptography-primitives@ea7cd15 (and does not contain intel/cryptography-primitives@7d6ac34). This change bumps up the version of the libipp-crypto to a recent release that contains the fix
Risk Level: Low
Testing:
In addition to newer clang versions I also did test that
--define=boringssl=fips
builds work with existing clang version (clang-14,--config=docker-clang
and--config=docker-clang-libc++
), plus checked that the--config=docker-gcc
still builds. I tested both regular envoy and contrib versions, though this dependency is only used by contrib. For the functional tests I rely on the tests that will be run automatically by GitHub.Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a
Related to #37911
+cc @phlax @mathetake
Fix #37628