1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP GET 6 HTTP NTLM auth 7 followlocation 8 </keywords> 9 </info> 10 # Server-side 11 <reply> 12 13 <!-- no <data> in this test since we have NTLM from the start 14 15 This is supposed to be returned when the server gets a first 16 Authorization: NTLM line passed-in from the client --> 17 18 <data1001> 19 HTTP/1.1 401 Now gimme that second request of crap 20 Server: Microsoft-IIS/5.0 21 Content-Type: text/html; charset=iso-8859-1 22 Content-Length: 34 23 WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 24 25 This is not the real page either! 26 </data1001> 27 28 # This is supposed to be returned when the server gets the second 29 # Authorization: NTLM line passed-in from the client 30 <data1002> 31 HTTP/1.1 301 Things are fine in server land swsclose 32 Server: Microsoft-IIS/5.0 33 Connection: close 34 Location: /you/890010 35 36 </data1002> 37 38 # This is the first reply after the redirection 39 <data1011> 40 HTTP/1.1 401 Now gimme that second round of crap 41 Server: Microsoft-IIS/5.0 42 Content-Type: text/html; charset=iso-8859-1 43 Content-Length: 34 44 WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 45 46 This is not the real page either! 47 </data1011> 48 49 # This is supposed to be returned when the server gets the second 50 # Authorization: NTLM line passed-in from the client 51 <data1012> 52 HTTP/1.1 200 Things are fine in server land swsclose 53 Server: Microsoft-IIS/5.0 54 Content-Type: text/html; charset=iso-8859-1 55 Content-Length: 32 56 57 Finally, this is the real page! 58 </data1012> 59 60 <datacheck> 61 HTTP/1.1 401 Now gimme that second request of crap 62 Server: Microsoft-IIS/5.0 63 Content-Type: text/html; charset=iso-8859-1 64 Content-Length: 34 65 WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 66 67 HTTP/1.1 301 Things are fine in server land swsclose 68 Server: Microsoft-IIS/5.0 69 Connection: close 70 Location: /you/890010 71 72 HTTP/1.1 401 Now gimme that second round of crap 73 Server: Microsoft-IIS/5.0 74 Content-Type: text/html; charset=iso-8859-1 75 Content-Length: 34 76 WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 77 78 HTTP/1.1 200 Things are fine in server land swsclose 79 Server: Microsoft-IIS/5.0 80 Content-Type: text/html; charset=iso-8859-1 81 Content-Length: 32 82 83 Finally, this is the real page! 84 </datacheck> 85 86 </reply> 87 88 # Client-side 89 <client> 90 <features> 91 NTLM 92 !SSPI 93 debug 94 </features> 95 <server> 96 http 97 </server> 98 <name> 99 HTTP with NTLM and follow-location 100 </name> 101 <setenv> 102 # we force our own host name, in order to make the test machine independent 103 CURL_GETHOSTNAME=curlhost 104 # we try to use the LD_PRELOAD hack, if not a debug build 105 LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 106 </setenv> 107 <command> 108 http://%HOSTIP:%HTTPPORT/89 -u testuser:testpass --ntlm -L 109 </command> 110 <precheck> 111 chkhostname curlhost 112 </precheck> 113 </client> 114 115 # Verify data after the test has been "shot" 116 <verify> 117 <strip> 118 ^User-Agent:.* 119 </strip> 120 <protocol> 121 GET /89 HTTP/1.1 122 Host: %HOSTIP:%HTTPPORT 123 Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 124 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 125 Accept: */* 126 127 GET /89 HTTP/1.1 128 Host: %HOSTIP:%HTTPPORT 129 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBAL9LNW5+nkyHZRmyFaL/LJ4xMjM0MjIzNGUCyhgQ9hw6eWAT13EbDa0BAQAAAAAAAACAPtXesZ0BMTIzNDIyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== 130 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 131 Accept: */* 132 133 GET /you/890010 HTTP/1.1 134 Host: %HOSTIP:%HTTPPORT 135 Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 136 User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS 137 Accept: */* 138 139 GET /you/890010 HTTP/1.1 140 Host: %HOSTIP:%HTTPPORT 141 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAACeAJ4AWAAAAAAAAAD2AAAACAAIAPYAAAAIAAgA/gAAAAAAAAAAAAAABoKBALIBPdoGahtQQ8gQ7TJrKTYzMjM0NDIzNBFnpKw8B1BLcb456sVeozgBAQAAAAAAAACAPtXesZ0BMzIzNDQyMzQAAAAAAgAEAEMAQwABABIARQBMAEkAUwBBAEIARQBUAEgABAAYAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAMALABlAGwAaQBzAGEAYgBlAHQAaAAuAGMAYwAuAGkAYwBlAGQAZQB2AC4AbgB1AAAAAAAAAAAAdGVzdHVzZXJjdXJsaG9zdA== 142 User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS 143 Accept: */* 144 145 </protocol> 146 </verify> 147 </testcase> 148