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