Description
I did this
Configure cURL against OpenSSL on Linux. It says in the configure output:
Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 POP3S RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP
Features: SSL IPv6 UnixSockets libz NTLM NTLM_WB TLS-SRP HTTPS-proxy
Then, when I use curl_version_info I also get the exact same list of protocols. In "Features" I get the same set of reported features (plus LARGEFILE and UNIX_SOCKETS).
I'm trying to replace OpenSSL by WolfSSL without losing protocols or features.
When I invoke "configure" with the same options as I do for OpenSSL (using --with-wolfssl --without-ssl), I end up with NTLM, NTLM_WB, TLS-SRP and HTTPS-proxy as missing features and SMB and SMBS as missing protocols.
The output of configure is consistent with the report of curl_version_info: Missing protocols and features.
Adding --enable-proxy and --enable-smb to the commandline changes the output of configure (so I thought I had the support enabled successfully), but curl_version_info still reports missing SMB and SMBS as missing protocols, and the NTLM and NTLM_WB features are missing, too.
Digging into the source of smb.c I can see it says it requires NTLM and OpenSSL crypto functions and does not seem to support WolfSSL backend (yet?). So it is not compiled in.
I expected the following
To have WolfSSL support the same protocols and features as OpenSSL.
So there is the minor problem of configure output that says certain features are enabled while in reality they are not, and the more major problem of being unable to get the features working with WolfSSL as a backend.
Is there some way to get this working?
We embed curl in our product in such a way that we cannot predict which features and protocols end up being used, and have to be backward compatible with previous (OpenSSL based) releases.
curl/libcurl version
curl-7.69.1
[curl -V output]
N/A: I just build the library.
operating system
Linux nlbaldev6.infor.com 3.10.0-957.27.2.el7.x86_64 #1 SMP Tue Jul 9 16:53:14 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux