URL encoding not present in DNF 5.2.13.1

Hi,
I work for the Artifactory team. One of our customers reported an issue after upgrading from DNF 4.7 to DNF 5.2. Please find the detailed analysis of the issue.

Bug Report: DNF 5.2 Fails to Download Packages with Special Characters in Filename

Report Date: July 18, 2025 Component: DNF (Dandified YUM) Affected Version: 5.2.13.1 Previous Working Version: 4.21

1. Summary

An issue has been identified in DNF version 5.2 where it is unable to download RPM packages that contain a caret (^) symbol in the filename using Artifactory. This functionality was operational in DNF version 4.21. The root cause of this failure is a change in how DNF 5.2 handles special characters in URLs; specifically, it no longer applies URL-encoding to the caret symbol. This results in a malformed GET request that is rejected by the upstream webserver before it reaches the repository application (Artifactory).

2. Technical Analysis

To investigate the download failure, HTTP requests generated by both DNF 4.21 and DNF 5.2.13.1 were intercepted and inspected. The test package for this analysis was passt-0^20250611.g0293c6f-1.fc42.x86_64.rpm. The upstream used for testing was Index of /pub

The analysis revealed a difference in the URL formatting between the two versions.

  • DNF 4.21 (Successful Request) The older, functional version of DNF encodes the ^ character to its url-encoding equivalent, %5E. This results in a valid URL that the webserver processes correctly.
    Intercepted Request:

GET /artifactory/rpm-remote-3/fedora/linux/updates/42/Everything/aarch64/Packages/p/passt-0%5E20250611.g0293c6f-1.fc42.aarch64.rpm

  • DNF 5.2.13.1 (Failed Request) The new version of DNF fails to encode the ^ character, sending it raw within the URL path.
    Intercepted Request:

GET /artifactory/rpm-remote-3/fedora/linux/updates/42/Everything/x86_64/Packages/p/passt-0^20250611.g0293c6f-1.fc42.x86_64.rpm

3. Impact

Due to this change DNF installation packages like passt fails while using Artifactory.

A temporary workaround should be available by using dnf4 instead of either dnf or dnf5. (dnf4 is still included in fedora)

This probably should be reported as a bug for dnf5.

1 Like

Thanks for investigating this.

Please report the problem in the Fedora bugzilla so that the dnf developers see the issue.
See https://docs.fedoraproject.org/en-US/quick-docs/bugzilla-file-a-bug/

1 Like

Thank you so much for the reply. I have created a ticket for DNF package manager.
Posting it here for reference: 2382271 – URL encoding not present in DNF 5.2.13.1

1 Like