diff --git a/misc/docker/Dockerfile b/misc/docker/Dockerfile index 342c28eda..d57892ea8 100644 --- a/misc/docker/Dockerfile +++ b/misc/docker/Dockerfile @@ -13,11 +13,11 @@ RUN set -x \ ONBUILD ENV \ ENV=/etc/profile \ PATH=/root/.nix-profile/bin:/root/.nix-profile/sbin:/bin:/sbin:/usr/bin:/usr/sbin \ - GIT_SSL_CAINFO=/root/.nix-profile/etc/ca-bundle.crt \ - SSL_CERT_FILE=/root/.nix-profile/etc/ca-bundle.crt + GIT_SSL_CAINFO=/root/.nix-profile/etc/ssl/certs/ca-bundle.crt \ + NIX_SSL_CERT_FILE=/root/.nix-profile/etc/ssl/certs/ca-bundle.crt ENV \ ENV=/etc/profile \ PATH=/root/.nix-profile/bin:/root/.nix-profile/sbin:/bin:/sbin:/usr/bin:/usr/sbin \ - GIT_SSL_CAINFO=/root/.nix-profile/etc/ca-bundle.crt \ - SSL_CERT_FILE=/root/.nix-profile/etc/ca-bundle.crt + GIT_SSL_CAINFO=/root/.nix-profile/etc/ssl/certs/ca-bundle.crt \ + NIX_SSL_CERT_FILE=/root/.nix-profile/etc/ssl/certs/ca-bundle.crt diff --git a/misc/launchd/org.nixos.nix-daemon.plist.in b/misc/launchd/org.nixos.nix-daemon.plist.in index 0dd665db6..c5ef97ee9 100644 --- a/misc/launchd/org.nixos.nix-daemon.plist.in +++ b/misc/launchd/org.nixos.nix-daemon.plist.in @@ -14,7 +14,7 @@ /dev/null EnvironmentVariables - SSL_CERT_FILE + NIX_SSL_CERT_FILE /nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt diff --git a/scripts/download-from-binary-cache.pl.in b/scripts/download-from-binary-cache.pl.in index a4f858610..fa2a2f60a 100644 --- a/scripts/download-from-binary-cache.pl.in +++ b/scripts/download-from-binary-cache.pl.in @@ -41,7 +41,7 @@ my $activeRequests = 0; my $curlIdCount = 1; my %requests; my %scheduled; -my $caBundle = $ENV{"SSL_CERT_FILE"} // $ENV{"CURL_CA_BUNDLE"} // $ENV{"OPENSSL_X509_CERT_FILE"}; +my $caBundle = $ENV{"NIX_SSL_CERT_FILE"} // $ENV{"SSL_CERT_FILE"} // $ENV{"CURL_CA_BUNDLE"} // $ENV{"OPENSSL_X509_CERT_FILE"}; $caBundle = "/etc/ssl/certs/ca-bundle.crt" if !$caBundle && -f "/etc/ssl/certs/ca-bundle.crt"; $caBundle = "/etc/ssl/certs/ca-certificates.crt" if !$caBundle && -f "/etc/ssl/certs/ca-certificates.crt"; diff --git a/scripts/install-nix-from-closure.sh b/scripts/install-nix-from-closure.sh index 465cc1013..d7098691b 100644 --- a/scripts/install-nix-from-closure.sh +++ b/scripts/install-nix-from-closure.sh @@ -73,9 +73,9 @@ if ! $nix/bin/nix-env -i "$nix"; then fi # Install an SSL certificate bundle. -if [ -z "$SSL_CERT_FILE" -o ! -f "$SSL_CERT_FILE" ]; then +if [ -z "$NIX_SSL_CERT_FILE" -o ! -f "$NIX_SSL_CERT_FILE" ]; then $nix/bin/nix-env -i "$cacert" - export SSL_CERT_FILE="$HOME/.nix-profile/etc/ssl/certs/ca-bundle.crt" + export NIX_SSL_CERT_FILE="$HOME/.nix-profile/etc/ssl/certs/ca-bundle.crt" fi # Subscribe the user to the Nixpkgs channel and fetch it. diff --git a/scripts/nix-profile.sh.in b/scripts/nix-profile.sh.in index 672d1f035..6a0acc04d 100644 --- a/scripts/nix-profile.sh.in +++ b/scripts/nix-profile.sh.in @@ -20,16 +20,18 @@ if [ -n "$HOME" ]; then # channel. export NIX_PATH=${NIX_PATH:+$NIX_PATH:}nixpkgs=$HOME/.nix-defexpr/channels/nixpkgs - # Set $SSL_CERT_FILE so that Nixpkgs applications like curl work. + # Set $NIX_SSL_CERT_FILE so that Nixpkgs applications like curl work. if [ -e /etc/ssl/certs/ca-certificates.crt ]; then # NixOS, Ubuntu, Debian, Gentoo, Arch - export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt + export NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt + elif [ -e /etc/ssl/ca-bundle.pem ]; then # openSUSE Tumbleweed + export NIX_SSL_CERT_FILE=/etc/ssl/ca-bundle.pem elif [ -e /etc/ssl/certs/ca-bundle.crt ]; then # Old NixOS - export SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt + export NIX_SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt elif [ -e /etc/pki/tls/certs/ca-bundle.crt ]; then # Fedora, CentOS - export SSL_CERT_FILE=/etc/pki/tls/certs/ca-bundle.crt + export NIX_SSL_CERT_FILE=/etc/pki/tls/certs/ca-bundle.crt elif [ -e "$NIX_LINK/etc/ssl/certs/ca-bundle.crt" ]; then # fall back to cacert in Nix profile - export SSL_CERT_FILE="$NIX_LINK/etc/ssl/certs/ca-bundle.crt" + export NIX_SSL_CERT_FILE="$NIX_LINK/etc/ssl/certs/ca-bundle.crt" elif [ -e "$NIX_LINK/etc/ca-bundle.crt" ]; then # old cacert in Nix profile - export SSL_CERT_FILE="$NIX_LINK/etc/ca-bundle.crt" + export NIX_SSL_CERT_FILE="$NIX_LINK/etc/ca-bundle.crt" fi fi diff --git a/src/libstore/download.cc b/src/libstore/download.cc index 3bc02e3c4..82f5f7aa9 100644 --- a/src/libstore/download.cc +++ b/src/libstore/download.cc @@ -129,7 +129,8 @@ struct Curl curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); if (options.verifyTLS) - curl_easy_setopt(curl, CURLOPT_CAINFO, getEnv("SSL_CERT_FILE", "/etc/ssl/certs/ca-certificates.crt").c_str()); + curl_easy_setopt(curl, CURLOPT_CAINFO, + getEnv("NIX_SSL_CERT_FILE", getEnv("SSL_CERT_FILE", "/etc/ssl/certs/ca-certificates.crt")).c_str()); else { curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);