-
Notifications
You must be signed in to change notification settings - Fork 87
(PE-37599) Openssl-1.1.1-fips fix for client-tools-runtime-2021.7.x project for Redhatfips #803
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
Conversation
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.
I see what's going on now. I think we should use continue using openssl 1.1.1k, so change this:
elsif platform.name =~ /^redhatfips-[89]/
proj.setting(:openssl_version, '1.1.1k')
You also need to do the following below on line 114, so that we build our openssl-1.1.1k component:
elsif (platform.name =~ /^redhatfips-[89]/ && proj.openssl_version == '1.1.1k'
proj.component "openssl-1.1.1-fips"
For example see how the agent does the same:
puppet-runtime/configs/projects/_shared-agent-components.rb
Lines 26 to 27 in 096e683
elsif platform.name =~ /^redhatfips-.*/ | |
proj.component "openssl-1.1.1-fips" |
I tested this PR with OpenSSL 1.1.1k before, but we couldn't install it during the build. The error said it couldn't find a match. I also tried with OpenSSL-1.1.1, but got the same error.
|
81b955a
to
ab91ccf
Compare
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.
@imaqsood could you describe what behavior changed and why this change was made? Specifically, why did proj.setting(:openssl_version, '1.1.1k')
cause the client tools runtime to fail on RHEL FIPS 9 and what happens now?
For posterity, this changes RHELFIPS 8 and 9:
|
@@ -25,8 +25,8 @@ | |||
# and krb5-devel | |||
if proj.settings[:openssl_version] | |||
# already defined in the project | |||
elsif platform.name =~ /^redhatfips-8/ | |||
proj.setting(:openssl_version, '1.1.1k') | |||
elsif platform.name =~ /^redhatfips-[89]/ |
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.
can you update the We need to explicitly define 1.1.1k here
comment above?
It looks like
|
Description
While constructing the client-tool-runtime-2021.7.x for Redhatfips-9-x86_64, we encountered a challenge related to OpenSSL. Specifically, we encountered an error message indicating "Unable to find a match: openssl-1.1.1k". Upon investigation, it became apparent that Redhat9 is equipped with OpenSSL 3.0.1 as its default version, rendering OpenSSL 1.1.1k unavailable for Redhat9.
The curl and ca-bundle components rely on OpenSSL, specified using
build_require
, which installs openssl-1.1.1k for Redhatfips. However, it neglects to utilize the openssl-1.1.1-fips component.However, our preferred option should be openssl-1.1.1-fips instead of openssl-1.1.1k, as we are applying FIPS-related patches to openssl-1.1.1-fips. It's worth noting that openssl-1.1.1k is a CentOS package without FIPS patches.
Testing Done
redhatfips-7-x86_64
redhatfips-8-x86_64
redhatfips-9-x86_64