Bug 2155713

Summary: proxy=_none_ is not correctly handled by dnf
Product: Red Hat Enterprise Linux 8 Reporter: Pradeep Jagtap <prjagtap>
Component: libdnfAssignee: Jaroslav Rohel <jrohel>
Status: VERIFIED --- QA Contact: Eva Mrakova <emrakova>
Severity: urgent Docs Contact:
Priority: medium    
Version: 8.6CC: james.antill, jcastran, jrohel, mbanas, nsella, pkratoch, sbroz
Target Milestone: rcKeywords: EasyFix, Patch, Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libdnf-0.63.0-16.el8 Doc Type: Bug Fix
Doc Text:
Cause: "proxy=_none_" sets the proxy name to "_none_". But in YUM (RHEL 7) "_none_" has a special meaning -> don't change proxy settings. Consequence: A configuration file from RHEL 7 containing "proxy=_none_" is not compatible with DNF. Fix: In the DNF proxy settings, treat "_none_" as an empty string. An empty string has the same meaning as "_none_" in YUM. Result: "proxy=_none_" means do not change proxy settings. The configuration is backward compatible with YUM (RHEL 7).
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 Pradeep Jagtap 2022-12-22 01:40:42 UTC
Description of problem:
proxy=_none_ is not handled correctly by dnf in RHEL 8 when used instead of empty string as per man page of dnf.conf (For backward compatibility, '_none_' can be used instead of the empty string)

Version-Release number of selected component (if applicable):
dnf-4.7.0-11.el8.noarch

How reproducible:


Steps to Reproduce:
1. Added proxy=_none_ in /etc/dnf/dnf.conf
           # grep proxy /etc/dnf/dnf.conf 
           proxy=_none_

2. Clean cache and repolist
          # dnf repolist -v

Actual results:
Fails with:
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)                                                                                     0.0  B/s |   0  B     00:00    
Errors during downloading metadata for repository 'rhel-8-for-x86_64-appstream-rpms':
  - Curl error (5): Couldn't resolve proxy name for https://cdn.redhat.com/content/dist/rhel8/8.6/x86_64/appstream/os/repodata/repomd.xml [Could not resolve proxy: _none_]
Error: Failed to download metadata for repo 'rhel-8-for-x86_64-appstream-rpms': Cannot download repomd.xml: Curl error (5): Couldn't resolve proxy name for https://cdn.redhat.com/content/dist/rhel8/8.6/x86_64/appstream/os/repodata/repomd.xml [Could not resolve proxy: _none_]


Expected results:
No error should be observed

Additional info:
With empty string instead of _none_ no error seen 
# grep proxy /etc/dnf/dnf.conf 
proxy=

Comment 8 Jaroslav Rohel 2023-05-24 11:13:01 UTC
Solved in PR https://github.com/rpm-software-management/libdnf/pull/1604

Comment 9 Jaroslav Rohel 2023-05-25 11:39:17 UTC
PR with CI tests: https://github.com/rpm-software-management/ci-dnf-stack/pull/1293