View Issue Details

IDProjectCategoryView StatusLast Update
0011418libmicrohttpdHTTP GET/HEADpublic2026-05-20 11:01
Reporterveloman-yunkan Assigned ToChristian Grothoff Due Date
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Product VersionGit master 
Target Version1.0.3Fixed in Version1.0.3 
Summary0011418: Handling of URLs containing % symbols has changed
DescriptionThe commit https://git.gnunet.org/gnunet/libmicrohttpd/commit/ec6e6d288876606af964747f97379aa9371c4206.html has affected the handling of URLs containing a % symbol not followed by two valid hex digits (e.g. "http://localhost:8080/qwe%rty"). Before that change such URLs were accepted and the % symbol was preserved as is. Now such URLs are rejected with an HTTP 400 Bad Request error.

The description of the said commit doesn't suggest that this change in behaviour was intentional, and that's why I am bringing it to your attention.
Steps To Reproduce1. Build examples
2. ./src/examples/demo 8080
3. curl -D - http://localhost:8080/qwe%rty
  - Before the change in question, HTTP 404 Not Found response is returned
  - After the change in question, HTTP 400 Bad Reqest response is returned
TagsNo tags attached.

Activities

Christian Grothoff

2026-05-20 11:01

manager   ~0028671

You are right that it could have been pointed out better, but the change was intentional, as 'plain' % in the URL is invalid and the change was about hardening MHD URL parsing to be more restrictive with respect to malformed requests.

Issue History

Date ModifiedUsernameFieldChange
2026-05-20 09:05veloman-yunkanNew Issue
2026-05-20 11:01Christian GrothoffNote Added: 0028671
2026-05-20 11:01Christian GrothoffAssigned To => Christian Grothoff
2026-05-20 11:01Christian GrothoffStatusnew => resolved
2026-05-20 11:01Christian GrothoffResolutionopen => no change required
2026-05-20 11:01Christian GrothoffFixed in Version => 1.0.3
2026-05-20 11:01Christian GrothoffProduct Version => Git master
2026-05-20 11:01Christian GrothoffTarget Version => 1.0.3
2026-05-20 11:01Christian GrothoffStatusresolved => closed