I am trying to add a repository to my OpenSUSE Leap 42.3 (running on WSL) with the following command.

sudo zypper addrepo https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_42.3/devel:languages:php.repo

I get the following error.

Download (curl) error for 'https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_42.3/devel:languages:php.repo': Error code: Bad URL Error message: Protocol http not supported or disabled in libcurl

I find confusing the fact the error message is talking about http when I am using https as protocol, and still more confusing that the output of curl --version suggests https is a supported protocol.

curl 7.37.0 (x86_64-suse-linux-gnu) libcurl/7.37.0 OpenSSL/1.0.2j zlib/1.2.8 libidn/1.28 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

With zypper info libssl43, I get the following output.

Information for package libssl43:
Repository     : oss
Name           : libssl43
Version        : 2.5.3-6.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 360.0 KiB
Installed      : Yes
Status         : up-to-date
Source package : libressl-2.5.3-6.1.src
Summary        : An SSL/TLS protocol implementation
Description    :
    LibreSSL is an open-source implementation of the Secure Sockets Layer
    (SSL) and Transport Layer Security (TLS) protocols. It derives from
    OpenSSL and intends to provide a more secure implementation.

The output of zypper info libcrypto41 is the following. (libcrypto41 is a dependency of libssl43.)

Information for package libcrypto41:
Repository     : oss
Name           : libcrypto41
Version        : 2.5.3-6.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 2.0 MiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : libressl-2.5.3-6.1.src
Summary        : An SSL/TLS protocol implementation
Description    :
    The "crypto" library implements a wide range of cryptographic
    algorithms used in various Internet standards. The services provided
    by this library are used by the LibreSSL implementations of SSL, TLS
    and S/MIME, and they have also been used to implement SSH, OpenPGP,
    and other cryptographic standards.

How can I use https URLs? I could instead use http, but I would prefer not going through that path.

  • 1
    looks like libssl issue – daisy Oct 22 '17 at 14:03
  • For everyone facing this: Before debugging your ssl libraries, make sure to check your URLs, especially when being created dynamically. Slight typos like https :// (note the space) just (mis-)lead me to this error message. – Dirk Jan 14 '19 at 9:38

I found Thread: zypper https urls: Protocol "http" not supported or disabled in libcurl, which contains a link to Thread: Cached files in /home/~/.cache/kioexec/krun/####_# ? How to avoid?

Following what said in those posts, I tried curl https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_42.3/devel:languages:php.repo, which outputs the following.

<title>301 Moved Permanently</title>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://download.opensuse.org/repositories/devel:languages:/php/openSUSE_Leap_42.3/devel:languages:php.repo">here</a>.</p>
<address>Apache/2.2.34 (Linux/SUSE) Server at download.opensuse.org Port 443</address>

So, https://download.opensuse.org/repositories/devel:languages:php/openSUSE_Leap_42.3/devel:languages:php.repo is redirected to http://download.opensuse.org/repositories/devel:languages:/php/openSUSE_Leap_42.3/devel:languages:php.repo and, since the redirect is from https:// to http://, it is not followed by Zypper.

In short, the server is not yet working using https:// URLs, and the temporary work-around is to use http:// URLs. Nothing is wrong in my OpenSuse 42.3 installation.

| improve this answer | |

As a workaround, you can manually add (as root) the following file under /etc/zypp/repos.d/php.repo with contents

name=devel:languages:php (openSUSE_Leap_42.3)

which is the contents of the above URL: http://download.opensuse.org/repositories/devel:/languages:/php/openSUSE_Leap_42.3/devel:languages:php.repo

| improve this answer | |
  • Isn't /etc/zypp/repos.d/python3.repo the wrong filename, considering the repository is devel:languages:php.repo? – kiamlaluno Jan 9 '18 at 15:40
  • @kiamlaluno, correct. Fixed the typo. – zouzias Jan 9 '18 at 17:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.