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