]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
url: for disabled protocols, mention if found in redirect
authorDaniel Stenberg <daniel@haxx.se>
Wed, 6 Dec 2023 13:13:17 +0000 (14:13 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 6 Dec 2023 22:05:21 +0000 (23:05 +0100)
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
tests/data/test1268

index b81785fe2ec234edf517c7a67efb295b52892a6e..7a270e51ed8319112de350778f49ffeb0c4ba4d0 100644 (file)
--- 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;
 }
index 806592fb8955170531f7ddcab2828a3753395a17..05fe9d8e7fe96b06c463ca8cfaf08820e79a1967 100644 (file)
@@ -30,7 +30,7 @@ file name argument looks like a flag
 <verify>
 <file name="%LOGDIR/moo%TESTNUMBER" mode="text">
 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
 </file>
 
 # we expect an error since we provide a weird URL