Home | History | Annotate | Download | only in data
      1 <testcase>
      2 <info>
      3 <keywords>
      4 HTTP
      5 HTTP GET
      6 HTTP Basic auth
      7 HTTP NTLM auth
      8 </keywords>
      9 </info>
     10 # Server-side
     11 <reply>
     12 
     13 <!-- Alternate the order that Basic and NTLM headers appear in responses to
     14 ensure that the order doesn't matter. -->
     15 
     16 <!-- First request has Basic auth, wrong password -->
     17 <data100>
     18 HTTP/1.1 401 Sorry wrong password
     19 Server: Microsoft-IIS/5.0
     20 Content-Type: text/html; charset=iso-8859-1
     21 Content-Length: 29
     22 WWW-Authenticate: NTLM
     23 WWW-Authenticate: Basic realm="testrealm"
     24 
     25 This is a bad password page!
     26 </data100>
     27 
     28 <!-- Second request has NTLM auth, right password -->
     29 <data200>
     30 HTTP/1.1 401 Need Basic or NTLM auth
     31 Server: Microsoft-IIS/5.0
     32 Content-Type: text/html; charset=iso-8859-1
     33 Content-Length: 27
     34 WWW-Authenticate: Basic realm="testrealm"
     35 WWW-Authenticate: NTLM
     36 
     37 This is not the real page!
     38 </data200>
     39 
     40 <data1201>
     41 HTTP/1.1 401 NTLM intermediate
     42 Server: Microsoft-IIS/5.0
     43 Content-Type: text/html; charset=iso-8859-1
     44 Content-Length: 33
     45 WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
     46 
     47 This is still not the real page!
     48 </data1201>
     49 
     50 <data1202>
     51 HTTP/1.1 200 Things are fine in server land
     52 Server: Microsoft-IIS/5.0
     53 Content-Type: text/html; charset=iso-8859-1
     54 Content-Length: 32
     55 
     56 Finally, this is the real page!
     57 </data1202>
     58 
     59 <!-- Third request has Basic auth, wrong password -->
     60 <data300>
     61 HTTP/1.1 401 Sorry wrong password (2)
     62 Server: Microsoft-IIS/5.0
     63 Content-Type: text/html; charset=iso-8859-1
     64 Content-Length: 29
     65 WWW-Authenticate: NTLM
     66 WWW-Authenticate: Basic realm="testrealm"
     67 
     68 This is a bad password page!
     69 </data300>
     70 
     71 <!-- Fourth request has NTLM auth, wrong password -->
     72 <data400>
     73 HTTP/1.1 401 Need Basic or NTLM auth (2)
     74 Server: Microsoft-IIS/5.0
     75 Content-Type: text/html; charset=iso-8859-1
     76 Content-Length: 27
     77 WWW-Authenticate: Basic realm="testrealm"
     78 WWW-Authenticate: NTLM
     79 
     80 This is not the real page!
     81 </data400>
     82 
     83 <data1401>
     84 HTTP/1.1 401 NTLM intermediate (2)
     85 Server: Microsoft-IIS/5.0
     86 Content-Type: text/html; charset=iso-8859-1
     87 Content-Length: 33
     88 WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
     89 
     90 This is still not the real page!
     91 </data1401>
     92 
     93 <data1402>
     94 HTTP/1.1 401 Sorry wrong password (3)
     95 Server: Microsoft-IIS/5.0
     96 Content-Type: text/html; charset=iso-8859-1
     97 Content-Length: 29
     98 WWW-Authenticate: NTLM
     99 WWW-Authenticate: Basic realm="testrealm"
    100 
    101 This is a bad password page!
    102 </data1402>
    103 
    104 <!-- Fifth request has NTLM auth, right password -->
    105 <data500>
    106 HTTP/1.1 401 Need Basic or NTLM auth (3)
    107 Server: Microsoft-IIS/5.0
    108 Content-Type: text/html; charset=iso-8859-1
    109 Content-Length: 27
    110 WWW-Authenticate: Basic realm="testrealm"
    111 WWW-Authenticate: NTLM
    112 
    113 This is not the real page!
    114 </data500>
    115 
    116 <data1501>
    117 HTTP/1.1 401 NTLM intermediate (3)
    118 Server: Microsoft-IIS/5.0
    119 Content-Type: text/html; charset=iso-8859-1
    120 Content-Length: 33
    121 WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
    122 
    123 This is still not the real page!
    124 </data1501>
    125 
    126 <data1502>
    127 HTTP/1.1 200 Things are fine in server land (2)
    128 Server: Microsoft-IIS/5.0
    129 Content-Type: text/html; charset=iso-8859-1
    130 Content-Length: 32
    131 
    132 Finally, this is the real page!
    133 </data1502>
    134 
    135 <datacheck>
    136 HTTP/1.1 401 Sorry wrong password
    137 Server: Microsoft-IIS/5.0
    138 Content-Type: text/html; charset=iso-8859-1
    139 Content-Length: 29
    140 WWW-Authenticate: NTLM
    141 WWW-Authenticate: Basic realm="testrealm"
    142 
    143 This is a bad password page!
    144 HTTP/1.1 401 NTLM intermediate
    145 Server: Microsoft-IIS/5.0
    146 Content-Type: text/html; charset=iso-8859-1
    147 Content-Length: 33
    148 WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
    149 
    150 HTTP/1.1 200 Things are fine in server land
    151 Server: Microsoft-IIS/5.0
    152 Content-Type: text/html; charset=iso-8859-1
    153 Content-Length: 32
    154 
    155 Finally, this is the real page!
    156 HTTP/1.1 401 Sorry wrong password (2)
    157 Server: Microsoft-IIS/5.0
    158 Content-Type: text/html; charset=iso-8859-1
    159 Content-Length: 29
    160 WWW-Authenticate: NTLM
    161 WWW-Authenticate: Basic realm="testrealm"
    162 
    163 This is a bad password page!
    164 HTTP/1.1 401 NTLM intermediate (2)
    165 Server: Microsoft-IIS/5.0
    166 Content-Type: text/html; charset=iso-8859-1
    167 Content-Length: 33
    168 WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
    169 
    170 HTTP/1.1 401 Sorry wrong password (3)
    171 Server: Microsoft-IIS/5.0
    172 Content-Type: text/html; charset=iso-8859-1
    173 Content-Length: 29
    174 WWW-Authenticate: NTLM
    175 WWW-Authenticate: Basic realm="testrealm"
    176 
    177 This is a bad password page!
    178 HTTP/1.1 401 NTLM intermediate (3)
    179 Server: Microsoft-IIS/5.0
    180 Content-Type: text/html; charset=iso-8859-1
    181 Content-Length: 33
    182 WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAAAGggEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
    183 
    184 HTTP/1.1 200 Things are fine in server land (2)
    185 Server: Microsoft-IIS/5.0
    186 Content-Type: text/html; charset=iso-8859-1
    187 Content-Length: 32
    188 
    189 Finally, this is the real page!
    190 </datacheck>
    191 
    192 </reply>
    193 
    194 # Client-side
    195 <client>
    196 <features>
    197 NTLM
    198 !SSPI
    199 </features>
    200 <server>
    201 http
    202 </server>
    203 <tool>
    204 libauthretry
    205 </tool>
    206 
    207  <name>
    208 HTTP authorization retry (Basic switching to NTLM)
    209  </name>
    210  <setenv>
    211 # we force our own host name, in order to make the test machine independent
    212 CURL_GETHOSTNAME=curlhost
    213 # we try to use the LD_PRELOAD hack, if not a debug build
    214 LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
    215  </setenv>
    216  <command>
    217 http://%HOSTIP:%HTTPPORT/2025 basic ntlm
    218 </command>
    219 <precheck>
    220 chkhostname curlhost
    221 </precheck>
    222 </client>
    223 
    224 # Verify data after the test has been "shot"
    225 <verify>
    226 <strip>
    227 ^User-Agent:.*
    228 </strip>
    229 <protocol>
    230 GET /20250100 HTTP/1.1
    231 Host: %HOSTIP:%HTTPPORT
    232 Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
    233 Accept: */*
    234 
    235 GET /20250200 HTTP/1.1
    236 Host: %HOSTIP:%HTTPPORT
    237 Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
    238 Accept: */*
    239 
    240 GET /20250200 HTTP/1.1
    241 Host: %HOSTIP:%HTTPPORT
    242 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
    243 Accept: */*
    244 
    245 GET /20250300 HTTP/1.1
    246 Host: %HOSTIP:%HTTPPORT
    247 Authorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz
    248 Accept: */*
    249 
    250 GET /20250400 HTTP/1.1
    251 Host: %HOSTIP:%HTTPPORT
    252 Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
    253 Accept: */*
    254 
    255 GET /20250400 HTTP/1.1
    256 Host: %HOSTIP:%HTTPPORT
    257 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
    258 Accept: */*
    259 
    260 GET /20250500 HTTP/1.1
    261 Host: %HOSTIP:%HTTPPORT
    262 Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
    263 Accept: */*
    264 
    265 GET /20250500 HTTP/1.1
    266 Host: %HOSTIP:%HTTPPORT
    267 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoIBAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
    268 Accept: */*
    269 
    270 </protocol>
    271 </verify>
    272 </testcase>
    273