<testcase> <info> <keywords> HTTP HTTP GET SOCKS5 SOCKS5h followlocation </keywords> </info> # # Server-side <reply> # The hostname in this redirect is 256 characters and too long (> 255) for # SOCKS5 remote resolve. curl must return error CURLE_PROXY in this case. <data> HTTP/1.1 301 Moved Permanently Location: http://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ Content-Length: 0 Connection: close </data> </reply> # # Client-side <client> <features> proxy </features> <server> http socks5 </server> <name> SOCKS5h with HTTP redirect to hostname too long </name> <command> --no-progress-meter --location --proxy socks5h://%HOSTIP:%SOCKSPORT http://%HOSTIP:%HTTPPORT/%TESTNUMBER </command> </client> # # Verify data after the test has been "shot" <verify> <protocol crlf="yes"> GET /%TESTNUMBER HTTP/1.1 Host: %HOSTIP:%HTTPPORT User-Agent: curl/%VERSION Accept: */* </protocol> <errorcode> 97 </errorcode> # the error message is verified because error code CURLE_PROXY (97) may be # returned for any number of reasons and we need to make sure it is # specifically for the reason below so that we know the check is working. <stderr mode="text"> curl: (97) SOCKS5: the destination hostname is too long to be resolved remotely by the proxy. </stderr> </verify> </testcase>