I have installed Fedora Workstation 40 on my new computer from scratch and I identify that in curl
the smtps
protocol is missing.
curl --version
shows
Protocols: file ftp ftps http https ipfs ipns
only.
On my small tablet with Fed40, updated several times from Fed35 → Fed40, all protocols are available.
What to do that I get curl with smtps protocol?
On Fedora 40, I get this:
$ curl --version
curl 8.6.0 (x86_64-redhat-linux-gnu) libcurl/8.6.0 OpenSSL/3.2.2 zlib/1.3.1.zlib-ng brotli/1.1.0 libidn2/2.3.7 libpsl/0.21.5 libssh/0.10.6/openssl/zlib nghttp2/1.59.0 OpenLDAP/2.6.7
Release-Date: 2024-01-31
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets
Can you please post the full output of curl --version
, and also which curl
?
Thanks for your help.
curl --version
curl 8.6.0 (x86_64-redhat-linux-gnu) libcurl/8.6.0 OpenSSL/3.2.2 zlib/1.3.1.zlib-ng libidn2/2.3.7 nghttp2/1.59.0
Release-Date: 2024-01-31
Protocols: file ftp ftps http https ipfs ipns
Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz SPNEGO SSL threadsafe UnixSockets
which curl
==> /usr/bin/curl
Booting up a virtual machine with Fedora Workstation 40 live ISO, I’m getting the same curl --version
output as @ankursinha but my updated KDE spin of Fedora 40 is getting the same output as @kkarsten62.
Hrm, what’s the output of rpm -qa \*curl\*
please? This is what I see:
$ rpm -qa \*curl\*
python3-pycurl-7.45.2-10.fc40.x86_64
libcurl-8.6.0-10.fc40.x86_64
curl-8.6.0-10.fc40.x86_64
qemu-block-curl-8.2.7-1.fc40.x86_64
nbdkit-curl-plugin-1.38.5-1.fc40.x86_64
I suspect the default installation perhaps includes libcurl-minimal
instead of libcurl
reduce the image size. This command will confirm it for us.
$ sudo dnf info libcurl-minimal
Last metadata expiration check: 3:22:07 ago on Fri 18 Oct 2024 14:08:34 BST.
Available Packages
Name : libcurl-minimal
Version : 8.6.0
Release : 10.fc40
Architecture : i686
Size : 295 k
Source : curl-8.6.0-10.fc40.src.rpm
Repository : updates
Summary : Conservatively configured build of libcurl for minimal installations
URL : https://curl.se/
License : curl
Description : This is a replacement of the 'libcurl' package for minimal installations. It
: comes with a limited set of features compared to the 'libcurl' package. On the
: other hand, the package is smaller and requires fewer run-time dependencies to
: be installed.
Added f40
Added workstation
My output is:
rpm -qa \*curl\*
libcurl-minimal-8.6.0-10.fc40.x86_64
curl-8.6.0-10.fc40.x86_64
qemu-block-curl-8.2.7-1.fc40.x86_64
libcurl-devel-8.6.0-10.fc40.x86_64
nbdkit-curl-plugin-1.38.5-1.fc40.x86_64
Yep, confirmed. Could you try installing libcurl
and see if that fixes it?
sudo dnf install libcurl
should do it.
Hmm, some stuff is installed. but
curl
shows the same limited protocols.
Should I reinstall curl? remove
and install
?
Same result. Still no smtps protocol
sudo dnf install libcurl
sudo dnf reinstall curl
curl --version
curl 8.6.0 (x86_64-redhat-linux-gnu) libcurl/8.6.0 OpenSSL/3.2.2 zlib/1.3.1.zlib-ng libidn2/2.3.7 nghttp2/1.59.0
Release-Date: 2024-01-31
Protocols: file ftp ftps http https ipfs ipns
Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz SPNEGO SSL threadsafe UnixSockets
Odd: what does rpm -qa \*curl\*
say please?
$ rpm -qa \*curl\*
libcurl-minimal-8.6.0-10.fc40.x86_64
qemu-block-curl-8.2.7-1.fc40.x86_64
libcurl-devel-8.6.0-10.fc40.x86_64
nbdkit-curl-plugin-1.38.5-1.fc40.x86_64
libcurl-8.6.0-10.fc40.i686
curl-8.6.0-10.fc40.x86_64
$ curl --version
curl 8.6.0 (x86_64-redhat-linux-gnu) libcurl/8.6.0 OpenSSL/3.2.2 zlib/1.3.1.zlib-ng libidn2/2.3.7 nghttp2/1.59.0
Release-Date: 2024-01-31
Protocols: file ftp ftps http https ipfs ipns
Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz SPNEGO SSL threadsafe UnixSockets
Hrm, what if you remove libcurl-minimal
?
sudo dnf remove libcurl-minimal
I had assumed that installing the full package would remove the minimal one, but that’s apparently not the case.
Just for grins and giggles, I booted up the live ISO for the KDE spin of Fedora 40 on a fresh virtual machine and it has the full set of protocols.
Will not do
$ LANG=C sudo dnf remove libcurl-minimal
Error:
Problem: The operation would result in removing the following protected packages: NetworkManager
(try to add '--skip-broken' to skip uninstallable packages)
The OP probably needs to swap the two libraries
sudo dnf swap libcurl-minimal libcurl
Adding --allowerasing
to the install command may accomplish the same thing.
Thanks. This is the trick …
$ LANG=C sudo dnf swap libcurl-minimal libcurl
Last metadata expiration check: 2:38:10 ago on Fri Oct 18 16:28:07 2024.
Package libcurl-8.6.0-10.fc40.i686 is already installed.
Dependencies resolved.
==============================================================================================================================================================================================================================================
Package Architecture Version Repository Size
==============================================================================================================================================================================================================================================
Installing dependencies:
libcurl x86_64 8.6.0-7.fc40 fedora 345 k
Removing:
libcurl-minimal x86_64 8.6.0-10.fc40 @updates 603 k
Downgrading:
curl x86_64 8.6.0-7.fc40 fedora 301 k
libcurl-devel x86_64 8.6.0-7.fc40 fedora 854 k
Transaction Summary
==============================================================================================================================================================================================================================================
Install 1 Package
Remove 1 Package
Downgrade 2 Packages
Total download size: 1.5 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): libcurl-8.6.0-7.fc40.x86_64.rpm 1.7 MB/s | 345 kB 00:00
(2/3): libcurl-devel-8.6.0-7.fc40.x86_64.rpm 4.1 MB/s | 854 kB 00:00
(3/3): curl-8.6.0-7.fc40.x86_64.rpm 1.3 MB/s | 301 kB 00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 1.5 MB/s | 1.5 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : libcurl-8.6.0-7.fc40.x86_64 1/6
Downgrading : curl-8.6.0-7.fc40.x86_64 2/6
Downgrading : libcurl-devel-8.6.0-7.fc40.x86_64 3/6
Cleanup : libcurl-devel-8.6.0-10.fc40.x86_64 4/6
Cleanup : curl-8.6.0-10.fc40.x86_64 5/6
Erasing : libcurl-minimal-8.6.0-10.fc40.x86_64 6/6
Running scriptlet: libcurl-minimal-8.6.0-10.fc40.x86_64 6/6
Downgraded:
curl-8.6.0-7.fc40.x86_64 libcurl-devel-8.6.0-7.fc40.x86_64
Installed:
libcurl-8.6.0-7.fc40.x86_64
Removed:
libcurl-minimal-8.6.0-10.fc40.x86_64
Complete!
$ LANG=C curl --version
curl 8.6.0 (x86_64-redhat-linux-gnu) libcurl/8.6.0 OpenSSL/3.2.2 zlib/1.3.1.zlib-ng brotli/1.1.0 libidn2/2.3.7 libpsl/0.21.5 libssh/0.10.6/openssl/zlib nghttp2/1.59.0 OpenLDAP/2.6.7
Release-Date: 2024-01-31
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets
Many thanks guys - great community here.
I use curl to send a small e-mail via bash srcipt. I tested it’s works again now …
My guess is that the libcurl-minimal is used to reduce the size of the USB image. Its a continuing battle to make the size stay small enough for lots of people to be able to use the ISO image.