113498266Sopenharmony_ci<testcase> 213498266Sopenharmony_ci# 313498266Sopenharmony_ci# This test is crafted to reproduce oss-fuzz bug 413498266Sopenharmony_ci# https://crbug.com/oss-fuzz/17954 513498266Sopenharmony_ci# 613498266Sopenharmony_ci<info> 713498266Sopenharmony_ci<keywords> 813498266Sopenharmony_ciHTTP 913498266Sopenharmony_ciHTTP GET 1013498266Sopenharmony_ciHTTP proxy 1113498266Sopenharmony_cifollowlocation 1213498266Sopenharmony_ci</keywords> 1313498266Sopenharmony_ci</info> 1413498266Sopenharmony_ci# 1513498266Sopenharmony_ci# Server-side 1613498266Sopenharmony_ci<reply> 1713498266Sopenharmony_ci<data> 1813498266Sopenharmony_ciHTTP/1.1 302 OK 1913498266Sopenharmony_ciLocation: http://example.net/there/it/is/../../tes t case=/%TESTNUMBER0002? yes no 2013498266Sopenharmony_ciDate: Tue, 09 Nov 2010 14:49:00 GMT 2113498266Sopenharmony_ciContent-Length: 0 2213498266Sopenharmony_ci 2313498266Sopenharmony_ci</data> 2413498266Sopenharmony_ci<data2> 2513498266Sopenharmony_ciHTTP/1.1 200 OK 2613498266Sopenharmony_ciLocation: this should be ignored 2713498266Sopenharmony_ciDate: Tue, 09 Nov 2010 14:49:00 GMT 2813498266Sopenharmony_ciContent-Length: 5 2913498266Sopenharmony_ci 3013498266Sopenharmony_cibody 3113498266Sopenharmony_ci</data2> 3213498266Sopenharmony_ci<datacheck> 3313498266Sopenharmony_ciHTTP/1.1 302 OK 3413498266Sopenharmony_ciLocation: http://example.net/there/it/is/../../tes t case=/%TESTNUMBER0002? yes no 3513498266Sopenharmony_ciDate: Tue, 09 Nov 2010 14:49:00 GMT 3613498266Sopenharmony_ciContent-Length: 0 3713498266Sopenharmony_ci 3813498266Sopenharmony_ciHTTP/1.1 200 OK 3913498266Sopenharmony_ciLocation: this should be ignored 4013498266Sopenharmony_ciDate: Tue, 09 Nov 2010 14:49:00 GMT 4113498266Sopenharmony_ciContent-Length: 5 4213498266Sopenharmony_ci 4313498266Sopenharmony_cibody 4413498266Sopenharmony_ci</datacheck> 4513498266Sopenharmony_ci</reply> 4613498266Sopenharmony_ci 4713498266Sopenharmony_ci# 4813498266Sopenharmony_ci# Client-side 4913498266Sopenharmony_ci<client> 5013498266Sopenharmony_ci<server> 5113498266Sopenharmony_cihttp 5213498266Sopenharmony_ci</server> 5313498266Sopenharmony_ci<name> 5413498266Sopenharmony_ciHTTP redirect with dotdots and whitespaces in absolute Location: URL 5513498266Sopenharmony_ci</name> 5613498266Sopenharmony_ci<command> 5713498266Sopenharmony_cihttp://example.com/please/../gimme/%TESTNUMBER?foobar#hello -L -x http://%HOSTIP:%HTTPPORT 5813498266Sopenharmony_ci</command> 5913498266Sopenharmony_ci<features> 6013498266Sopenharmony_ciproxy 6113498266Sopenharmony_ci</features> 6213498266Sopenharmony_ci</client> 6313498266Sopenharmony_ci 6413498266Sopenharmony_ci# 6513498266Sopenharmony_ci# Verify data after the test has been "shot" 6613498266Sopenharmony_ci<verify> 6713498266Sopenharmony_ci<protocol> 6813498266Sopenharmony_ciGET http://example.com/gimme/%TESTNUMBER?foobar HTTP/1.1 6913498266Sopenharmony_ciHost: example.com 7013498266Sopenharmony_ciUser-Agent: curl/%VERSION 7113498266Sopenharmony_ciAccept: */* 7213498266Sopenharmony_ciProxy-Connection: Keep-Alive 7313498266Sopenharmony_ci 7413498266Sopenharmony_ciGET http://example.net/there/tes%20t%20case=/%TESTNUMBER0002?+yes+no HTTP/1.1 7513498266Sopenharmony_ciHost: example.net 7613498266Sopenharmony_ciUser-Agent: curl/%VERSION 7713498266Sopenharmony_ciAccept: */* 7813498266Sopenharmony_ciProxy-Connection: Keep-Alive 7913498266Sopenharmony_ci 8013498266Sopenharmony_ci</protocol> 8113498266Sopenharmony_ci</verify> 8213498266Sopenharmony_ci</testcase> 83