From 9df8dc101ba03807a3257ba0922fe4dd03c81ed3 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sun, 4 Nov 2018 23:30:48 +0100 Subject: url: a short host name + port is not a scheme The function identifying a leading "scheme" part of the URL considered a few letters ending with a colon to be a scheme, making something like "short:80" to become an unknown scheme instead of a short host name and a port number. Extended test 1560 to verify. Also fixed test203 to use file_pwd to make it get the correct path on windows. Removed test 2070 since it was a duplicate of 203. Assisted-by: Marcel Raad Reported-by: Hagai Auro Fixes #3220 Fixes #3233 Closes #3223 Closes #3235 --- tests/libtest/lib1560.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'tests/libtest') diff --git a/tests/libtest/lib1560.c b/tests/libtest/lib1560.c index 57469a906..5aa6f4bbc 100644 --- a/tests/libtest/lib1560.c +++ b/tests/libtest/lib1560.c @@ -128,6 +128,20 @@ struct querycase { }; static struct testcase get_parts_list[] ={ +#ifdef WIN32 + {"file:/C:\\programs\\foo", + "file | [11] | [12] | [13] | [14] | [15] | C:\\programs\\foo | [16] | [17]", + CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, + {"file://C:\\programs\\foo", + "file | [11] | [12] | [13] | [14] | [15] | C:\\programs\\foo | [16] | [17]", + CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, + {"file:///C:\\programs\\foo", + "file | [11] | [12] | [13] | [14] | [15] | C:\\programs\\foo | [16] | [17]", + CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, +#endif + {"boing:80", + "https | [11] | [12] | [13] | boing | 80 | / | [16] | [17]", + CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, {"http://[fd00:a41::50]:8080", "http | [11] | [12] | [13] | [fd00:a41::50] | 8080 | / | [16] | [17]", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, -- cgit v1.2.3