From 8b9385040f2e5f35b3faa9f18defe628eb8c63e5 Mon Sep 17 00:00:00 2001 From: Pascal Morillon Date: Mon, 31 May 2021 16:49:01 +0200 Subject: [PATCH] Unset proxy env vars when ssh bastion is configured with option ignore_proxy_env_vars --- cluster/cluster.go | 7 +++++++ util/util.go | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/cluster/cluster.go b/cluster/cluster.go index 0e2ffa40..eb355d74 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "net" + "os" "reflect" "strings" "time" @@ -778,6 +779,12 @@ func (c *Cluster) SetupDialers(ctx context.Context, dailersOptions hosts.Dialers if err != nil { return err } + if c.BastionHost.IgnoreProxyEnvVars { + logrus.Debug("Unset http proxy environment variables") + for _, v := range util.ProxyEnvVars { + os.Unsetenv(v) + } + } } return nil } diff --git a/util/util.go b/util/util.go index d3b4d432..05e4d9ed 100644 --- a/util/util.go +++ b/util/util.go @@ -20,7 +20,7 @@ const ( WorkerThreads = 50 ) -var proxyEnvVars = [3]string{"HTTP_PROXY", "HTTPS_PROXY", "NO_PROXY"} +var ProxyEnvVars = [3]string{"HTTP_PROXY", "HTTPS_PROXY", "NO_PROXY"} func StrToSemVer(version string) (*semver.Version, error) { v, err := semver.NewVersion(strings.TrimPrefix(version, "v")) @@ -146,7 +146,7 @@ func GetEnvVar(key string) (string, string, bool) { func PrintProxyEnvVars() { // Print proxy related environment variables - for _, proxyEnvVar := range proxyEnvVars { + for _, proxyEnvVar := range ProxyEnvVars { var err error // Lookup environment variable if key, value, ok := GetEnvVar(proxyEnvVar); ok {