From d8cae791f47c90f1f1c2b4d052c3e64a3919d92d Mon Sep 17 00:00:00 2001 From: Claes Jakobsson Date: Thu, 27 Dec 2018 14:23:13 +0100 Subject: hostip: support wildcard hosts This adds support for wildcard hosts in CURLOPT_RESOLVE. These are try-last so any non-wildcard entry is resolved first. If specified, any host not matched by another CURLOPT_RESOLVE config will use this as fallback. Example send a.com to 10.0.0.1 and everything else to 10.0.0.2: curl --resolve *:443:10.0.0.2 --resolve a.com:443:10.0.0.1 \ https://a.com https://b.com This is probably quite similar to using: --connect-to a.com:443:10.0.0.1:443 --connect-to :443:10.0.0.2:443 Closes #3406 Reviewed-by: Daniel Stenberg --- tests/data/Makefile.inc | 2 +- tests/data/test1458 | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 tests/data/test1458 (limited to 'tests/data') diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc index 9c31d907e..59635be04 100644 --- a/tests/data/Makefile.inc +++ b/tests/data/Makefile.inc @@ -167,7 +167,7 @@ test1424 test1425 test1426 test1427 \ test1428 test1429 test1430 test1431 test1432 test1433 test1434 test1435 \ test1436 test1437 test1438 test1439 test1440 test1441 test1442 test1443 \ test1444 test1445 test1446 test1447 test1448 test1449 test1450 test1451 \ -test1452 test1453 test1454 test1455 test1456 test1457 \ +test1452 test1453 test1454 test1455 test1456 test1457 test1458\ test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 \ test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \ test1516 test1517 test1518 test1519 test1520 test1521 test1522 \ diff --git a/tests/data/test1458 b/tests/data/test1458 new file mode 100644 index 000000000..072e43ce9 --- /dev/null +++ b/tests/data/test1458 @@ -0,0 +1,56 @@ + + + +HTTP +HTTP GET +--resolve + + + +# +# Server-side + + +HTTP/1.1 200 OK +Date: Thu, 09 Nov 2010 14:49:00 GMT +Server: test-server/fake +Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT +ETag: "21025-dc7-39462498" +Accept-Ranges: bytes +Content-Length: 6 +Connection: close +Content-Type: text/html +Funny-head: yesyes + +-foo- + + + +# +# Client-side + + +http + + +HTTP with wildcard --resolve + + +--resolve *:%HTTPPORT:%HOSTIP http://example.com:%HTTPPORT/1458 + + + +# +# Verify data after the test has been "shot" + + +^User-Agent:.* + + +GET /1458 HTTP/1.1 +Host: example.com:%HTTPPORT +Accept: */* + + + + -- cgit v1.2.3