mirror of
https://github.com/moparisthebest/curl
synced 2024-12-24 17:18:48 -05:00
dd8a19f8a0
The check that prevents payload from sending in case of authentication doesn't check properly if the authentication is done or not. They're cases where the proxy respond "200 OK" before sending authentication challenge. This change takes care of that. Fixes #2431 Closes #3669
82 lines
1.8 KiB
Plaintext
82 lines
1.8 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP POST
|
|
HTTP CONNECT
|
|
HTTP proxy
|
|
HTTP proxy NTLM auth
|
|
</keywords>
|
|
</info>
|
|
|
|
# Server-side
|
|
<reply>
|
|
<data>
|
|
HTTP/1.1 200 We are fine and cool
|
|
Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
|
|
Content-Length: 27
|
|
|
|
This is all fine and dandy
|
|
</data>
|
|
|
|
# This is the CONNECT response
|
|
<connect1001>
|
|
HTTP/1.1 200 We are fine and cool
|
|
Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
|
|
|
|
</connect1001>
|
|
|
|
<datacheck>
|
|
HTTP/1.1 200 We are fine and cool
|
|
Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
|
|
|
|
HTTP/1.1 200 We are fine and cool
|
|
Server: Apache/1.3.27 (Dorw1n) PHP/44.1.2
|
|
Content-Length: 27
|
|
|
|
This is all fine and dandy
|
|
</datacheck>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
https
|
|
</server>
|
|
<features>
|
|
NTLM
|
|
!SSPI
|
|
</features>
|
|
<name>
|
|
HTTP POST using CONNECT with --proxy-ntlm but no auth is required
|
|
</name>
|
|
<command>
|
|
http://test.a.galaxy.far.far.away.1097:%HTTPPORT/1097 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -d "dummy=value" -p
|
|
</command>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<strip>
|
|
^User-Agent: curl/.*
|
|
</strip>
|
|
<protocol nonewline="yes">
|
|
CONNECT test.a.galaxy.far.far.away.1097:%HTTPPORT HTTP/1.1
|
|
Host: test.a.galaxy.far.far.away.1097:%HTTPPORT
|
|
Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
|
|
User-Agent: curl/7.19.5-CVS (i686-pc-linux-gnu) libcurl/7.19.5-CVS OpenSSL/0.9.8g zlib/1.2.3.3 c-ares/1.6.1-CVS libidn/1.12 libssh2/1.0.1_CVS
|
|
Proxy-Connection: Keep-Alive
|
|
|
|
POST /1097 HTTP/1.1
|
|
User-Agent: curl/7.19.5-CVS (i686-pc-linux-gnu) libcurl/7.19.5-CVS OpenSSL/0.9.8g zlib/1.2.3.3 c-ares/1.6.1-CVS libidn/1.12 libssh2/1.0.1_CVS
|
|
Host: test.a.galaxy.far.far.away.1097:%HTTPPORT
|
|
Accept: */*
|
|
Content-Length: 11
|
|
Content-Type: application/x-www-form-urlencoded
|
|
|
|
dummy=value
|
|
</protocol>
|
|
|
|
</verify>
|
|
</testcase>
|