[Bug] Query string not being phrased correctly when question marks present in config URL.
- From
- Steven Lawler <steven.lawler777@gmail.com>
- Date
- Sep 22, 2014, 18:20 UTC
- Message-ID
- <CAOf__z5DTzchZpnz-DzoOEHnt8RdypV7=RPP1=AzinsskQEg8w@mail.gmail.com>
Cause: [remote "repo"] url = http://example.com/git/example.com?foo=bar There is a question mark in the URL of the repo URL.
Effect (Taken from Apache logs): [22/Sep/2014:14:12:07 -0400] "GET /git/example.com?foo=bar/info/refs&service=git-receive-pack HTTP/1.1" 403 207 "-" "git/1.9.4.msysgit.1"
Git attempts to correct the issue by making the query string continue using ampersands where it would have started the original query string.
Expected outcome: The git client should move the ?foo=bar onto the beginning (or end) of the query string that it is creating. For example: [22/Sep/2014:14:12:07 -0400] "GET /git/example.com/info/refs?foo=bar&service=git-receive-pack HTTP/1.1" 403 207 "-" "git/1.9.4.msysgit.1"
This is caused on the git client, double checked with Wireshark. I have not tested this on HTTPS, but imagine the output is the same.