1*6236dae4SAndroid Build Coastguard Worker<testcase> 2*6236dae4SAndroid Build Coastguard Worker<info> 3*6236dae4SAndroid Build Coastguard Worker<keywords> 4*6236dae4SAndroid Build Coastguard WorkerHTTP 5*6236dae4SAndroid Build Coastguard WorkerHTTP GET 6*6236dae4SAndroid Build Coastguard WorkerHTTP Basic auth 7*6236dae4SAndroid Build Coastguard WorkerHTTP NTLM auth 8*6236dae4SAndroid Build Coastguard WorkerNTLM 9*6236dae4SAndroid Build Coastguard Worker</keywords> 10*6236dae4SAndroid Build Coastguard Worker</info> 11*6236dae4SAndroid Build Coastguard Worker# Server-side 12*6236dae4SAndroid Build Coastguard Worker<reply> 13*6236dae4SAndroid Build Coastguard Worker 14*6236dae4SAndroid Build Coastguard Worker<!-- Alternate the order that Basic and NTLM headers appear in responses to 15*6236dae4SAndroid Build Coastguard Workerensure that the order doesn't matter. --> 16*6236dae4SAndroid Build Coastguard Worker 17*6236dae4SAndroid Build Coastguard Worker<!-- First request has Basic auth, wrong password --> 18*6236dae4SAndroid Build Coastguard Worker<data100> 19*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password 20*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 21*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 22*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 23*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 24*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 25*6236dae4SAndroid Build Coastguard Worker 26*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 27*6236dae4SAndroid Build Coastguard Worker</data100> 28*6236dae4SAndroid Build Coastguard Worker 29*6236dae4SAndroid Build Coastguard Worker<!-- Second request has NTLM auth, right password --> 30*6236dae4SAndroid Build Coastguard Worker<data200> 31*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Need Basic or NTLM auth 32*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 33*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 34*6236dae4SAndroid Build Coastguard WorkerContent-Length: 27 35*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 36*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 37*6236dae4SAndroid Build Coastguard Worker 38*6236dae4SAndroid Build Coastguard WorkerThis is not the real page! 39*6236dae4SAndroid Build Coastguard Worker</data200> 40*6236dae4SAndroid Build Coastguard Worker 41*6236dae4SAndroid Build Coastguard Worker<data1201> 42*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 NTLM intermediate 43*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 44*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 45*6236dae4SAndroid Build Coastguard WorkerContent-Length: 33 46*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 47*6236dae4SAndroid Build Coastguard Worker 48*6236dae4SAndroid Build Coastguard WorkerThis is still not the real page! 49*6236dae4SAndroid Build Coastguard Worker</data1201> 50*6236dae4SAndroid Build Coastguard Worker 51*6236dae4SAndroid Build Coastguard Worker<data1202> 52*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in server land 53*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 54*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 55*6236dae4SAndroid Build Coastguard WorkerContent-Length: 32 56*6236dae4SAndroid Build Coastguard Worker 57*6236dae4SAndroid Build Coastguard WorkerFinally, this is the real page! 58*6236dae4SAndroid Build Coastguard Worker</data1202> 59*6236dae4SAndroid Build Coastguard Worker 60*6236dae4SAndroid Build Coastguard Worker<!-- Third request has Basic auth, wrong password --> 61*6236dae4SAndroid Build Coastguard Worker<data300> 62*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password (2) 63*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 64*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 65*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 66*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 67*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 68*6236dae4SAndroid Build Coastguard Worker 69*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 70*6236dae4SAndroid Build Coastguard Worker</data300> 71*6236dae4SAndroid Build Coastguard Worker 72*6236dae4SAndroid Build Coastguard Worker<!-- Fourth request has NTLM auth, wrong password --> 73*6236dae4SAndroid Build Coastguard Worker<data400> 74*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Need Basic or NTLM auth (2) 75*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 76*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 77*6236dae4SAndroid Build Coastguard WorkerContent-Length: 27 78*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 79*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 80*6236dae4SAndroid Build Coastguard Worker 81*6236dae4SAndroid Build Coastguard WorkerThis is not the real page! 82*6236dae4SAndroid Build Coastguard Worker</data400> 83*6236dae4SAndroid Build Coastguard Worker 84*6236dae4SAndroid Build Coastguard Worker<data1401> 85*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 NTLM intermediate (2) 86*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 87*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 88*6236dae4SAndroid Build Coastguard WorkerContent-Length: 33 89*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 90*6236dae4SAndroid Build Coastguard Worker 91*6236dae4SAndroid Build Coastguard WorkerThis is still not the real page! 92*6236dae4SAndroid Build Coastguard Worker</data1401> 93*6236dae4SAndroid Build Coastguard Worker 94*6236dae4SAndroid Build Coastguard Worker<data1402> 95*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password (3) 96*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 97*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 98*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 99*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 100*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 101*6236dae4SAndroid Build Coastguard Worker 102*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 103*6236dae4SAndroid Build Coastguard Worker</data1402> 104*6236dae4SAndroid Build Coastguard Worker 105*6236dae4SAndroid Build Coastguard Worker<!-- Fifth request has NTLM auth, right password --> 106*6236dae4SAndroid Build Coastguard Worker<data500> 107*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Need Basic or NTLM auth (3) 108*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 109*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 110*6236dae4SAndroid Build Coastguard WorkerContent-Length: 27 111*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 112*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 113*6236dae4SAndroid Build Coastguard Worker 114*6236dae4SAndroid Build Coastguard WorkerThis is not the real page! 115*6236dae4SAndroid Build Coastguard Worker</data500> 116*6236dae4SAndroid Build Coastguard Worker 117*6236dae4SAndroid Build Coastguard Worker<data1501> 118*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 NTLM intermediate (3) 119*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 120*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 121*6236dae4SAndroid Build Coastguard WorkerContent-Length: 33 122*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 123*6236dae4SAndroid Build Coastguard Worker 124*6236dae4SAndroid Build Coastguard WorkerThis is still not the real page! 125*6236dae4SAndroid Build Coastguard Worker</data1501> 126*6236dae4SAndroid Build Coastguard Worker 127*6236dae4SAndroid Build Coastguard Worker<data1502> 128*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in server land (2) 129*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 130*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 131*6236dae4SAndroid Build Coastguard WorkerContent-Length: 32 132*6236dae4SAndroid Build Coastguard Worker 133*6236dae4SAndroid Build Coastguard WorkerFinally, this is the real page! 134*6236dae4SAndroid Build Coastguard Worker</data1502> 135*6236dae4SAndroid Build Coastguard Worker 136*6236dae4SAndroid Build Coastguard Worker<datacheck> 137*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password 138*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 139*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 140*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 141*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 142*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 143*6236dae4SAndroid Build Coastguard Worker 144*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 145*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 NTLM intermediate 146*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 147*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 148*6236dae4SAndroid Build Coastguard WorkerContent-Length: 33 149*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 150*6236dae4SAndroid Build Coastguard Worker 151*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in server land 152*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 153*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 154*6236dae4SAndroid Build Coastguard WorkerContent-Length: 32 155*6236dae4SAndroid Build Coastguard Worker 156*6236dae4SAndroid Build Coastguard WorkerFinally, this is the real page! 157*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password (2) 158*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 159*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 160*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 161*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 162*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 163*6236dae4SAndroid Build Coastguard Worker 164*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 165*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 NTLM intermediate (2) 166*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 167*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 168*6236dae4SAndroid Build Coastguard WorkerContent-Length: 33 169*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 170*6236dae4SAndroid Build Coastguard Worker 171*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password (3) 172*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 173*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 174*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 175*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 176*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 177*6236dae4SAndroid Build Coastguard Worker 178*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 179*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 NTLM intermediate (3) 180*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 181*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 182*6236dae4SAndroid Build Coastguard WorkerContent-Length: 33 183*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 184*6236dae4SAndroid Build Coastguard Worker 185*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in server land (2) 186*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 187*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 188*6236dae4SAndroid Build Coastguard WorkerContent-Length: 32 189*6236dae4SAndroid Build Coastguard Worker 190*6236dae4SAndroid Build Coastguard WorkerFinally, this is the real page! 191*6236dae4SAndroid Build Coastguard Worker</datacheck> 192*6236dae4SAndroid Build Coastguard Worker 193*6236dae4SAndroid Build Coastguard Worker</reply> 194*6236dae4SAndroid Build Coastguard Worker 195*6236dae4SAndroid Build Coastguard Worker# Client-side 196*6236dae4SAndroid Build Coastguard Worker<client> 197*6236dae4SAndroid Build Coastguard Worker<features> 198*6236dae4SAndroid Build Coastguard WorkerNTLM 199*6236dae4SAndroid Build Coastguard WorkerSSL 200*6236dae4SAndroid Build Coastguard Worker!SSPI 201*6236dae4SAndroid Build Coastguard Worker</features> 202*6236dae4SAndroid Build Coastguard Worker<server> 203*6236dae4SAndroid Build Coastguard Workerhttp 204*6236dae4SAndroid Build Coastguard Worker</server> 205*6236dae4SAndroid Build Coastguard Worker<tool> 206*6236dae4SAndroid Build Coastguard Workerlibauthretry 207*6236dae4SAndroid Build Coastguard Worker</tool> 208*6236dae4SAndroid Build Coastguard Worker 209*6236dae4SAndroid Build Coastguard Worker<name> 210*6236dae4SAndroid Build Coastguard WorkerHTTP authorization retry (Basic switching to NTLM) 211*6236dae4SAndroid Build Coastguard Worker</name> 212*6236dae4SAndroid Build Coastguard Worker<command> 213*6236dae4SAndroid Build Coastguard Workerhttp://%HOSTIP:%HTTPPORT/%TESTNUMBER basic ntlm 214*6236dae4SAndroid Build Coastguard Worker</command> 215*6236dae4SAndroid Build Coastguard Worker</client> 216*6236dae4SAndroid Build Coastguard Worker 217*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot" 218*6236dae4SAndroid Build Coastguard Worker<verify> 219*6236dae4SAndroid Build Coastguard Worker<protocol> 220*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0100 HTTP/1.1 221*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 222*6236dae4SAndroid Build Coastguard WorkerAuthorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz 223*6236dae4SAndroid Build Coastguard WorkerAccept: */* 224*6236dae4SAndroid Build Coastguard Worker 225*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0200 HTTP/1.1 226*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 227*6236dae4SAndroid Build Coastguard WorkerAuthorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 228*6236dae4SAndroid Build Coastguard WorkerAccept: */* 229*6236dae4SAndroid Build Coastguard Worker 230*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0200 HTTP/1.1 231*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 232*6236dae4SAndroid Build Coastguard WorkerAuthorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoABAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyV09SS1NUQVRJT04= 233*6236dae4SAndroid Build Coastguard WorkerAccept: */* 234*6236dae4SAndroid Build Coastguard Worker 235*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0300 HTTP/1.1 236*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 237*6236dae4SAndroid Build Coastguard WorkerAuthorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz 238*6236dae4SAndroid Build Coastguard WorkerAccept: */* 239*6236dae4SAndroid Build Coastguard Worker 240*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0400 HTTP/1.1 241*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 242*6236dae4SAndroid Build Coastguard WorkerAuthorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 243*6236dae4SAndroid Build Coastguard WorkerAccept: */* 244*6236dae4SAndroid Build Coastguard Worker 245*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0400 HTTP/1.1 246*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 247*6236dae4SAndroid Build Coastguard WorkerAuthorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoABANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyV09SS1NUQVRJT04= 248*6236dae4SAndroid Build Coastguard WorkerAccept: */* 249*6236dae4SAndroid Build Coastguard Worker 250*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0500 HTTP/1.1 251*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 252*6236dae4SAndroid Build Coastguard WorkerAuthorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 253*6236dae4SAndroid Build Coastguard WorkerAccept: */* 254*6236dae4SAndroid Build Coastguard Worker 255*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0500 HTTP/1.1 256*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 257*6236dae4SAndroid Build Coastguard WorkerAuthorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoABAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyV09SS1NUQVRJT04= 258*6236dae4SAndroid Build Coastguard WorkerAccept: */* 259*6236dae4SAndroid Build Coastguard Worker 260*6236dae4SAndroid Build Coastguard Worker</protocol> 261*6236dae4SAndroid Build Coastguard Worker</verify> 262*6236dae4SAndroid Build Coastguard Worker</testcase> 263