feat: add compliant TLS backend - #1353
Conversation
04275e9 to
9d04081
Compare
Signed-off-by: Doug Edgar <dedgar@redhat.com>
leseb
left a comment
There was a problem hiding this comment.
P1 — Both TLS backends can silently compile together. apis/src/lib.rs rejects no backend, but not both. --features full,callout-native-tls succeeds and includes native TLS plus Rustls/AWS-LC—invalid for the intended FIPS graph. Add a mutual-exclusion compile_error!.
P2 — Azure AD can compile without any TLS backend. Removing workspace Rustls in Cargo.toml leaves azure-ad-filter with HTTP-only reqwest. The build succeeds, but its mandatory HTTPS token requests fail and produce 503s. Extend the backend requirement to Azure AD.
P2 — Native TLS has no functional handshake test. Makefile only runs cargo check and dependency-tree assertions. Neither this target nor the FIPS image exercises a callout through native TLS/OpenSSL. That misses #1219’s functional TLS acceptance criterion.
…lout features Signed-off-by: Doug Edgar <dedgar@redhat.com>
9d04081 to
be7f44e
Compare
|
Ack, I had initially put a check for zero TLS backend, but not both, that's a valid addition. I've added code in a new commit to address all 3 items, and the CI tests are passing now. |
|
@rhdedgar can you check those two? [MAJOR][Defect] Existing documented builds no longer compile [MAJOR][Defect] Native test-utils profile is uncompilable |
Signed-off-by: Doug Edgar <dedgar@redhat.com>
d49899d to
7e11977
Compare
Signed-off-by: Doug Edgar <dedgar@redhat.com>
7e11977 to
d33e5e7
Compare
|
Ok, tests are passing once again after pulling in the latest changes from main to avoid a merge conflict. I've also added settings for the documented build configs so those issues don't slip by CI again. |
Thanks, can you look into these new ones?
|
|
@rhdedgar for rmcp using reqwest we could do: Then remove reqwest-tls-no-provider and the rmcp?/reqwest* forwarding from the callout features. |
Signed-off-by: Doug Edgar <dedgar@redhat.com>
Signed-off-by: Doug Edgar <dedgar@redhat.com>
Signed-off-by: Doug Edgar <dedgar@redhat.com>
|
Ok, I have updated the PR with the new approach mentioned in 1219. It moves away from reqwest, which simplifies things a bit, and addresses the recent comments in this PR. |
Thanks! A few new small findings:
|
Signed-off-by: Doug Edgar <dedgar@redhat.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: ASSERTIVE Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (21)
Comment |
Signed-off-by: Doug Edgar <dedgar@redhat.com>
|
Ok, the tests are passing once again after the updates made in response to the latest round of action items. |
Summary
Adds an option to build with a FIPS-adherent TLS backend.
Note:
rmcp'sreqwestfeature internally activatesreqwest?/rustls, so it had to be removed from the workspace declaration and routed through the callout features instead. Without this fix, the native-tls build would silently include both TLS backends.Closes #1219
Summary by CodeRabbit