]> granicus.if.org Git - curl/log
curl
8 years agoRELEASE-NOTES: synced with 8fd2a754f0de
Daniel Stenberg [Tue, 4 Oct 2016 21:50:24 +0000 (23:50 +0200)]
RELEASE-NOTES: synced with 8fd2a754f0de

8 years agoCURLOPT_KEEP_SENDING_ON_ERROR.3: mention when it is added
Daniel Stenberg [Tue, 4 Oct 2016 21:46:45 +0000 (23:46 +0200)]
CURLOPT_KEEP_SENDING_ON_ERROR.3: mention when it is added

8 years agomemdup: use 'void *' as return and source type
Daniel Stenberg [Tue, 4 Oct 2016 21:18:52 +0000 (23:18 +0200)]
memdup: use 'void *' as return and source type

8 years agoTODO: Add easy argument to formpost functions
Daniel Stenberg [Tue, 4 Oct 2016 16:34:31 +0000 (18:34 +0200)]
TODO: Add easy argument to formpost functions

8 years agoformpost: trying to attach a directory no longer crashes
Daniel Stenberg [Tue, 4 Oct 2016 07:13:02 +0000 (09:13 +0200)]
formpost: trying to attach a directory no longer crashes

The error path would previously add a freed entry to the linked list.

Reported-by: Toby Peterson
Fixes #1053

8 years agocookies: same domain handling changed to match browser behavior
Sergei Kuzmin [Mon, 3 Oct 2016 04:34:59 +0000 (21:34 -0700)]
cookies: same domain handling changed to match browser behavior

Cokie with the same domain but different tailmatching property are now
considered different and do not replace each other.  If header contains
following lines then two cookies will be set: Set-Cookie: foo=bar;
domain=.foo.com; expires=Thu Mar 3 GMT 8:56:27 2033 Set-Cookie: foo=baz;
domain=foo.com; expires=Thu Mar 3 GMT 8:56:27 2033

This matches Chrome, Opera, Safari, and Firefox behavior. When sending
stored tokens to foo.com Chrome, Opera, Firefox store send them in the
stored order, while Safari pre-sort the cookies.

Closes #1050

