Bug 1844840
Summary: | Cannot create "HTTP Proxies" in GUI if password includes special component in Satellite 6.7 | |||
---|---|---|---|---|
Product: | Red Hat Satellite | Reporter: | Sayan Das <saydas> | |
Component: | Networking | Assignee: | Ian Ballou <iballou> | |
Status: | CLOSED ERRATA | QA Contact: | Jameer Pathan <jpathan> | |
Severity: | high | Docs Contact: | ||
Priority: | high | |||
Version: | 6.7.0 | CC: | ahumbe, alsouza, apatel, aruzicka, dhjoshi, egolov, guliu, iballou, jiehuang, jjeffers, jpasqual, jpathan, jsherril, ktordeur, kupadhya, mhulan, mmccune, njajodia, pcreech, rajukuma, risantam, smajumda, tbrisker, zhunting | |
Target Milestone: | 6.9.6 | Keywords: | PrioBumpGSS, Triaged | |
Target Release: | Unused | |||
Hardware: | All | |||
OS: | All | |||
Whiteboard: | ||||
Fixed In Version: | foreman-2.3.1.22-1,tfm-rubygem-katello-3.18.1.38-1 | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1962835 (view as bug list) | Environment: | ||
Last Closed: | 2021-09-21 14:37:26 UTC | 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
Sayan Das
2020-06-07 14:13:01 UTC
This problem still exists on Red Hat Satellite 6.8-Beta . TL;DR: There is no workaround, we will need to patch foreman and restclient. Foreman patch will be small, restclient patch was already written by ManageIQ folks and we'll just need to borrow it from them. Notes: There are two issues at play here. The first is on our side. We try to stuff the user provided strings into an URI object, but that fails because special characters are not allowed there. If we escape the user provided strings first (turn '@' into '%40' and so on), this part should be resolved. The other issue is restclient (the library we use for making http requests) does not unescape the proxy username and password, so even if we fix the first issue, then the escaped form will be sent to the proxy and the proxy will reject it. There is a PR[1] opened against restclient which fixes this, but last movement there was in October 2018, so I'm afraid we can't wait for this to be fixed there. Unless I'm missing something the only real option we have is to monkey-patch restclient the same way ManageIQ did[2]. [1] - https://github.com/rest-client/rest-client/pull/665 [2] - https://github.com/ManageIQ/manageiq/pull/18105 This item was selected for a z-stream release (6.9.3) - can we petition the Foreman maintainers to review this sooner rather than later? Fix was merged in upstream Upstream bug assigned to iballou Upstream bug assigned to iballou Upstream bug assigned to aruzicka Upstream bug assigned to iballou Upstream bug assigned to iballou Verified: Verified with: - Satellite 6.9.6 snap 1 - katello-3.18.1-3.el7sat.noarch - foreman-2.3.1.23-1.el7sat.noarch Test steps: - Create HTTP Proxy with special characters in password (Go to Infrastructure > Http Proxies > Click on "New Http Proxy") - Fill the details related to HTTP Proxy and click on "Test connection" button. - Go to Administer > Settings > Content. Set "Default HTTP Proxy" setting. - Refresh manifest. - Enable and sync repositories. Observations: - "Test connection" button worked as expected. - Manifest refresh, repository enable/disable and repository sync operation finished successfully. Additional info: - Tried following Http proxy password combination: - t]se@pa+@#$%^ - test]satellite@password+ - t]se@pa+_~-*.,=[ - a?dd.}v{a - test%5Dhttp_password%40password%2B Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Satellite 6.9.6 Async Bug Fix Update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2021:3628 |