cloudflare / cloudflare/quiche
Move BoringSSL code to bssl-tls crate
- Dominant language
- Rust
- Stars
- 11.8k
- Forks
- 1.1k
- Avg merge
- 21h 9m
- Merged PRs (30d)
- 6
Description
The current BoringSSL code [1] uses unsafe calls directly into `bssl-sys`. Recently, there is a safer alternative bindings called `bssl-tls` from the BoringSSL team [2]. Maybe it is a good idea to move to this new crate to reduce the number of unsafe calls.
The only feature gap is currently the support for RTT-0 which is already on the way.
[1] Current boringssl.rs code:
[quiche/src/tls/boringssl.rs](https://github.com/cloudflare/quiche/blob/master/quiche/src/tls/boringssl.rs)
[2] `bssl-tls` crate:
https://boringssl.googlesource.com/boringssl/+/refs/heads/main/rust/bssl-tls/Cargo.toml
CC @davidben @dingxiangfei2009
Contributor guide
Research direction
Start with quiche/src/tls/boringssl.rs and compare its direct bssl-sys calls with the bssl-tls crate definition in BoringSSL's rust/bssl-tls/Cargo.toml. Check the current feature gap around RTT-0 before changing the integration. Done means the BoringSSL code uses the safer bindings while preserving existing behavior and accounting for that gap.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- security
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100