8 years agoFAQ: Fix typos in section 5.14 (#1047)
Stephen Brokenshire [Sat, 1 Oct 2016 15:36:50 +0000 (16:36 +0100)]
FAQ: Fix typos in section 5.14 (#1047)

Type required for YourClass::func C++ function (using size_t in line
with the documentation for CURLOPT_WRITEFUNCTION) and missing second
colon when specifying the static function for CURLOPT_WRITEFUNCTION.

8 years agoKNOWN_BUGS: Fix typos in section 5.8.
Sebastian Mundry [Fri, 30 Sep 2016 18:34:21 +0000 (20:34 +0200)]
KNOWN_BUGS: Fix typos in section 5.8.

Closes #1046

8 years agoCONTRIBUTE.md: Fix typo in 'About pull requests' section. (#1045)
mundry [Fri, 30 Sep 2016 18:49:48 +0000 (20:49 +0200)]
CONTRIBUTE.md: Fix typo in 'About pull requests' section. (#1045)

8 years agocurl.1: --trace supports % for sending to stderr!
Daniel Stenberg [Fri, 30 Sep 2016 15:14:39 +0000 (17:14 +0200)]
curl.1: --trace supports % for sending to stderr!

8 years agoKNOWN_BUGS: 5.8 configure finding libs in wrong directory
Daniel Stenberg [Mon, 26 Sep 2016 09:44:00 +0000 (11:44 +0200)]
KNOWN_BUGS: 5.8 configure finding libs in wrong directory

8 years agoconfigure: Fixed builds with libssh2 in a custom location
Dan Fandrich [Sat, 24 Sep 2016 06:52:01 +0000 (08:52 +0200)]
configure: Fixed builds with libssh2 in a custom location

A libssh2 library in the standard system location was being used in
preference to the desired one while linking.

8 years agoSECURITY: remove the top ascii logo
Daniel Stenberg [Fri, 23 Sep 2016 20:11:55 +0000 (22:11 +0200)]
SECURITY: remove the top ascii logo

8 years agoNew libcurl option to keep sending on error
Michael Kaufmann [Thu, 22 Sep 2016 20:15:13 +0000 (22:15 +0200)]
New libcurl option to keep sending on error

Add the new option CURLOPT_KEEP_SENDING_ON_ERROR to control whether
sending the request body shall be completed when the server responds
early with an error status code.

This is suitable for manual NTLM authentication.

Reviewed-by: Jay Satiro
Closes https://github.com/curl/curl/pull/904

8 years agonss: add chacha20-poly1305 cipher suites if supported by NSS
Kamil Dudka [Mon, 19 Sep 2016 15:45:53 +0000 (17:45 +0200)]
nss: add chacha20-poly1305 cipher suites if supported by NSS

8 years agonss: add cipher suites using SHA384 if supported by NSS
Kamil Dudka [Mon, 19 Sep 2016 15:38:23 +0000 (17:38 +0200)]
nss: add cipher suites using SHA384 if supported by NSS

8 years agonss: fix typo in ecdhe_rsa_null cipher suite string
Kamil Dudka [Mon, 19 Sep 2016 14:37:05 +0000 (16:37 +0200)]
nss: fix typo in ecdhe_rsa_null cipher suite string

As it seems to be a rarely used cipher suite (for securely established
but _unencrypted_ connections), I believe it is fine not to provide an
alias for the misspelled variant.

8 years agodocs: Remove that --proto is just used for initial retrieval
Jay Satiro [Wed, 21 Sep 2016 19:34:57 +0000 (15:34 -0400)]
docs: Remove that --proto is just used for initial retrieval

.. and add that --proto-redir and CURLOPT_REDIR_PROTOCOLS do not
override protocols denied by --proto and CURLOPT_PROTOCOLS.

- Add a test to enforce: --proto deny must override --proto-redir allow

Closes https://github.com/curl/curl/pull/1031

8 years agodist: add CurlSymbolHiding.cmake to the tarball
Daniel Stenberg [Wed, 21 Sep 2016 21:17:39 +0000 (23:17 +0200)]
dist: add CurlSymbolHiding.cmake to the tarball

Follow-up to 6140dfcf3e784

Reported-by: Alexander Sinditskiy
8 years agocurl_global_cleanup.3: don't unload the lib with sub threads running
Daniel Stenberg [Tue, 20 Sep 2016 20:59:53 +0000 (22:59 +0200)]
curl_global_cleanup.3: don't unload the lib with sub threads running

Discussed in #997

Assisted-by: Jay Satiro
8 years agoMAIL-ETIQUETTE: language
Daniel Stenberg [Tue, 20 Sep 2016 13:37:46 +0000 (15:37 +0200)]
MAIL-ETIQUETTE: language

8 years agoeasy: Reset all statistical session info in curl_easy_reset
Jay Satiro [Sat, 17 Sep 2016 05:48:20 +0000 (01:48 -0400)]
easy: Reset all statistical session info in curl_easy_reset

Bug: https://github.com/curl/curl/issues/1017
Reported-by: Jeroen Ooms
8 years agoRELEASE-NOTES: synced with 79607eec51055
Daniel Stenberg [Mon, 19 Sep 2016 21:58:55 +0000 (23:58 +0200)]
RELEASE-NOTES: synced with 79607eec51055

8 years agodarwinssl: Fix typo in comment
Daniel Gustafsson [Mon, 19 Sep 2016 19:32:48 +0000 (21:32 +0200)]
darwinssl: Fix typo in comment

Closes https://github.com/curl/curl/pull/1028

8 years agolibressl: fix version output
Bernard Spil [Mon, 19 Sep 2016 19:11:45 +0000 (21:11 +0200)]
libressl: fix version output

LibreSSL defines `OPENSSL_VERSION_NUMBER` as `0x20000000L` for all
versions returning `LibreSSL/2.0.0` for any LibreSSL version.

This change provides a local OpenSSL_version_num function replacement
returning LIBRESSL_VERSION_NUMBER instead.

Closes #1029

8 years agoTODO: Add PINNEDPUBLICKEY - HPKP compatibility, HSTS & HPKP
rugk [Mon, 19 Sep 2016 14:23:38 +0000 (16:23 +0200)]
TODO: Add PINNEDPUBLICKEY - HPKP compatibility, HSTS & HPKP

Closes #1025
Closes #1026
Closes #1027

8 years agoopenssl: don't call ERR_remote_thread_state on >= 1.1.0
Daniel Stenberg [Mon, 19 Sep 2016 12:32:59 +0000 (14:32 +0200)]
openssl: don't call ERR_remote_thread_state on >= 1.1.0

Follow-up fix to d9321562

8 years agoopenssl: don’t call CRYTPO_cleanup_all_ex_data
Daniel Stenberg [Mon, 19 Sep 2016 09:33:14 +0000 (11:33 +0200)]
openssl: don’t call CRYTPO_cleanup_all_ex_data

The OpenSSL function CRYTPO_cleanup_all_ex_data() cannot be called
multiple times without crashing - and other libs might call it! We
basically cannot call it without risking a crash. The function is a
no-op since OpenSSL 1.1.0.

Not calling this function only risks a small memory leak with OpenSSL <
1.1.0.

Bug: https://curl.haxx.se/mail/lib-2016-09/0045.html
Reported-by: Todd Short
8 years agoTODO: Support SSLKEYLOGFILE
Daniel Stenberg [Mon, 19 Sep 2016 08:29:00 +0000 (10:29 +0200)]
TODO: Support SSLKEYLOGFILE

8 years agoCURLOPT_PINNEDPUBLICKEY.3: fix the AVAILABILITY formatting
Jay Satiro [Sun, 18 Sep 2016 21:56:13 +0000 (17:56 -0400)]
CURLOPT_PINNEDPUBLICKEY.3: fix the AVAILABILITY formatting

8 years agodarwinssl: disable RC4 cipher-suite support
Nick Zitzmann [Sun, 18 Sep 2016 20:01:03 +0000 (15:01 -0500)]
darwinssl: disable RC4 cipher-suite support

RC4 was a nice alternative to CBC back in the days of BEAST, but it's insecure and obsolete now.

8 years agoconfigure: change "iOS/Mac OS X native" to "Apple OS native"
Nick Zitzmann [Sun, 18 Sep 2016 19:50:17 +0000 (14:50 -0500)]
configure: change "iOS/Mac OS X native" to "Apple OS native"

Since I first wrote that text, Apple introduced tvOS and watchOS, and renamed "Mac OS X" to "macOS." Let's make the text a little more inclusive, since curl can be built for all four operating systems.

8 years agotest2048: fix url
Jay Satiro [Sun, 18 Sep 2016 19:33:15 +0000 (15:33 -0400)]
test2048: fix url

8 years agoexamples/imap-append: Set size of data to be uploaded
Jay Satiro [Wed, 14 Sep 2016 05:55:13 +0000 (01:55 -0400)]
examples/imap-append: Set size of data to be uploaded

Prior to this commit this example failed with error
'Cannot APPEND with unknown input file size'.

Bug: https://github.com/curl/curl/issues/1008
Reported-by: lukaszgn@users.noreply.github.com
Closes https://github.com/curl/curl/pull/1011

8 years agoLICENSE-MIXING.md: update with mbedTLS dual licensing
Tony Kelman [Fri, 16 Sep 2016 21:17:05 +0000 (14:17 -0700)]
LICENSE-MIXING.md: update with mbedTLS dual licensing

Recent versions of mbedTLS are available under either Apache 2.0 or GPL
2.0, see https://tls.mbed.org/how-to-get

Closes #1019

8 years agoKNOWN_BUGS: chunked-encoded requests with HTTP/2 is fixed
Daniel Stenberg [Thu, 15 Sep 2016 12:19:09 +0000 (14:19 +0200)]
KNOWN_BUGS: chunked-encoded requests with HTTP/2 is fixed

8 years agohttp2: debug ouput sent HTTP/2 request headers
Daniel Stenberg [Thu, 15 Sep 2016 12:12:53 +0000 (14:12 +0200)]
http2: debug ouput sent HTTP/2 request headers

8 years agohttp: accept "Transfer-Encoding: chunked" for HTTP/2 as well
Daniel Stenberg [Thu, 15 Sep 2016 12:01:06 +0000 (14:01 +0200)]
http: accept "Transfer-Encoding: chunked" for HTTP/2 as well

... but don't send the actual header over the wire as it isn't accepted.
Chunked uploading is still triggered using this method.

Fixes #1013
Fixes #662

8 years agoopenssl: fix per-thread memory leak usiong 1.0.1 or 1.0.2
Daniel Stenberg [Mon, 29 Aug 2016 21:18:31 +0000 (23:18 +0200)]
openssl: fix per-thread memory leak usiong 1.0.1 or 1.0.2

OpenSSL 1.0.1 and 1.0.2 build an error queue that is stored per-thread
so we need to clean it when easy handles are freed, in case the thread
will be killed in which the easy handle was used. All OpenSSL code in
libcurl should extract the error in association with the error already
so clearing this queue here should be harmless at worst.

Fixes #964

8 years agoRELEASE-NOTES: reset and go toward 7.51.0 (again)
Daniel Stenberg [Wed, 14 Sep 2016 07:00:00 +0000 (09:00 +0200)]
RELEASE-NOTES: reset and go toward 7.51.0 (again)

8 years agoTHANKS: updated with curl 7.50.3 contributors curl-7_50_3
Daniel Stenberg [Wed, 14 Sep 2016 05:56:18 +0000 (07:56 +0200)]
THANKS: updated with curl 7.50.3 contributors

8 years agoRELEASE-NOTES: curl 7.50.3
Daniel Stenberg [Wed, 14 Sep 2016 05:54:38 +0000 (07:54 +0200)]
RELEASE-NOTES: curl 7.50.3

8 years agotest1605: verify negative input lengths to (un)escape functions
Daniel Stenberg [Tue, 13 Sep 2016 21:01:22 +0000 (23:01 +0200)]
test1605: verify negative input lengths to (un)escape functions

8 years agocurl_easy_unescape: deny negative string lengths as input
Daniel Stenberg [Tue, 13 Sep 2016 21:00:50 +0000 (23:00 +0200)]
curl_easy_unescape: deny negative string lengths as input

CVE-2016-7167

Bug: https://curl.haxx.se/docs/adv_20160914.html

8 years agocurl_easy_escape: deny negative string lengths as input
Daniel Stenberg [Thu, 8 Sep 2016 20:59:54 +0000 (22:59 +0200)]
curl_easy_escape: deny negative string lengths as input

CVE-2016-7167

Bug: https://curl.haxx.se/docs/adv_20160914.html

8 years agocurl: make --create-dirs on windows grok both forward and backward slashes
Daniel Stenberg [Tue, 13 Sep 2016 13:20:05 +0000 (15:20 +0200)]
curl: make --create-dirs on windows grok both forward and backward slashes

Reported-by: Ryan Scott
Fixes #1007

8 years agoRELEASE-NOTES: synced with 665694979b6
Daniel Stenberg [Tue, 13 Sep 2016 13:09:29 +0000 (15:09 +0200)]
RELEASE-NOTES: synced with 665694979b6

8 years agombedtls: switch off NTLM in build if md4 isn't available
Tony Kelman [Mon, 12 Sep 2016 04:16:30 +0000 (21:16 -0700)]
mbedtls: switch off NTLM in build if md4 isn't available

NTLM support with mbedTLS was added in 497e7c9 but requires that mbedTLS
is built with the MD4 functions available, which it isn't in default
builds. This now adapts if the funtion isn't there and builds libcurl
without NTLM support if so.

Fixes #1004

8 years agoCODE_STYLE: fix long-line guideline
Jay Satiro [Mon, 12 Sep 2016 05:51:37 +0000 (01:51 -0400)]
CODE_STYLE: fix long-line guideline

- Change maximum allowed line length from 80 to 79.

8 years agoCODE_STYLE: add column alignment section
Jay Satiro [Sun, 11 Sep 2016 23:12:14 +0000 (19:12 -0400)]
CODE_STYLE: add column alignment section

Note that since the added examples are for column alignment I had to
encapsulate with ~~~c markdown to preserve their alignment.

8 years agocmake: fix curl-config --static-libs
Peter Wu [Wed, 1 Jun 2016 20:24:35 +0000 (22:24 +0200)]
cmake: fix curl-config --static-libs

The `curl-config --static-libs` command should not output paths like
-l/usr/lib/libssl.so, instead print the absolute path without `-l`.

This also removes the confusing message "Static linking is broken" which
was printed because curl-config --static-libs was disfunctional even
though the static libcurl.a library works properly.

Fixes https://github.com/curl/curl/issues/841

8 years agohttp: refuse to pass on response body with NO_NODY was set
Daniel Stenberg [Fri, 9 Sep 2016 13:57:44 +0000 (15:57 +0200)]
http: refuse to pass on response body with NO_NODY was set

... like when a HTTP/0.9 response comes back without any headers at all
and just a body this now prevents that body from being sent to the
callback etc.

Adapted test 1144 to verify.

Fixes #973

Assisted-by: Ray Satiro
8 years agoRELEASE-NOTES: synced with 257bf3ac67eb6
Daniel Stenberg [Sat, 10 Sep 2016 22:06:17 +0000 (00:06 +0200)]
RELEASE-NOTES: synced with 257bf3ac67eb6

8 years agoCMake: Don't build unit tests if private symbols are hidden
Jakub Zakrzewski [Sun, 4 Sep 2016 10:58:35 +0000 (12:58 +0200)]
CMake: Don't build unit tests if private symbols are hidden

This only excludes building unit tests from default build ( 'all' Make
target or "Build Solution" in VisualStudio). The projects and Make
targets will still be generated and shown in supporting IDEs.

Fixes https://github.com/curl/curl/issues/981
Reported-by: Randy Armstrong
Closes https://github.com/curl/curl/pull/990

8 years agoCMake: Try to (un-)hide private library symbols
Jakub Zakrzewski [Sun, 4 Sep 2016 10:37:46 +0000 (12:37 +0200)]
CMake: Try to (un-)hide private library symbols

Detect support for compiler symbol visibility flags and apply those
according to CURL_HIDDEN_SYMBOLS option.
It should work true to the autotools build except it tries to unhide
symbols on Windows when requested and prints warning if it fails.

Ref: https://github.com/curl/curl/issues/981#issuecomment-242665951
Reported-by: Daniel Stenberg
8 years agoopenssl: fix bad memory free (regression)
Daniel Stenberg [Fri, 9 Sep 2016 21:33:09 +0000 (23:33 +0200)]
openssl: fix bad memory free (regression)

... by partially reverting f975f06033b1. The allocation could be made by
OpenSSL so the free must be made with OPENSSL_free() to avoid problems.

Reported-by: Harold Stuart
Fixes #1005

8 years agohttp2: support > 64bit sized uploads
Daniel Stenberg [Tue, 6 Sep 2016 21:12:12 +0000 (23:12 +0200)]
http2: support > 64bit sized uploads

... by making sure we don't count down the "upload left" counter when the
uploaded size is unknown and then it can be allowed to continue forever.

Fixes #996

8 years agoerrors: new alias CURLE_WEIRD_SERVER_REPLY (8)
Jay Satiro [Mon, 22 Aug 2016 19:37:03 +0000 (15:37 -0400)]
errors: new alias CURLE_WEIRD_SERVER_REPLY (8)

Since we're using CURLE_FTP_WEIRD_SERVER_REPLY in imap, pop3 and smtp as
more of a generic "failed to parse" introduce an alias without FTP in
the name.

Closes https://github.com/curl/curl/pull/975

8 years agobump: toward 7.51.0
Daniel Stenberg [Wed, 7 Sep 2016 13:45:24 +0000 (15:45 +0200)]
bump: toward 7.51.0

8 years agoHISTORY: remove ascii logo to render nicer on web
Daniel Stenberg [Wed, 7 Sep 2016 12:29:19 +0000 (14:29 +0200)]
HISTORY: remove ascii logo to render nicer on web

8 years agocurl: whitelist use of strtok() in non-threaded context
Daniel Stenberg [Wed, 7 Sep 2016 08:43:40 +0000 (10:43 +0200)]
curl: whitelist use of strtok() in non-threaded context

8 years agochecksrc: detect strtok() use
Daniel Stenberg [Wed, 7 Sep 2016 07:26:00 +0000 (09:26 +0200)]
checksrc: detect strtok() use

... as that function slipped through once before.

8 years agomk-ca-bundle.pl: use SHA256 instead of SHA1
Viktor Szakats [Wed, 7 Sep 2016 08:41:11 +0000 (10:41 +0200)]
mk-ca-bundle.pl: use SHA256 instead of SHA1

This hash is used to verify the original downloaded certificate bundle
and also included in the generated bundle's comment header. Also
rename related internal symbols to algorithm-agnostic names.

8 years agoRELEASE-NOTES: curl 7.50.2 release curl-7_50_2
Daniel Stenberg [Tue, 6 Sep 2016 21:29:37 +0000 (23:29 +0200)]
RELEASE-NOTES: curl 7.50.2 release

8 years agoTHANKS: updated for 7.50.2
Daniel Stenberg [Tue, 6 Sep 2016 21:37:41 +0000 (23:37 +0200)]
THANKS: updated for 7.50.2

8 years agoopenssl: fix CURLINFO_SSL_VERIFYRESULT
Gaurav Malhotra [Tue, 6 Sep 2016 19:09:35 +0000 (00:39 +0530)]
openssl: fix CURLINFO_SSL_VERIFYRESULT

CURLINFO_SSL_VERIFYRESULT does not get the certificate verification
result when SSL_connect fails because of a certificate verification
error.

This fix saves the result of SSL_get_verify_result so that it is
returned by CURLINFO_SSL_VERIFYRESULT.

Closes https://github.com/curl/curl/pull/995

8 years agodarwinssl: test for errSecSuccess in PKCS12 import rather than noErr (#993)
Daniel Gustafsson [Tue, 6 Sep 2016 08:37:31 +0000 (10:37 +0200)]
darwinssl: test for errSecSuccess in PKCS12 import rather than noErr (#993)

While noErr and errSecSuccess are defined as the same value, the API
documentation states that SecPKCS12Import() returns errSecSuccess if
there were no errors in importing. Ensure that a future change of the
defined value doesn't break (however unlikely) and be consistent with
the API docs.

8 years agodocs: Fix link to CONTRIBUTE in Github contribution guidelines (#994)
Daniel Gustafsson [Tue, 6 Sep 2016 08:35:00 +0000 (10:35 +0200)]
docs: Fix link to CONTRIBUTE in Github contribution guidelines (#994)

8 years agoopenssl: Fix compilation with OPENSSL_API_COMPAT=0x10100000L
Marcel Raad [Mon, 5 Sep 2016 16:15:25 +0000 (18:15 +0200)]
openssl: Fix compilation with OPENSSL_API_COMPAT=0x10100000L

With OPENSSL_API_COMPAT=0x10100000L (OpenSSL 1.1 API), the cleanup
functions are unavailable (they're no-ops anyway in OpenSSL 1.1). The
replacements for SSL_load_error_strings, SSLeay_add_ssl_algorithms, and
OpenSSL_add_all_algorithms are called automatically [1][2]. SSLeay() is
now called OpenSSL_version_num().

[1]: https://www.openssl.org/docs/man1.1.0/ssl/OPENSSL_init_ssl.html
[2]: https://www.openssl.org/docs/man1.1.0/crypto/OPENSSL_init_crypto.html

Closes #992

8 years agoRELEASE-NOTES: synced with 3d4c0c8b9bc1d
Daniel Stenberg [Mon, 5 Sep 2016 12:55:01 +0000 (14:55 +0200)]
RELEASE-NOTES: synced with 3d4c0c8b9bc1d

8 years agohttp2: return EOF when done uploading without known size
Daniel Stenberg [Mon, 5 Sep 2016 09:07:40 +0000 (11:07 +0200)]
http2: return EOF when done uploading without known size

Fixes #982

8 years agohttp2: skip the content-length parsing, detect unknown size
Daniel Stenberg [Mon, 5 Sep 2016 06:51:06 +0000 (08:51 +0200)]
http2: skip the content-length parsing, detect unknown size

8 years agohttp2: minor white space edit
Daniel Stenberg [Mon, 5 Sep 2016 07:52:09 +0000 (09:52 +0200)]
http2: minor white space edit

8 years agohttp2: use named define instead of magic constant in read callback
Daniel Stenberg [Mon, 5 Sep 2016 07:25:58 +0000 (09:25 +0200)]
http2: use named define instead of magic constant in read callback

8 years agoconfigure: make the cpp -P detection not clobber CPPFLAGS
Craig Davison [Fri, 12 Aug 2016 03:37:13 +0000 (21:37 -0600)]
configure: make the cpp -P detection not clobber CPPFLAGS

CPPPFLAGS is now CPPPFLAG. Fixes CURL_CHECK_DEF.

Fixes #958

8 years agospeed caps: not based on average speeds anymore
Olivier Brunel [Tue, 16 Aug 2016 18:32:02 +0000 (20:32 +0200)]
speed caps: not based on average speeds anymore

Speed limits (from CURLOPT_MAX_RECV_SPEED_LARGE &
CURLOPT_MAX_SEND_SPEED_LARGE) were applied simply by comparing limits
with the cumulative average speed of the entire transfer; While this
might work at times with good/constant connections, in other cases it
can result to the limits simply being "ignored" for more than "short
bursts" (as told in man page).

Consider a download that goes on much slower than the limit for some
time (because bandwidth is used elsewhere, server is slow, whatever the
reason), then once things get better, curl would simply ignore the limit
up until the average speed (since the beginning of the transfer) reached
the limit.  This could prove the limit useless to effectively avoid
using the entire bandwidth (at least for quite some time).

So instead, we now use a "moving starting point" as reference, and every
time at least as much as the limit as been transferred, we can reset
this starting point to the current position. This gets a good limiting
effect that applies to the "current speed" with instant reactivity (in
case of sudden speed burst).

Closes #971

8 years agoHISTORY.md: the multi socket was put in the wrong year!
Daniel Stenberg [Sat, 3 Sep 2016 21:12:46 +0000 (23:12 +0200)]
HISTORY.md: the multi socket was put in the wrong year!

8 years agotool_helpers.c: fix comment typo (#989)
Mark Hamilton [Sat, 3 Sep 2016 21:14:07 +0000 (14:14 -0700)]
tool_helpers.c: fix comment typo (#989)

8 years agolibtest/test.h: fix typo (#988)
Mark Hamilton [Sat, 3 Sep 2016 21:12:22 +0000 (14:12 -0700)]
libtest/test.h: fix typo (#988)

8 years agoCURLMOPT_PIPELINING.3: language
Daniel Stenberg [Thu, 1 Sep 2016 12:09:21 +0000 (14:09 +0200)]
CURLMOPT_PIPELINING.3: language

8 years agoCURLMOPT_PIPELINING.3: extended and clarified
Daniel Stenberg [Thu, 1 Sep 2016 12:07:28 +0000 (14:07 +0200)]
CURLMOPT_PIPELINING.3: extended and clarified

Especially in regards to the multiplexing part.

8 years agocurl_sspi.c: Updated function description comments
Steve Holme [Wed, 31 Aug 2016 10:57:28 +0000 (11:57 +0100)]
curl_sspi.c: Updated function description comments

* Added description to Curl_sspi_free_identity()
* Added parameter and return explanations to Curl_sspi_global_init()
* Added parameter explaination to Curl_sspi_global_cleanup()

8 years agoREADME: Corrected the supported Visual Studio versions
Steve Holme [Wed, 31 Aug 2016 10:34:50 +0000 (11:34 +0100)]
README: Corrected the supported Visual Studio versions

Missed from commit 8356022d17.

8 years agoKNOWN_BUGS: Move the Visual Studio project shortcomings from local README
Steve Holme [Wed, 31 Aug 2016 10:33:22 +0000 (11:33 +0100)]
KNOWN_BUGS: Move the Visual Studio project shortcomings from local README

8 years agoKNOWN_BUGS: Expand 6.4 to include Kerberos V5
Steve Holme [Wed, 31 Aug 2016 10:22:12 +0000 (11:22 +0100)]
KNOWN_BUGS: Expand 6.4 to include Kerberos V5

...and discuss a possible solution.

8 years agoconnect: fix #ifdefs for debug versions of conn/streamclose() macros
Daniel Stenberg [Tue, 30 Aug 2016 21:38:06 +0000 (23:38 +0200)]
connect: fix #ifdefs for debug versions of conn/streamclose() macros

CURLDEBUG is for the memory debugging

DEBUGBUILD is for the extra debug stuff

Pointed-out-by: Steve Holme
8 years agoKNOWN_BUGS: mention some cmake "support gaps"
Daniel Stenberg [Mon, 29 Aug 2016 21:01:49 +0000 (23:01 +0200)]
KNOWN_BUGS: mention some cmake "support gaps"

8 years agodarwinssl: add documentation stating that the --cainfo option is intended for backwar...
Nick Zitzmann [Sun, 28 Aug 2016 21:46:59 +0000 (16:46 -0500)]
darwinssl: add documentation stating that the --cainfo option is intended for backward compatibility only

In other news, I changed one other reference to "Mac OS X" in the documentation (that I previously wrote) to say "macOS" instead.

8 years agohttp2: return CURLE_HTTP2_STREAM for unexpected stream close
Daniel Stenberg [Sun, 28 Aug 2016 21:28:52 +0000 (23:28 +0200)]
http2: return CURLE_HTTP2_STREAM for unexpected stream close

Follow-up to c3e906e9cd0f, seems like a more appropriate error code

Suggested-by: Jay Satiro
8 years agohttp2: handle closed streams when uploading
Tatsuhiro Tsujikawa [Sun, 28 Aug 2016 14:44:03 +0000 (16:44 +0200)]
http2: handle closed streams when uploading

Fixes #986

8 years agohttp2: make sure stream errors don't needlessly close the connection
Daniel Stenberg [Thu, 11 Aug 2016 12:00:23 +0000 (14:00 +0200)]
http2: make sure stream errors don't needlessly close the connection

With HTTP/2 each transfer is made in an indivial logical stream over the
connection, making most previous errors that caused the connection to get
forced-closed now instead just kill the stream and not the connection.

Fixes #941

8 years agoCurl_verify_windows_version: minor edit to avoid compiler warnings
Daniel Stenberg [Sat, 27 Aug 2016 16:08:16 +0000 (18:08 +0200)]
Curl_verify_windows_version: minor edit to avoid compiler warnings

... instead of if() before the switch(), add a default to the switch so
that the compilers don't warn on "warning: enumeration value
'PLATFORM_DONT_CARE' not handled in switch" anymore.

8 years agoRELEASE-NOTES: Added missing fix from commit 15592143f
Steve Holme [Sat, 27 Aug 2016 10:10:17 +0000 (11:10 +0100)]
RELEASE-NOTES: Added missing fix from commit 15592143f

8 years agoschannel: Disable ALPN for Wine since it is causing problems
Jay Satiro [Fri, 26 Aug 2016 03:57:56 +0000 (23:57 -0400)]
schannel: Disable ALPN for Wine since it is causing problems

- Disable ALPN on Wine.

- Don't pass input secbuffer when ALPN is disabled.

When ALPN support was added a change was made to pass an input secbuffer
to initialize the context. When ALPN is enabled the buffer contains the
ALPN information, and when it's disabled the buffer is empty. In either
case this input buffer caused problems with Wine and connections would
not complete.

Bug: https://github.com/curl/curl/issues/983
Reported-by: Christian Fillion
8 years agonss: work around race condition in PK11_FindSlotByName()
Peter Wang [Fri, 26 Aug 2016 06:28:39 +0000 (16:28 +1000)]
nss: work around race condition in PK11_FindSlotByName()

Serialise the call to PK11_FindSlotByName() to avoid spurious errors in
a multi-threaded environment. The underlying cause is a race condition
in nssSlot_IsTokenPresent().

Bug: https://bugzilla.mozilla.org/1297397

Closes #985

8 years agonss: refuse previously loaded certificate from file
Kamil Dudka [Mon, 22 Aug 2016 08:24:35 +0000 (10:24 +0200)]
nss: refuse previously loaded certificate from file

... when we are not asked to use a certificate from file

8 years agoftp_done: remove dead code
Daniel Stenberg [Fri, 26 Aug 2016 07:34:41 +0000 (09:34 +0200)]
ftp_done: remove dead code

8 years agoTLS: random file/egd doesn't have to match for conn reuse
Daniel Stenberg [Fri, 26 Aug 2016 08:01:19 +0000 (10:01 +0200)]
TLS: random file/egd doesn't have to match for conn reuse

8 years agotest161: add comment for the exit code
Daniel Stenberg [Fri, 26 Aug 2016 06:59:48 +0000 (08:59 +0200)]
test161: add comment for the exit code

8 years agotest219: Add http as a required feature
Dan Fandrich [Fri, 26 Aug 2016 06:32:01 +0000 (08:32 +0200)]
test219: Add http as a required feature