Commit 0dc4d8e4 authored by Jay Satiro's avatar Jay Satiro Committed by Daniel Stenberg
Browse files

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
parent 9dbcab3a
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ HTTP GET with -J, Content-Disposition and ; in filename
CURL_TESTDIR=%PWD/log
</setenv>
<command option="no-output,no-include">
http://%HOSTIP:%HTTPPORT/1312 -J -O
%HOSTIP:%HTTPPORT/1312 -J -O
</command>
</client>