1 <testcase> 2 <info> 3 <keywords> 4 HTTP 5 HTTP GET 6 HTTP Basic auth 7 HTTP NTLM auth 8 flaky 9 </keywords> 10 </info> 11 # Server-side 12 <reply> 13 14 <!-- Basic auth --> 15 <data100> 16 HTTP/1.1 401 Need Basic or NTLM auth 17 Server: Microsoft-IIS/5.0 18 Content-Type: text/html; charset=iso-8859-1 19 Content-Length: 29 20 WWW-Authenticate: NTLM 21 WWW-Authenticate: Basic realm="testrealm" 22 23 This is a bad password page! 24 </data100> 25 26 <!-- NTLM auth --> 27 <data200> 28 HTTP/1.1 401 Need Basic or NTLM auth (2) 29 Server: Microsoft-IIS/5.0 30 Content-Type: text/html; charset=iso-8859-1 31 Content-Length: 27 32 WWW-Authenticate: NTLM 33 WWW-Authenticate: Basic realm="testrealm" 34 35 This is not the real page! 36 </data200> 37 38 <data1201> 39 HTTP/1.1 401 NTLM intermediate (2) 40 Server: Microsoft-IIS/5.0 41 Content-Type: text/html; charset=iso-8859-1 42 Content-Length: 33 43 WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 44 45 This is still not the real page! 46 </data1201> 47 48 <data1202> 49 HTTP/1.1 200 Things are fine in server land 50 Server: Microsoft-IIS/5.0 51 Content-Type: text/html; charset=iso-8859-1 52 Content-Length: 32 53 54 Finally, this is the real page! 55 </data1202> 56 57 <datacheck> 58 Data connection 0: 228 59 Data connection 1: 228 60 Data connection 2: 402 61 </datacheck> 62 63 </reply> 64 65 # Client-side 66 <client> 67 <features> 68 NTLM 69 !SSPI 70 </features> 71 <server> 72 http 73 </server> 74 <tool> 75 libntlmconnect 76 </tool> 77 78 <name> 79 NTLM connection mapping 80 </name> 81 <setenv> 82 # we force our own host name, in order to make the test machine independent 83 CURL_GETHOSTNAME=curlhost 84 # we try to use the LD_PRELOAD hack, if not a debug build 85 LD_PRELOAD=%PWD/libtest/.libs/libhostname.so 86 </setenv> 87 <command> 88 http://%HOSTIP:%HTTPPORT/2032 89 </command> 90 <precheck> 91 chkhostname curlhost 92 </precheck> 93 </client> 94 95 # Verify data after the test has been "shot" 96 <verify> 97 <strip> 98 ^User-Agent:.* 99 </strip> 100 <protocol> 101 GET /20320100 HTTP/1.1 102 Host: 127.0.0.1:%HTTPPORT 103 Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= 104 Accept: */* 105 106 GET /20320100 HTTP/1.1 107 Host: 127.0.0.1:%HTTPPORT 108 Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= 109 Accept: */* 110 111 GET /20320200 HTTP/1.1 112 Host: 127.0.0.1:%HTTPPORT 113 Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 114 Accept: */* 115 116 GET /20320200 HTTP/1.1 117 Host: 127.0.0.1:%HTTPPORT 118 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoABAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q= 119 Accept: */* 120 121 </protocol> 122 </verify> 123 </testcase> 124