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 NTLM auth, wrong password --> 18*6236dae4SAndroid Build Coastguard Worker<data100> 19*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Need Basic or NTLM auth 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: 27 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 not the real page! 27*6236dae4SAndroid Build Coastguard Worker</data100> 28*6236dae4SAndroid Build Coastguard Worker 29*6236dae4SAndroid Build Coastguard Worker<data1101> 30*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 NTLM intermediate 31*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 32*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 33*6236dae4SAndroid Build Coastguard WorkerContent-Length: 33 34*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 35*6236dae4SAndroid Build Coastguard Worker 36*6236dae4SAndroid Build Coastguard WorkerThis is still not the real page! 37*6236dae4SAndroid Build Coastguard Worker</data1101> 38*6236dae4SAndroid Build Coastguard Worker 39*6236dae4SAndroid Build Coastguard Worker<data1102> 40*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password 41*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 42*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 43*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 44*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 45*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 46*6236dae4SAndroid Build Coastguard Worker 47*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 48*6236dae4SAndroid Build Coastguard Worker</data1102> 49*6236dae4SAndroid Build Coastguard Worker 50*6236dae4SAndroid Build Coastguard Worker<!-- Second request has Basic auth, right password --> 51*6236dae4SAndroid Build Coastguard Worker<data200> 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</data200> 59*6236dae4SAndroid Build Coastguard Worker 60*6236dae4SAndroid Build Coastguard Worker<!-- Third request has NTLM auth, wrong password --> 61*6236dae4SAndroid Build Coastguard Worker<data300> 62*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Need Basic or NTLM auth (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: 27 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 not the real page! 70*6236dae4SAndroid Build Coastguard Worker</data300> 71*6236dae4SAndroid Build Coastguard Worker 72*6236dae4SAndroid Build Coastguard Worker<data1301> 73*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 NTLM intermediate (2) 74*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 75*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 76*6236dae4SAndroid Build Coastguard WorkerContent-Length: 33 77*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 78*6236dae4SAndroid Build Coastguard Worker 79*6236dae4SAndroid Build Coastguard WorkerThis is still not the real page! 80*6236dae4SAndroid Build Coastguard Worker</data1301> 81*6236dae4SAndroid Build Coastguard Worker 82*6236dae4SAndroid Build Coastguard Worker<data1302> 83*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password (2) 84*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 85*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 86*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 87*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 88*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 89*6236dae4SAndroid Build Coastguard Worker 90*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 91*6236dae4SAndroid Build Coastguard Worker</data1302> 92*6236dae4SAndroid Build Coastguard Worker 93*6236dae4SAndroid Build Coastguard Worker<!-- Fourth request has Basic auth, wrong password --> 94*6236dae4SAndroid Build Coastguard Worker<data400> 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</data400> 104*6236dae4SAndroid Build Coastguard Worker 105*6236dae4SAndroid Build Coastguard Worker<!-- Fifth request has Basic auth, right password --> 106*6236dae4SAndroid Build Coastguard Worker<data500> 107*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in server land (2) 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: 32 111*6236dae4SAndroid Build Coastguard Worker 112*6236dae4SAndroid Build Coastguard WorkerFinally, this is the real page! 113*6236dae4SAndroid Build Coastguard Worker</data500> 114*6236dae4SAndroid Build Coastguard Worker 115*6236dae4SAndroid Build Coastguard Worker<datacheck> 116*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 NTLM intermediate 117*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 118*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 119*6236dae4SAndroid Build Coastguard WorkerContent-Length: 33 120*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 121*6236dae4SAndroid Build Coastguard Worker 122*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password 123*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 124*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 125*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 126*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 127*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 128*6236dae4SAndroid Build Coastguard Worker 129*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 130*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in server land 131*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 132*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 133*6236dae4SAndroid Build Coastguard WorkerContent-Length: 32 134*6236dae4SAndroid Build Coastguard Worker 135*6236dae4SAndroid Build Coastguard WorkerFinally, this is the real page! 136*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 NTLM intermediate (2) 137*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 138*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 139*6236dae4SAndroid Build Coastguard WorkerContent-Length: 33 140*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg= 141*6236dae4SAndroid Build Coastguard Worker 142*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password (2) 143*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 144*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 145*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 146*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 147*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 148*6236dae4SAndroid Build Coastguard Worker 149*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 150*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 401 Sorry wrong password (3) 151*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 152*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 153*6236dae4SAndroid Build Coastguard WorkerContent-Length: 29 154*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: NTLM 155*6236dae4SAndroid Build Coastguard WorkerWWW-Authenticate: Basic realm="testrealm" 156*6236dae4SAndroid Build Coastguard Worker 157*6236dae4SAndroid Build Coastguard WorkerThis is a bad password page! 158*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in server land (2) 159*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 160*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 161*6236dae4SAndroid Build Coastguard WorkerContent-Length: 32 162*6236dae4SAndroid Build Coastguard Worker 163*6236dae4SAndroid Build Coastguard WorkerFinally, this is the real page! 164*6236dae4SAndroid Build Coastguard Worker</datacheck> 165*6236dae4SAndroid Build Coastguard Worker 166*6236dae4SAndroid Build Coastguard Worker</reply> 167*6236dae4SAndroid Build Coastguard Worker 168*6236dae4SAndroid Build Coastguard Worker# Client-side 169*6236dae4SAndroid Build Coastguard Worker<client> 170*6236dae4SAndroid Build Coastguard Worker<features> 171*6236dae4SAndroid Build Coastguard WorkerNTLM 172*6236dae4SAndroid Build Coastguard WorkerSSL 173*6236dae4SAndroid Build Coastguard Worker!SSPI 174*6236dae4SAndroid Build Coastguard Worker</features> 175*6236dae4SAndroid Build Coastguard Worker<server> 176*6236dae4SAndroid Build Coastguard Workerhttp 177*6236dae4SAndroid Build Coastguard Worker</server> 178*6236dae4SAndroid Build Coastguard Worker<tool> 179*6236dae4SAndroid Build Coastguard Workerlibauthretry 180*6236dae4SAndroid Build Coastguard Worker</tool> 181*6236dae4SAndroid Build Coastguard Worker 182*6236dae4SAndroid Build Coastguard Worker<name> 183*6236dae4SAndroid Build Coastguard WorkerHTTP authorization retry (NTLM switching to Basic) 184*6236dae4SAndroid Build Coastguard Worker</name> 185*6236dae4SAndroid Build Coastguard Worker<command> 186*6236dae4SAndroid Build Coastguard Workerhttp://%HOSTIP:%HTTPPORT/%TESTNUMBER ntlm basic 187*6236dae4SAndroid Build Coastguard Worker</command> 188*6236dae4SAndroid Build Coastguard Worker</client> 189*6236dae4SAndroid Build Coastguard Worker 190*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot" 191*6236dae4SAndroid Build Coastguard Worker<verify> 192*6236dae4SAndroid Build Coastguard Worker<protocol> 193*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0100 HTTP/1.1 194*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 195*6236dae4SAndroid Build Coastguard WorkerAuthorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 196*6236dae4SAndroid Build Coastguard WorkerAccept: */* 197*6236dae4SAndroid Build Coastguard Worker 198*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0100 HTTP/1.1 199*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 200*6236dae4SAndroid Build Coastguard WorkerAuthorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoABANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyV09SS1NUQVRJT04= 201*6236dae4SAndroid Build Coastguard WorkerAccept: */* 202*6236dae4SAndroid Build Coastguard Worker 203*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0200 HTTP/1.1 204*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 205*6236dae4SAndroid Build Coastguard WorkerAuthorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= 206*6236dae4SAndroid Build Coastguard WorkerAccept: */* 207*6236dae4SAndroid Build Coastguard Worker 208*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0300 HTTP/1.1 209*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 210*6236dae4SAndroid Build Coastguard WorkerAuthorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 211*6236dae4SAndroid Build Coastguard WorkerAccept: */* 212*6236dae4SAndroid Build Coastguard Worker 213*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0300 HTTP/1.1 214*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 215*6236dae4SAndroid Build Coastguard WorkerAuthorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoABANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyV09SS1NUQVRJT04= 216*6236dae4SAndroid Build Coastguard WorkerAccept: */* 217*6236dae4SAndroid Build Coastguard Worker 218*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0400 HTTP/1.1 219*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 220*6236dae4SAndroid Build Coastguard WorkerAuthorization: Basic dGVzdHVzZXI6d3JvbmdwYXNz 221*6236dae4SAndroid Build Coastguard WorkerAccept: */* 222*6236dae4SAndroid Build Coastguard Worker 223*6236dae4SAndroid Build Coastguard WorkerGET /%TESTNUMBER0500 HTTP/1.1 224*6236dae4SAndroid Build Coastguard WorkerHost: %HOSTIP:%HTTPPORT 225*6236dae4SAndroid Build Coastguard WorkerAuthorization: Basic dGVzdHVzZXI6dGVzdHBhc3M= 226*6236dae4SAndroid Build Coastguard WorkerAccept: */* 227*6236dae4SAndroid Build Coastguard Worker 228*6236dae4SAndroid Build Coastguard Worker</protocol> 229*6236dae4SAndroid Build Coastguard Worker</verify> 230*6236dae4SAndroid Build Coastguard Worker</testcase> 231