QAT_Engine icon indicating copy to clipboard operation
QAT_Engine copied to clipboard

Fix build with OPENSSL_NO_ENGINE

Open yselkowitz opened this issue 1 year ago • 1 comments

The ENGINE APIs are deprecated in OpenSSL v3, and Fedora 41 and RHEL 10 no longer ship the openssl/engine.h header by default. This allows the build to succeed as a provider without engine.h present.

https://fedoraproject.org/wiki/Changes/OpensslDeprecateEngine

I have built and loaded this locally with OpenSSL 3.2.2 (F40 and EL9 as an engine, F41+ and EL10+ as a provider), 3.1.4 (F39), and 1.1.1k (EL8); hopefully your CI will check other environments.

yselkowitz avatar Sep 20 '24 03:09 yselkowitz

thank you @yselkowitz for the PR.. We will look into this.

venkatesh6911 avatar Sep 23 '24 13:09 venkatesh6911

@yselkowitz - I see that <openssl/engine.h> is not included when QAT_OPENSSL_3 is not set. In QAT Engine, QAT_OPENSSL_3 flag is common for both engine and provider modules. Despite the fact that the engines are deprecated in OpenSSL v3, QAT Engine still has engine support for OpenSSL 3.

I would put like: #ifndef QAT_OPENSSL_PROVIDER

include <openssl/engine.h>

#endif

I have updated the files and internal testing is in progress.

venkatesh6911 avatar Oct 15 '24 09:10 venkatesh6911

Looks like this was included in 1.7.0, which built successfully on Fedora without engine.h. Anything else to be done here?

yselkowitz avatar Nov 05 '24 22:11 yselkowitz

@yselkowitz No.

venkatesh6911 avatar Nov 06 '24 06:11 venkatesh6911