Skip to content

support aws-lc FIPS version - #5552

Open
Gleb Pomykalov (glebpom) wants to merge 1 commit into
confluentinc:masterfrom
nervix-io:aws-lc-support-fips
Open

support aws-lc FIPS version#5552
Gleb Pomykalov (glebpom) wants to merge 1 commit into
confluentinc:masterfrom
nervix-io:aws-lc-support-fips

Conversation

@glebpom

Copy link
Copy Markdown

No description provided.

@confluent-cla-assistant

confluent-cla-assistant Bot commented Jul 20, 2026

Copy link
Copy Markdown

🎉 All Contributor License Agreements have been signed. Ready to merge.
✅ glebpom
Please push an empty commit if you would like to re-run the checks to verify CLA status for all contributors.

@glebpom
Gleb Pomykalov (glebpom) marked this pull request as ready for review July 20, 2026 20:32
@glebpom
Gleb Pomykalov (glebpom) requested a review from a team as a code owner July 20, 2026 20:32
Gerd Zellweger (gz) added a commit to feldera/feldera that referenced this pull request Aug 9, 2026
rdkafka-sys otherwise compiles a vendored librdkafka against whatever OpenSSL pkg-config finds, which leaves Kafka TLS on a second cryptographic implementation no matter how the rest of the binary is built.

scripts/install-librdkafka.sh builds AWS-LC with BUILD_LIBSSL, then librdkafka against it. Both container images run the script, and so must developers, since the next commit links librdkafka dynamically. Distribution packages are built against OpenSSL and are older than the version rdkafka-sys requires, so they are not a substitute.

librdkafka 2.12.1 calls HMAC() without including <openssl/hmac.h>. OpenSSL supplies the declaration transitively through x509.h and AWS-LC does not, so the call would compile as an implicit declaration returning int, truncating the returned pointer. The script patches it; confluentinc/librdkafka#5552 fixes it upstream but is unmerged.

The librdkafka version comes from Cargo.lock, where rdkafka-sys names it in its own version as 4.10.0+2.12.1, so the library cannot drift from the crate expecting it. The configure flags mirror the cargo features rdkafka-sys used, and the script asserts each one: losing one is otherwise silent, and a codec or authentication mechanism simply stops being offered.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
Gerd Zellweger (gz) added a commit to feldera/feldera that referenced this pull request Aug 9, 2026
rdkafka-sys otherwise compiles a vendored librdkafka against whatever OpenSSL pkg-config finds, which leaves Kafka TLS on a second cryptographic implementation no matter how the rest of the binary is built.

scripts/install-librdkafka.sh builds AWS-LC with BUILD_LIBSSL, then librdkafka against it. Both container images run the script, and so must developers, since the next commit links librdkafka dynamically. Distribution packages are built against OpenSSL and are older than the version rdkafka-sys requires, so they are not a substitute.

librdkafka 2.12.1 calls HMAC() without including <openssl/hmac.h>. OpenSSL supplies the declaration transitively through x509.h and AWS-LC does not, so the call would compile as an implicit declaration returning int, truncating the returned pointer. The script patches it; confluentinc/librdkafka#5552 fixes it upstream but is unmerged.

The librdkafka version comes from Cargo.lock, where rdkafka-sys names it in its own version as 4.10.0+2.12.1, so the library cannot drift from the crate expecting it. The configure flags mirror the cargo features rdkafka-sys used, and the script asserts each one: losing one is otherwise silent, and a codec or authentication mechanism simply stops being offered.

Signed-off-by: Gerd Zellweger <mail@gerdzellweger.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant