-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
Expose SSL/TLS backend that libcurl is built against (in curl-config) #2128
Labels
Comments
ur
pushed a commit
to p-push/pycurl
that referenced
this issue
Nov 30, 2017
Drop everything that uses automatic libcurl SSL backend detection. The automatic detection does not work all the time (curl/curl#2128) and now that there are configurations for all SSL backends using the default one is less necessary. Do not test against libcurl that ships with ubuntu, as it does not appear to support HTTP 2. Test all SSL backends with 2.7 and 3.6. Drop Python 3.1.
bagder
added a commit
that referenced
this issue
Nov 30, 2017
Lists all SSL backends that were enabled at build-time. Fixes #2128
Yes, the windows environment completely lacks a |
Thanks Daniel. I wouldn't worry too much about Windows, just wanted to get it on the radar. |
Thanks! |
JohnDeHelian
pushed a commit
to JohnDeHelian/curl
that referenced
this issue
Dec 7, 2017
Lists all SSL backends that were enabled at build-time. Suggested-by: Oleg Pudeyev Fixes curl#2128
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
PycURL (http://pycurl.io/), operating in a multi-threaded environment that is Python, must include thread locking callbacks that depend on the SSL/TLS backend that is being used by libcurl.
In order to include the right callbacks PycURL attempts to detect said SSL/TLS backend during build time. This detection used to look at which libraries listed in
curl-config --libs
; then OpenSSL changed their library names, then these libraries ceased to be shown incurl-config --libs
(and they wouldn't be if libcurl is statically linked against them), and so on and so forth. One of the PycURL build options loadslibcurl.so
and queries it for its SSL backend viassl_version
in version info structure.By now there is an extensive collection of code in PycURL attempting this SSL/TLS backend detection and it is far from working in all cases. In fact my recommendation to PycURL packagers would be to explicitly specify the backend given their knowledge of how libcurl is built on their system.
I would like libcurl to expose the SSL/TLS backend it is built against in an easy to use fashion. I imagine that exposing it in some fashion in
curl-config --features
or exposing the version string as given inssl_version
via a new flag tocurl-config
are viable options from the users' standpoint.Note: using libcurl does not require
curl
binary to exist, hencecurl --version
does not satisfy the request in this issue.Note 2: some kind of a Windows solution to this issue will probably be good to have too, although the Windows build process for PycURL builds libcurl and all of its dependencies from source every time and therefore knows which SSL backend libcurl uses, and this is unlikely to ever change.
curl/libcurl version
operating system
Linux, Windows, Mac
The text was updated successfully, but these errors were encountered: