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