Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I’m not sure if BoringSSL compatibility is still desired, but there’s an explicit callout to BoringSSL support at httplib.h:242, added in 4a7a81e. I don’t know if eba9808, estabilshing the OpenSSL 3 minimum, changes anything. While it’s true that OpenSSL 1 has reached end-of-life, BoringSSL is still supported and largely implements the OpenSSL 1 API. It’s worth trying to upstream this patch, so that I don’t need to maintain it downstream.
This patch is necessary to build cpp-httplib in Crashpad, itself in Chromium, using BoringSSL. Details here.
The fixes include:
OPENSSL_thread_stop
, which is not in BoringSSL.SSL_get_peer_certificate
(deprecated in OpenSSL 3), the old name forSSL_get1_peer_certificate
, because the new name is not in BoringSSL.SSL_set_tlsext_host_name
directly instead of making anSSL_ctrl
call that BoringSSL does not support. The feared -Wold-style-cast warning that occurs when buidling with OpenSSL is not triggered in BoringSSL.