Skip to content

Conversation

@kornelski
Copy link
Collaborator

Addition of public APIs depending on mlkem.h made the whole library impossible to build with older include headers, even if the new Rust key encapsulation API isn't used. Similarly, mere existence of the new SslCredential requires symbols that may not be available in pre-compiled bssl libraries.

When the build is given a BORING_BSSL_PATH/BORING_BSSL_FIPS_PATH, it doesn't have choice over the upstream version.

I've made the sys crate tolerate some header files missing, to gracefully support a wide range of BoringSSL versions. It will gracefully skip generating Rust bindings for the unavailable APIs. The features can still be made mandatory by setting their feature flags.

@kornelski kornelski force-pushed the back-compat branch 2 times, most recently from 64d266b to 94acdc8 Compare February 10, 2026 20:29
@kornelski kornelski mentioned this pull request Feb 11, 2026
Copy link
Collaborator

@cjpatton cjpatton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice 👍

@kornelski kornelski merged commit 144b67b into master Feb 11, 2026
25 checks passed
@kornelski kornelski deleted the back-compat branch February 12, 2026 15:36
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.

2 participants