Description:
New curl version (7.28) breaks git http/https transport when auth used.
git clone/push falls with "error: RPC failed; result=22, HTTP code = 401" on http/https repo with http authentication.
As I see in git logs (when started with GIT_CURL_VERBOSE=1) it doesn't sends Authorization header on POST.
With curl 7.27 all works fine.
Additional info:
* git 1.7.7.7 till 1.7.12.3
* curl 7.28
Steps to reproduce:
git clone/push http/https repo with auth. It will fail with "error: RPC failed; result=22, HTTP code = 401".
Fails on second POST request because of absence of Authorization HTTP header.
* curl -V
curl 7.28.0 (x86_64-unknown-linux-gnu) libcurl/7.28.0 OpenSSL/1.0.1c zlib/1.2.7 libssh2/1.4.2
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
ce8311c7e49eca93c136b58efa6763853541ec97 is the first bad commit
commit ce8311c7e49eca93c136b58efa6763853541ec97
Author: Joe Mason <jmason@rim.com>
Date: Fri Jul 27 17:25:45 2012 -0400
Zero out auth structs before transfer
:040000 040000 c666ee4089e5b205e9062d3afb0d69bb696f87e0 a43562a6999f22e093048ec80631abf78d281541 M lib
This issue was solved in commit 1a02e84589efb3f8717d50bdc78d3f369b799198. Can you verify that it solves the problem for you?
Still broken for me in current git (f1d2e1850819f54d1c950989614da7445bdd457f)
I should also add that reverting ce8311c7e49eca93c136b58efa6763853541ec97 against current git does resolve the problem for me.
Can you please help me and describe what the exact HTTP sequence is for the correct operation and for the faulty operation? I want to write up a curl test case for this and work from there!
Thanks for the report, this problem is now fixed in the git repository.
To try it out, you either checkout/update your git clone: http://curl.haxx.se/source.html
or you try tomorrow's daily snapshot: http://curl.haxx.se/snapshots/