diff options
author | Patrick Monnerat <patrick@monnerat.net> | 2021-10-25 12:58:37 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2021-11-15 10:40:03 +0100 |
commit | b20b364764cca2d577640126494fe2b09ae22e5d (patch) | |
tree | 78846a017865e51309fa64bc9bed29c8c6a63b09 /lib/easyoptions.c | |
parent | 6ec28eb68729240cd359803dd2f65cb3d5b03f42 (diff) | |
download | curl-b20b364764cca2d577640126494fe2b09ae22e5d.tar.gz |
mime: use percent-escaping for multipart form field and file names
Until now, form field and file names where escaped using the
backslash-escaping algorithm defined for multipart mails. This commit
replaces this with the percent-escaping method for URLs.
As this may introduce incompatibilities with server-side applications, a
new libcurl option CURLOPT_MIME_OPTIONS with bitmask
CURLMIMEOPT_FORMESCAPE is introduced to revert to legacy use of
backslash-escaping. This is controlled by new cli tool option
--form-escape.
New tests and documentation are provided for this feature.
Reported by: Ryan Sleevi
Fixes #7789
Closes #7805
Diffstat (limited to 'lib/easyoptions.c')
-rw-r--r-- | lib/easyoptions.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/easyoptions.c b/lib/easyoptions.c index b6131d432..04871ad1e 100644 --- a/lib/easyoptions.c +++ b/lib/easyoptions.c @@ -170,6 +170,7 @@ struct curl_easyoption Curl_easyopts[] = { {"MAX_RECV_SPEED_LARGE", CURLOPT_MAX_RECV_SPEED_LARGE, CURLOT_OFF_T, 0}, {"MAX_SEND_SPEED_LARGE", CURLOPT_MAX_SEND_SPEED_LARGE, CURLOT_OFF_T, 0}, {"MIMEPOST", CURLOPT_MIMEPOST, CURLOT_OBJECT, 0}, + {"MIME_OPTIONS", CURLOPT_MIME_OPTIONS, CURLOT_LONG, 0}, {"NETRC", CURLOPT_NETRC, CURLOT_VALUES, 0}, {"NETRC_FILE", CURLOPT_NETRC_FILE, CURLOT_STRING, 0}, {"NEW_DIRECTORY_PERMS", CURLOPT_NEW_DIRECTORY_PERMS, CURLOT_LONG, 0}, @@ -359,6 +360,6 @@ struct curl_easyoption Curl_easyopts[] = { */ int Curl_easyopts_check(void) { - return ((CURLOPT_LASTENTRY%10000) != (314 + 1)); + return ((CURLOPT_LASTENTRY%10000) != (315 + 1)); } #endif |