Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

httplib.h: support LibreSSL #1922

Merged
merged 1 commit into from
Sep 7, 2024
Merged

httplib.h: support LibreSSL #1922

merged 1 commit into from
Sep 7, 2024

Conversation

orbea
Copy link
Contributor

@orbea orbea commented Sep 6, 2024

Its possible to build httplib with LibreSSl by reusing the BoringSSL support.

@yhirose
Copy link
Owner

yhirose commented Sep 6, 2024

@orbea thanks for the pull request, but I am not interested in supporting LibreSSL at this point. It because the official LibreSSL page claims it only supports OpenSSL 3 API, and the latest cpp-httplib supports only OpenSSL 3 API.

LibreSSL provides much of the OpenSSL 1.1 API. The OpenSSL 3 API is not currently supported.
https://github.com/libressl/portable?tab=readme-ov-file#compatibility-with-openssl

@orbea
Copy link
Contributor Author

orbea commented Sep 7, 2024

@yhirose Thank you for the quick reply!

I think BoringSSL supports a similar version as LibreSSL?

In some cases, BoringSSL-specific code may be necessary. Use the OPENSSL_IS_BORINGSSL preprocessor macro in #ifdefs. However, first contact the BoringSSL maintainers about the missing APIs. We will typically add compatibility functions for convenience. In particular, contact BoringSSL maintainers before working around missing OpenSSL 1.1.0 accessors. BoringSSL was originally derived from OpenSSL 1.0.2 but now targets OpenSSL 1.1.0. Some newer APIs may be missing but can be added on request. (Not all projects have been ported to OpenSSL 1.1.0, so BoringSSL also remains largely compatible with OpenSSL 1.0.2.)

https://boringssl.googlesource.com/boringssl/+/HEAD/PORTING.md

@yhirose
Copy link
Owner

yhirose commented Sep 7, 2024

Please see my comment in #1892 as below regarding BoringSSL:

@markmentovai thanks for the pull request. Since I am not planning to use BoringSSL, I won't be able to maintain this code changes. So if you can accept a responsibility to maintain this BoringSSL related code, I don't mind merging the pull request. (I actually do the same to the CMake build code. Some contributors maintain it for me.)

So if you can accept a responsibility to maintain this LibreSSL related code, I don't mind merging your pull request.

Thank you for understanding the time limitations I have for this personal project. :)

@orbea
Copy link
Contributor Author

orbea commented Sep 7, 2024

Please see my comment in #1892 as below regarding BoringSSL:

@markmentovai thanks for the pull request. Since I am not planning to use BoringSSL, I won't be able to maintain this code changes. So if you can accept a responsibility to maintain this BoringSSL related code, I don't mind merging the pull request. (I actually do the same to the CMake build code. Some contributors maintain it for me.)

So if you can accept a responsibility to maintain this LibreSSL related code, I don't mind merging your pull request.

Thank you for understanding the time limitations I have for this personal project. :)

My interest is as a Gentoo user where cpp-httplib was recently pulled in as a dependency of a program I use and I am unsure how long this will continue to be true, but if you find it acceptable I will be happy to submit libressl fixes in the future. Note that Gentoo is using stable versions which are currently lagging behind your repo, I do not maintain the package or have control over the update schedule.

As explained in this libressl/portable#1092 (comment) the tests require a fix in libressl that will hopefully be merged soon and a few do not pass because of different error codes.

@yhirose
Copy link
Owner

yhirose commented Sep 7, 2024

@orbea thanks for the clear explanation. I understand your situation, and I am now ok to treat LibreSSL as I did for BoringSSL.

@yhirose yhirose reopened this Sep 7, 2024
@yhirose yhirose merged commit 327ff26 into yhirose:master Sep 7, 2024
4 checks passed
@yhirose
Copy link
Owner

yhirose commented Sep 7, 2024

Please send me a pull request whenever you find problems with LibreSSL.

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