fork of boring2 with prefix patch
Go to file
Christopher Patton d8975dc413 boring: Disable `SslCurve` API with "fips" feature
The "fips" feature implies use of a prebuilt boringSSL. The boringSSL
API consumed by `SslCurve` in incompatible with older versions of
boringSSL.

In the `ffi` bindings, the following symbols don't exist in older
builds:

* NID_X25519MLKEM768
* SSL_CURVE_X25519_MLKEM768
* NID_X25519Kyber768Draft00Old

The following symbols have been renamed:
* SSL_CURVE_P256KYBER768DRAFT00 => SSL_CURVE_P256_KYBER768_DRAFT00
* SSL_CURVE_X25519KYBER512DRAFT00 => SSL_CURVE_X25519_KYBER512_DRAFT00
* SSL_CURVE_X25519KYBER768DRAFT00OLD => SSL_CURVE_X25519_KYBER768_DRAFT00_OLD
* SSL_CURVE_P256KYBER768DRAFT00 => SSL_CURVE_P256_KYBER768_DRAFT00

Meanwhile, the `ssl_set_curves_list()` API is stable across these
versions of boringSSL.

These codepoints are added to the `SslCurve` API whenever
"pq-experimental" is enabled. Since this feature is no longer mutually
exclusive with prebuilt boringSSL (`boring-sys` just ignores patches),
we also need to disable this API whenever "fips" is enabled.
2025-03-16 08:45:01 +00:00
.github/workflows Remove "fips-no-compat", decouple "fips-compat" from "fips" 2025-03-16 08:43:52 +00:00
boring boring: Disable `SslCurve` API with "fips" feature 2025-03-16 08:45:01 +00:00
boring-sys boring-sys: Ignore patches when boringSSL is precompiled 2025-03-16 08:45:01 +00:00
hyper-boring Remove "fips-no-compat", decouple "fips-compat" from "fips" 2025-03-16 08:43:52 +00:00
scripts Add publish script 2020-11-12 13:08:13 +00:00
tokio-boring Remove "fips-no-compat", decouple "fips-compat" from "fips" 2025-03-16 08:43:52 +00:00
.gitignore Rename stuff 2020-11-11 17:47:30 +00:00
.gitmodules Add fips-3678 feature (#52) 2022-01-31 16:11:33 -06:00
.rusty-hook.toml Add tokio-boring 2020-11-11 19:26:22 +00:00
Cargo.toml Expose API to enable certificate compression. (#241) 2025-02-27 15:09:07 +00:00
README.md Update docs 2023-07-10 12:29:30 +01:00
RELEASE_NOTES Add missing release notes entry (#324) 2025-02-28 10:54:55 -08:00
THIRD_PARTY Rename stuff 2020-11-11 17:47:30 +00:00
cliff.toml Tweak cliff config to exclude merge and release commits from changelog 2024-04-09 11:18:05 +02:00

README.md

boring

crates.io

BoringSSL bindings for the Rust programming language and TLS adapters for tokio and hyper built on top of it.

Documentation

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed under the terms of both the Apache License, Version 2.0 and the MIT license without any additional terms or conditions.

Accolades

The project is based on a fork of rust-openssl.