1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP POST 6 HTTP proxy 7 HTTP proxy NTLM auth 8 </keywords> 9 </info> 10 11 # Server-side 12 <reply> 13 14 <data> 15 HTTP/1.1 407 Authorization Required swsclose 16 Server: Apache/1.3.27 (Darwin) PHP/4.1.2 17 Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 18 Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts" 19 Proxy-Authenticate: NTLM 20 Content-Type: text/html; charset=iso-8859-1 21 Connection: close 22 23 This is not the real page 24 </data> 25 26 # this is returned first since we get no proxy-auth 27 <data1001> 28 HTTP/1.1 407 Authorization Required to proxy me my dear 29 Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 30 Content-Length: 34 31 32 Hey you, authenticate or go away! 33 </data1001> 34 35 # This is supposed to be returned when the server gets the second 36 # Authorization: NTLM line passed-in from the client 37 <data1002> 38 HTTP/1.1 200 Things are fine in proxy land swsclose 39 Server: Microsoft-IIS/5.0 40 Content-Type: text/html; charset=iso-8859-1 41 Content-Length: 42 42 43 Contents of that page you requested, sir. 44 </data1002> 45 46 <datacheck> 47 HTTP/1.1 407 Authorization Required swsclose 48 Server: Apache/1.3.27 (Darwin) PHP/4.1.2 49 Proxy-Authenticate: Blackmagic realm="gimme all yer s3cr3ts" 50 Proxy-Authenticate: Basic realm="gimme all yer s3cr3ts" 51 Proxy-Authenticate: NTLM 52 Content-Type: text/html; charset=iso-8859-1 53 Connection: close 54 55 HTTP/1.1 407 Authorization Required to proxy me my dear 56 Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 57 Content-Length: 34 58 59 HTTP/1.1 200 Things are fine in proxy land swsclose 60 Server: Microsoft-IIS/5.0 61 Content-Type: text/html; charset=iso-8859-1 62 Content-Length: 42 63 64 Contents of that page you requested, sir. 65 </datacheck> 66 </reply> 67 68 # Client-side 69 <client> 70 <server> 71 http 72 </server> 73 # tool to use 74 <tool> 75 lib548 76 </tool> 77 <features> 78 NTLM 79 !SSPI 80 debug 81 </features> 82 <name> 83 HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS 84 </name> 85 <setenv> 86 # we force our own host name, in order to make the test machine independent 87 CURL_GETHOSTNAME=curlhost 88 # we try to use the LD_PRELOAD hack, if not a debug build 89 LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 90 </setenv> 91 <command> 92 http://test.remote.example.com/path/548 http://%HOSTIP:%HTTPPORT testuser:testpass 93 </command> 94 <precheck> 95 chkhostname curlhost 96 </precheck> 97 </client> 98 99 # Verify data after the test has been "shot" 100 <verify> 101 <strip> 102 ^User-Agent: curl/.* 103 </strip> 104 <protocol> 105 POST http://test.remote.example.com/path/548 HTTP/1.1 106 Host: test.remote.example.com 107 User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13 108 Accept: */* 109 Content-Length: 36 110 Content-Type: application/x-www-form-urlencoded 111 112 this is the blurb we want to upload 113 POST http://test.remote.example.com/path/548 HTTP/1.1 114 Host: test.remote.example.com 115 Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 116 User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13 117 Accept: */* 118 Content-Length: 0 119 Content-Type: application/x-www-form-urlencoded 120 121 POST http://test.remote.example.com/path/548 HTTP/1.1 122 Host: test.remote.example.com 123 Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== 124 User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13 125 Accept: */* 126 Content-Length: 36 127 Content-Type: application/x-www-form-urlencoded 128 129 this is the blurb we want to upload 130 </protocol> 131 </verify> 132 </testcase> 133