mirror of
https://github.com/curl/curl.git
synced 2026-08-25 16:03:40 +03:00
CURLOPT_CONNECT_TO: Skip non-matching "connect-to" entries properly
If a port number in a "connect-to" entry does not match, skip this entry instead of connecting to port 0. If a port number in a "connect-to" entry matches, use this entry and look no further. Reported-by: Jay Satiro Assisted-by: Jay Satiro, Daniel Stenberg Closes #1148
This commit is contained in:
parent
12d6794b10
commit
b34ea05d9d
4 changed files with 128 additions and 4 deletions
|
|
@ -175,4 +175,4 @@ test2016 test2017 test2018 test2019 test2020 test2021 test2022 test2023 \
|
|||
test2024 test2025 test2026 test2027 test2028 test2029 test2030 test2031 \
|
||||
test2032 test2033 test2034 test2035 test2036 test2037 test2038 test2039 \
|
||||
test2040 test2041 test2042 test2043 test2044 test2045 test2046 test2047 \
|
||||
test2048 test2049 test2050 test2051 test2052
|
||||
test2048 test2049 test2050 test2051 test2052 test2053 test2054
|
||||
|
|
|
|||
56
tests/data/test2053
Normal file
56
tests/data/test2053
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
<testcase>
|
||||
<info>
|
||||
<keywords>
|
||||
HTTP
|
||||
HTTP GET
|
||||
CURLOPT_CONNECT_TO
|
||||
</keywords>
|
||||
</info>
|
||||
|
||||
#
|
||||
# Server-side
|
||||
<reply>
|
||||
<data>
|
||||
HTTP/1.1 200 OK
|
||||
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
||||
Content-Length: 3
|
||||
Content-Type: text/plain
|
||||
|
||||
OK
|
||||
</data>
|
||||
</reply>
|
||||
|
||||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
<name>
|
||||
Connect to specific host with IP addresses
|
||||
</name>
|
||||
|
||||
<command>
|
||||
http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:%HOSTIP:%HTTPPORT --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:%HOSTIP:%HTTPPORT
|
||||
</command>
|
||||
</client>
|
||||
|
||||
#
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<strip>
|
||||
^User-Agent:.*
|
||||
</strip>
|
||||
<protocol>
|
||||
GET /2053 HTTP/1.1
|
||||
Host: 10.0.0.1:8081
|
||||
Accept: */*
|
||||
|
||||
GET /2053 HTTP/1.1
|
||||
Host: [fc00::1]:8082
|
||||
Accept: */*
|
||||
|
||||
</protocol>
|
||||
|
||||
</verify>
|
||||
</testcase>
|
||||
64
tests/data/test2054
Normal file
64
tests/data/test2054
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<testcase>
|
||||
<info>
|
||||
<keywords>
|
||||
HTTP
|
||||
HTTP GET
|
||||
CURLOPT_CONNECT_TO
|
||||
</keywords>
|
||||
</info>
|
||||
|
||||
#
|
||||
# Server-side
|
||||
<reply>
|
||||
<data>
|
||||
HTTP/1.1 200 OK
|
||||
Date: Thu, 09 Nov 2010 14:49:00 GMT
|
||||
Content-Length: 3
|
||||
Content-Type: text/plain
|
||||
|
||||
OK
|
||||
</data>
|
||||
</reply>
|
||||
|
||||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
<name>
|
||||
Connect to specific host: use the first "connect-to" string that matches
|
||||
</name>
|
||||
|
||||
<command>
|
||||
http://%HOSTIP:%HTTPPORT/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:%HTTPPORT/2054 --connect-to www.example.com::%HOSTIP: --connect-to www.example.com::foo: --next http://%HOSTIP:8083/2054 --connect-to :8083::%HTTPPORT --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:%HOSTIP:%HTTPPORT --connect-to www.example.com:8084:foo:123
|
||||
</command>
|
||||
</client>
|
||||
|
||||
#
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<strip>
|
||||
^User-Agent:.*
|
||||
</strip>
|
||||
<protocol>
|
||||
GET /2054 HTTP/1.1
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
Accept: */*
|
||||
|
||||
GET /2054 HTTP/1.1
|
||||
Host: www.example.com:%HTTPPORT
|
||||
Accept: */*
|
||||
|
||||
GET /2054 HTTP/1.1
|
||||
Host: %HOSTIP:8083
|
||||
Accept: */*
|
||||
|
||||
GET /2054 HTTP/1.1
|
||||
Host: www.example.com:8084
|
||||
Accept: */*
|
||||
|
||||
</protocol>
|
||||
|
||||
</verify>
|
||||
</testcase>
|
||||
Loading…
Add table
Add a link
Reference in a new issue