From 2c5ec339ea67f43ac370ae77636a0f915cc5fbeb Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 1 Nov 2018 23:45:57 +0100 Subject: Curl_follow: accept non-supported schemes for "fake" redirects When not actually following the redirect and the target URL is only stored for later retrieval, curl always accepted "non-supported" schemes. This was a regression from 46e164069d1a5230. Reported-by: Brad King Fixes #3210 Closes #3215 --- lib/transfer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/transfer.c') diff --git a/lib/transfer.c b/lib/transfer.c index b73f94d9e..05ba862c2 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -1514,7 +1514,8 @@ CURLcode Curl_follow(struct Curl_easy *data, disallowport = TRUE; DEBUGASSERT(data->state.uh); - uc = curl_url_set(data->state.uh, CURLUPART_URL, newurl, 0); + uc = curl_url_set(data->state.uh, CURLUPART_URL, newurl, + (type == FOLLOW_FAKE) ? CURLU_NON_SUPPORT_SCHEME : 0); if(uc) return Curl_uc_to_curlcode(uc); -- cgit v1.2.3