3

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.

2
  • 1
    looks like libssl issue Commented Oct 22, 2017 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. Commented Jan 14, 2019 at 9:38

2 Answers 2

4

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.

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved Permanently</title> </head><body> <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> <hr> <address>Apache/2.2.34 (Linux/SUSE) Server at download.opensuse.org Port 443</address> </body></html> 

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.

1

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

[devel_languages_php] name=devel:languages:php (openSUSE_Leap_42.3) type=rpm-md baseurl=http://download.opensuse.org/repositories/devel:/languages:/php/openSUSE_Leap_42.3/ gpgcheck=1 gpgkey=http://download.opensuse.org/repositories/devel:/languages:/php/openSUSE_Leap_42.3/repodata/repomd.xml.key enabled=1 

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

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.