Bug 2140100

Summary: After saving a password with special chars in the http_proxy, using the proxy leads to a 407 error,
Product: Red Hat Satellite Reporter: Martijn ten Heuvel <mtenheuv>
Component: NetworkingAssignee: satellite6-bugs <satellite6-bugs>
Status: NEW --- QA Contact: Satellite QE Team <sat-qe-bz-list>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.11.3CC: ahumbe, inecas, rlavi
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Martijn ten Heuvel 2022-11-04 13:11:19 UTC
Description of problem:

Following documentation found here:
https://access.redhat.com/documentation/en-us/red_hat_satellite/6.11/html-single/installing_satellite_server_in_a_connected_network_environment/index#Configuring_Server_with_an_HTTP_Proxy_satellite

The proxy user has a series of special chars in it's password. 
Following the steps described (reproducable):

Procedure

1. In the Satellite web UI, navigate to Infrastructure > HTTP Proxies.
2. Click New HTTP Proxy.
3. In the Name field, enter the name for the HTTP proxy.
4. In the Url field, enter the URL of the HTTP proxy in the following format: https://proxy.example.com:8080.
5. Optional: If authentication is required, in the Username field, enter the username to authenticate with.
6. Optional: If authentication is required, in the Password field, enter the password to authenticate with.
7. To test connection to the proxy, click the Test Connection button.
Now, for 7, I filed BZ 2139722, as I need to change to access.redhat.com. This is succesful.
8. Click Submit.

After clicking submit, the password is stored. I check in psql, in the foreman database, in the http_proxies table - it is there, encrypted. 

If I then go back into the page of the newly create proxy and hit test connection again, it shows me a 407 - meaning the password cannot be retrieved as it went into the system.

I have tried saving the password using the hammer commands mentioned in the same piece of documentation. With some effort, I managed to do so, but this also is not usable. For some reason, the input is being interpreted, instead of saved literally.

Anyway. The password construct is like this, without the double quotes: "<AAA_\%A!AAAA*AA+" - I have replaced any alphanumerical character with an A.

Version-Release number of selected component (if applicable):
6.11.4.

How reproducible:
Follow the steps described.

Actual results:
Cannot be used.

Expected results:
Can be used.

Additional info: