Why do programs written with the Go programming language, including podman and cri-o, ignore proxy configuration when a "#" character is in the username or password for the proxy?
Issue
- We have provided proxy information with the environment variables
HTTP_PROXY
andHTTPS_PROXY
. - As an example, we have specified a plaintext username and password like so:
export HTTP_PROXY='myuser:my!pass#word@proxy.example.com:3128'
export HTTPS_PROXY='myuser:my!pass#word@proxy.example.com:3128'
- When utilizing proxy information with any program built with Go, including but not limited to
podman
,buildah
,skopeo
, orcri-o
, proxy information is read from the above variables but not used specifically if there is a#
character in the username or password of the proxy. - If the
#
character is used in the username or password, the program built and compiled with Go will ignore proxy information. Why is this?
Environment
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat OpenShift Container Platform 3
- Red Hat OpenShift Container Platform 4
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.