1064 Commits

Author SHA1 Message Date
Daniel Stenberg
808d839402 RELEASE-NOTES: synced
and bump to 7.81.0-DEV
2021-11-15 10:44:29 +01:00
Patrick Monnerat
b20b364764 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
2021-11-15 10:40:03 +01:00
Daniel Stenberg
eed7473eeb RELEASE-NOTES: synced
and bump the version to 7.80.1
2021-11-11 09:20:11 +01:00
Jeffrey Tolar
5f563495f1 CURLOPT_MAXLIFETIME_CONN: maximum allowed lifetime for conn reuse
... and close connections that are too old instead of reusing them.

By default, this behavior is disabled.

Bug: https://curl.se/mail/lib-2021-09/0058.html
Closes #7751
2021-10-06 14:38:59 +02:00
Lucas Holt
18480f71be misc: fix a few issues on MidnightBSD
Closes #7812
2021-10-05 08:35:24 +02:00
Daniel Stenberg
f870715114 typecheck-gcc.h: add CURLOPT_PREREQDATA awareness
Follow-up to a517378de5

To make test 1912 happy again

Closes #7799
2021-09-30 09:00:37 +02:00
Max Dymond
a517378de5 CURLOPT_PREREQFUNCTION: add new callback
Triggered before a request is made but after a connection is set up

Changes:

- callback: Update docs and callback for pre-request callback
- Add documentation for CURLOPT_PREREQDATA and CURLOPT_PREREQFUNCTION,
- Add redirect test and callback failure test
- Note that the function may be called multiple times on a redirection
- Disable new 2086 test due to Windows weirdness

Closes #7477
2021-09-27 17:16:43 +02:00
i-ky
3363eeb262 urlapi: add curl_url_strerror()
Add curl_url_strerror() to convert CURLUcode into readable string and
facilitate easier troubleshooting in programs using URL API.
Extend CURLUcode with CURLU_LAST for iteration in unit tests.
Update man pages with a mention of new function.
Update example code and tests with new functionality where it fits.

Closes #7605
2021-09-27 08:28:46 +02:00
Mats Lindestam
d1e7d9197b libssh2: add SHA256 fingerprint support
Added support for SHA256 fingerprint in command line curl and in
libcurl.

Closes #7646
2021-09-26 23:20:53 +02:00
Daniel Stenberg
23ca537aa4 RELEASE-NOTES: synced
Bumped curlver to 7.80.0-dev
2021-09-23 13:10:52 +02:00
Daniel Stenberg
9e4298faae RELEASE-NOTES: synced
and bump to 7.79.1
2021-09-16 10:08:09 +02:00
Daniel Stenberg
d4d53d99b1 mailing lists: move from cool.haxx.se to lists.haxx.se 2021-08-30 09:51:07 +02:00
Daniel Stenberg
fbf26594e3 RELEASE-NOTES: synced
and bump curlver to 7.79.0 for next release
2021-07-29 17:46:32 +02:00
Daniel Stenberg
3a280a19cc RELEASE-NOTES: synced
bumped to 7.78.1 for next release
2021-07-25 13:33:03 +02:00
Daniel Stenberg
9a7a60dbd1 misc: copyright year range updates 2021-07-19 09:20:58 +02:00
Josh Soref
de1004eb0f cleanup: spell DoH with a lowercase o
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Closes #7413
2021-07-16 23:53:13 +02:00
Xiang Xiao
cfaa035a0c curl.h: include sys/select.h for NuttX RTOS
Closes #7287
2021-06-22 14:35:24 +02:00
Bin Meng
2a73b6a3ab curl.h: remove the execution bit
The execution bit of curl.h file was wrongly added:

  commit 2621025d6f ("curl.h: <sys/select.h> is supported by VxWorks7")

and should be removed.

Follow-up to 2621025d6f ("curl.h: <sys/select.h> is supported by VxWorks7")
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Closes #7286
2021-06-22 12:42:57 +02:00
Bin Lan
2621025d6f curl.h: <sys/select.h> is supported by VxWorks7
Closes #7285
2021-06-22 08:23:11 +02:00
Daniel Stenberg
b67d3ba73e curl_url_set: reject spaces in URLs w/o CURLU_ALLOW_SPACE
They were never officially allowed and slipped in only due to sloppy
parsing. Spaces (ascii 32) should be correctly encoded (to %20) before
being part of a URL.

The new flag bit CURLU_ALLOW_SPACE when a full URL is set, makes libcurl
allow spaces.

Updated test 1560 to verify.

Closes #7073
2021-06-15 10:49:49 +02:00
Daniel Stenberg
8f717b6cf0 RELEASE-NOTES: synced
... and bump to version 7.78.0 for the next planned release.
2021-06-15 10:08:09 +02:00
Daniel Stenberg
6793332eba CURLE_SETOPT_OPTION_SYNTAX: new error name for wrong setopt syntax
For options that pass in lists or strings that are subsequently parsed
and must be correct. This broadens the scope for the option previously
known as CURLE_TELNET_OPTION_SYNTAX but the old name is of course still
provided as a #define for existing applications.

Closes #7175
2021-06-02 23:03:55 +02:00
Daniel Stenberg
6043edf3dc RELEASE-NOTES: synced
... and bump to 7.77.1
2021-05-26 14:47:35 +02:00
Lucas Clemente Vella
84d2839740 CURLOPT_IPRESOLVE: preventing wrong IP version from being used
In some situations, it was possible that a transfer was setup to
use an specific IP version, but due do DNS caching or connection
reuse, it ended up using a different IP version from requested.

This commit changes the effect of CURLOPT_IPRESOLVE from simply
restricting address resolution to preventing the wrong connection
type being used, when choosing a connection from the pool, and
to restricting what addresses could be used when establishing
a new connection.

It is important that all addresses versions are resolved, even if
not used in that transfer in particular, because the result is
cached, and could be useful for a different transfer with a
different CURLOPT_IPRESOLVE setting.

Closes #6853
2021-05-20 16:58:31 +02:00
Gilles Vollant
77fc3859b2 SSL: support in-memory CA certs for some backends
- New options CURLOPT_CAINFO_BLOB and CURLOPT_PROXY_CAINFO_BLOB to
  specify in-memory PEM certificates for OpenSSL, Schannel (Windows)
  and Secure Transport (Apple) SSL backends.

Prior to this change PEM certificates could only be imported from a file
and not from memory.

Co-authored-by: moparisthebest@users.noreply.github.com

Ref: https://github.com/curl/curl/pull/4679
Ref: https://github.com/curl/curl/pull/5677
Ref: https://github.com/curl/curl/pull/6109

Closes https://github.com/curl/curl/pull/6662
2021-05-05 02:29:16 -04:00