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?

Solution Verified - Updated -

Issue

  • We have provided proxy information with the environment variables HTTP_PROXY and HTTPS_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, or cri-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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content