From 41b7876b32353f7649bccc5c7a11c02bf2e4c67a Mon Sep 17 00:00:00 2001 From: eldritch horrors Date: Mon, 4 Mar 2024 09:11:33 +0100 Subject: [PATCH] Merge pull request #10067 from ramboman/fix-proxy-nix `nix`: Fix `haveInternet` to check for proxy (cherry picked from commit accae60e7710a18f6f2bd7d2f4cd836bcd76b684) Change-Id: I996dafdcd266f4bc5806386c86b19040120842bf --- src/nix/main.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/nix/main.cc b/src/nix/main.cc index eb510eecc..f05c49523 100644 --- a/src/nix/main.cc +++ b/src/nix/main.cc @@ -27,6 +27,24 @@ void chrootHelper(int argc, char * * argv); namespace nix { +static bool haveProxyEnvironmentVariables() +{ + static const std::vector proxyVariables = { + "http_proxy", + "https_proxy", + "ftp_proxy", + "HTTP_PROXY", + "HTTPS_PROXY", + "FTP_PROXY" + }; + for (auto & proxyVariable: proxyVariables) { + if (getEnv(proxyVariable).has_value()) { + return true; + } + } + return false; +} + /* Check if we have a non-loopback/link-local network interface. */ static bool haveInternet() { @@ -50,6 +68,8 @@ static bool haveInternet() } } + if (haveProxyEnvironmentVariables()) return true; + return false; }