cURL / Mailing Lists / curl-users / Single Mail

curl-users

Re: curl failing silently with some https URLs

From: Dan Fandrich <dan_at_coneharvesters.com>
Date: Mon, 18 Apr 2016 07:42:52 +0200

On Sun, Apr 17, 2016 at 10:46:32PM -0400, John Didion wrote:
> I built openssl 1.1 from source:
>
> config no-shared ; make ; make test ; make install

This config command doesn't specify a path; are you sure it ran the one you
wanted? And isn't OpenSSL's configure command called "Configure" not "config"
(I haven't built it myself in a while)?

> Then built curl 7.48 from source:
>
> configure --with-ssl --disable-shared --enable-static

Same here; hopefully, you didn't have any other "configure" command in your
PATH. Also, you didn't specify which OpenSSL you wanted curl to use. It would
most likely have picked up any system OpenSSL instead of the one you built.
Read docs/INSTALL and set PKG_CONFIG_PATH to point to the location of the
OpenSSL pkgconfig file you just built.

> Then tried to fetch a file from an https url:
>
> curl https://linuxbrew.bintray.com/bottles/sqlite-3.11.0_1.x86_64_linux.bottle.tar.gz

Once again, this is going to use the first curl in your PATH, not necessarily
the one you want to use.

> This fails silently - the file doesn’t download, there is no error message, there is no output at all. It doesn’t appear to be a certificate issue, as it still fails in insecure mode (i.e. using -k).
> I can download the file just fine using wget. I can also successfully fetch other https sites using curl, such as:
>
> curl https://www.google.com

Did you check the return code? That behaviour would be normal in the case of a
zero-length file, but since you say you're able to download it with another
client, there's something else going on. Try the -v option to see more verbose
logs of what's going on. Also, use the --version flag to make sure your curl
built with the OpenSSL you think it should be using, and "ldd path/to/curl" to
make sure it's using the right libraries at run-time that you want it to.
And once you get it working, you're unlikely to want to print the binary to
stdout, which is what that command will do; use -O to write it into a file
instead.

>>> Dan
-------------------------------------------------------------------
List admin: https://cool.haxx.se/list/listinfo/curl-users
FAQ: https://curl.haxx.se/docs/faq.html
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2016-04-18