From 45cf4755e71f920f1148e1309261bc50d576dd1a Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 6 Dec 2023 14:13:17 +0100 Subject: [PATCH] url: for disabled protocols, mention if found in redirect To help users better understand where the URL (and denied scheme) comes from. Also removed "in libcurl" from the message, since the disabling can be done by the application. The error message now says "not supported" or "disabled" depending on why it was denied: Protocol "hej" not supported Protocol "http" disabled And in redirects: Protocol "hej" not supported (in redirect) Protocol "http" disabled (in redirect) Reported-by: Mauricio Scheffer Fixes #12465 Closes #12469 --- lib/url.c | 5 +++-- tests/data/test1268 | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/url.c b/lib/url.c index b81785fe2e..7a270e51ed 100644 --- a/lib/url.c +++ b/lib/url.c @@ -1680,8 +1680,9 @@ static CURLcode findprotocol(struct Curl_easy *data, /* The protocol was not found in the table, but we don't have to assign it to anything since it is already assigned to a dummy-struct in the create_conn() function when the connectdata struct is allocated. */ - failf(data, "Protocol \"%s\" not supported or disabled in " LIBCURL_NAME, - protostr); + failf(data, "Protocol \"%s\" %s%s", protostr, + p ? "disabled" : "not supported", + data->state.this_is_a_follow ? " (in redirect)":""); return CURLE_UNSUPPORTED_PROTOCOL; } diff --git a/tests/data/test1268 b/tests/data/test1268 index 806592fb89..05fe9d8e7f 100644 --- a/tests/data/test1268 +++ b/tests/data/test1268 @@ -30,7 +30,7 @@ file name argument looks like a flag Warning: The file name argument '-k' looks like a flag. -curl: (1) Protocol "hej" not supported or disabled in libcurl +curl: (1) Protocol "hej" not supported # we expect an error since we provide a weird URL