help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rust:cargo (libcurl) vs. CURL_CA_BUNDLE


From: Robin Heinemann
Subject: Re: rust:cargo (libcurl) vs. CURL_CA_BUNDLE
Date: Wed, 25 Sep 2019 00:22:13 +0200

Hi,
following nix 
(https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/rust/cargo.nix)
the right environment variable seems to be CARGO_HTTP_CAINFO
setting that to $SSL_CERT_FILE makes cargo work for me.

Cheers,
Robin

David Loyall <address@hidden> writes:

>> This was discussed recently on IRC:
>>   http://logs.guix.gnu.org/guix/2019-08-29.log#102010
>> Unfortunately we didn’t reach a conclusion.
>
> Ok, thank you.  Unfortunately that user's pastebins expired so I was
> not able to compare with my own `ltrace` output.
>
>> The ‘ltrace -e getenv’ trick I gave might give us
>> clues about relevant environment variables.
>
> Ok, let's see:
>
>     sebboh@geeks ~$ ltrace -e getenv cargo -vv install rustfmt-nightly
>     libcrypto.so.1.0.0->getenv("SSL_CERT_FILE")
>                                                         =
> "/home/sebboh/.guix-profile/etc/s"...
>     libcrypto.so.1.0.0->getenv("SSL_CERT_DIR")
>                                                         =
> "/home/sebboh/.guix-profile/etc/s"...
>         Updating crates.io index
>     libcurl.so.4->getenv("no_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("NO_PROXY")
>                                                         = nil
>     libcurl.so.4->getenv("https_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("HTTPS_PROXY")
>                                                         = nil
>     libcurl.so.4->getenv("all_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("ALL_PROXY")
>                                                         = nil
>     libcurl.so.4->getenv("no_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("NO_PROXY")
>                                                         = nil
>     libcurl.so.4->getenv("http_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("all_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("ALL_PROXY")
>                                                         = nil
>     libcrypto.so.1.0.0->getenv("OPENSSL_ALLOW_PROXY_CERTS")
>                                                         = nil
>     libcurl.so.4->getenv("no_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("NO_PROXY")
>                                                         = nil
>     libcurl.so.4->getenv("http_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("all_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("ALL_PROXY")
>                                                         = nil
>     libcrypto.so.1.0.0->getenv("OPENSSL_ALLOW_PROXY_CERTS")
>                                                         = nil
>     libcurl.so.4->getenv("no_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("NO_PROXY")
>                                                         = nil
>     libcurl.so.4->getenv("http_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("all_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("ALL_PROXY")
>                                                         = nil
>     libcrypto.so.1.0.0->getenv("OPENSSL_ALLOW_PROXY_CERTS")
>                                                         = nil
>     libcurl.so.4->getenv("no_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("NO_PROXY")
>                                                         = nil
>     libcurl.so.4->getenv("https_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("HTTPS_PROXY")
>                                                         = nil
>     libcurl.so.4->getenv("all_proxy")
>                                                         = nil
>     libcurl.so.4->getenv("ALL_PROXY")
>                                                         = nil
>     error: failed to download from
> `https://crates.io/api/v1/crates/rustfmt-nightly/1.4.6/download`
>
>     Caused by:
>       [60] SSL peer certificate or SSH remote key was not OK (server
> certificate verification failed. CAfile: none CRLfile: none)
>     +++ exited (status 101) +++
>
> I investigated this `OPENSSL_ALLOW_PROXY_CERTS` variable and I
> concluded that I am not using any such cert--I believe in this case
> libcurl checks an environment variable but would not act on the
> result?  Anyway, I don't use a proxy.  (I just confirmed crates.io is
> not on the blacklist at work.)
>
> Well, I'm not sure what to check next.  I can tell you that the values
> of SSL_CERT_FILE and SSL_CERT_DIR seem to be correct (even though the
> ltrace output truncates them).
>
> Cheers, thanks,
> --sebboh



reply via email to

[Prev in Thread] Current Thread [Next in Thread]