From 0dc4d8e42e44224b00a028b467749eede8f08a6e Mon Sep 17 00:00:00 2001 From: Jay Satiro Date: Fri, 29 Apr 2016 15:24:10 +0200 Subject: curl -J: make it work even without http:// scheme on URL It does open up a miniscule risk that one of the other protocols that libcurl could use would send back a Content-Disposition header and then curl would act on it even if not HTTP. A future mitigation for this risk would be to allow the callback to ask libcurl which protocol is being used. Verified with test 1312 Closes #760 --- src/tool_operate.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/tool_operate.c') diff --git a/src/tool_operate.c b/src/tool_operate.c index 99996e142..ab29c00b3 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -1297,7 +1297,10 @@ static CURLcode operate_do(struct GlobalConfig *global, if(config->content_disposition && (urlnode->flags & GETOUT_USEREMOTE) && (checkprefix("http://", this_url) || - checkprefix("https://", this_url))) + checkprefix("https://", this_url) || + (!strstr(this_url, "://") && + (!config->proto_default || + checkprefix("http", config->proto_default))))) hdrcbdata.honor_cd_filename = TRUE; else hdrcbdata.honor_cd_filename = FALSE; -- cgit v1.2.3