Commit 4428b96
Add bssl-compat: BoringSSL compatibility layer for OpenSSL
This commit adds the complete bssl-compat library, which provides an
implementation of the BoringSSL API on top of OpenSSL 3.0.x. This allows
Envoy to be built against OpenSSL instead of BoringSSL.
Key components:
- prefixer tool: Generates OpenSSL header wrappers with ossl_ prefix
- Mapping functions: Implement BoringSSL API using OpenSSL calls
- Patch scripts: Control how BoringSSL headers are adapted
- Test suite: Unit tests for compatibility layer functions
- Build files: CMake and Bazel configuration
The compatibility layer handles differences between BoringSSL and OpenSSL:
- Opaque data structures requiring EVP functions
- Different function signatures and return values
- Macro and constant value differences
- Structure layout compatibility
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Jonh Wendell <jwendell@redhat.com>1 parent 0c30f2c commit 4428b96
8,402 files changed
Lines changed: 2414266 additions & 0 deletions
File tree
- bssl-compat
- cmake
- doc
- include/ext/openssl
- patch
- include/openssl
- source
- crypto
- bio
- bytestring
- digest_extra
- err
- hmac_extra
- pkcs8
- rand_extra
- rsa_extra
- stack
- test
- x509v3
- x509
- ssl
- prefixer
- source
- test
- certs
- third_party/boringssl
- apple-aarch64/crypto
- chacha
- cipher_extra
- fipsmodule
- test
- apple-arm/crypto
- chacha
- fipsmodule
- test
- apple-x86_64/crypto
- chacha
- cipher_extra
- fipsmodule
- test
- apple-x86/crypto
- chacha
- fipsmodule
- test
- linux-aarch64/crypto
- chacha
- cipher_extra
- fipsmodule
- test
- linux-arm/crypto
- chacha
- fipsmodule
- test
- linux-x86_64/crypto
- chacha
- cipher_extra
- fipsmodule
- test
- linux-x86/crypto
- chacha
- fipsmodule
- test
- src
- .github
- cmake
- crypto
- aes
- asn1
- base64
- bio
- blake2
- bn
- buf
- bytestring
- chacha
- asm
- cipher
- asm
- test
- nist_cavp
- cms
- conf
- curve25519
- asm
- des
- dh
- digest
- dsa
- ecdh
- ecdsa
- ec
- engine
- err
- evp
- fipsmodule
- aes
- asm
- bn
- asm
- test
- cipher
- cmac
- dh
- digestsign
- digest
- ecdh
- ecdsa
- ec
- asm
- hkdf
- hmac
- keccak
- mldsa
- mlkem
- policydocs
- rand
- asm
- rsa
- self_check
- service_indicator
- sha
- asm
- slhdsa
- tls
- hmac
- hpke
- hrss
- asm
- kyber
- lhash
- md4
- md5
- asm
- mldsa
- mlkem
- obj
- pem
- perlasm
- pkcs7
- test
- pkcs8
- test
- poly1305
- pool
- rand
- rc4
- rsa
- sha
- siphash
- slhdsa
- spake2plus
- stack
- test
- asm
- trust_token
- x509
- test
- decrepit
- bio
- blowfish
- cast
- cfb
- des
- dh
- dsa
- evp
- obj
- rc4
- ripemd
- rsa
- ssl
- x509
- xts
- docs
- fuzz
- arm_cpuinfo_corpus
- bn_div_corpus
- bn_mod_exp_corpus
- cert_corpus
- client_corpus
- client_no_fuzzer_mode_corpus
- conf_corpus
- crl_getcrlstatusforcert_fuzzer_corpus
- crl_parse_crl_certificatelist_fuzzer_corpus
- crl_parse_crl_tbscertlist_fuzzer_corpus
- crl_parse_issuing_distribution_point_fuzzer_corpus
- decode_client_hello_inner_corpus
- der_roundtrip_corpus
- dtls_client_corpus
- dtls_server_corpus
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
0 commit comments