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 CONNECT 7*6236dae4SAndroid Build Coastguard WorkerHTTP proxy 8*6236dae4SAndroid Build Coastguard WorkerHTTP proxy NTLM auth 9*6236dae4SAndroid Build Coastguard Workerchunked Transfer-Encoding 10*6236dae4SAndroid Build Coastguard WorkerNTLM 11*6236dae4SAndroid Build Coastguard Worker</keywords> 12*6236dae4SAndroid Build Coastguard Worker</info> 13*6236dae4SAndroid Build Coastguard Worker 14*6236dae4SAndroid Build Coastguard Worker# Server-side 15*6236dae4SAndroid Build Coastguard Worker<reply> 16*6236dae4SAndroid Build Coastguard Worker<servercmd> 17*6236dae4SAndroid Build Coastguard Workerconnection-monitor 18*6236dae4SAndroid Build Coastguard Worker</servercmd> 19*6236dae4SAndroid Build Coastguard Worker 20*6236dae4SAndroid Build Coastguard Worker# this is returned first since we get no proxy-auth 21*6236dae4SAndroid Build Coastguard Worker<connect1001> 22*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 407 Authorization Required to proxy me my dear 23*6236dae4SAndroid Build Coastguard WorkerProxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 24*6236dae4SAndroid Build Coastguard WorkerTransfer-Encoding: chunked 25*6236dae4SAndroid Build Coastguard Worker 26*6236dae4SAndroid Build Coastguard Worker20 27*6236dae4SAndroid Build Coastguard WorkerAnd you should ignore this data. 28*6236dae4SAndroid Build Coastguard WorkerFA0 29*6236dae4SAndroid Build Coastguard WorkerXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 30*6236dae4SAndroid Build Coastguard Worker0 31*6236dae4SAndroid Build Coastguard Worker 32*6236dae4SAndroid Build Coastguard Worker</connect1001> 33*6236dae4SAndroid Build Coastguard Worker 34*6236dae4SAndroid Build Coastguard Worker# This is supposed to be returned when the server gets the second 35*6236dae4SAndroid Build Coastguard Worker# Authorization: NTLM line passed-in from the client 36*6236dae4SAndroid Build Coastguard Worker<connect1002> 37*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in proxy land 38*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 39*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 40*6236dae4SAndroid Build Coastguard Worker 41*6236dae4SAndroid Build Coastguard Worker</connect1002> 42*6236dae4SAndroid Build Coastguard Worker 43*6236dae4SAndroid Build Coastguard Worker# this is returned when we get a GET! 44*6236dae4SAndroid Build Coastguard Worker<data2> 45*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK 46*6236dae4SAndroid Build Coastguard WorkerDate: Tue, 09 Nov 2010 14:49:00 GMT 47*6236dae4SAndroid Build Coastguard WorkerContent-Length: 7 48*6236dae4SAndroid Build Coastguard WorkerConnection: close 49*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html 50*6236dae4SAndroid Build Coastguard WorkerFunny-head: yesyes 51*6236dae4SAndroid Build Coastguard Worker 52*6236dae4SAndroid Build Coastguard Workerdaniel 53*6236dae4SAndroid Build Coastguard Worker</data2> 54*6236dae4SAndroid Build Coastguard Worker 55*6236dae4SAndroid Build Coastguard Worker# then this is returned when we get proxy-auth 56*6236dae4SAndroid Build Coastguard Worker<data1000> 57*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK swsbounce 58*6236dae4SAndroid Build Coastguard WorkerServer: no 59*6236dae4SAndroid Build Coastguard Worker 60*6236dae4SAndroid Build Coastguard WorkerNice proxy auth sir! 61*6236dae4SAndroid Build Coastguard Worker</data1000> 62*6236dae4SAndroid Build Coastguard Worker 63*6236dae4SAndroid Build Coastguard Worker<datacheck> 64*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 407 Authorization Required to proxy me my dear 65*6236dae4SAndroid Build Coastguard WorkerProxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== 66*6236dae4SAndroid Build Coastguard WorkerTransfer-Encoding: chunked 67*6236dae4SAndroid Build Coastguard Worker 68*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 Things are fine in proxy land 69*6236dae4SAndroid Build Coastguard WorkerServer: Microsoft-IIS/5.0 70*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html; charset=iso-8859-1 71*6236dae4SAndroid Build Coastguard Worker 72*6236dae4SAndroid Build Coastguard WorkerHTTP/1.1 200 OK 73*6236dae4SAndroid Build Coastguard WorkerDate: Tue, 09 Nov 2010 14:49:00 GMT 74*6236dae4SAndroid Build Coastguard WorkerContent-Length: 7 75*6236dae4SAndroid Build Coastguard WorkerConnection: close 76*6236dae4SAndroid Build Coastguard WorkerContent-Type: text/html 77*6236dae4SAndroid Build Coastguard WorkerFunny-head: yesyes 78*6236dae4SAndroid Build Coastguard Worker 79*6236dae4SAndroid Build Coastguard Workerdaniel 80*6236dae4SAndroid Build Coastguard Worker</datacheck> 81*6236dae4SAndroid Build Coastguard Worker</reply> 82*6236dae4SAndroid Build Coastguard Worker 83*6236dae4SAndroid Build Coastguard Worker# Client-side 84*6236dae4SAndroid Build Coastguard Worker<client> 85*6236dae4SAndroid Build Coastguard Worker<server> 86*6236dae4SAndroid Build Coastguard Workerhttp 87*6236dae4SAndroid Build Coastguard Worker</server> 88*6236dae4SAndroid Build Coastguard Worker<features> 89*6236dae4SAndroid Build Coastguard WorkerNTLM 90*6236dae4SAndroid Build Coastguard WorkerSSL 91*6236dae4SAndroid Build Coastguard Worker!SSPI 92*6236dae4SAndroid Build Coastguard Workerproxy 93*6236dae4SAndroid Build Coastguard Worker</features> 94*6236dae4SAndroid Build Coastguard Worker<name> 95*6236dae4SAndroid Build Coastguard WorkerHTTP proxy CONNECT auth NTLM with chunked-encoded 407 response 96*6236dae4SAndroid Build Coastguard Worker</name> 97*6236dae4SAndroid Build Coastguard Worker<command> 98*6236dae4SAndroid Build Coastguard Workerhttp://test.remote.example.com.%TESTNUMBER:%HTTPPORT/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user testuser:testpass --proxy-ntlm --proxytunnel 99*6236dae4SAndroid Build Coastguard Worker</command> 100*6236dae4SAndroid Build Coastguard Worker</client> 101*6236dae4SAndroid Build Coastguard Worker 102*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot" 103*6236dae4SAndroid Build Coastguard Worker<verify> 104*6236dae4SAndroid Build Coastguard Worker<protocol> 105*6236dae4SAndroid Build Coastguard WorkerCONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1 106*6236dae4SAndroid Build Coastguard WorkerHost: test.remote.example.com.%TESTNUMBER:%HTTPPORT 107*6236dae4SAndroid Build Coastguard WorkerProxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= 108*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION 109*6236dae4SAndroid Build Coastguard WorkerProxy-Connection: Keep-Alive 110*6236dae4SAndroid Build Coastguard Worker 111*6236dae4SAndroid Build Coastguard WorkerCONNECT test.remote.example.com.%TESTNUMBER:%HTTPPORT HTTP/1.1 112*6236dae4SAndroid Build Coastguard WorkerHost: test.remote.example.com.%TESTNUMBER:%HTTPPORT 113*6236dae4SAndroid Build Coastguard WorkerProxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 114*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION 115*6236dae4SAndroid Build Coastguard WorkerProxy-Connection: Keep-Alive 116*6236dae4SAndroid Build Coastguard Worker 117*6236dae4SAndroid Build Coastguard WorkerGET /path/%TESTNUMBER0002 HTTP/1.1 118*6236dae4SAndroid Build Coastguard WorkerHost: test.remote.example.com.%TESTNUMBER:%HTTPPORT 119*6236dae4SAndroid Build Coastguard WorkerUser-Agent: curl/%VERSION 120*6236dae4SAndroid Build Coastguard WorkerAccept: */* 121*6236dae4SAndroid Build Coastguard Worker 122*6236dae4SAndroid Build Coastguard Worker[DISCONNECT] 123*6236dae4SAndroid Build Coastguard Worker</protocol> 124*6236dae4SAndroid Build Coastguard Worker</verify> 125*6236dae4SAndroid Build Coastguard Worker</testcase> 126