| <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> |