View Issue Details

IDProjectCategoryView StatusLast Update
0003371libmicrohttpdcompliancepublic2021-09-02 15:54
Reportereworm Assigned ToChristian Grothoff Due Date
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformallOSall 
Product Version0.9.34 
Target Version0.9.35Fixed in Version0.9.35 
Summary0003371: wrong handling of '+' in unescape for path
DescriptionMHD_http_unescape always converts '+' (plus character) to ' ' (space character). This is wrong behavior. Space is allowed to be converted to '+' in query part of an URL, but not in path. So

http://www.example.com/path/foo+bar/path?query+name=query+value

has to be unescaped to these parts:

http://www.example.com/path/foo+bar/path
query name=query value

See [0] for details. Special case '+' is only listed for query part.

[0] http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
Steps To ReproduceTry to get an url like printed above. Currently libmicrohttpd unescapes the url to:

http://www.example.com/path/foo bar/path

Which is wrong.
TagsNo tags attached.

Activities

Christian Grothoff

2014-04-10 07:43

manager   ~0008227

Fixed in SVN 33010.

Christian Grothoff

2021-09-02 15:54

manager   ~0018208

Fix committed to master branch.

Issue History

Date ModifiedUsernameFieldChange
2014-04-09 12:37ewormNew Issue
2014-04-09 17:15Christian GrothoffAssigned To => Christian Grothoff
2014-04-09 17:15Christian GrothoffStatusnew => confirmed
2014-04-09 17:15Christian GrothoffCategoryHTTP 1.1 request pipelining => compliance
2014-04-09 17:15Christian GrothoffTarget Version => 0.9.35
2014-04-10 07:43Christian GrothoffNote Added: 0008227
2014-04-10 07:43Christian GrothoffStatusconfirmed => resolved
2014-04-10 07:43Christian GrothoffFixed in Version => 0.9.35
2014-04-10 07:43Christian GrothoffResolutionopen => fixed
2014-05-02 18:52Christian GrothoffStatusresolved => closed
2021-09-02 15:54Christian Grothoff
2021-09-02 15:54Christian GrothoffNote Added: 0018208