Max Dymond [Wed, 25 Oct 2017 14:52:43 +0000 (15:52 +0100)]
ftplistparser: free off temporary memory always
When using the FTP list parser, ensure that the memory that's
allocated is always freed.
Detected by OSS-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3682
Closes #2013
Daniel Stenberg [Mon, 23 Oct 2017 10:05:49 +0000 (12:05 +0200)]
timediff: return timediff_t from the time diff functions
... to cater for systems with unsigned time_t variables.
- Renamed the functions to curlx_timediff and Curl_timediff_us.
- Added overflow protection for both of them in either direction for
both 32 bit and 64 bit time_ts
- Reprefixed the curlx_time functions to use Curl_*
Reported-by: Peter Piekarski
Fixes #2004
Closes #2005
Paul Howarth [Mon, 23 Oct 2017 17:51:36 +0000 (18:51 +0100)]
libtest: Add required test libraries for lib1552 and lib1553
They use $(TESTUTIL) and thus should use $(TESTUTIL_LIBS) too.
This fixes build failures on Fedora 13.
Closes #2006
Alessandro Ghedini [Mon, 23 Oct 2017 22:24:10 +0000 (23:24 +0100)]
libcurl-tutorial.3: fix typo
closes #2008
Alessandro Ghedini [Mon, 23 Oct 2017 22:23:23 +0000 (23:23 +0100)]
curl_mime_filedata.3: fix typos
Daniel Stenberg [Mon, 23 Oct 2017 11:33:04 +0000 (13:33 +0200)]
RELEASE-NOTES: clean slate towards 7.57.0
Max Dymond [Mon, 9 Oct 2017 08:10:51 +0000 (09:10 +0100)]
travis: exit if any steps fail
We don't expect any steps to fail in travis. Exit the script if they do.
Closes #1966
Daniel Stenberg [Sun, 22 Oct 2017 14:20:04 +0000 (16:20 +0200)]
RELEASE-NOTES: 7.56.1
Daniel Stenberg [Sun, 22 Oct 2017 21:32:03 +0000 (23:32 +0200)]
THANKS: update at 7.56.1 release time
Jon DeVree [Thu, 19 Oct 2017 15:54:04 +0000 (11:54 -0400)]
mk-ca-bundle: Remove URL for aurora
Aurora is no longer used by Mozilla
https://hacks.mozilla.org/2017/04/simplifying-firefox-release-channels/
Jon DeVree [Thu, 19 Oct 2017 12:40:54 +0000 (08:40 -0400)]
mk-ca-bundle: Fix URL for NSS
The 'tip' is the most recent branch committed to, this should be
'default' like the URLs for the browser are.
Closes #1998
Daniel Stenberg [Fri, 6 Oct 2017 22:11:31 +0000 (00:11 +0200)]
imap: if a FETCH response has no size, don't call write callback
CVE-2017-
1000257
Reported-by: Brian Carpenter and 0xd34db347
Also detected by OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3586
Daniel Stenberg [Thu, 19 Oct 2017 12:41:14 +0000 (14:41 +0200)]
ftp: reject illegal IP/port in PASV 227 response
... by using range checks. Among other things, this avoids an undefined
behavior for a left shift that could happen on negative or very large
values.
Closes #1997
Detected by OSS-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3694
Patrick Monnerat [Fri, 20 Oct 2017 13:01:14 +0000 (14:01 +0100)]
test653: check reuse of easy handle after mime data change
See issue #1999
Patrick Monnerat [Fri, 20 Oct 2017 12:57:12 +0000 (13:57 +0100)]
mime: do not reuse previously computed multipart size
The contents might have changed: size must be recomputed.
Reported-by: moteus on github
Fixes #1999
Patrick Monnerat [Thu, 19 Oct 2017 19:16:05 +0000 (20:16 +0100)]
test308: disable if MultiSSL feature enabled
Even if OpenSSL is enabled, it might not be the default backend when
multi-ssl is enabled, causing the test to fail.
Patrick Monnerat [Thu, 19 Oct 2017 19:15:21 +0000 (20:15 +0100)]
runtests: support MultiSSL client feature
Patrick Monnerat [Thu, 19 Oct 2017 18:55:17 +0000 (19:55 +0100)]
vtls: change struct Curl_ssl `close' field name to `close_one'.
On OS/400, `close' is an ASCII system macro that corrupts the code if
not used in a context not targetting the close() system API.
Patrick Monnerat [Thu, 19 Oct 2017 17:48:21 +0000 (18:48 +0100)]
os400: add missing symbols in config file.
Also adjust makefile to renamed files and warn about installation dirs mix-up.
Patrick Monnerat [Thu, 19 Oct 2017 17:37:19 +0000 (18:37 +0100)]
test652: curl_mime_data + base64 encoder with large contents
Patrick Monnerat [Thu, 19 Oct 2017 17:33:27 +0000 (18:33 +0100)]
mime: limit bas64-encoded lines length to 76 characters
Daniel Stenberg [Mon, 16 Oct 2017 09:07:30 +0000 (11:07 +0200)]
RELEASE-NOTES: synced with
f121575c0
Daniel Stenberg [Sat, 14 Oct 2017 15:20:13 +0000 (17:20 +0200)]
setopt: range check most long options
... filter early instead of risking "funny values" having to be dealt
with elsewhere.
Daniel Stenberg [Tue, 3 Oct 2017 15:00:18 +0000 (17:00 +0200)]
setopt: avoid integer overflows when setting millsecond values
... that are multiplied by 1000 when stored.
For 32 bit long systems, the max value accepted (
2147483 seconds) is >
596 hours which is unlikely to ever be set by a legitimate application -
and previously it didn't work either, it just caused undefined behavior.
Also updated the man pages for these timeout options to mention the
return code.
Closes #1938
Viktor Szakats [Sun, 15 Oct 2017 19:42:32 +0000 (19:42 +0000)]
makefile.m32: allow to override gcc, ar and ranlib
Allow to ovverride certain build tools, making it possible to
use LLVM/Clang to build curl. The default behavior is unchanged.
To build with clang (as offered by MSYS2), these settings can
be used:
CURL_CC=clang
CURL_AR=llvm-ar
CURL_RANLIB=llvm-ranlib
Closes https://github.com/curl/curl/pull/1993
Viktor Szakats [Sun, 15 Oct 2017 15:59:43 +0000 (15:59 +0000)]
ldap: silence clang warning
Use memset() to initialize a structure to avoid LLVM/Clang warning:
ldap.c:193:39: warning: missing field 'UserLength' initializer [-Wmissing-field-initializers]
Closes https://github.com/curl/curl/pull/1992
Daniel Stenberg [Tue, 10 Oct 2017 20:52:17 +0000 (22:52 +0200)]
runtests: use valgrind for torture as well
NOTE: it makes them terribly slow. I recommend only using valgrind for
specific torture tests or using lots of patience.
Daniel Stenberg [Tue, 10 Oct 2017 14:56:35 +0000 (16:56 +0200)]
memdebug: trace send, recv and socket
... to allow them to be included in torture tests too.
closes #1980
Daniel Stenberg [Sat, 14 Oct 2017 11:52:51 +0000 (13:52 +0200)]
configure: remove the C++ compiler check
... we used it only for the fuzzer, which we now have in a separate git
repo.
Closes #1990
Patrick Monnerat [Fri, 13 Oct 2017 16:16:57 +0000 (17:16 +0100)]
mime: do not call failf() if easy handle is NULL.
Daniel Stenberg [Thu, 12 Oct 2017 18:00:43 +0000 (20:00 +0200)]
test651: curl_formadd with huge COPYCONTENTS
Daniel Stenberg [Thu, 12 Oct 2017 22:13:41 +0000 (00:13 +0200)]
mime: fix the content reader to handle >16K data properly
Reported-by: Jeroen Ooms
Closes #1988
Patrick Monnerat [Thu, 12 Oct 2017 18:36:16 +0000 (19:36 +0100)]
mime: keep "text/plain" content type if user-specified.
Include test cases in 554, 587, 650.
Fixes https://github.com/curl/curl/issues/1986
Patrick Monnerat [Thu, 12 Oct 2017 15:42:02 +0000 (16:42 +0100)]
cli tool: use file2memory() to buffer stdin in -F option.
Closes PR https://github.com/curl/curl/pull/1985
Patrick Monnerat [Thu, 12 Oct 2017 13:25:59 +0000 (14:25 +0100)]
cli tool: reimplement stdin buffering in -F option.
If stdin is not a regular file, its content is memory-buffered to enable
a possible data "rewind".
In all cases, stdin data size is determined before real use to avoid
having an unknown part's size.
--libcurl generated code is left as an unbuffered stdin fread/fseek callback
part with unknown data size.
Buffering is not supported in deprecated curl_formadd() API.
Daniel Stenberg [Thu, 12 Oct 2017 11:54:00 +0000 (13:54 +0200)]
winbuild/BUILD.WINDOWS.txt: mention WITH_NGHTTP2
Daniel Stenberg [Thu, 12 Oct 2017 07:50:52 +0000 (09:50 +0200)]
HELP-US: the label "PR-welcome" is now renamed to "help wanted"
following the new github "standard"
Daniel Stenberg [Wed, 11 Oct 2017 10:00:19 +0000 (12:00 +0200)]
RELEASE-NOTES: synced with
5505df7d2
Artak Galoyan [Thu, 5 Oct 2017 19:43:13 +0000 (15:43 -0400)]
url: Update current connection SSL verify params in setopt
Now VERIFYHOST, VERIFYPEER and VERIFYSTATUS options change during active
connection updates the current connection's (i.e.'connectdata'
structure) appropriate ssl_config (and ssl_proxy_config) structures
variables, making these options effective for ongoing connection.
This functionality was available before and was broken by the
following change:
"proxy: Support HTTPS proxy and SOCKS+HTTP(s)"
CommitId:
cb4e2be7c6d42ca0780f8e0a747cecf9ba45f151.
Bug: https://github.com/curl/curl/issues/1941
Closes https://github.com/curl/curl/pull/1951
David Benjamin [Mon, 9 Oct 2017 15:41:02 +0000 (11:41 -0400)]
openssl: don't use old BORINGSSL_YYYYMM macros
Those were temporary things we'd add and remove for our own convenience
long ago. The last few stayed around for too long as an oversight but
have since been removed. These days we have a running
BORINGSSL_API_VERSION counter which is bumped when we find it
convenient, but 2015-11-19 was quite some time ago, so just check
OPENSSL_IS_BORINGSSL.
Closes #1979
Daniel Stenberg [Tue, 10 Oct 2017 14:59:13 +0000 (16:59 +0200)]
test950; verify SMTP with custom request
Daniel Stenberg [Tue, 10 Oct 2017 14:58:40 +0000 (16:58 +0200)]
ftpserver: support case insensitive commands
Daniel Stenberg [Tue, 10 Oct 2017 12:34:57 +0000 (14:34 +0200)]
smtp_done: free data before returning (on send failure)
... as otherwise it could leak that memory.
Detected by OSS-fuzz:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3600
Assisted-by: Max Dymond
Closes #1977
Daniel Stenberg [Tue, 10 Oct 2017 10:02:11 +0000 (12:02 +0200)]
FTP: URL decode path for dir listing in nocwd mode
Reported-by: Zenju on github
Test 244 added to verify
Fixes #1974
Closes #1976
Daniel Stenberg [Mon, 9 Oct 2017 20:50:40 +0000 (22:50 +0200)]
test298: verify --ftp-method nowcwd with URL encoded path
Ref: #1974
Daniel Stenberg [Mon, 9 Oct 2017 14:24:36 +0000 (16:24 +0200)]
CURLOPT_XFERINFODATA.3: fix duplicate see also
Daniel Stenberg [Mon, 9 Oct 2017 14:24:19 +0000 (16:24 +0200)]
CURLOPT_NOPROGRESS.3: also refer to xferinfofunction
Daniel Stenberg [Mon, 9 Oct 2017 14:13:27 +0000 (16:13 +0200)]
FAQ: s/CURLOPT_PROGRESSFUNCTION/CURLOPT_XFERINFOFUNCTION
Daniel Stenberg [Thu, 5 Oct 2017 08:16:40 +0000 (10:16 +0200)]
openssl: enable PKCS12 support for !BoringSSL
Enable PKCS12 for all non-boringssl builds without relying on configure
or cmake checks.
Bug: https://curl.haxx.se/mail/lib-2017-10/0007.html
Reported-by: Christian Schmitz
Closes #1948
Kristiyan Tsaklev [Sat, 7 Oct 2017 14:47:11 +0000 (17:47 +0300)]
curl: don't pass semicolons when parsing Content-Disposition
Test 1422 updated to verify.
Closes #1964
Patrick Monnerat [Mon, 9 Oct 2017 00:26:27 +0000 (01:26 +0100)]
mime: properly unbind mime structure in curl_mime_free().
This allows freeing a mime structure bound to the easy handle before
curl_easy_cleanup().
Fixes #1970.
Daniel Stenberg [Sun, 8 Oct 2017 15:15:44 +0000 (17:15 +0200)]
RTSP: avoid integer overflow on funny RTSP response
... like a very large non-existing RTSP version number.
Added test 577 to verify.
Detected by OSS-fuzz.
Closes #1969
Patrick Monnerat [Sun, 8 Oct 2017 18:29:44 +0000 (19:29 +0100)]
ftpserver: properly reset $ftptargetdir.
Patrick Monnerat [Sun, 8 Oct 2017 18:05:59 +0000 (19:05 +0100)]
test643: verify curl_mime_subparts() rejects cyclic additions.
Patrick Monnerat [Sun, 8 Oct 2017 17:49:52 +0000 (18:49 +0100)]
mime: refuse to add subparts to one of their own descendants.
Reported-by: Alexey Melnichuk
Fixes #1962
Patrick Monnerat [Sun, 8 Oct 2017 17:43:13 +0000 (18:43 +0100)]
mime: avoid resetting a part's encoder when part's contents change.
Patrick Monnerat [Sun, 8 Oct 2017 17:38:34 +0000 (18:38 +0100)]
mime: improve unbinding top multipart from easy handle.
Also avoid dangling pointers in referencing parts.
Daniel Stenberg [Sun, 8 Oct 2017 15:27:57 +0000 (17:27 +0200)]
RELEASE-NOTES: synced with
a4c1c75da30af1
Daniel Stenberg [Sun, 8 Oct 2017 15:27:21 +0000 (17:27 +0200)]
curlver.h: next expected release is 7.57.0
Patrick Monnerat [Sun, 8 Oct 2017 15:20:13 +0000 (16:20 +0100)]
mime: be tolerant about setting twice the same header list in a part.
Patrick Monnerat [Sun, 8 Oct 2017 15:15:23 +0000 (16:15 +0100)]
docs: clarify form/mime usage of non-regular data files.
Daniel Stenberg [Sat, 7 Oct 2017 22:50:33 +0000 (00:50 +0200)]
Revert "multi_done: wait for name resolve to finish if still ongoing"
This reverts commit
f3e03f6c0ac52a1bf396e03f7d7e9b5b3b7165fe.
Caused memory leaks in the fuzzer, needs to be done differently.
Disable test 1553 for now too, as it causes memory leaks without this
commit!
Daniel Stenberg [Sat, 7 Oct 2017 20:00:48 +0000 (22:00 +0200)]
remove_handle: call multi_done() first, then clear dns cache pointer
Closes #1960
Daniel Stenberg [Sat, 7 Oct 2017 15:54:41 +0000 (17:54 +0200)]
multi_done: wait for name resolve to finish if still ongoing
... as we must clean up memory.
Daniel Stenberg [Fri, 6 Oct 2017 15:20:54 +0000 (17:20 +0200)]
pingpong: return error when trying to send without connection
When imap_done() got called before a connection is setup, it would try
to "finish up" and dereffed a NULL pointer.
Test case 1553 managed to reproduce. I had to actually use a host name
to try to resolve to slow it down, as using the normal local server IP
will make libcurl get a connection in the first curl_multi_perform()
loop and then the bug doesn't trigger.
Fixes #1953
Assisted-by: Max Dymond
Dan Fandrich [Fri, 6 Oct 2017 21:04:40 +0000 (23:04 +0200)]
tests: added flaky keyword to tests 587 and 644
These are around 5% flaky in my Linux x86 autobuilds.
Marcel Raad [Fri, 6 Oct 2017 17:01:19 +0000 (19:01 +0200)]
vtls: fix warnings with --disable-crypto-auth
When CURL_DISABLE_CRYPTO_AUTH is defined, Curl_none_md5sum's parameters
are not used.
Daniel Stenberg [Thu, 5 Oct 2017 23:11:17 +0000 (01:11 +0200)]
multi_cleanup: call DONE on handles that never got that
... fixes a memory leak with at least IMAP when remove_handle is never
called and the transfer is abruptly just abandoned early.
Test 1552 added to verify
Detected by OSS-fuzz
Assisted-by: Max Dymond
Closes #1954
Benbuck Nason [Thu, 5 Oct 2017 19:45:51 +0000 (12:45 -0700)]
strtoofft: Remove extraneous null check
Fixes #1950: curlx_strtoofft() doesn't fully protect against null 'str'
argument.
Closes #1952
Daniel Stenberg [Fri, 6 Oct 2017 08:29:51 +0000 (10:29 +0200)]
openssl: fix build without HAVE_OPAQUE_EVP_PKEY
Reported-by: Javier Sixto
Fixes #1955
Closes #1956
Viktor Szakats [Fri, 6 Oct 2017 07:37:42 +0000 (07:37 +0000)]
lib/config-win32.h: let SMB/SMBS be enabled with OpenSSL/NSS
The source code is now prepared to handle the case when both
Win32 Crypto and OpenSSL/NSS crypto backends are enabled
at the same time, making it now possible to enable `USE_WIN32_CRYPTO`
whenever the targeted Windows version supports it. Since this
matches the minimum Windows version supported by curl
(Windows 2000), enable it unconditionally for the Win32 platform.
This in turn enables SMB (and SMBS) protocol support whenever
Win32 Crypto is available, regardless of what other crypto backends
are enabled.
Ref: https://github.com/curl/curl/pull/1840#issuecomment-
325682052
Closes https://github.com/curl/curl/pull/1943
Daniel Stenberg [Wed, 4 Oct 2017 22:20:34 +0000 (00:20 +0200)]
build: fix --disable-crypto-auth
Reported-by: Wyatt O'Day
Fixes #1945
Closes #1947
Nick Zitzmann [Wed, 16 Aug 2017 18:05:09 +0000 (13:05 -0500)]
darwinssl: add support for TLSv1.3
Closes https://github.com/curl/curl/pull/1794
Felix Kaiser [Wed, 4 Oct 2017 20:03:49 +0000 (22:03 +0200)]
docs: fix typo in curl_mime_data_cb man page
Closes #1946
Viktor Szakats [Wed, 4 Oct 2017 15:57:19 +0000 (15:57 +0000)]
lib/Makefile.m32: allow customizing dll suffixes
- New `CURL_DLL_SUFFIX` envvar will add a suffix to the generated
libcurl dll name. Useful to add `-x64` to 64-bit builds so that
it can live in the same directory as the 32-bit one. By default
this is empty.
- New `CURL_DLL_A_SUFFIX` envvar to customize the suffix of the
generated import library (implib) for libcurl .dll. It defaults
to `dll`, and it's useful to modify that to `.dll` to have the
standard naming scheme for mingw-built .dlls, i.e. `libcurl.dll.a`.
Closes https://github.com/curl/curl/pull/1942
Max Dymond [Mon, 25 Sep 2017 09:59:18 +0000 (10:59 +0100)]
fuzzer: move to using external curl-fuzzer
Use the external curl-fuzzer repository for fuzzing.
Closes #1923
Daniel Stenberg [Tue, 3 Oct 2017 12:26:36 +0000 (14:26 +0200)]
failf: skip the sprintf() if there are no consumers
Closes #1936
Daniel Stenberg [Tue, 3 Oct 2017 15:20:06 +0000 (17:20 +0200)]
ftp: UBsan fixup 'pointer index expression overflowed'
Closes #1939
Daniel Stenberg [Wed, 4 Oct 2017 07:03:04 +0000 (09:03 +0200)]
RELEASE-PROCEDURE: update the release schedule
Daniel Stenberg [Sat, 30 Sep 2017 21:51:01 +0000 (23:51 +0200)]
RELEASE-NOTES: curl 7.56.0
Daniel Stenberg [Sun, 1 Oct 2017 21:19:52 +0000 (23:19 +0200)]
THANKS: added new 7.56.0 contributors
Jay Satiro [Wed, 4 Oct 2017 04:56:31 +0000 (00:56 -0400)]
build-openssl.bat: Warn OpenSSL 1.1.0 not yet supported
Ref: https://github.com/curl/curl/issues/1002
Michael Kaufmann [Tue, 3 Oct 2017 16:46:50 +0000 (18:46 +0200)]
idn: fix source code comment
Michael Kaufmann [Sun, 24 Sep 2017 12:08:29 +0000 (14:08 +0200)]
vtls: compare and clone ssl configs properly
Compare these settings in Curl_ssl_config_matches():
- verifystatus (CURLOPT_SSL_VERIFYSTATUS)
- random_file (CURLOPT_RANDOM_FILE)
- egdsocket (CURLOPT_EGDSOCKET)
Also copy the setting "verifystatus" in Curl_clone_primary_ssl_config(),
and copy the setting "sessionid" unconditionally.
This means that reusing connections that are secured with a client
certificate is now possible, and the statement "TLS session resumption
is disabled when a client certificate is used" in the old advisory at
https://curl.haxx.se/docs/adv_20170419.html is obsolete.
Reviewed-by: Daniel Stenberg
Closes #1917
Michael Kaufmann [Sun, 24 Sep 2017 13:21:44 +0000 (15:21 +0200)]
proxy: read the "no_proxy" variable only if necessary
Reviewed-by: Daniel Stenberg
Closes #1919
Patrick Monnerat [Tue, 3 Oct 2017 10:03:46 +0000 (11:03 +0100)]
libcurl-tutorial: add casts in example to avoid compilation warnings.
Daniel Stenberg [Tue, 3 Oct 2017 05:59:55 +0000 (07:59 +0200)]
examples: bring back curl_formadd-using examples
... now with a -formadd suffix. While the new mime API is introduced in
7.56.0 we must acknowledge that lots of users can't upgrade their curl
versions immediately.
Daniel Stenberg [Mon, 25 Sep 2017 09:16:15 +0000 (11:16 +0200)]
test1153: verify quoted double-qoutes in PWD response
Daniel Stenberg [Sun, 24 Sep 2017 22:35:22 +0000 (00:35 +0200)]
FTP: zero terminate the entry path even on bad input
... a single double quote could leave the entry path buffer without a zero
terminating byte. CVE-2017-
1000254
Test 1152 added to verify.
Reported-by: Max Dymond
Bug: https://curl.haxx.se/docs/adv_20171004.html
Sergei Nikulov [Tue, 26 Sep 2017 07:42:12 +0000 (10:42 +0300)]
cmake: disable tests and man generation if perl/nroff not found
Fixes https://github.com/curl/curl/issues/1500
Reported-by: Jay Satiro
Fixes https://github.com/curl/curl/pull/1662
Assisted-by: Tom Seddon
Assisted-by: dpull@users.noreply.github.com
Assisted-by: elelel@users.noreply.github.com
Closes https://github.com/curl/curl/pull/1924
Patrick Monnerat [Sun, 1 Oct 2017 23:12:55 +0000 (00:12 +0100)]
libcurl-tutorial: fix two typos.
Patrick Monnerat [Sun, 1 Oct 2017 17:42:52 +0000 (18:42 +0100)]
TODO: remove deprecated form API items.
Patrick Monnerat [Sun, 1 Oct 2017 17:31:52 +0000 (18:31 +0100)]
libcurl-tutorial: describe MIME API and deprecate form API.
Include a guide to form/mime API conversion.
Daniel Stenberg [Sat, 30 Sep 2017 12:10:12 +0000 (14:10 +0200)]
cookie: fix memory leak if path was set twice in header
... this will let the second occurance override the first.
Added test 1161 to verify.
Reported-by: Max Dymond
Fixes #1932
Closes #1933
Dan Fandrich [Fri, 29 Sep 2017 23:37:55 +0000 (01:37 +0200)]
test650: Use variable replacement to set the host address and port
Otherwise, the test fails when the -b test option is used to set a
different test port range.
Dan Fandrich [Fri, 29 Sep 2017 23:20:56 +0000 (01:20 +0200)]
Set and use more necessary options when some protocols are disabled
When curl and libcurl are built with some protocols disabled, they stop
setting and receiving some options that don't make sense with those
protocols. In particular, when HTTP is disabled many options aren't set
that are used only by HTTP. However, some options that appear to be
HTTP-only are actually used by other protocols as well (some despite
having HTTP in the name) and should be set, but weren't. This change now
causes some of these options to be set and used for more (or for all)
protocols. In particular, this fixes tests 646 through 649 in an
HTTP-disabled build, which use the MIME API in the mail protocols.
Daniel Stenberg [Fri, 29 Sep 2017 07:19:09 +0000 (09:19 +0200)]
test1160: verifies cookie leak for large cookies
The fix done in
20ea22ff735
Daniel Stenberg [Fri, 29 Sep 2017 06:50:15 +0000 (08:50 +0200)]
cookie: fix memory leak on oversized rejection
Regression brought by
2bc230de63b
Detected by OSS-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3513
Assisted-by: Max Dymond
Closes #1930
Anders Bakken [Thu, 28 Sep 2017 15:20:04 +0000 (08:20 -0700)]
connect: fix race condition with happy eyeballs timeout
The timer should be started after conn->connecttime is set. Otherwise
the timer could expire without this condition being true:
/* should we try another protocol family? */
if(i == 0 && conn->tempaddr[1] == NULL &&
curlx_tvdiff(now, conn->connecttime) >= HAPPY_EYEBALLS_TIMEOUT) {
Ref: #1928
Michael Kaufmann [Sun, 24 Sep 2017 19:33:46 +0000 (21:33 +0200)]
docs: link CURLOPT_CONNECTTIMEOUT and CURLOPT_CONNECTTIMEOUT_MS
Closes #1922