Curl; Missing protocol "smtps" in Fed40

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?

1 Like

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

1 Like

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.

1 Like

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
1 Like

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?

1 Like

Same result. Still no smtps protocol :frowning:
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
1 Like

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
1 Like

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)
1 Like

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.

2 Likes

Thanks. This is the trick … :slight_smile:

$ 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
2 Likes

Many thanks guys :slight_smile: - great community here.

I use curl to send a small e-mail via bash srcipt. I tested it’s works again now …

2 Likes

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.

1 Like