mirror of
https://github.com/etlegacy/etlegacy-libs.git
synced 2025-02-24 12:11:11 +00:00
6057 lines
175 KiB
Text
6057 lines
175 KiB
Text
_ _ ____ _
|
||
___| | | | _ \| |
|
||
/ __| | | | |_) | |
|
||
| (__| |_| | _ <| |___
|
||
\___|\___/|_| \_\_____|
|
||
|
||
Changelog
|
||
|
||
Version 7.53.1 (24 Feb 2017)
|
||
|
||
Daniel Stenberg (24 Feb 2017)
|
||
- release: 7.53.1
|
||
|
||
- Revert "tests: use consistent environment variables for setting charset"
|
||
|
||
This reverts commit ecd1d020abdae3c3ce3643ddab3106501e62e7c0.
|
||
|
||
That commit caused test failures on my Debian Linux machine for all
|
||
changed test cases. We need to reconsider how that should get done.
|
||
|
||
Dan Fandrich (23 Feb 2017)
|
||
- tests: use consistent environment variables for setting charset
|
||
|
||
Character set in POSIX is set by the locale defined (in decreasing order
|
||
of precedence) by the LC_ALL, LC_CTYPE and LANG environment variables (I
|
||
believe CHARSET is only historic). LC_ALL is cleared to ensure that
|
||
LC_CTYPE takes effect, but LC_ALL is not used to set the locale to
|
||
ensure that other parts of the locale aren't overriden, if set. Since
|
||
there doesn't seem to be a cross-platform way of specifying a UTF-8
|
||
locale, and not all systems may support UTF-8, a <precheck> is used
|
||
(where relevant) to skip the test if UTF-8 isn't in use. Test 1035 was
|
||
also converted to UTF-8 for consistency, as the actual character set
|
||
used there is irrelevant to the test.
|
||
|
||
Jay Satiro (23 Feb 2017)
|
||
- url: Default the CA proxy bundle location to CURL_CA_BUNDLE
|
||
|
||
If the compile-time CURL_CA_BUNDLE location is defined use it as the
|
||
default value for the proxy CA bundle location, which is the same as
|
||
what we already do for the regular CA bundle location.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1257
|
||
|
||
Daniel Stenberg (23 Feb 2017)
|
||
- [Sergii Pylypenko brought this change]
|
||
|
||
rand: added missing #ifdef HAVE_FCNTL_H around fcntl.h header
|
||
|
||
Closes #1285
|
||
|
||
- TODO: "OPTIONS *"
|
||
|
||
Closes #1280
|
||
|
||
- RELEASE-NOTES: synced with 443e5b03a7d441
|
||
|
||
- THANKS-filter: shachaf
|
||
|
||
- [İsmail Dönmez brought this change]
|
||
|
||
tests: Set CHARSET & LANG to UTF-8 in 1035, 2046 and 2047
|
||
|
||
Closes #1283
|
||
Fixes #1277
|
||
|
||
- bump: 7.53.1 coming up
|
||
|
||
synced with df665f4df0f7a352
|
||
|
||
- formdata: check for EOF when reading from stdin
|
||
|
||
Reported-by: shachaf@users.noreply.github.com
|
||
|
||
Fixes #1281
|
||
|
||
Jay Satiro (22 Feb 2017)
|
||
- docs: gitignore curl.1
|
||
|
||
curl.1 is generated by the cmdline-opts script since 4c49b83.
|
||
|
||
Daniel Stenberg (22 Feb 2017)
|
||
- TODO: HTTP Digest using SHA-256
|
||
|
||
- TODO: brotli is deployed widely now
|
||
|
||
Jay Satiro (21 Feb 2017)
|
||
- [Viktor Szakats brought this change]
|
||
|
||
urldata: include curl_sspi.h when Windows SSPI is enabled
|
||
|
||
f77dabe broke builds in Windows using Windows SSPI but not Windows SSL.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1276
|
||
Reported-by: jveazey@users.noreply.github.com
|
||
|
||
- url: Improve CURLOPT_PROXY_CAPATH error handling
|
||
|
||
- Change CURLOPT_PROXY_CAPATH to return CURLE_NOT_BUILT_IN if the option
|
||
is not supported, which is the same as what we already do for
|
||
CURLOPT_CAPATH.
|
||
|
||
- Change the curl tool to handle CURLOPT_PROXY_CAPATH error
|
||
CURLE_NOT_BUILT_IN as a warning instead of as an error, which is the
|
||
same as what we already do for CURLOPT_CAPATH.
|
||
|
||
- Fix CAPATH docs to show that CURLE_NOT_BUILT_IN is returned when the
|
||
respective CAPATH option is not supported by the SSL library.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1257
|
||
|
||
- cyassl: fix typo
|
||
|
||
Version 7.53.0 (22 Feb 2017)
|
||
|
||
Daniel Stenberg (22 Feb 2017)
|
||
- release: 7.53.0
|
||
|
||
- cookie: fix declaration of 'dup' shadows a global declaration
|
||
|
||
- TLS: make SSL_VERIFYSTATUS work again
|
||
|
||
The CURLOPT_SSL_VERIFYSTATUS option was not properly handled by libcurl
|
||
and thus even if the status couldn't be verified, the connection would
|
||
be allowed and the user would not be told about the failed verification.
|
||
|
||
Regression since cb4e2be7c6d42ca
|
||
|
||
CVE-2017-2629
|
||
Bug: https://curl.haxx.se/docs/adv_20170222.html
|
||
|
||
Reported-by: Marcus Hoffmann
|
||
|
||
Jay Satiro (21 Feb 2017)
|
||
- digest_sspi: Handle 'stale=TRUE' directive in HTTP digest
|
||
|
||
- If the server has provided another challenge use it as the replacement
|
||
input token if stale=TRUE. Otherwise previous credentials have failed
|
||
so return CURLE_LOGIN_DENIED.
|
||
|
||
Prior to this change the stale directive was ignored and if another
|
||
challenge was received it would cause error CURLE_BAD_CONTENT_ENCODING.
|
||
|
||
Ref: https://tools.ietf.org/html/rfc2617#page-10
|
||
|
||
Bug: https://github.com/curl/curl/issues/928
|
||
Reported-by: tarek112@users.noreply.github.com
|
||
|
||
Daniel Stenberg (20 Feb 2017)
|
||
- smb: use getpid replacement for windows UWP builds
|
||
|
||
Source: https://github.com/Microsoft/vcpkg/blob/7676b8780db1e1e591c4fc7eba4f96f73c428cb4/ports/curl/0002_fix_uwp.patch
|
||
|
||
- TODO: CURLOPT_RESOLVE for any port number
|
||
|
||
Closes #1264
|
||
|
||
- RELEASE-NOTES: synced with af30f1152d43dcdb
|
||
|
||
- [Jean Gressmann brought this change]
|
||
|
||
sftp: improved checks for create dir failures
|
||
|
||
Since negative values are errors and not only -1. This makes SFTP upload
|
||
with --create-dirs work (again).
|
||
|
||
Closes #1269
|
||
|
||
Jay Satiro (20 Feb 2017)
|
||
- [Max Khon brought this change]
|
||
|
||
digest_sspi: Fix nonce-count generation in HTTP digest
|
||
|
||
- on the first invocation: keep security context returned by
|
||
InitializeSecurityContext()
|
||
|
||
- on subsequent invocations: use MakeSignature() instead of
|
||
InitializeSecurityContext() to generate HTTP digest response
|
||
|
||
Bug: https://github.com/curl/curl/issues/870
|
||
Reported-by: Andreas Roth
|
||
|
||
Closes https://github.com/curl/curl/pull/1251
|
||
|
||
- examples/multi-uv: checksrc compliance
|
||
|
||
Michael Kaufmann (19 Feb 2017)
|
||
- string formatting: fix 4 printf-style format strings
|
||
|
||
Dan Fandrich (18 Feb 2017)
|
||
- tests: removed the obsolete name parameter
|
||
|
||
Michael Kaufmann (18 Feb 2017)
|
||
- speed caps: update the timeouts if the speed is too low/high
|
||
|
||
Follow-up to 4b86113
|
||
|
||
Fixes https://github.com/curl/curl/issues/793
|
||
Fixes https://github.com/curl/curl/issues/942
|
||
|
||
- docs: fix timeout handling in multi-uv example
|
||
|
||
- proxy: fix hostname resolution and IDN conversion
|
||
|
||
Properly resolve, convert and log the proxy host names.
|
||
Support the "--connect-to" feature for SOCKS proxies and for passive FTP
|
||
data transfers.
|
||
|
||
Follow-up to cb4e2be
|
||
|
||
Reported-by: Jay Satiro
|
||
Fixes https://github.com/curl/curl/issues/1248
|
||
|
||
Jay Satiro (17 Feb 2017)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
http: fix missing 'Content-Length: 0' while negotiating auth
|
||
|
||
- While negotiating auth during PUT/POST if a user-specified
|
||
Content-Length header is set send 'Content-Length: 0'.
|
||
|
||
This is what we do already in HTTPREQ_POST_FORM and what we did in the
|
||
HTTPREQ_POST case (regression since afd288b).
|
||
|
||
Prior to this change no Content-Length header would be sent in such a
|
||
case.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-02/0006.html
|
||
Reported-by: Dominik Hölzl
|
||
|
||
Closes https://github.com/curl/curl/pull/1242
|
||
|
||
Daniel Stenberg (16 Feb 2017)
|
||
- [Simon Warta brought this change]
|
||
|
||
winbuild: add note on auto-detection of MACHINE in Makefile.vc
|
||
|
||
Closes #1265
|
||
|
||
- RELEASE-PROCEDURE: update the upcoming release calendar
|
||
|
||
- TODO: consider file name from the redirected URL with -O ?
|
||
|
||
It isn't easily solved, but with some thinking someone could probably
|
||
come up with a working approach?
|
||
|
||
Closes #1241
|
||
|
||
Jay Satiro (15 Feb 2017)
|
||
- tool_urlglob: Allow a glob range with the same start and stop
|
||
|
||
For example allow ranges like [1-1] and [a-a] etc.
|
||
|
||
Regression since 5ca96cb.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1238
|
||
Reported-by: R. Dennis Steed
|
||
|
||
Daniel Stenberg (15 Feb 2017)
|
||
- axtls: adapt to API changes
|
||
|
||
Builds with axTLS 2.1.2. This then also breaks compatibility with axTLS
|
||
< 2.1.0 (the older API)
|
||
|
||
... and fix the session_id mixup brought in 04b4ee549
|
||
|
||
Fixes #1220
|
||
|
||
- RELEASE-NOTES: synced with 690935390c29c
|
||
|
||
- [Nick Draffen brought this change]
|
||
|
||
curl: fix typo in time condition warning message
|
||
|
||
The warning message had a typo. The argument long form is --time-cond
|
||
not --timecond
|
||
|
||
Closes #1263
|
||
|
||
- smb: code indent
|
||
|
||
Jay Satiro (14 Feb 2017)
|
||
- configure: Allow disabling pthreads, fall back on Win32 threads
|
||
|
||
When the threaded resolver option is specified for configure the default
|
||
thread library is pthreads. This change makes it possible to
|
||
--disable-pthreads and then configure can fall back on Win32 threads for
|
||
native Windows builds.
|
||
|
||
Closes https://github.com/curl/curl/pull/1260
|
||
|
||
Daniel Stenberg (13 Feb 2017)
|
||
- http2: fix memory-leak when denying push streams
|
||
|
||
Reported-by: zelinchen@users.noreply.github.com
|
||
Fixes #1229
|
||
|
||
Jay Satiro (11 Feb 2017)
|
||
- tool_operate: Show HTTPS-Proxy options on CURLE_SSL_CACERT
|
||
|
||
When CURLE_SSL_CACERT occurs the tool shows a lengthy error message to
|
||
the user explaining possible solutions such as --cacert and --insecure.
|
||
|
||
This change appends to that message similar options --proxy-cacert and
|
||
--proxy-insecure when there's a specified HTTPS proxy.
|
||
|
||
Closes https://github.com/curl/curl/issues/1258
|
||
|
||
Daniel Stenberg (10 Feb 2017)
|
||
- cmdline-opts/page-footer: ftp.sunet.se is no longer an FTP mirror
|
||
|
||
- URL: only accept ";options" in SMTP/POP3/IMAP URL schemes
|
||
|
||
Fixes #1252
|
||
|
||
Jay Satiro (9 Feb 2017)
|
||
- cmdline-opts/socks*: Mention --preproxy in --socks* opts
|
||
|
||
- Document in --socks* opts they're still mutually exclusive of --proxy.
|
||
|
||
Partial revert of 423a93c; I had misinterpreted the SOCKS proxy +
|
||
HTTP/HTTPS proxy combination.
|
||
|
||
- Document in --socks* opts that --preproxy can be used to specify a
|
||
SOCKS proxy at the same time --proxy is used with an HTTP/HTTPS proxy.
|
||
|
||
Daniel Stenberg (9 Feb 2017)
|
||
- CURLOPT_SSL_VERIFYPEER.3: also the https proxy version
|
||
|
||
Kamil Dudka (9 Feb 2017)
|
||
- nss: make FTPS work with --proxytunnel
|
||
|
||
If the NSS code was in the middle of a non-blocking handshake and it
|
||
was asked to finish the handshake in blocking mode, it unexpectedly
|
||
continued in the non-blocking mode, which caused a FTPS connection
|
||
over CONNECT to fail with "(81) Socket not ready for send/recv".
|
||
|
||
Bug: https://bugzilla.redhat.com/1420327
|
||
|
||
Daniel Stenberg (9 Feb 2017)
|
||
- examples/multithread.c: link to our multi-thread docs
|
||
|
||
... instead of the OpenSSL mutex page.
|
||
|
||
- http_proxy: avoid freeing static memory
|
||
|
||
Follow up to 7fe81ec298e0: make sure 'host' is either NULL or malloced.
|
||
|
||
- [Cameron MacMinn brought this change]
|
||
|
||
http_proxy: Fix tiny memory leak upon edge case connecting to proxy
|
||
|
||
Fixes #1255
|
||
|
||
Michael Kaufmann (8 Feb 2017)
|
||
- polarssl, mbedtls: Fix detection of pending data
|
||
|
||
Reported-by: Dan Fandrich
|
||
Bug: https://curl.haxx.se/mail/lib-2017-02/0032.html
|
||
|
||
Dan Fandrich (7 Feb 2017)
|
||
- test1139: Added the --manual keyword since the manual is required
|
||
|
||
Daniel Stenberg (7 Feb 2017)
|
||
- RELEASE-NOTES: synced with 102454459dd688c
|
||
|
||
- THANKS-filter: polish some recent contributors
|
||
|
||
- http2: reset push header counter fixes crash
|
||
|
||
When removing an easy handler from a multi before it completed its
|
||
transfer, and it had pushed streams, it would segfault due to the pushed
|
||
counted not being cleared.
|
||
|
||
Fixed-by: zelinchen@users.noreply.github.com
|
||
Fixes #1249
|
||
|
||
- [Markus Westerlind brought this change]
|
||
|
||
transfer: only retry nobody-requests for HTTP
|
||
|
||
Using sftp to delete a file with CURLOPT_NOBODY set with a reused
|
||
connection would fail as curl expected to get some data. Thus it would
|
||
retry the command again which fails as the file has already been
|
||
deleted.
|
||
|
||
Fixes #1243
|
||
|
||
Jay Satiro (7 Feb 2017)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
telnet: Fix typos
|
||
|
||
Ref: https://github.com/curl/curl/pull/1245
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
test552: Fix typos
|
||
|
||
Closes https://github.com/curl/curl/pull/1245
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
darwinssl: Avoid parsing certificates when not in verbose mode
|
||
|
||
The information extracted from the server certificates in step 3 is only
|
||
used when in verbose mode, and there is no error handling or validation
|
||
performed as that has already been done. Only run the certificate
|
||
information extraction when in verbose mode and libcurl was built with
|
||
verbose strings.
|
||
|
||
Closes https://github.com/curl/curl/pull/1246
|
||
|
||
- [JDepooter brought this change]
|
||
|
||
schannel: Remove incorrect SNI disabled message
|
||
|
||
- Remove the SNI disabled when host verification disabled message
|
||
since that is incorrect.
|
||
|
||
- Show a message for legacy versions of Windows <= XP that connections
|
||
may fail since those versions of WinSSL lack SNI, algorithms, etc.
|
||
|
||
Bug: https://github.com/curl/curl/pull/1240
|
||
|
||
Daniel Stenberg (7 Feb 2017)
|
||
- CHANGES: spell fix, use correct path to script
|
||
|
||
- CHANGES.0: removed
|
||
|
||
This is the previously manually edited changelog, not touched since Aug
|
||
2015. Still present in git for those who wants it.
|
||
|
||
Dan Fandrich (6 Feb 2017)
|
||
- cmdline-opts: Fixed build and test in out of source tree builds
|
||
|
||
Viktor Szakats (6 Feb 2017)
|
||
- use *.sourceforge.io and misc URL updates
|
||
|
||
Ref: https://sourceforge.net/blog/introducing-https-for-project-websites/
|
||
Closes: https://github.com/curl/curl/pull/1247
|
||
|
||
Jay Satiro (6 Feb 2017)
|
||
- docs: Add more HTTPS proxy documentation
|
||
|
||
- Document HTTPS proxy type.
|
||
|
||
- Document --write-out %{proxy_ssl_verify_result}.
|
||
|
||
- Document SOCKS proxy + HTTP/HTTPS proxy combination.
|
||
|
||
HTTPS proxy support was added in 7.52.0 for OpenSSL, GnuTLS and NSS.
|
||
|
||
Ref: https://github.com/curl/curl/commit/cb4e2be
|
||
|
||
- OS400: Fix symbols
|
||
|
||
- s/CURLOPT_SOCKS_PROXY/CURLOPT_PRE_PROXY
|
||
Follow-up to 7907a2b and 845522c.
|
||
|
||
- Fix incorrect id for CURLOPT_PROXY_PINNEDPUBLICKEY.
|
||
|
||
- Add id for CURLOPT_ABSTRACT_UNIX_SOCKET.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1237
|
||
Reported-by: jonrumsey@users.noreply.github.com
|
||
|
||
- [Sean Burford brought this change]
|
||
|
||
cmake: Support curl --xattr when built with cmake
|
||
|
||
- Test for and set HAVE_FSETXATTR when support for extended file
|
||
attributes is present.
|
||
|
||
Closes https://github.com/curl/curl/pull/1176
|
||
|
||
- [Adam Langley brought this change]
|
||
|
||
openssl: Don't use certificate after transferring ownership
|
||
|
||
SSL_CTX_add_extra_chain_cert takes ownership of the given certificate
|
||
while, despite the similar name, SSL_CTX_add_client_CA does not. Thus
|
||
it's best to call SSL_CTX_add_client_CA before
|
||
SSL_CTX_add_extra_chain_cert, while the code still has ownership of the
|
||
argument.
|
||
|
||
Closes https://github.com/curl/curl/pull/1236
|
||
|
||
Daniel Stenberg (29 Jan 2017)
|
||
- [Antoine Aubert brought this change]
|
||
|
||
mbedtls: implement CTR-DRBG and HAVEGE random generators
|
||
|
||
closes #1227
|
||
|
||
- docs: we no longer ship HTML versions of man pages
|
||
|
||
... refer to the web site for the web versions.
|
||
|
||
- [railsnewbie257 brought this change]
|
||
|
||
docs: proofread README.netware README.win32
|
||
|
||
Closes #1231
|
||
|
||
- RELEASE-NOTES; synced with ab08d82648
|
||
|
||
Michael Kaufmann (28 Jan 2017)
|
||
- mbedtls: disable TLS session tickets
|
||
|
||
SSL session reuse with TLS session tickets is not supported yet.
|
||
Use SSL session IDs instead.
|
||
|
||
See https://github.com/curl/curl/issues/1109
|
||
|
||
- gnutls: disable TLS session tickets
|
||
|
||
SSL session reuse with TLS session tickets is not supported yet.
|
||
Use SSL session IDs instead.
|
||
|
||
Fixes https://github.com/curl/curl/issues/1109
|
||
|
||
- polarssl: fix hangs
|
||
|
||
This bugfix is similar to commit c111178bd4.
|
||
|
||
Daniel Stenberg (27 Jan 2017)
|
||
- cookies: do not assume a valid domain has a dot
|
||
|
||
This repairs cookies for localhost.
|
||
|
||
Non-PSL builds will now only accept "localhost" without dots, while PSL
|
||
builds okeys everything not listed as PSL.
|
||
|
||
Added test 1258 to verify.
|
||
|
||
This was a regression brought in a76825a5efa6b4
|
||
|
||
- TODO: remove "Support TLS v1.3"
|
||
|
||
Support is trickling in already.
|
||
|
||
- [railsnewbie257 brought this change]
|
||
|
||
INTERNALS.md: language improvements
|
||
|
||
Closes #1226
|
||
|
||
- telnet: fix windows compiler warnings
|
||
|
||
Thumbs-up-by: Jay Satiro
|
||
|
||
Closes #1225
|
||
|
||
- VC: remove the makefile.vc6 build infra
|
||
|
||
The winbuild/ build files is now the single MSVC makefile build choice.
|
||
|
||
Closes #1215
|
||
|
||
- [Jay Satiro brought this change]
|
||
|
||
cmdline-opts/gen.pl: Open input files in CRLF mode
|
||
|
||
On Windows it's possible to have input files with CRLF line endings and
|
||
a perl that defaults to LF line endings (eg msysgit). Currently that
|
||
results in generator output of mixed line endings of CR, LF and CRLF.
|
||
|
||
This change fixes that issue in the most succinct way by opening the
|
||
files in :crlf text mode even when the perl being used does not default
|
||
to that mode. (On operating systems that don't have a separate text mode
|
||
it's essentially a no-op.) The output continues to be in the perl's
|
||
native line ending.
|
||
|
||
- docs/curl.1: generate from the cmdline-opts script
|
||
|
||
- vtls: source indentation fix
|
||
|
||
- contri*.sh: cut off parentheses from names too
|
||
|
||
- RELEASE-NOTES: synced with 01ab7c30bba6f
|
||
|
||
- vtls: fix PolarSSL non-blocking handling
|
||
|
||
A regression brought in cb4e2be
|
||
|
||
Reported-by: Michael Kaufmann
|
||
Bug: https://github.com/curl/curl/issues/1174#issuecomment-274018791
|
||
|
||
- [Antoine Aubert brought this change]
|
||
|
||
vtls: fix mbedtls multi non blocking handshake.
|
||
|
||
When using multi, mbedtls handshake is in non blocking mode. vtls must
|
||
set wait for read/write flags for the socket.
|
||
|
||
Closes #1223
|
||
|
||
- [Richy Kim brought this change]
|
||
|
||
CURLOPT_BUFFERSIZE: support enlarging receive buffer
|
||
|
||
Replace use of fixed macro BUFSIZE to define the size of the receive
|
||
buffer. Reappropriate CURLOPT_BUFFERSIZE to include enlarging receive
|
||
buffer size. Upon setting, resize buffer if larger than the current
|
||
default size up to a MAX_BUFSIZE (512KB). This can benefit protocols
|
||
like SFTP.
|
||
|
||
Closes #1222
|
||
|
||
- sws: use SOCKERRNO, not errno
|
||
|
||
Reported-by: Gisle Vanem
|
||
|
||
Michael Kaufmann (19 Jan 2017)
|
||
- KNOWN_BUGS: HTTP/2 server push enabled when no pushes can be accepted
|
||
|
||
This has been implemented with commit 9ad034e.
|
||
|
||
Viktor Szakats (19 Jan 2017)
|
||
- *.rc: escape non-ASCII/non-UTF-8 character for clarity
|
||
|
||
Closes https://github.com/curl/curl/pull/1217
|
||
|
||
Kamil Dudka (19 Jan 2017)
|
||
- docs: non-blocking SSL handshake is now supported with NSS
|
||
|
||
Implemented since curl-7_36_0-130-g8868a22
|
||
|
||
Reported-by: Fahim Chandurwala
|
||
|
||
Michael Kaufmann (18 Jan 2017)
|
||
- CURLOPT_CONNECT_TO: Fix compile warnings
|
||
|
||
Fix compile warnings that appeared only when curl has been configured
|
||
with '--disable-verbose'.
|
||
|
||
Daniel Stenberg (18 Jan 2017)
|
||
- usercertinmem.c: improve the short description
|
||
|
||
- parseurl: move back buffer to function scope
|
||
|
||
Regression since 1d4202ad, which moved the buffer into a more narrow
|
||
scope, but the data in that buffer was used outside of that more narrow
|
||
scope.
|
||
|
||
Reported-by: Dan Fandrich
|
||
Bug: https://curl.haxx.se/mail/lib-2017-01/0093.html
|
||
|
||
Jay Satiro (17 Jan 2017)
|
||
- openssl: Fix random generation
|
||
|
||
- Fix logic error in Curl_ossl_random.
|
||
|
||
Broken a few days ago in 807698d.
|
||
|
||
Daniel Stenberg (17 Jan 2017)
|
||
- TODO: share OpenSSL contexts
|
||
|
||
By supporting this, subsequent connects would load a lot less data from
|
||
disk.
|
||
|
||
Closes #1110
|
||
|
||
- bump: next release will be 7.53.0
|
||
|
||
Kamil Dudka (15 Jan 2017)
|
||
- nss: use the correct lock in nss_find_slot_by_name()
|
||
|
||
Alessandro Ghedini (15 Jan 2017)
|
||
- http2: disable server push if not requested
|
||
|
||
Ref: https://github.com/curl/curl/pull/1160
|
||
|
||
Daniel Stenberg (14 Jan 2017)
|
||
- [railsnewbie257 brought this change]
|
||
|
||
docs: improved language in README.md HISTORY.md CONTRIBUTE.md
|
||
|
||
Closes #1211
|
||
|
||
Alessandro Ghedini (14 Jan 2017)
|
||
- http: print correct HTTP string in verbose output when using HTTP/2
|
||
|
||
Before:
|
||
```
|
||
% src/curl https://sigsegv.ninja/ -v --http2
|
||
...
|
||
> GET / HTTP/1.1
|
||
> Host: sigsegv.ninja
|
||
> User-Agent: curl/7.52.2-DEV
|
||
> Accept: */*
|
||
>
|
||
...
|
||
```
|
||
|
||
After:
|
||
```
|
||
% src/curl https://sigsegv.ninja/ -v --http2
|
||
...
|
||
> GET / HTTP/2
|
||
> Host: sigsegv.ninja
|
||
> User-Agent: curl/7.52.2-DEV
|
||
> Accept: */*
|
||
>
|
||
```
|
||
|
||
Daniel Stenberg (14 Jan 2017)
|
||
- TODO: send only part of --data
|
||
|
||
Closes #1200
|
||
|
||
- TODO: implemened "--fail-fast to exit on first transfer fail"
|
||
|
||
Even though it is called --fail-early
|
||
|
||
- TODO: Chunked transfer multipart formpost
|
||
|
||
Closes #1139
|
||
|
||
- TODO: Improve formpost API, not just add an easy argument
|
||
|
||
- addrinfo: fix compiler warning on offsetof() use
|
||
|
||
curl_addrinfo.c:519:20: error: conversion to ‘curl_socklen_t {aka
|
||
unsigned int}’ from ‘long unsigned int’ may alter its value
|
||
[-Werror=conversion]
|
||
|
||
Follow-up to 1d786faee1046f
|
||
|
||
- THANKS-filter: Jiri Malak
|
||
|
||
- RELEASE-NOTES: synced with a7c73ae309c
|
||
|
||
Peter Wu (13 Jan 2017)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
unix_socket: add support for abstract unix domain socket
|
||
|
||
In addition to unix domain sockets, Linux also supports an
|
||
abstract namespace which is independent of the filesystem.
|
||
|
||
In order to support it, add new CURLOPT_ABSTRACT_UNIX_SOCKET
|
||
option which uses the same storage as CURLOPT_UNIX_SOCKET_PATH
|
||
internally, along with a flag to specify abstract socket.
|
||
|
||
On non-supporting platforms, the abstract address will be
|
||
interpreted as an empty string and fail gracefully.
|
||
|
||
Also add new --abstract-unix-socket tool parameter.
|
||
|
||
Signed-off-by: Isaac Boukris <iboukris@gmail.com>
|
||
Reported-by: Chungtsun Li (typeless)
|
||
Reviewed-by: Daniel Stenberg
|
||
Reviewed-by: Peter Wu
|
||
Closes #1197
|
||
Fixes #1061
|
||
|
||
Daniel Stenberg (13 Jan 2017)
|
||
- write-out.d: 'time_total' is not always shown with ms precision
|
||
|
||
We have higher resolution since 7.52.0
|
||
|
||
- next.d: --trace and --trace-ascii are also global
|
||
|
||
- [Isaac Boukris brought this change]
|
||
|
||
curl: reset the easy handle at --next
|
||
|
||
So that only "global" options (verbose mostly) survive into the next
|
||
transfer, and the others have to be set again unless default is fine.
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
docs: Add note about libcurl copying strings to CURLOPT_* manpages
|
||
|
||
Closes #1169
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
CURLOPT_PREQUOTE.3: takes a struct curl_slist*, not a char*
|
||
|
||
- IDN: Use TR46 non-transitional
|
||
|
||
Assisted-by: Tim Rühsen
|
||
|
||
- IDN: revert use of the transitional option
|
||
|
||
It made the german ß get converted to ss, IDNA2003 style, and we can't
|
||
have that for the .de TLD - a primary reason for our switch to IDNA2008.
|
||
|
||
Test 165 verifies.
|
||
|
||
- [Tim Rühsen brought this change]
|
||
|
||
IDN: Fix compile time detection of linidn2 TR46
|
||
|
||
Follow-up to f30cbcac1
|
||
|
||
Closes #1207
|
||
|
||
- [ERAMOTO Masaya brought this change]
|
||
|
||
url: --noproxy option overrides NO_PROXY environment variable
|
||
|
||
Under condition using http_proxy env var, noproxy list was the
|
||
combination of --noproxy option and NO_PROXY env var previously. Since
|
||
this commit, --noproxy option overrides NO_PROXY environment variable
|
||
even if use http_proxy env var.
|
||
|
||
Closes #1140
|
||
|
||
- [ERAMOTO Masaya brought this change]
|
||
|
||
url: Refactor detect_proxy()
|
||
|
||
If defined CURL_DISABLE_HTTP, detect_proxy() returned NULL. If not
|
||
defined CURL_DISABLE_HTTP, detect_proxy() checked noproxy list.
|
||
|
||
Thus refactor to set proxy to NULL instead of calling detect_proxy() if
|
||
define CURL_DISABLE_HTTP, and refactor to call detect_proxy() if not
|
||
define CURL_DISABLE_HTTP and the host is not in the noproxy list.
|
||
|
||
- [ERAMOTO Masaya brought this change]
|
||
|
||
url: Fix NO_PROXY env var to work properly with --proxy option.
|
||
|
||
The combination of --noproxy option and http_proxy env var works well
|
||
both for proxied hosts and non-proxied hosts.
|
||
|
||
However, when combining NO_PROXY env var with --proxy option,
|
||
non-proxied hosts are not reachable while proxied host is OK.
|
||
|
||
This patch allows us to access non-proxied hosts even if using NO_PROXY
|
||
env var with --proxy option.
|
||
|
||
- [Tim Rühsen brought this change]
|
||
|
||
IDN: Use TR46 'transitional' for toASCII translations
|
||
|
||
References: http://unicode.org/faq/idn.html
|
||
http://unicode.org/reports/tr46
|
||
|
||
Closes #1206
|
||
|
||
- [railsnewbie257 brought this change]
|
||
|
||
docs: FAQ MAIL-ETIQUETTE language fixes
|
||
|
||
Closes #1194
|
||
|
||
- [Marcus Hoffmann brought this change]
|
||
|
||
gnutls: check for alpn and ocsp in configure
|
||
|
||
Check for presence of gnutls_alpn_* and gnutls_ocsp_* functions during
|
||
configure instead of relying on the version number. GnuTLS has options
|
||
to turn these features off and we ca just work with with such builds
|
||
like we work with older versions.
|
||
|
||
Signed-off-by: Marcus Hoffmann <m.hoffmann@cartelsol.com>
|
||
|
||
Closes #1204
|
||
|
||
Jay Satiro (12 Jan 2017)
|
||
- url: Fix parsing for when 'file' is the default protocol
|
||
|
||
Follow-up to 3463408.
|
||
|
||
Prior to 3463408 file:// hostnames were silently stripped.
|
||
|
||
Prior to this commit it did not work when a schemeless url was used with
|
||
file as the default protocol.
|
||
|
||
Ref: https://curl.haxx.se/mail/lib-2016-11/0081.html
|
||
Closes https://github.com/curl/curl/pull/1124
|
||
|
||
Also fix for drive letters:
|
||
|
||
- Support --proto-default file c:/foo/bar.txt
|
||
|
||
- Support file://c:/foo/bar.txt
|
||
|
||
- Fail when a file:// drive letter is detected and not MSDOS/Windows.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1187
|
||
Reported-by: Anatol Belski
|
||
Assisted-by: Anatol Belski
|
||
|
||
Daniel Stenberg (12 Jan 2017)
|
||
- rand: make it work without TLS backing
|
||
|
||
Regression introduced in commit f682156a4fc6c4
|
||
|
||
Reported-by: John Kohl
|
||
Bug: https://curl.haxx.se/mail/lib-2017-01/0055.html
|
||
|
||
Jay Satiro (12 Jan 2017)
|
||
- STARTTLS: Don't print response character in denied messages
|
||
|
||
Both IMAP and POP3 response characters are used internally, but when
|
||
appended to the STARTTLS denial message likely could confuse the user.
|
||
|
||
Closes https://github.com/curl/curl/pull/1203
|
||
|
||
- smtp: Fix STARTTLS denied error message
|
||
|
||
- Format the numeric denial code as an integer instead of a character.
|
||
|
||
Daniel Stenberg (11 Jan 2017)
|
||
- http2_send: avoid unsigned integer wrap around
|
||
|
||
... when checking for a too large request.
|
||
|
||
Jay Satiro (9 Jan 2017)
|
||
- [Jiri Malak brought this change]
|
||
|
||
cmake: Fix passing _WINSOCKAPI_ macro to compiler
|
||
|
||
Define _WINSOCKAPI_ blank rather than to 1 in order to match the value
|
||
used by Microsoft's winsock header files.
|
||
|
||
Closes https://github.com/curl/curl/pull/1195
|
||
|
||
Daniel Stenberg (9 Jan 2017)
|
||
- sws: retry send() on EWOULDBLOCK
|
||
|
||
Fixes spurious test 1060 and 1061 failures on OpenBSD, Solaris and more.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-01/0009.html
|
||
Reported-by: Christian Weisgerber
|
||
|
||
- RELEASE-NOTES: synced with a41e8592d6b3e58
|
||
|
||
- examples: make the C++ examples follow our code style too
|
||
|
||
At least mostly, not counting // comments.
|
||
|
||
- [Aulddays brought this change]
|
||
|
||
asiohiper: improved socket handling
|
||
|
||
libcurl requires CURLMOPT_SOCKETFUNCTION to KEEP watching socket events
|
||
and notify back. Modify event_cb() to continue watching events when
|
||
fired.
|
||
|
||
Fixes #1191
|
||
Closes #1192
|
||
Fixed-by: Mingliang Zhu
|
||
|
||
- [Jiří Malák brought this change]
|
||
|
||
lib506: fix build for Open Watcom
|
||
|
||
Rename symbol lock to locks to not clash with OW CRTL function name.
|
||
|
||
Closes #1196
|
||
|
||
- ROADMAP: 2017 cleanup
|
||
|
||
Removed items already fixed, clarified a few others.
|
||
|
||
- COPYING: update the generic copyright year range
|
||
|
||
- docs/silent: mention --show-error in --silent description
|
||
|
||
Reported in #1190
|
||
Reported-by: Dan Jacobson
|
||
|
||
- docs/page-header: mention how to disable the progress meter
|
||
|
||
curl.1 is regenerated
|
||
|
||
Fixes #1190
|
||
|
||
Dan Fandrich (7 Jan 2017)
|
||
- wolfssl: display negotiated SSL version and cipher
|
||
|
||
- wolfssl: support setting cipher list
|
||
|
||
Patrick Monnerat (6 Jan 2017)
|
||
- CIPHERS.md: document GSKit ciphers
|
||
|
||
Jay Satiro (5 Jan 2017)
|
||
- [peterpih brought this change]
|
||
|
||
TheArtOfHttpScripting: grammar
|
||
|
||
Nick Zitzmann (3 Jan 2017)
|
||
- darwinssl: --insecure overrides --cacert if both settings are in use
|
||
|
||
Fixes #1184
|
||
|
||
Jay Satiro (2 Jan 2017)
|
||
- docs/libcurl: TCP_KEEPALIVE start and interval default to 60
|
||
|
||
Since the TCP keep-alive options were added in 705f0f7 the start and
|
||
interval default values have been 60, but that wasn't documented.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-01/0000.html
|
||
Reported-by: Praveen Pvs
|
||
|
||
Daniel Stenberg (29 Dec 2016)
|
||
- curl.h: CURLE_FUNCTION_NOT_FOUND is no longer in use
|
||
|
||
This error code was once introduced when some library was dynamically
|
||
loaded and a funciton within said library couldn't be found.
|
||
|
||
- content_encoding: change return code on a failure
|
||
|
||
Failure to decompress is now a write error instead of the weird
|
||
"function not found".
|
||
|
||
- page-footer: error 36 is protocol agnostic!
|
||
|
||
Jay Satiro (28 Dec 2016)
|
||
- tool_operate: Fix --remote-time incorrect times on Windows
|
||
|
||
- Use Windows API SetFileTime to set the file time instead of utime.
|
||
|
||
Avoid utime on Windows if possible because it may apply a daylight
|
||
saving time offset to our UTC file time.
|
||
|
||
Bug: https://curl.haxx.se/mail/archive-2016-11/0033.html
|
||
Reported-by: Tim
|
||
|
||
Closes https://github.com/curl/curl/pull/1121
|
||
|
||
Daniel Stenberg (29 Dec 2016)
|
||
- [Max Khon brought this change]
|
||
|
||
digest_sspi: copy terminating NUL as well
|
||
|
||
Curl_auth_decode_digest_http_message(): copy terminating NUL as later
|
||
Curl_override_sspi_http_realm() expects a NUL-terminated string.
|
||
|
||
Fixes #1180
|
||
|
||
- curl_formadd.3: CURLFORM_CONTENTSLENGTH not needed when chunked
|
||
|
||
Mentioned in #1013
|
||
|
||
- [Kyselgov E.N brought this change]
|
||
|
||
cmake: use crypt32.lib when building with OpenSSL on windows
|
||
|
||
Reviewed-by: Peter Wu
|
||
Closes #1149
|
||
Fixes #1147
|
||
|
||
- [Chris Araman brought this change]
|
||
|
||
darwinssl: fix CFArrayRef leak
|
||
|
||
Reviewed-by: Nick Zitzmann
|
||
Closes #1173
|
||
|
||
- [Chris Araman brought this change]
|
||
|
||
darwinssl: fix iOS build
|
||
|
||
Reviewed-by: Nick Zitzmann
|
||
Fixes #1172
|
||
|
||
- curl: remove superfluous include file
|
||
|
||
The <netinet/tcp.h> is a leftover from the past when TCP socket options
|
||
were set in this file. This include causes build issues on AIX 4.3.
|
||
|
||
Reported-by: Kim Minjoong
|
||
|
||
Closes #1178
|
||
|
||
- RELEASE-NOTES: synced with a7b38c9dc98481e
|
||
|
||
- vtls: s/SSLEAY/OPENSSL
|
||
|
||
Fixed an old leftover use of the USE_SSLEAY define which would make a
|
||
socket get removed from the applications sockets to monitor when the
|
||
multi_socket API was used, leading to timeouts.
|
||
|
||
Bug: #1174
|
||
|
||
- docs/ciphers: link to our own new page about ciphers
|
||
|
||
... as the former ones always go stale!
|
||
|
||
- cmdline-opts/page-footer: add three more exit codes
|
||
|
||
... and regenerated curl.1
|
||
|
||
- formdata: use NULL, not 0, when returning pointers
|
||
|
||
- ftp: failure to resolve proxy should return that error code
|
||
|
||
- configure: accept --with-libidn2 instead
|
||
|
||
... which the help text already implied since we switched to libidn2
|
||
from libidn in commit 9c91ec778104ae3b back in October 2016.
|
||
|
||
Reported-by: Christian Weisgerber
|
||
Bug: https://curl.haxx.se/mail/lib-2016-12/0110.html
|
||
|
||
- test1282: verify the ftp-gss check
|
||
|
||
- ftp-gss: check for init before use
|
||
|
||
To avoid dereferencing a NULL pointer.
|
||
|
||
Reported-by: Daniel Romero
|
||
|
||
Jay Satiro (24 Dec 2016)
|
||
- build-wolfssl: Sync config with wolfSSL 3.10
|
||
|
||
wolfSSL configure script relevant changes from 3.9 to 3.10:
|
||
|
||
- DES3 no longer enabled by default
|
||
- Shamir no longer enabled by default
|
||
- Extended master secret enabled by default
|
||
- RSA and ECC timing protections enabled by default
|
||
|
||
For backwards compatibility I enabled DES3 and ECC shamir config options
|
||
(ie no change from 3.9), and the other changes are included.
|
||
|
||
- cyassl: use time_t instead of long for timeout
|
||
|
||
Daniel Stenberg (23 Dec 2016)
|
||
- bump: toward next release
|
||
|
||
- http: remove "Curl_http_done: called premature" message
|
||
|
||
... it only confuses people.
|
||
|
||
- openssl-random: check return code when asking for random
|
||
|
||
and fail appropriately if it returns error
|
||
|
||
- gnutls-random: check return code for failed random
|
||
|
||
Version 7.52.1 (22 Dec 2016)
|
||
|
||
Daniel Stenberg (22 Dec 2016)
|
||
- RELEASE-NOTES: curl 7.52.1
|
||
|
||
- lib557.c: use a shorter MAXIMIZE representation
|
||
|
||
Since several compilers had problems with the previous one
|
||
|
||
Reported-by: Ray Satiro
|
||
Bug: https://curl.haxx.se/mail/lib-2016-12/0098.html
|
||
|
||
- runtests: remove the valgrind parser
|
||
|
||
Old legacy parsing that 1) hid problems for us and 2) probably isn't
|
||
needed anymore.
|
||
|
||
- [Kamil Dudka brought this change]
|
||
|
||
randit: store the value in the buffer
|
||
|
||
- tests/Makefile: run checksrc on debug builds
|
||
|
||
... just like we already do in src/ and lib/
|
||
|
||
- lib557: move the "enable LONGLINE" to allow more long lines
|
||
|
||
This file is riddled with them...
|
||
|
||
- bump: toward next release
|
||
|
||
Marcel Raad (21 Dec 2016)
|
||
- lib: fix MSVC compiler warnings
|
||
|
||
Visual C++ complained:
|
||
warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data
|
||
warning C4701: potentially uninitialized local variable 'path' used
|
||
|
||
Version 7.52.0 (20 Dec 2016)
|
||
|
||
Daniel Stenberg (20 Dec 2016)
|
||
- THANKS: 13 new contributors from 7.52.0
|
||
|
||
- RELEASE-NOTES: 7.52.0
|
||
|
||
- ssh: inhibit coverity warning with (void)
|
||
|
||
CID 1397391 (#1 of 1): Unchecked return value (CHECKED_RETURN)
|
||
|
||
- Curl_recv_has_postponed_data: silence compiler warnings
|
||
|
||
Follow-up to d00f2a8f2
|
||
|
||
Jay Satiro (19 Dec 2016)
|
||
- tests: checksrc compliance
|
||
|
||
- http_proxy: Fix proxy CONNECT hang on pending data
|
||
|
||
- Check for pending data before waiting on the socket.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1156
|
||
Reported-by: Adam Langley
|
||
|
||
Daniel Stenberg (19 Dec 2016)
|
||
- cmdline-opts/tlsv1.d: rephrased
|
||
|
||
- [Dan McNulty brought this change]
|
||
|
||
schannel: fix wildcard cert name validation on Win CE
|
||
|
||
Fixes a few issues in manual wildcard cert name validation in
|
||
schannel support code for Win32 CE:
|
||
- when comparing the wildcard name to the hostname, the wildcard
|
||
character was removed from the cert name and the hostname
|
||
was checked to see if it ended with the modified cert name.
|
||
This allowed cert names like *.com to match the connection
|
||
hostname. This violates recommendations from RFC 6125.
|
||
- when the wildcard name in the certificate is longer than the
|
||
connection hostname, a buffer overread of the connection
|
||
hostname buffer would occur during the comparison of the
|
||
certificate name and the connection hostname.
|
||
|
||
- printf: fix floating point buffer overflow issues
|
||
|
||
... and add a bunch of floating point printf tests
|
||
|
||
- config-amigaos.h: (embarrassed) made the line shorter
|
||
|
||
- config-amigaos.h: fix bug report email reference
|
||
|
||
- RELEASE-NOTES: synced with 4517158abfeba
|
||
|
||
- CIPHERS.md: backtick the names to show underscores fine
|
||
|
||
- form-string.d: fix format mistake
|
||
|
||
and regenerated curl.1
|
||
|
||
Reported-by: Gisle Vanem
|
||
|
||
Michael Kaufmann (18 Dec 2016)
|
||
- openssl: simplify expression in Curl_ossl_version
|
||
|
||
- curl_easy_recv: Improve documentation and example program
|
||
|
||
Follow-up to 82245ea: Fix the example program sendrecv.c (handle
|
||
CURLE_AGAIN, handle incomplete send). Improve the documentation
|
||
for curl_easy_recv() and curl_easy_send().
|
||
|
||
Reviewed-by: Frank Meier
|
||
Assisted-by: Jay Satiro
|
||
|
||
See https://github.com/curl/curl/pull/1134
|
||
|
||
- [Isaac Boukris brought this change]
|
||
|
||
Curl_getconnectinfo: avoid checking if the connection is closed
|
||
|
||
It doesn't benefit us much as the connection could get closed at
|
||
any time, and also by checking we lose the ability to determine
|
||
if the socket was closed by reading zero bytes.
|
||
|
||
Reported-by: Michael Kaufmann
|
||
|
||
Closes https://github.com/curl/curl/pull/1134
|
||
|
||
Daniel Stenberg (18 Dec 2016)
|
||
- CIPHERS.md: attempt to document TLS cipher names
|
||
|
||
As the official docs seems really hard to keep track of and link to over
|
||
time
|
||
|
||
- curl.1: generated after 6cce4dbf830
|
||
|
||
- cmdline-opts/post30X.d: fix the RFC references
|
||
|
||
- curl.1: regenerated
|
||
|
||
Fixed trailing whitespace and numerous formatting glitches
|
||
|
||
- cmdline-opts: formatting fixes
|
||
|
||
- curl_easy_setopt.3: removed CURLOPT_SOCKS_PROXYTYPE
|
||
|
||
- tool_getparam.c: make comments use the up-to-date option names
|
||
|
||
- manpage-scan.pl: allow deprecated options to get removed from curl.1
|
||
|
||
--krb4, --ftp-ssl and --ftp-ssl-reqd no longer need to be documented in the
|
||
man page
|
||
|
||
- cmdline-opts/gen.pl: trim off trailing spaces
|
||
|
||
- cmdline-opts/proxy-tlsuser.d: remove trailing .d
|
||
|
||
- curl_easy_setopt.3: CURLOPT_PRE_PROXY instead of CURLOPT_SOCKS_PROXY
|
||
|
||
- symbols: removed two, added one
|
||
|
||
- cmdline-opts: include the man page split up files in the dist
|
||
|
||
- curl.1: generated with gen.pl
|
||
|
||
This is the first time we replace the manually edited curt.1 with the
|
||
generated one created by gen.pl and the individual option documentation
|
||
pages.
|
||
|
||
Do not edit this file, edit the individual pages and regenerate this
|
||
output.
|
||
|
||
This file will be generated by the build system soon and then removed
|
||
from git.
|
||
|
||
- cmdline-opts: added some missing info
|
||
|
||
- CURLINFO_SSL_VERIFYRESULT.3: language
|
||
|
||
- HTTPS-PROXY docs: update/polish
|
||
|
||
- cmdline-opts/page-header: mention it is generated
|
||
|
||
... to avoid people from trying to edit the pending curl.1 version that
|
||
gets generated by gen.pl
|
||
|
||
- preproxy: renamed what was added as SOCKS_PROXY
|
||
|
||
CURLOPT_SOCKS_PROXY -> CURLOPT_PRE_PROXY
|
||
|
||
Added the corresponding --preroxy command line option. Sets a SOCKS
|
||
proxy to connect to _before_ connecting to a HTTP(S) proxy.
|
||
|
||
- curl: normal socks proxies still use CURLOPT_PROXY
|
||
|
||
... the newly introduced CURLOPT_SOCKS_PROXY is special and should be
|
||
asked for specially. (Needs new code.)
|
||
|
||
Unified proxy type to a single variable in the config struct.
|
||
|
||
- CURLOPT_SOCKS_PROXYTYPE: removed
|
||
|
||
This was added as part of the SOCKS+HTTPS proxy merge but there's no
|
||
need to support this as we prefer to have the protocol specified as a
|
||
prefix instead.
|
||
|
||
- curl_multi_socket.3: fix typo
|
||
|
||
- checksrc: warn for assignments within if() expressions
|
||
|
||
... they're already frowned upon in our source code style guide, this
|
||
now enforces the rule harder.
|
||
|
||
- checksrc: stricter no-space-before-paren enforcement
|
||
|
||
In order to make the code style more uniform everywhere
|
||
|
||
- ISSUE_TEMPLATE: try mentioning known bugs/todo in new issue template
|
||
|
||
- RELEASE-NOTES: synced with 71a55534fa6
|
||
|
||
- [Adam Langley brought this change]
|
||
|
||
openssl: don't use OpenSSL's ERR_PACK.
|
||
|
||
ERR_PACK is an internal detail of OpenSSL. Also, when using it, a
|
||
function name must be specified which is overly specific: the test will
|
||
break whenever OpenSSL internally change things so that a different
|
||
function creates the error.
|
||
|
||
Closes #1157
|
||
|
||
Dan Fandrich (5 Dec 2016)
|
||
- test2032: Mark test as flaky
|
||
|
||
Jay Satiro (3 Dec 2016)
|
||
- [Jeremy Pearson brought this change]
|
||
|
||
libcurl-multi.3: typo
|
||
|
||
Closes https://github.com/curl/curl/pull/1153
|
||
|
||
Dan Fandrich (2 Dec 2016)
|
||
- test1281: added http as a required feature
|
||
|
||
Daniel Stenberg (2 Dec 2016)
|
||
- curl: support zero-length argument strings in config files
|
||
|
||
... like 'user-agent = ""'
|
||
|
||
Adjusted test 71 to verify.
|
||
|
||
- http_proxy: simplify CONNECT response reading
|
||
|
||
Since it now reads responses one byte a time, a loop could be removed
|
||
and it is no longer limited to get the whole response within 16K, it is
|
||
now instead only limited to 16K maximum header line lengths.
|
||
|
||
- tests: fix CONNECT test cases to be more strict
|
||
|
||
... as they broke with the cleaned up CONNECT handling
|
||
|
||
- CONNECT: read responses one byte at a time
|
||
|
||
... so that it doesn't read data that is actually coming from the
|
||
remote. 2xx responses have no body from the proxy, that data is from the
|
||
peer.
|
||
|
||
Fixes #1132
|
||
|
||
- CONNECT: reject TE or CL in 2xx responses
|
||
|
||
A server MUST NOT send any Transfer-Encoding or Content-Length header
|
||
fields in a 2xx (Successful) response to CONNECT. (RFC 7231 section
|
||
4.3.6)
|
||
|
||
Also fixes the three test cases that did this.
|
||
|
||
- URL parser: reject non-numerical port numbers
|
||
|
||
Test 1281 added to verify
|
||
|
||
Dan Fandrich (30 Nov 2016)
|
||
- runtests: made Servers: output be more consistent by removing OFF
|
||
|
||
- cyassl: fixed typo introduced in 4f8b1774
|
||
|
||
Michael Kaufmann (30 Nov 2016)
|
||
- CURLOPT_CONNECT_TO: Skip non-matching "connect-to" entries properly
|
||
|
||
If a port number in a "connect-to" entry does not match, skip this
|
||
entry instead of connecting to port 0.
|
||
|
||
If a port number in a "connect-to" entry matches, use this entry
|
||
and look no further.
|
||
|
||
Reported-by: Jay Satiro
|
||
Assisted-by: Jay Satiro, Daniel Stenberg
|
||
|
||
Closes #1148
|
||
|
||
Daniel Stenberg (29 Nov 2016)
|
||
- BUGS: describe bug handling process
|
||
|
||
- RELEASE-NOTES: synced with 19613fb3
|
||
|
||
Jay Satiro (28 Nov 2016)
|
||
- http2: check nghttp2_session_set_local_window_size exists
|
||
|
||
The function only exists since nghttp2 1.12.0.
|
||
|
||
Bug: https://github.com/curl/curl/commit/a4d8888#commitcomment-19985676
|
||
Reported-by: Michael Kaufmann
|
||
|
||
Daniel Stenberg (28 Nov 2016)
|
||
- [Anders Bakken brought this change]
|
||
|
||
http2: Fix crashes when parent stream gets aborted
|
||
|
||
Closes #1125
|
||
|
||
- cmdline-docs: more options converted and fixed
|
||
|
||
Now all options are in the new system.
|
||
|
||
- gen: include footer in mainpage output
|
||
|
||
Jay Satiro (28 Nov 2016)
|
||
- lib1536: checksrc compliance
|
||
|
||
Daniel Stenberg (28 Nov 2016)
|
||
- cmdline-opts: more command line options documented
|
||
|
||
Moved over to the new format
|
||
|
||
- curl: remove --proxy-ssl* options
|
||
|
||
There's mostly likely no need to allow setting SSLv2/3 version for HTTPS
|
||
proxy. Those protocols are insecure by design and deprecated.
|
||
|
||
- CURLOPT_PROXY_*.3: polished some proxy option man pages
|
||
|
||
Patrick Monnerat (26 Nov 2016)
|
||
- os400: support CURLOPT_PROXY_PINNEDPUBLICKEY
|
||
|
||
Also define it in ILE/RPG binding.
|
||
|
||
Daniel Stenberg (26 Nov 2016)
|
||
- [Okhin Vasilij brought this change]
|
||
|
||
curl_version_info: add CURL_VERSION_HTTPS_PROXY
|
||
|
||
Closes #1142
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
tests: Add some testcases for recent new features.
|
||
|
||
Add missing tests for CURLINFO_SCHEME, CURLINFO_PROTOCOL, %{scheme},
|
||
and %{http_version}
|
||
|
||
closes #1143
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
curl_easy_reset: clear info for CULRINFO_PROTOCOL and CURLINFO_SCHEME
|
||
|
||
- CURLOPT_PROXY_CAINFO.3: clarify proxy use
|
||
|
||
- CURLOPT_PROXY_CRLFILE.3: clarify https proxy and availability
|
||
|
||
- curl_easy_setopt.3: add CURLOPT_PROXY_PINNEDPUBLICKEY
|
||
|
||
Follow-up to 4f8b17743d7c55a
|
||
|
||
- docs: include all opts man pages in dist
|
||
|
||
Sorted the lists too.
|
||
|
||
... and include the new ones in the PDF and HTML generation targets
|
||
|
||
- [Thomas Glanzmann brought this change]
|
||
|
||
HTTPS Proxy: Implement CURLOPT_PROXY_PINNEDPUBLICKEY
|
||
|
||
- [Thomas Glanzmann brought this change]
|
||
|
||
url: proxy: Use 443 as default port for https proxies
|
||
|
||
- TODO: removed "HTTPS proxy"
|
||
|
||
- [Jan-E brought this change]
|
||
|
||
winbuild: add config option ENABLE_NGHTTP2
|
||
|
||
Closes #1141
|
||
|
||
Jay Satiro (24 Nov 2016)
|
||
- tool_urlglob: Improve sanity check in glob_range
|
||
|
||
Prior to this change we depended on errno if strtol could not perform a
|
||
conversion. POSIX says EINVAL *may* be set. Some implementations like
|
||
Microsoft's will not set it if there's no conversion.
|
||
|
||
Ref: https://github.com/curl/curl/commit/ee4f7660#commitcomment-19658189
|
||
|
||
- tool_help: Change description for --retry-connrefused
|
||
|
||
Ref: https://github.com/curl/curl/pull/1064#issuecomment-260052409
|
||
|
||
Patrick Monnerat (25 Nov 2016)
|
||
- os400: sync ILE/RPG binding
|
||
|
||
Jay Satiro (24 Nov 2016)
|
||
- test1135: Fix curl_easy_duphandle prototype for code style
|
||
|
||
Follow-up to dbadaeb which changed the style.
|
||
|
||
- x509asn1: Restore the parameter check in Curl_getASN1Element
|
||
|
||
- Restore the removed parts of the parameter check.
|
||
|
||
Follow-up to 945f60e which altered the parameter check.
|
||
|
||
Daniel Stenberg (25 Nov 2016)
|
||
- RELEASE-NOTES: update option counters
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
add CURLINFO_SCHEME, CURLINFO_PROTOCOL, and %{scheme}
|
||
|
||
Adds access to the effectively used protocol/scheme to both libcurl and
|
||
curl, both in string and numeric (CURLPROTO_*) form.
|
||
|
||
Note that the string form will be uppercase, as it is just the internal
|
||
string.
|
||
|
||
As these strings are declared internally as const, and all other strings
|
||
returned by curl_easy_getinfo() are de-facto const as well, string
|
||
handling in getinfo.c got const-ified.
|
||
|
||
Closes #1137
|
||
|
||
- RELEASE-NOTES: synced with 63198a4750aeb
|
||
|
||
- curl.1: the new --proxy options ship in 7.52.0
|
||
|
||
- checksrc: move open braces to comply with function declaration style
|
||
|
||
- checksrc: detect wrongly placed open braces in func declarations
|
||
|
||
- checksrc: white space edits to comply to stricter checksrc
|
||
|
||
- checksrc: verify ASTERISKNOSPACE
|
||
|
||
Detects (char*) and 'char*foo' uses.
|
||
|
||
- checksrc: code style: use 'char *name' style
|
||
|
||
- checksrc: add ASTERISKSPACE
|
||
|
||
Verifies a 'char *name' style, with no space after the asterisk.
|
||
|
||
- openssl: remove dead code
|
||
|
||
Coverity CID 1394666
|
||
|
||
- [Okhin Vasilij brought this change]
|
||
|
||
HTTPS-proxy: fixed mbedtls and polishing
|
||
|
||
- darwinssl: adopted to the HTTPS proxy changes
|
||
|
||
It builds and runs all test cases. No adaptations for actual HTTPS proxy
|
||
support has been made.
|
||
|
||
- gtls: fix indent to silence compiler warning
|
||
|
||
vtls/gtls.c: In function ‘Curl_gtls_data_pending’:
|
||
vtls/gtls.c:1429:3: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
|
||
if(conn->proxy_ssl[connindex].session &&
|
||
^~
|
||
vtls/gtls.c:1433:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
|
||
return res;
|
||
|
||
- [Thomas Glanzmann brought this change]
|
||
|
||
mbedtls: Fix compile errors
|
||
|
||
- [Alex Rousskov brought this change]
|
||
|
||
proxy: Support HTTPS proxy and SOCKS+HTTP(s)
|
||
|
||
* HTTPS proxies:
|
||
|
||
An HTTPS proxy receives all transactions over an SSL/TLS connection.
|
||
Once a secure connection with the proxy is established, the user agent
|
||
uses the proxy as usual, including sending CONNECT requests to instruct
|
||
the proxy to establish a [usually secure] TCP tunnel with an origin
|
||
server. HTTPS proxies protect nearly all aspects of user-proxy
|
||
communications as opposed to HTTP proxies that receive all requests
|
||
(including CONNECT requests) in vulnerable clear text.
|
||
|
||
With HTTPS proxies, it is possible to have two concurrent _nested_
|
||
SSL/TLS sessions: the "outer" one between the user agent and the proxy
|
||
and the "inner" one between the user agent and the origin server
|
||
(through the proxy). This change adds supports for such nested sessions
|
||
as well.
|
||
|
||
A secure connection with a proxy requires its own set of the usual SSL
|
||
options (their actual descriptions differ and need polishing, see TODO):
|
||
|
||
--proxy-cacert FILE CA certificate to verify peer against
|
||
--proxy-capath DIR CA directory to verify peer against
|
||
--proxy-cert CERT[:PASSWD] Client certificate file and password
|
||
--proxy-cert-type TYPE Certificate file type (DER/PEM/ENG)
|
||
--proxy-ciphers LIST SSL ciphers to use
|
||
--proxy-crlfile FILE Get a CRL list in PEM format from the file
|
||
--proxy-insecure Allow connections to proxies with bad certs
|
||
--proxy-key KEY Private key file name
|
||
--proxy-key-type TYPE Private key file type (DER/PEM/ENG)
|
||
--proxy-pass PASS Pass phrase for the private key
|
||
--proxy-ssl-allow-beast Allow security flaw to improve interop
|
||
--proxy-sslv2 Use SSLv2
|
||
--proxy-sslv3 Use SSLv3
|
||
--proxy-tlsv1 Use TLSv1
|
||
--proxy-tlsuser USER TLS username
|
||
--proxy-tlspassword STRING TLS password
|
||
--proxy-tlsauthtype STRING TLS authentication type (default SRP)
|
||
|
||
All --proxy-foo options are independent from their --foo counterparts,
|
||
except --proxy-crlfile which defaults to --crlfile and --proxy-capath
|
||
which defaults to --capath.
|
||
|
||
Curl now also supports %{proxy_ssl_verify_result} --write-out variable,
|
||
similar to the existing %{ssl_verify_result} variable.
|
||
|
||
Supported backends: OpenSSL, GnuTLS, and NSS.
|
||
|
||
* A SOCKS proxy + HTTP/HTTPS proxy combination:
|
||
|
||
If both --socks* and --proxy options are given, Curl first connects to
|
||
the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS
|
||
proxy.
|
||
|
||
TODO: Update documentation for the new APIs and --proxy-* options.
|
||
Look for "Added in 7.XXX" marks.
|
||
|
||
Patrick Monnerat (24 Nov 2016)
|
||
- Declare endian read functions argument as a const pointer.
|
||
This is done for all functions of the form Curl_read[136][624]_[lb]e.
|
||
|
||
- Limit ASN.1 structure sizes to 256K. Prevent some allocation size overflows.
|
||
See CRL-01-006.
|
||
|
||
Jay Satiro (22 Nov 2016)
|
||
- url: Fix conn reuse for local ports and interfaces
|
||
|
||
- Fix connection reuse for when the proposed new conn 'needle' has a
|
||
specified local port but does not have a specified device interface.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-11/0137.html
|
||
Reported-by: bjt3[at]hotmail.com
|
||
|
||
Daniel Stenberg (21 Nov 2016)
|
||
- rand: pass in number of randoms as an unsigned argument
|
||
|
||
Jay Satiro (20 Nov 2016)
|
||
- rand: Fix potentially uninitialized result warning
|
||
|
||
Marcel Raad (19 Nov 2016)
|
||
- vtls: fix build warnings
|
||
|
||
Fix warnings about conversions from long to time_t in openssl.c and
|
||
schannel.c.
|
||
|
||
Follow-up to de4de4e3c7c
|
||
|
||
Daniel Stenberg (18 Nov 2016)
|
||
- [Marcel Raad brought this change]
|
||
|
||
lib: fix compiler warnings after de4de4e3c7c
|
||
|
||
Visual C++ now complains about implicitly casting time_t (64-bit) to
|
||
long (32-bit). Fix this by changing some variables from long to time_t,
|
||
or explicitly casting to long where the public interface would be
|
||
affected.
|
||
|
||
Closes #1131
|
||
|
||
Peter Wu (17 Nov 2016)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
Don't mix unix domain sockets with regular ones
|
||
|
||
When reusing a connection, make sure the unix domain
|
||
socket option matches.
|
||
|
||
Jay Satiro (17 Nov 2016)
|
||
- tests: Fix HTTP2-Settings header for huge window size
|
||
|
||
Follow-up to a4d8888. Changing the window size in that commit resulted
|
||
in a different HTTP2-Settings upgrade header, causing test 1800 to fail.
|
||
|
||
- http2: Use huge HTTP/2 windows
|
||
|
||
- Improve performance by using a huge HTTP/2 window size.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1102
|
||
Reported-by: afrind@users.noreply.github.com
|
||
Assisted-by: Tatsuhiro Tsujikawa
|
||
|
||
Daniel Stenberg (16 Nov 2016)
|
||
- cmdline-docs: more conversion
|
||
|
||
- gen: support 'protos'
|
||
|
||
and warn on unrecognized lines
|
||
|
||
- gen: support 'single' to make an individual page man page
|
||
|
||
- cmdline-docs: more options converted over
|
||
|
||
- gen: support 'redirect'
|
||
|
||
... and warn for too long --help lines
|
||
|
||
- cmdline/gen: replace options in texts better
|
||
|
||
Jay Satiro (16 Nov 2016)
|
||
- http2: Fix address sanitizer memcpy warning
|
||
|
||
- In Curl_http2_switched don't call memcpy when src is NULL.
|
||
|
||
Curl_http2_switched can be called like:
|
||
|
||
Curl_http2_switched(conn, NULL, 0);
|
||
|
||
.. and prior to this change memcpy was then called like:
|
||
|
||
memcpy(dest, NULL, 0)
|
||
|
||
.. causing address sanitizer to warn:
|
||
|
||
http2.c:2057:3: runtime error: null pointer passed as argument 2, which
|
||
is declared to never be null
|
||
|
||
- tool_help: Clarify --dump-header only writes received headers
|
||
|
||
- curl.1: Clarify --dump-header only writes received headers
|
||
|
||
Daniel Stenberg (15 Nov 2016)
|
||
- [Alex Chan brought this change]
|
||
|
||
docs: Spelling fixes
|
||
|
||
Kamil Dudka (15 Nov 2016)
|
||
- docs: the next release will be 7.52.0
|
||
|
||
Daniel Stenberg (15 Nov 2016)
|
||
- cmdline-opts: support generating the --help output
|
||
|
||
- [David Schweikert brought this change]
|
||
|
||
darwinssl: fix SSL client certificate not found on MacOS Sierra
|
||
|
||
Reviewed-by: Nick Zitzmann
|
||
|
||
Closes #1105
|
||
|
||
- curl: add --fail-early to help output
|
||
|
||
Fixes test 1139 failures
|
||
|
||
Follow-up to f82bbe01c8835
|
||
|
||
- glob: fix [a-c] globbing regression
|
||
|
||
Brought in ee4f76606cf
|
||
|
||
Added test case 1280 to verify
|
||
|
||
Reported-by: Dave Reisner
|
||
|
||
Bug: https://github.com/curl/curl/commit/ee4f76606cfa4ee068bf28edd37c8dae7e8db317#commitcomment-19823146
|
||
|
||
- curl: add --fail-early
|
||
|
||
Exit with an error on the first transfer error instead of continuing to
|
||
do the rest of the URLs.
|
||
|
||
Discussion: https://curl.haxx.se/mail/archive-2016-11/0038.html
|
||
|
||
- Curl_rand: fixed and moved to rand.c
|
||
|
||
Now Curl_rand() is made to fail if it cannot get the necessary random
|
||
level.
|
||
|
||
Changed the proto of Curl_rand() slightly to provide a number of ints at
|
||
once.
|
||
|
||
Moved out from vtls, since it isn't a TLS function and vtls provides
|
||
Curl_ssl_random() for this to use.
|
||
|
||
Discussion: https://curl.haxx.se/mail/lib-2016-11/0119.html
|
||
|
||
- cmdline-opts: first test version of a new man page generator kit
|
||
|
||
See MANPAGE.md for the description of how this works. Each command line
|
||
option is now described in a separate .d file.
|
||
|
||
- time_t fix: follow-up to de4de4e3c7c
|
||
|
||
Blah, I accidentally wrote size_t instead of time_t for two variables.
|
||
|
||
Reported-by: Dave Reisner
|
||
|
||
- timeval: prefer time_t to hold seconds instead of long
|
||
|
||
... as long is still 32bit on modern 64bit windows machines, while
|
||
time_t is generally 64bit.
|
||
|
||
Dan Fandrich (12 Nov 2016)
|
||
- tests: fixed variable might be clobbered warning
|
||
|
||
This stops the compiler from potentially making invalid assumptions
|
||
about the immutability of sdp and sap across the longjmp boundary.
|
||
|
||
Daniel Stenberg (12 Nov 2016)
|
||
- RELEASE-NOTES: synced with 346340808c
|
||
|
||
- URL-parser: for file://[host]/ URLs, the [host] must be localhost
|
||
|
||
Previously, the [host] part was just ignored which made libcurl accept
|
||
strange URLs misleading users. like "file://etc/passwd" which might've
|
||
looked like it refers to "/etc/passwd" but is just "/passwd" since the
|
||
"etc" is an ignored host name.
|
||
|
||
Reported-by: Mike Crowe
|
||
Assisted-by: Kamil Dudka
|
||
|
||
- test558: adapt to 0649433da
|
||
|
||
- openssl: make sure to fail in the unlikely event that PRNG seeding fails
|
||
|
||
- openssl: avoid unnecessary seeding if already done
|
||
|
||
1.1.0+ does more of this by itself so we can avoid extra processing this
|
||
way.
|
||
|
||
- openssl: RAND_status always exists in OpenSSL >= 0.9.7
|
||
|
||
and remove RAND_screen from configure since nothing is using that
|
||
function
|
||
|
||
- Curl_pgrsUpdate: use dedicated function for time passed
|
||
|
||
- realloc: use Curl_saferealloc to avoid common mistakes
|
||
|
||
Discussed: https://curl.haxx.se/mail/lib-2016-11/0087.html
|
||
|
||
- [Daniel Hwang brought this change]
|
||
|
||
curl: Add --retry-connrefused
|
||
|
||
to consider ECONNREFUSED as a transient error.
|
||
|
||
Closes #1064
|
||
|
||
- openssl: raise the max_version to 1.3 if asked for
|
||
|
||
Now I've managed to negotiate TLS 1.3 with https://enabled.tls13.com/ when
|
||
using boringssl.
|
||
|
||
Jay Satiro (9 Nov 2016)
|
||
- vtls: Fail on unrecognized param for CURLOPT_SSLVERSION
|
||
|
||
- Fix GnuTLS code for CURL_SSLVERSION_TLSv1_2 that broke when the
|
||
TLS 1.3 support was added in 6ad3add.
|
||
|
||
- Homogenize across code for all backends the error message when TLS 1.3
|
||
is not available to "<backend>: TLS 1.3 is not yet supported".
|
||
|
||
- Return an error when a user-specified ssl version is unrecognized.
|
||
|
||
---
|
||
|
||
Prior to this change our code for some of the backends used the
|
||
'default' label in the switch statement (ie ver unrecognized) for
|
||
ssl.version and treated it the same as CURL_SSLVERSION_DEFAULT.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-11/0048.html
|
||
Reported-by: Kamil Dudka
|
||
|
||
Daniel Stenberg (9 Nov 2016)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
SPNEGO: Fix memory leak when authentication fails
|
||
|
||
If SPNEGO fails, cleanup the negotiate handle right away.
|
||
|
||
Fixes #1115
|
||
|
||
Signed-off-by: Isaac Boukris <iboukris@gmail.com>
|
||
Reported-by: ashman-p
|
||
|
||
- CODE_STYLE.md: link to INTERNALS.md correctly
|
||
|
||
- bump: next version will be 7.52.0
|
||
|
||
- RELEASE-NOTES: synced with dfcdaaba371e9a3
|
||
|
||
- examples/fileupload.c: fclose the file as well
|
||
|
||
- printf: fix ".*f" handling
|
||
|
||
It would always use precision 1 instead of reading it from the argument
|
||
list as intended.
|
||
|
||
Reported-by: Ray Satiro
|
||
|
||
Bug: #1113
|
||
|
||
- curl_formadd.3: *_FILECONTENT and *_FILE need the file to be kept
|
||
|
||
Reported-by: Frank Gevaerts
|
||
|
||
Kamil Dudka (7 Nov 2016)
|
||
- nss: silence warning 'SSL_NEXT_PROTO_EARLY_VALUE not handled in switch'
|
||
|
||
... with nss-3.26.0 and newer
|
||
|
||
Reported-by: Daniel Stenberg
|
||
|
||
Daniel Stenberg (7 Nov 2016)
|
||
- openssl: initial TLS 1.3 adaptions
|
||
|
||
BoringSSL supports TLSv1.3 already, but these changes don't seem to be anough
|
||
to get it working.
|
||
|
||
- ssh: check md5 fingerprints case insensitively (regression)
|
||
|
||
Revert the change from ce8d09483eea but use the new function
|
||
|
||
Reported-by: Kamil Dudka
|
||
Bug: https://github.com/curl/curl/commit/ce8d09483eea2fcb1b50e323e1a8ed1f3613b2e3#commitcomment-19666146
|
||
|
||
Kamil Dudka (7 Nov 2016)
|
||
- curl: introduce the --tlsv1.3 option to force TLS 1.3
|
||
|
||
Fully implemented with the NSS backend only for now.
|
||
|
||
Reviewed-by: Ray Satiro
|
||
|
||
- vtls: support TLS 1.3 via CURL_SSLVERSION_TLSv1_3
|
||
|
||
Fully implemented with the NSS backend only for now.
|
||
|
||
Reviewed-by: Ray Satiro
|
||
|
||
- nss: map CURL_SSLVERSION_DEFAULT to NSS default
|
||
|
||
... but make sure we use at least TLSv1.0 according to libcurl API
|
||
|
||
Reported-by: Cure53
|
||
Reviewed-by: Ray Satiro
|
||
|
||
Daniel Stenberg (7 Nov 2016)
|
||
- s/cURL/curl
|
||
|
||
We're mostly saying just "curl" in lower case these days so here's a big
|
||
cleanup to adapt to this reality. A few instances are left as the
|
||
project could still formally be considered called cURL.
|
||
|
||
Jay Satiro (7 Nov 2016)
|
||
- [Tatsuhiro Tsujikawa brought this change]
|
||
|
||
http2: Don't send header fields prohibited by HTTP/2 spec
|
||
|
||
Previously, we just ignored "Connection" header field. But HTTP/2
|
||
specification actually prohibits few more header fields. This commit
|
||
ignores all of them so that we don't send these bad header fields.
|
||
|
||
Bug: https://curl.haxx.se/mail/archive-2016-10/0033.html
|
||
Reported-by: Ricki Hirner
|
||
|
||
Closes https://github.com/curl/curl/pull/1092
|
||
|
||
Daniel Stenberg (7 Nov 2016)
|
||
- curl.1: explain the SMTP data expected for -T
|
||
|
||
Fixes #1107
|
||
|
||
Reported-by: Adam Piggott
|
||
|
||
Peter Wu (6 Nov 2016)
|
||
- cmake: disable poll for macOS
|
||
|
||
Mirrors the autotools behavior introduced with curl-7_50_3-83-ga34c7ce.
|
||
|
||
Fixes #1089
|
||
|
||
Jay Satiro (5 Nov 2016)
|
||
- easy: Initialize info variables on easy init and duphandle
|
||
|
||
- Call Curl_initinfo on init and duphandle.
|
||
|
||
Prior to this change the statistical and informational variables were
|
||
simply zeroed by calloc on easy init and duphandle. While zero is the
|
||
correct default value for almost all info variables, there is one where
|
||
it isn't (filetime initializes to -1).
|
||
|
||
Bug: https://github.com/curl/curl/issues/1103
|
||
Reported-by: Neal Poole
|
||
|
||
Daniel Stenberg (5 Nov 2016)
|
||
- [Mauro Rappa brought this change]
|
||
|
||
curl -w: added more decimal digits to timing counters
|
||
|
||
Now showing microsecond resolution.
|
||
|
||
Closes #1106
|
||
|
||
Jakub Zakrzewski (4 Nov 2016)
|
||
- dist: add CMakeLists.txt to the tarball
|
||
|
||
Daniel Stenberg (4 Nov 2016)
|
||
- mbedtls: fix build with mbedtls versions < 2.4.0
|
||
|
||
Regression added in 62a8095e714
|
||
|
||
Reported-by: Tony Kelman
|
||
|
||
Discussed in #1087
|
||
|
||
- configure: verify that compiler groks -Werror=partial-availability
|
||
|
||
Reported-by: bemoody
|
||
|
||
Fixes #1104
|
||
|
||
- docs: shorten and simplify the top comment in multi-uv.c
|
||
|
||
and change URL to use https
|
||
|
||
- [Andrei Sedoi brought this change]
|
||
|
||
docs: handle CURL_POLL_INOUT in multi-uv example
|
||
|
||
- [Andrei Sedoi brought this change]
|
||
|
||
docs: multi-uv: don't use CURLMsg after cleanup
|
||
|
||
- [Andrei Sedoi brought this change]
|
||
|
||
docs: remove unused variables in multi-uv example
|
||
|
||
- bump: start working on 7.51.1
|
||
|
||
- winbuild: remove strcase.obj from curl build
|
||
|
||
Reported-by: Bruce Stephens
|
||
|
||
Fixes #1098
|
||
|
||
Dan Fandrich (2 Nov 2016)
|
||
- msvc: removed a straggling reference to strequal.c
|
||
|
||
Follow-up to 502acba2
|
||
|
||
Version 7.51.0 (2 Nov 2016)
|
||
|
||
Daniel Stenberg (2 Nov 2016)
|
||
- THANKS: synced with 7.51.0
|
||
|
||
- RELEASE-NOTES: 7.51.0
|
||
|
||
- ftp_done: don't clobber the passed in error code
|
||
|
||
Coverity CID 1374359 pointed out the unused result value.
|
||
|
||
- ftp: remove dead code in ftp_done
|
||
|
||
Coverity CID 1374358
|
||
|
||
Jay Satiro (1 Nov 2016)
|
||
- generate.bat: Include include/curl in libcurl VS projects
|
||
|
||
.. because including those headers helps Visual Studio's Intellisense.
|
||
|
||
- generate.bat: Remove strcase.[ch] from curl tool VS projects
|
||
|
||
..because they're no longer needed in the tool build. strcase is still
|
||
built by the libcurl project and exports curl_str(n)equal which is used
|
||
by the curl tool.
|
||
|
||
Bug: https://github.com/curl/curl/commit/9363f1a#all_commit_comments
|
||
|
||
Daniel Stenberg (2 Nov 2016)
|
||
- metalink: simplify the hex parsing function
|
||
|
||
... and now it avoids using the libcurl toupper() function
|
||
|
||
Michael Kaufmann (1 Nov 2016)
|
||
- file: fix compiler warning
|
||
|
||
follow-up to 46133aa5
|
||
|
||
Dan Fandrich (1 Nov 2016)
|
||
- strcase: fixed Metalink builds by redefining checkprefix()
|
||
|
||
...to use the public function curl_strnequal(). This isn't ideal because
|
||
it adds extra overhead to any internal calls to checkprefix.
|
||
|
||
follow-up to 95bd2b3e
|
||
|
||
Daniel Stenberg (1 Nov 2016)
|
||
- curl.1: typo
|
||
|
||
- curl.1: expand on how multiple uses of -o looks
|
||
|
||
Suggested-by: Dan Jacobson
|
||
Issue: https://github.com/curl/curl/issues/1097
|
||
|
||
- tests/util: get a private strncasecompare clone
|
||
|
||
... since the curlx_* code no longer provides one and we don't link
|
||
libcurl to these test servers.
|
||
|
||
- strcase: make the tool use curl_str[n]equal instead
|
||
|
||
As they are after all part of the public API. Saves space and reduces
|
||
complexity. Remove the strcase defines from the curlx_ family.
|
||
|
||
Suggested-by: Dan Fandrich
|
||
Idea: https://curl.haxx.se/mail/lib-2016-10/0136.html
|
||
|
||
Kamil Dudka (31 Oct 2016)
|
||
- gskit, nss: do not include strequal.h
|
||
|
||
follow-up to 811a693b80
|
||
|
||
Dan Fandrich (31 Oct 2016)
|
||
- strcasecompare: include curl.h in strcase.c
|
||
|
||
This should fix the "warning: 'curl_strequal' redeclared without
|
||
dllimport attribute: previous dllimport ignored" message and subsequent
|
||
link error on Windows because of the missing CURL_EXTERN on the
|
||
prototype.
|
||
|
||
Daniel Stenberg (31 Oct 2016)
|
||
- strcase: fix the remaining rawstr users
|
||
|
||
- msvc builds: s/rawstr/strcase
|
||
|
||
Follow-up to 811a693b
|
||
|
||
Dan Fandrich (31 Oct 2016)
|
||
- strcasecompare: replaced remaining rawstr.h with strcase.h
|
||
|
||
This is a followup to commit 811a693b
|
||
|
||
Marcel Raad (31 Oct 2016)
|
||
- digest_sspi: fix include
|
||
|
||
Fix compile break from 811a693b80
|
||
|
||
Dan Fandrich (31 Oct 2016)
|
||
- libauthretry: use the external function curl_strequal
|
||
|
||
The internal version strcasecompare isn't available outside libcurl
|
||
|
||
Daniel Stenberg (31 Oct 2016)
|
||
- RELEASE-NOTES: synced with d14538d2501ef0da
|
||
|
||
- configure: raise the default minimum version for macos to 10.8
|
||
|
||
follow-up to 4f8d0b6f02aa7043. Since the darwinssl code breaks
|
||
otherwise. If you build without darwinssl 10.5 works fine.
|
||
|
||
- unit1301: keep testing curl_strequal
|
||
|
||
as that is still part of the API, fix from 8fe4bd084412f30
|
||
|
||
- ldap: fix include
|
||
|
||
Fix bug from 811a693b80
|
||
|
||
- url: remove unconditional idn2.h include
|
||
|
||
Mistake brought by 9c91ec778104a
|
||
|
||
- curl_strequal: part of public API/ABI, needs to be kept
|
||
|
||
These two public functions have been mentioned as deprecated since a
|
||
very long time but since they are still part of the API and ABI we need
|
||
to keep them around.
|
||
|
||
- strcase: s/strequal/strcasecompare
|
||
|
||
some more follow-ups to 811a693b80
|
||
|
||
- ldap: fix strcase use
|
||
|
||
follow-up to 811a693b80
|
||
|
||
- test165: adapted to the libidn2 use and IDNA2008 fix
|
||
|
||
- cookie: replace use of fgets() with custom version
|
||
|
||
... that will ignore lines that are too long to fit in the buffer.
|
||
|
||
CVE-2016-8615
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102A.html
|
||
Reported-by: Cure53
|
||
|
||
- strcasecompare: all case insensitive string compares ignore locale now
|
||
|
||
We had some confusions on when each function was used. We should not act
|
||
differently on different locales anyway.
|
||
|
||
- strcasecompare: is the new name for strequal()
|
||
|
||
... to make it less likely that we forget that the function actually
|
||
does case insentive compares. Also replaced several invokes of the
|
||
function with a plain strcmp when case sensitivity is not an issue (like
|
||
comparing with "-").
|
||
|
||
- ftp: check for previous patch must be case sensitive!
|
||
|
||
... otherwise example.com/PATH and example.com/path would be assumed to
|
||
be the same and they usually aren't!
|
||
|
||
- SSH: check md5 fingerprint case sensitively
|
||
|
||
- connectionexists: use case sensitive user/password comparisons
|
||
|
||
CVE-2016-8616
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102B.html
|
||
Reported-by: Cure53
|
||
|
||
- base64: check for integer overflow on large input
|
||
|
||
CVE-2016-8617
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102C.html
|
||
Reported-by: Cure53
|
||
|
||
- krb5: avoid realloc(0)
|
||
|
||
If the requested size is zero, bail out with error instead of doing a
|
||
realloc() that would cause a double-free: realloc(0) acts as a free()
|
||
and then there's a second free in the cleanup path.
|
||
|
||
CVE-2016-8619
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102E.html
|
||
Reported-by: Cure53
|
||
|
||
- aprintf: detect wrap-around when growing allocation
|
||
|
||
On 32bit systems we could otherwise wrap around after 2GB and allocate 0
|
||
bytes and crash.
|
||
|
||
CVE-2016-8618
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102D.html
|
||
Reported-by: Cure53
|
||
|
||
- range: reject char globs with missing end like '[L-]'
|
||
|
||
... which previously would lead to out of boundary reads.
|
||
|
||
Reported-by: Luật Nguyễn
|
||
|
||
- glob_next_url: make sure to stay within the given output buffer
|
||
|
||
- range: prevent negative end number in a glob range
|
||
|
||
CVE-2016-8620
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102F.html
|
||
Reported-by: Luật Nguyễn
|
||
|
||
- parsedate: handle cut off numbers better
|
||
|
||
... and don't read outside of the given buffer!
|
||
|
||
CVE-2016-8621
|
||
|
||
bug: https://curl.haxx.se/docs/adv_20161102G.html
|
||
Reported-by: Luật Nguyễn
|
||
|
||
- escape: avoid using curl_easy_unescape() internally
|
||
|
||
Since the internal Curl_urldecode() function has a better API.
|
||
|
||
- unescape: avoid integer overflow
|
||
|
||
CVE-2016-8622
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102H.html
|
||
Reported-by: Cure53
|
||
|
||
- cookies: getlist() now holds deep copies of all cookies
|
||
|
||
Previously it only held references to them, which was reckless as the
|
||
thread lock was released so the cookies could get modified by other
|
||
handles that share the same cookie jar over the share interface.
|
||
|
||
CVE-2016-8623
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102I.html
|
||
Reported-by: Cure53
|
||
|
||
- TODO: remove IDNA2008
|
||
|
||
- idn: switch to libidn2 use and IDNA2008 support
|
||
|
||
CVE-2016-8625
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102K.html
|
||
Reported-by: Christian Heimes
|
||
|
||
- test1246: verify URL parsing with host name ending with '#'
|
||
|
||
- urlparse: accept '#' as end of host name
|
||
|
||
'http://example.com#@127.0.0.1/x.txt' equals a request to example.com
|
||
for the '/' document with the rest of the URL being a fragment.
|
||
|
||
CVE-2016-8624
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102J.html
|
||
Reported-by: Fernando Muñoz
|
||
|
||
Jay Satiro (31 Oct 2016)
|
||
- INTERNALS: better markdown (follow-up)
|
||
|
||
- Wrap more words with underscores in backticks.
|
||
|
||
Follow-up to 13f4913.
|
||
|
||
Daniel Stenberg (30 Oct 2016)
|
||
- INTERNALS: better markdown
|
||
|
||
words with underscore need to be within `these`
|
||
|
||
Bug: https://github.com/curl/curl-www/issues/19
|
||
Reported-by : Jay Satiro
|
||
|
||
Jay Satiro (30 Oct 2016)
|
||
- mk-ca-bundle.vbs: Fix UTF-8 output
|
||
|
||
- Change initial message box to mention delay when downloading/parsing.
|
||
|
||
Since there is no progress meter it was somewhat unexpected that after
|
||
choosing a filename nothing appears to happen, when actually the cert
|
||
data is in the process of being downloaded and parsed.
|
||
|
||
- Warn if OpenSSL is not present.
|
||
|
||
- Use a UTF-8 stream to make the ca-bundle data.
|
||
|
||
- Save the UTF-8 ca-bundle stream as binary so that no BOM is added.
|
||
|
||
---
|
||
|
||
This is a follow-up to d2c6d15 which switched mk-ca-bundle.vbs output to
|
||
ANSI due to corrupt UTF-8 output, now fixed.
|
||
|
||
This change completes making the default certificate bundle output of
|
||
mk-ca-bundle.vbs as close as possible to that of mk-ca-bundle.pl, which
|
||
should make it easier to review any difference between their output.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1012
|
||
|
||
Daniel Stenberg (28 Oct 2016)
|
||
- BINDINGS: converted to markdown
|
||
|
||
To make it render better on the web site, at the price of it becoming
|
||
slightly less readable as text.
|
||
|
||
Jay Satiro (27 Oct 2016)
|
||
- CURLMOPT_MAX_PIPELINE_LENGTH.3: Clarify it's not for HTTP/2
|
||
|
||
- Clarify that this option is only for HTTP/1.1 pipelining.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1059
|
||
Reported-by: Jeroen Ooms
|
||
|
||
Assisted-by: Daniel Stenberg
|
||
|
||
Daniel Stenberg (27 Oct 2016)
|
||
- KNOWN_BUGS: HTTP/2 server push enabled when no pushes can be accepted
|
||
|
||
Closes #927
|
||
|
||
- KNOWN_BUGS: c-ares deviates from stock resolver on http://1346569778
|
||
|
||
Closes #893
|
||
|
||
Michael Osipov (27 Oct 2016)
|
||
- configure.in: Fix test syntax
|
||
|
||
Some versions of test allow == for equality, but others (such as the HP-UX
|
||
version) do not. Use a single = for correctness.
|
||
|
||
Error output:
|
||
checking for monotonic clock_gettime... ./configure[20445]: ==: A test command parameter is not valid.
|
||
|
||
Daniel Stenberg (27 Oct 2016)
|
||
- SECURITY: minor updates
|
||
|
||
- we allow the security push up to 48 hours before the release
|
||
|
||
- add a mention about possible pre-notifications
|
||
|
||
- lower case the 'curl-security' title
|
||
|
||
- [Andrei Sedoi brought this change]
|
||
|
||
docs: fix req->data in multi-uv example
|
||
|
||
Closes #1088
|
||
|
||
- mbedtls: stop using deprecated include file
|
||
|
||
Reported-by: wyattoday
|
||
Fixes #1087
|
||
|
||
Kamil Dudka (25 Oct 2016)
|
||
- [Martin Frodl brought this change]
|
||
|
||
nss: fix tight loop in non-blocking TLS handhsake over proxy
|
||
|
||
... in case the handshake completes before entering
|
||
CURLM_STATE_PROTOCONNECT
|
||
|
||
Bug: https://bugzilla.redhat.com/1388162
|
||
|
||
Jay Satiro (25 Oct 2016)
|
||
- mk-ca-bundle: Update the vbscript version
|
||
|
||
Bring the VBScript version more in line with the perl version:
|
||
|
||
- Change timestamp to UTC.
|
||
|
||
- Change URL retrieval to HTTPS-only by default.
|
||
|
||
- Comment out the options that disabled SSL cert checking by default.
|
||
|
||
- Assume OpenSSL is present, get SHA256. And add a flag to toggle it.
|
||
|
||
- Fix cert issuer name output.
|
||
|
||
The cert issuer output is now ansi, converted from UTF-8. Prior to this
|
||
it was corrupt UTF-8. It turns out though we can work with UTF-8 the
|
||
FSO object that writes ca-bundle can't write UTF-8, so there will have
|
||
to be some alternative if UTF-8 is needed (like an ADODB.Stream).
|
||
|
||
- Disable the certificate text info feature.
|
||
|
||
The certificate text info doesn't work properly with any recent OpenSSL.
|
||
|
||
Daniel Stenberg (24 Oct 2016)
|
||
- TODO: indent code to make it render properly
|
||
|
||
- TODO: Remove the generated include file
|
||
|
||
- TODO: add "--retry should resume"
|
||
|
||
See #1084
|
||
|
||
- mk-ca-bundle.1: document -k
|
||
|
||
Brought in 1ad2bdcf110266c. Now does HTTPS by default and needs -k to
|
||
fall back to plain HTTP.
|
||
|
||
- [Jay Satiro brought this change]
|
||
|
||
mk-ca-bundle: Change URL retrieval to HTTPS-only by default
|
||
|
||
- Change all predefined Mozilla URLs to HTTPS (Gregory Szorc).
|
||
|
||
- New option -k to allow URLs other than HTTPS and enable HTTP fallback.
|
||
|
||
Prior to this change the default URL retrieval mode was to fall back to
|
||
HTTP if HTTPS didn't work.
|
||
|
||
Reported-by: Gregory Szorc
|
||
|
||
Closes #1012
|
||
|
||
- RELEASE-NOTES: synced with 50ee3aaf1a9b22d
|
||
|
||
Dan Fandrich (23 Oct 2016)
|
||
- INSTALL.md: Updated minimum file sizes for 7.50.3
|
||
|
||
Daniel Stenberg (22 Oct 2016)
|
||
- multi: force connections to get closed in close_all_connections
|
||
|
||
Several independent reports on infinite loops hanging in the
|
||
close_all_connections() function when closing a multi handle, can be
|
||
fixed by first marking the connection to get closed before calling
|
||
Curl_disconnect.
|
||
|
||
This is more fixing-the-symptom rather than the underlying problem
|
||
though.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-10/0011.html
|
||
Bug: https://curl.haxx.se/mail/lib-2016-10/0059.html
|
||
|
||
Reported-by: Dan Fandrich, Valentin David, Miloš Ljumović
|
||
|
||
- [Anders Bakken brought this change]
|
||
|
||
curl_multi_remove_handle: fix a double-free
|
||
|
||
In short the easy handle needs to be disconnected from its connection at
|
||
this point since the connection still is serving other easy handles.
|
||
|
||
In our app we can reliably reproduce a crash in our http2 stress test
|
||
that is fixed by this change. I can't easily reproduce the same test in
|
||
a small example.
|
||
|
||
This is the gdb/asan output:
|
||
|
||
==11785==ERROR: AddressSanitizer: heap-use-after-free on address 0xe9f4fb80 at pc 0x09f41f19 bp 0xf27be688 sp 0xf27be67c
|
||
READ of size 4 at 0xe9f4fb80 thread T13 (RESOURCE_HTTP)
|
||
#0 0x9f41f18 in curl_multi_remove_handle /path/to/source/3rdparty/curl/lib/multi.c:666
|
||
|
||
0xe9f4fb80 is located 0 bytes inside of 1128-byte region [0xe9f4fb80,0xe9f4ffe8)
|
||
freed by thread T13 (RESOURCE_HTTP) here:
|
||
#0 0xf7b1b5c2 in __interceptor_free /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_malloc_linux.cc:45
|
||
#1 0x9f7862d in conn_free /path/to/source/3rdparty/curl/lib/url.c:2808
|
||
#2 0x9f78c6a in Curl_disconnect /path/to/source/3rdparty/curl/lib/url.c:2876
|
||
#3 0x9f41b09 in multi_done /path/to/source/3rdparty/curl/lib/multi.c:615
|
||
#4 0x9f48017 in multi_runsingle /path/to/source/3rdparty/curl/lib/multi.c:1896
|
||
#5 0x9f490f1 in curl_multi_perform /path/to/source/3rdparty/curl/lib/multi.c:2123
|
||
#6 0x9c4443c in perform /path/to/source/src/net/resourcemanager/ResourceManagerCurlThread.cpp:854
|
||
#7 0x9c445e0 in ...
|
||
#8 0x9c4cf1d in ...
|
||
#9 0xa2be6b5 in ...
|
||
#10 0xf7aa5780 in asan_thread_start /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:226
|
||
#11 0xf4d3a16d in __clone (/lib/i386-linux-gnu/libc.so.6+0xe716d)
|
||
|
||
previously allocated by thread T13 (RESOURCE_HTTP) here:
|
||
#0 0xf7b1ba27 in __interceptor_calloc /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_malloc_linux.cc:70
|
||
#1 0x9f7dfa6 in allocate_conn /path/to/source/3rdparty/curl/lib/url.c:3904
|
||
#2 0x9f88ca0 in create_conn /path/to/source/3rdparty/curl/lib/url.c:5797
|
||
#3 0x9f8c928 in Curl_connect /path/to/source/3rdparty/curl/lib/url.c:6438
|
||
#4 0x9f45a8c in multi_runsingle /path/to/source/3rdparty/curl/lib/multi.c:1411
|
||
#5 0x9f490f1 in curl_multi_perform /path/to/source/3rdparty/curl/lib/multi.c:2123
|
||
#6 0x9c4443c in perform /path/to/source/src/net/resourcemanager/ResourceManagerCurlThread.cpp:854
|
||
#7 0x9c445e0 in ...
|
||
#8 0x9c4cf1d in ...
|
||
#9 0xa2be6b5 in ...
|
||
#10 0xf7aa5780 in asan_thread_start /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:226
|
||
#11 0xf4d3a16d in __clone (/lib/i386-linux-gnu/libc.so.6+0xe716d)
|
||
|
||
SUMMARY: AddressSanitizer: heap-use-after-free /path/to/source/3rdparty/curl/lib/multi.c:666 in curl_multi_remove_handle
|
||
Shadow bytes around the buggy address:
|
||
0x3d3e9f20: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9f30: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9f40: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9f50: fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa
|
||
0x3d3e9f60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
|
||
=>0x3d3e9f70:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9f80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9f90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9fa0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9fb0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9fc0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
Shadow byte legend (one shadow byte represents 8 application bytes):
|
||
Addressable: 00
|
||
Partially addressable: 01 02 03 04 05 06 07
|
||
Heap left redzone: fa
|
||
Heap right redzone: fb
|
||
Freed heap region: fd
|
||
Stack left redzone: f1
|
||
Stack mid redzone: f2
|
||
Stack right redzone: f3
|
||
Stack partial redzone: f4
|
||
Stack after return: f5
|
||
Stack use after scope: f8
|
||
Global redzone: f9
|
||
Global init order: f6
|
||
Poisoned by user: f7
|
||
Container overflow: fc
|
||
Array cookie: ac
|
||
Intra object redzone: bb
|
||
ASan internal: fe
|
||
Left alloca redzone: ca
|
||
Right alloca redzone: cb
|
||
==11785==ABORTING
|
||
|
||
Thread 14 "RESOURCE_HTTP" received signal SIGABRT, Aborted.
|
||
[Switching to Thread 0xf27bfb40 (LWP 12324)]
|
||
0xf7fd8be9 in __kernel_vsyscall ()
|
||
(gdb) bt
|
||
#0 0xf7fd8be9 in __kernel_vsyscall ()
|
||
#1 0xf4c7ee89 in __GI_raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:54
|
||
#2 0xf4c803e7 in __GI_abort () at abort.c:89
|
||
#3 0xf7b2ef2e in __sanitizer::Abort () at /opt/toolchain/src/gcc-6.2.0/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc:122
|
||
#4 0xf7b262fa in __sanitizer::Die () at /opt/toolchain/src/gcc-6.2.0/libsanitizer/sanitizer_common/sanitizer_common.cc:145
|
||
#5 0xf7b21ab3 in __asan::ScopedInErrorReport::~ScopedInErrorReport (this=0xf27be171, __in_chrg=<optimized out>) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_report.cc:689
|
||
#6 0xf7b214a5 in __asan::ReportGenericError (pc=166993689, bp=4068206216, sp=4068206204, addr=3925146496, is_write=false, access_size=4, exp=0, fatal=true) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_report.cc:1074
|
||
#7 0xf7b21fce in __asan::__asan_report_load4 (addr=3925146496) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_rtl.cc:129
|
||
#8 0x09f41f19 in curl_multi_remove_handle (multi=0xf3406080, data=0xde582400) at /path/to/source3rdparty/curl/lib/multi.c:666
|
||
#9 0x09f6b277 in Curl_close (data=0xde582400) at /path/to/source3rdparty/curl/lib/url.c:415
|
||
#10 0x09f3354e in curl_easy_cleanup (data=0xde582400) at /path/to/source3rdparty/curl/lib/easy.c:860
|
||
#11 0x09c6de3f in ...
|
||
#12 0x09c378c5 in ...
|
||
#13 0x09c48133 in ...
|
||
#14 0x09c4d092 in ...
|
||
#15 0x0a2be6b6 in ...
|
||
#16 0xf7aa5781 in asan_thread_start (arg=0xf2d22938) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:226
|
||
#17 0xf5de52b5 in start_thread (arg=0xf27bfb40) at pthread_create.c:333
|
||
#18 0xf4d3a16e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:114
|
||
|
||
Fixes #1083
|
||
|
||
- testcurl.1: fix the URL to the autobuild summary
|
||
|
||
- testcurl.1: update URLs
|
||
|
||
- INSTALL: converted to markdown => INSTALL.md
|
||
|
||
Also heavily edited for content. Removed lots of old cruft that we added
|
||
like 10+ years ago that is likely incorrect by now.
|
||
|
||
Also removed INSTALL.devcpp for same reason.
|
||
|
||
- [Martin Storsjo brought this change]
|
||
|
||
configure: Check for other variants of the -m*os*-version-min flags
|
||
|
||
In addition to -miphoneos-version-min, the same version can be set
|
||
using -mios-version-min. And for WatchOS and TvOS, there's
|
||
-mwatchos-version-min and -mtvos-version-min.
|
||
|
||
- configure: set min version flags for builds on mac
|
||
|
||
This helps building binaries that can work on multiple macOS versions.
|
||
|
||
Help-by: Martin Storsjö
|
||
|
||
Fixes #1069
|
||
|
||
- curl_multi_add_handle: set timeouts in closure handles
|
||
|
||
The closure handle only ever has default timeouts set. To improve the
|
||
state somewhat we clone the timeouts from each added handle so that the
|
||
closure handle always has the same timeouts as the most recently added
|
||
easy handle.
|
||
|
||
Fixes #739
|
||
|
||
- configure/CURL_CHECK_FUNC_POLL: disable poll completely on mac
|
||
|
||
... so that the same libcurl build easier can run on any version.
|
||
|
||
Follow-up to issue #1057
|
||
|
||
- RELEASE-NOTES: synced with f36f8c14551efc6772
|
||
|
||
- test14xx: fixed --libcurl output tests again after 8e8afa82cbb
|
||
|
||
- s/cURL/curl
|
||
|
||
The tool was never called cURL, only the project. But even so, we have
|
||
more and more over time switched to just use lower case.
|
||
|
||
- polarssl: indented code, removed unused variables
|
||
|
||
- polarssl: reduce #ifdef madness with a macro
|
||
|
||
- polarssl: fix unaligned SSL session-id lock
|
||
|
||
- Curl_polarsslthreadlock_thread_setup: clear array at init
|
||
|
||
... since if it fails to init the entire array and then tries to clean
|
||
it up, it would attempt to work on an uninitialized pointer.
|
||
|
||
- curl: set INTERLEAVEDATA too
|
||
|
||
As otherwise the callback could be called with a NULL pointer when RTSP
|
||
data is provided.
|
||
|
||
- gopher: properly return error for poll failures
|
||
|
||
- select: switch to macros in uppercase
|
||
|
||
Curl_select_ready() was the former API that was replaced with
|
||
Curl_select_check() a while back and the former arg setup was provided
|
||
with a define (in order to leave existing code unmodified).
|
||
|
||
Now we instead offer SOCKET_READABLE and SOCKET_WRITABLE for the most
|
||
common shortcuts where only one socket is checked. They're also more
|
||
visibly macros.
|
||
|
||
- select: use more proper macro-looking names
|
||
|
||
... so that it becomes more obvious in the code what is what. Also added
|
||
a typecast for one of the calculations.
|
||
|
||
- Curl_socket_check: add extra check to avoid integer overflow
|
||
|
||
- maketgz: make it support "only" generating version info
|
||
|
||
... to allow you to update the local repository with the given version
|
||
number data.
|
||
|
||
Jay Satiro (17 Oct 2016)
|
||
- url: skip to-be-closed connections when pipelining (follow-up)
|
||
|
||
- Change back behavior so that pipelining is considered possible for
|
||
connections that have not yet reached the protocol level.
|
||
|
||
This is a follow-up to e5f0b1a which had changed the behavior of
|
||
checking if pipelining is possible to ignore connections that had
|
||
'bits.close' set. Connections that have not yet reached the protocol
|
||
level also have that bit set, and we need to consider pipelining
|
||
possible on those connections.
|
||
|
||
Daniel Stenberg (17 Oct 2016)
|
||
- HTTP2: mention the tool's limited support
|
||
|
||
- RELEASE-NOTES: synced with a1a5cd04877fd6fd
|
||
|
||
- [David Woodhouse brought this change]
|
||
|
||
curl: do not set CURLOPT_SSLENGINEDEFAULT automatically
|
||
|
||
There were bugs in the PKCS#11 engine, and fixing them triggers bugs in
|
||
OpenSSL. Just don't get involved; there's no need to be making the
|
||
engine methods the default anyway.
|
||
|
||
https://github.com/OpenSC/libp11/pull/108
|
||
https://github.com/openssl/openssl/pull/1639
|
||
|
||
Merges #1042
|
||
|
||
- KNOWN_BUGS: two more existing problems
|
||
|
||
Marcel Raad (16 Oct 2016)
|
||
- win: fix Universal Windows Platform build
|
||
|
||
This fixes a merge error in commit 7f3df80 caused by commit 332e8d6.
|
||
|
||
Additionally, this changes Curl_verify_windows_version for Windows App
|
||
builds to assume to always be running on the target Windows version.
|
||
There seems to be no way to determine the Windows version from a
|
||
UWP app. Neither GetVersion(Ex), nor VerifyVersionInfo, nor the
|
||
Version Helper functions are supported.
|
||
|
||
Bug: https://github.com/curl/curl/pull/820#issuecomment-250889878
|
||
Reported-by: Paul Joyce
|
||
|
||
Closes https://github.com/curl/curl/pull/1048
|
||
|
||
Daniel Stenberg (16 Oct 2016)
|
||
- KNOWN_BUGS: minor formatting edit
|
||
|
||
Jay Satiro (14 Oct 2016)
|
||
- [Rider Linden brought this change]
|
||
|
||
url: skip to-be-closed connections when pipelining
|
||
|
||
No longer attempt to use "doomed" to-be-closed connections when
|
||
pipelining. Prior to this change connections marked for deletion (e.g.
|
||
timeout) would be erroneously used, resulting in sporadic crashes.
|
||
|
||
As originally reported and fixed by Carlo Wood (origin unknown).
|
||
|
||
Bug: https://github.com/curl/curl/issues/627
|
||
Reported-by: Rider Linden
|
||
|
||
Closes https://github.com/curl/curl/pull/1075
|
||
Participation-by: nopjmp@users.noreply.github.com
|
||
|
||
Daniel Stenberg (13 Oct 2016)
|
||
- vtls: only re-use session-ids using the same scheme
|
||
|
||
To make it harder to do cross-protocol mistakes
|
||
|
||
Jay Satiro (11 Oct 2016)
|
||
- [Torben Dannhauer brought this change]
|
||
|
||
dist: add missing cmake modules to the tarball
|
||
|
||
Closes https://github.com/curl/curl/pull/1070
|
||
|
||
Daniel Stenberg (11 Oct 2016)
|
||
- configure: detect the broken poll() in macOS 10.12
|
||
|
||
Fixes #1057
|
||
|
||
- dist: remove PDF and HTML converted docs from the releases
|
||
|
||
- [Remo E brought this change]
|
||
|
||
cmake: add nghttp2 support
|
||
|
||
Closes #922
|
||
|
||
- [Andreas Streichardt brought this change]
|
||
|
||
resolve: add error message when resolving using SIGALRM
|
||
|
||
Closes #1066
|
||
|
||
- GIT-INFO: remove the Mac 10.1-specific details
|
||
|
||
There shouldn't be many devs out there anymore using such outdated macOS
|
||
versions. And it removes the dead link.
|
||
|
||
Closes #1049
|
||
|
||
- RELEASE-NOTES: spellfix
|
||
|
||
- RELEASE-NOTES: synced with 82720490628cb53a
|
||
|
||
5 more fixes, 2 more contributors
|
||
|
||
- [Tobias Stoeckmann brought this change]
|
||
|
||
smb: properly check incoming packet boundaries
|
||
|
||
Not all reply messages were properly checked for their lengths, which
|
||
made it possible to access uninitialized memory (but this does not lead
|
||
to out of boundary accesses).
|
||
|
||
Closes #1052
|
||
|
||
- test557: verify printf() with 128 and 129 arguments
|
||
|
||
- mprintf: return error on too many arguments
|
||
|
||
128 arguments should be enough for everyone
|
||
|
||
- ftp: fix Curl_ftpsendf()
|
||
|
||
... it no longer takes printf() arguments since it was only really taken
|
||
advantage by one user and it was not written and used in a safe
|
||
way. Thus the 'f' is removed from the function name and the proto is
|
||
changed.
|
||
|
||
Although the current code wouldn't end up in badness, it was a risk that
|
||
future changes could end up springf()ing too large data or passing in a
|
||
format string inadvertently.
|
||
|
||
- formpost: avoid silent snprintf() truncation
|
||
|
||
The previous use of snprintf() could make libcurl silently truncate some
|
||
input data and not report that back on overly large input, which could
|
||
make data get sent over the network in a bad format.
|
||
|
||
Example:
|
||
|
||
$ curl --form 'a=b' -H "Content-Type: $(perl -e 'print "A"x4100')"
|
||
|
||
- TODO: build: Enable PIE and RELRO by default
|
||
|
||
- TODO: Support better than MD5 hostkey hash (for ssh)
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
tests: Fix a small typo in the tests README (#1060)
|
||
|
||
The subdirectory for logs in tests/ is named log/ without an 's'
|
||
at the end.
|
||
|
||
- TODO: Introduce --fail-fast to exit on first transfer fail
|
||
|
||
See #1054
|
||
|
||
- TODO: Leave secure cookies alone
|
||
|
||
- [Rainer Müller brought this change]
|
||
|
||
CURLOPT_DEBUGFUNCTION.3: unused argument warning (#1056)
|
||
|
||
The 'userp' argument is unused in this example code.
|
||
|
||
- TODO: TCP Fast Open for windows
|
||
|
||
- RELEASE-NOTES: synced with 8fd2a754f0de
|
||
|
||
- CURLOPT_KEEP_SENDING_ON_ERROR.3: mention when it is added
|
||
|
||
- memdup: use 'void *' as return and source type
|
||
|
||
- TODO: Add easy argument to formpost functions
|
||
|
||
- 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
|
||
|
||
- [Sergei Kuzmin brought this change]
|
||
|
||
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
|
||
|
||
- [Stephen Brokenshire brought this change]
|
||
|
||
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.
|
||
|
||
- [Sebastian Mundry brought this change]
|
||
|
||
KNOWN_BUGS: Fix typos in section 5.8.
|
||
|
||
Closes #1046
|
||
|
||
- [mundry brought this change]
|
||
|
||
CONTRIBUTE.md: Fix typo in 'About pull requests' section. (#1045)
|
||
|
||
- curl.1: --trace supports % for sending to stderr!
|
||
|
||
- KNOWN_BUGS: 5.8 configure finding libs in wrong directory
|
||
|
||
Dan Fandrich (24 Sep 2016)
|
||
- 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.
|
||
|
||
Daniel Stenberg (23 Sep 2016)
|
||
- SECURITY: remove the top ascii logo
|
||
|
||
Michael Kaufmann (22 Sep 2016)
|
||
- 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
|
||
|
||
Kamil Dudka (22 Sep 2016)
|
||
- nss: add chacha20-poly1305 cipher suites if supported by NSS
|
||
|
||
- nss: add cipher suites using SHA384 if supported by NSS
|
||
|
||
- 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.
|
||
|
||
Jay Satiro (21 Sep 2016)
|
||
- 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
|
||
|
||
Daniel Stenberg (21 Sep 2016)
|
||
- dist: add CurlSymbolHiding.cmake to the tarball
|
||
|
||
Follow-up to 6140dfcf3e784
|
||
|
||
Reported-by: Alexander Sinditskiy
|
||
|
||
- curl_global_cleanup.3: don't unload the lib with sub threads running
|
||
|
||
Discussed in #997
|
||
|
||
Assisted-by: Jay Satiro
|
||
|
||
- MAIL-ETIQUETTE: language
|
||
|
||
Jay Satiro (20 Sep 2016)
|
||
- easy: Reset all statistical session info in curl_easy_reset
|
||
|
||
Bug: https://github.com/curl/curl/issues/1017
|
||
Reported-by: Jeroen Ooms
|
||
|
||
Daniel Stenberg (19 Sep 2016)
|
||
- RELEASE-NOTES: synced with 79607eec51055
|
||
|
||
Jay Satiro (19 Sep 2016)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
darwinssl: Fix typo in comment
|
||
|
||
Closes https://github.com/curl/curl/pull/1028
|
||
|
||
Daniel Stenberg (19 Sep 2016)
|
||
- [Bernard Spil brought this change]
|
||
|
||
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
|
||
|
||
- [rugk brought this change]
|
||
|
||
TODO: Add PINNEDPUBLICKEY - HPKP compatibility, HSTS & HPKP
|
||
|
||
Closes #1025
|
||
Closes #1026
|
||
Closes #1027
|
||
|
||
- openssl: don't call ERR_remote_thread_state on >= 1.1.0
|
||
|
||
Follow-up fix to d9321562
|
||
|
||
- 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
|
||
|
||
- TODO: Support SSLKEYLOGFILE
|
||
|
||
Jay Satiro (18 Sep 2016)
|
||
- CURLOPT_PINNEDPUBLICKEY.3: fix the AVAILABILITY formatting
|
||
|
||
Nick Zitzmann (18 Sep 2016)
|
||
- 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.
|
||
|
||
- 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.
|
||
|
||
Jay Satiro (18 Sep 2016)
|
||
- test2048: fix url
|
||
|
||
- 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
|
||
|
||
Daniel Stenberg (16 Sep 2016)
|
||
- [Tony Kelman brought this change]
|
||
|
||
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
|
||
|
||
- KNOWN_BUGS: chunked-encoded requests with HTTP/2 is fixed
|
||
|
||
- http2: debug ouput sent HTTP/2 request headers
|
||
|
||
- 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
|
||
|
||
- 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
|
||
|
||
- RELEASE-NOTES: reset and go toward 7.51.0 (again)
|
||
|
||
Version 7.50.3 (14 Sep 2016)
|
||
|
||
Daniel Stenberg (14 Sep 2016)
|
||
- THANKS: updated with curl 7.50.3 contributors
|
||
|
||
- RELEASE-NOTES: curl 7.50.3
|
||
|
||
- test1605: verify negative input lengths to (un)escape functions
|
||
|
||
- curl_easy_unescape: deny negative string lengths as input
|
||
|
||
CVE-2016-7167
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20160914.html
|
||
|
||
- curl_easy_escape: deny negative string lengths as input
|
||
|
||
CVE-2016-7167
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20160914.html
|
||
|
||
- curl: make --create-dirs on windows grok both forward and backward slashes
|
||
|
||
Reported-by: Ryan Scott
|
||
|
||
Fixes #1007
|
||
|
||
- RELEASE-NOTES: synced with 665694979b6
|
||
|
||
- [Tony Kelman brought this change]
|
||
|
||
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
|
||
|
||
Jay Satiro (12 Sep 2016)
|
||
- CODE_STYLE: fix long-line guideline
|
||
|
||
- Change maximum allowed line length from 80 to 79.
|
||
|
||
- 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.
|
||
|
||
Peter Wu (11 Sep 2016)
|
||
- 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
|
||
|
||
Daniel Stenberg (11 Sep 2016)
|
||
- 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
|
||
|
||
- RELEASE-NOTES: synced with 257bf3ac67eb6
|
||
|
||
Jakub Zakrzewski (10 Sep 2016)
|
||
- 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
|
||
|
||
- 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
|
||
|
||
Daniel Stenberg (9 Sep 2016)
|
||
- 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
|
||
|
||
- 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
|
||
|
||
Jay Satiro (7 Sep 2016)
|
||
- 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
|
||
|
||
Daniel Stenberg (7 Sep 2016)
|
||
- bump: toward 7.51.0
|
||
|
||
- HISTORY: remove ascii logo to render nicer on web
|
||
|
||
- curl: whitelist use of strtok() in non-threaded context
|
||
|
||
- checksrc: detect strtok() use
|
||
|
||
... as that function slipped through once before.
|
||
|
||
GitHub (7 Sep 2016)
|
||
- [Viktor Szakats brought this change]
|
||
|
||
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.
|
||
|
||
Version 7.50.2 (7 Sep 2016)
|
||
|
||
Daniel Stenberg (7 Sep 2016)
|
||
- RELEASE-NOTES: curl 7.50.2 release
|
||
|
||
- THANKS: updated for 7.50.2
|
||
|
||
Jay Satiro (6 Sep 2016)
|
||
- [Gaurav Malhotra brought this change]
|
||
|
||
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
|
||
|
||
Daniel Stenberg (6 Sep 2016)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
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.
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
docs: Fix link to CONTRIBUTE in Github contribution guidelines (#994)
|
||
|
||
- [Marcel Raad brought this change]
|
||
|
||
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
|
||
|
||
- RELEASE-NOTES: synced with 3d4c0c8b9bc1d
|
||
|
||
- http2: return EOF when done uploading without known size
|
||
|
||
Fixes #982
|
||
|
||
- http2: skip the content-length parsing, detect unknown size
|
||
|
||
- http2: minor white space edit
|
||
|
||
- http2: use named define instead of magic constant in read callback
|
||
|
||
- [Craig Davison brought this change]
|
||
|
||
configure: make the cpp -P detection not clobber CPPFLAGS
|
||
|
||
CPPPFLAGS is now CPPPFLAG. Fixes CURL_CHECK_DEF.
|
||
|
||
Fixes #958
|
||
|
||
- [Olivier Brunel brought this change]
|
||
|
||
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
|
||
|
||
- HISTORY.md: the multi socket was put in the wrong year!
|
||
|
||
- [Mark Hamilton brought this change]
|
||
|
||
tool_helpers.c: fix comment typo (#989)
|
||
|
||
- [Mark Hamilton brought this change]
|
||
|
||
libtest/test.h: fix typo (#988)
|
||
|
||
- CURLMOPT_PIPELINING.3: language
|
||
|
||
- CURLMOPT_PIPELINING.3: extended and clarified
|
||
|
||
Especially in regards to the multiplexing part.
|
||
|
||
Steve Holme (31 Aug 2016)
|
||
- 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()
|
||
|
||
- README: Corrected the supported Visual Studio versions
|
||
|
||
Missed from commit 8356022d17.
|
||
|
||
- KNOWN_BUGS: Move the Visual Studio project shortcomings from local README
|
||
|
||
- KNOWN_BUGS: Expand 6.4 to include Kerberos V5
|
||
|
||
...and discuss a possible solution.
|
||
|
||
Daniel Stenberg (30 Aug 2016)
|
||
- 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
|
||
|
||
- KNOWN_BUGS: mention some cmake "support gaps"
|
||
|
||
Nick Zitzmann (28 Aug 2016)
|
||
- 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.
|
||
|
||
Daniel Stenberg (28 Aug 2016)
|
||
- http2: return CURLE_HTTP2_STREAM for unexpected stream close
|
||
|
||
Follow-up to c3e906e9cd0f, seems like a more appropriate error code
|
||
|
||
Suggested-by: Jay Satiro
|
||
|
||
- [Tatsuhiro Tsujikawa brought this change]
|
||
|
||
http2: handle closed streams when uploading
|
||
|
||
Fixes #986
|
||
|
||
- 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
|
||
|
||
- 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.
|
||
|
||
Steve Holme (27 Aug 2016)
|
||
- RELEASE-NOTES: Added missing fix from commit 15592143f
|
||
|
||
Jay Satiro (26 Aug 2016)
|
||
- 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
|
||
|
||
Kamil Dudka (26 Aug 2016)
|
||
- [Peter Wang brought this change]
|
||
|
||
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
|
||
|
||
- nss: refuse previously loaded certificate from file
|
||
|
||
... when we are not asked to use a certificate from file
|
||
|
||
Daniel Stenberg (26 Aug 2016)
|
||
- ftp_done: remove dead code
|
||
|
||
- TLS: random file/egd doesn't have to match for conn reuse
|
||
|
||
- test161: add comment for the exit code
|
||
|
||
Dan Fandrich (26 Aug 2016)
|
||
- test219: Add http as a required feature
|
||
|
||
Daniel Stenberg (25 Aug 2016)
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
HTTP: stop parsing headers when switching to unknown protocols
|
||
|
||
- unknown protocols probably won't send more headers (e.g. WebSocket)
|
||
- improved comments and moved them to the correct case statements
|
||
|
||
Closes #899
|
||
|
||
- openssl: make build with 1.1.0 again
|
||
|
||
synced with OpenSSL git master commit cc06906707
|
||
|
||
- INTERNALS: fix title
|
||
|
||
- configure: detect zlib with our pkg-config macros
|
||
|
||
... instead of relying on the pkg-config autoconf macros to be present.
|
||
|
||
Fixes #972 (again...)
|
||
|
||
Jay Satiro (25 Aug 2016)
|
||
- http2: Remove incorrect comments
|
||
|
||
.. also remove same from scp
|
||
|
||
Daniel Stenberg (23 Aug 2016)
|
||
- [Ales Novak brought this change]
|
||
|
||
ftp: fix wrong poll on the secondary socket
|
||
|
||
When we're uploading using FTP and the server issues a tiny pause
|
||
between opening the connection to the client's secondary socket, the
|
||
client's initial poll() times out, which leads to second poll() which
|
||
does not wait for POLLIN on the secondary socket. So that poll() also
|
||
has to time out, creating a long (200ms) pause.
|
||
|
||
This patch adds the correct flag to the secondary socket, making the
|
||
second poll() correctly wait for the connection there too.
|
||
|
||
Signed-off-by: Ales Novak <alnovak@suse.cz>
|
||
|
||
Closes #978
|
||
|
||
- RELEASE-NOTES: synced with 95ded2c56
|
||
|
||
- configure: make it work without PKG_CHECK_MODULES
|
||
|
||
With commit c2f9b78 we added a new dependency on pkg-config for
|
||
developers which may be unwanted. This change make the configure script
|
||
still work as before if pkg-config isn't installed, it'll just use the
|
||
old zlib detection logic without pkg-config.
|
||
|
||
Reported-by: Marc Hörsken
|
||
|
||
Fixes #972
|
||
|
||
Marc Hoersken (21 Aug 2016)
|
||
- Revert "KNOWN_BUGS: SOCKS proxy not working via IPv6"
|
||
|
||
This reverts commit 9cb1059f92286a6eb5d28c477fdd3f26aed1d554.
|
||
|
||
As discussed in #835 SOCKS5 supports IPv6 proxies and destinations.
|
||
|
||
Daniel Stenberg (21 Aug 2016)
|
||
- [Marco Deckel brought this change]
|
||
|
||
win: Basic support for Universal Windows Platform apps
|
||
|
||
Closes #820
|
||
|
||
Steve Holme (21 Aug 2016)
|
||
- sasl: Don't use GSSAPI authentication when domain name not specified
|
||
|
||
Only choose the GSSAPI authentication mechanism when the user name
|
||
contains a Windows domain name or the user is a valid UPN.
|
||
|
||
Fixes #718
|
||
|
||
- vauth: Added check for supported SSPI based authentication mechanisms
|
||
|
||
Completing commit 00417fd66c and 2708d4259b.
|
||
|
||
- http.c: Remove duplicate (authp->avail & CURLAUTH_DIGEST) check
|
||
|
||
From commit 2708d4259b.
|
||
|
||
Marc Hoersken (20 Aug 2016)
|
||
- socks.c: display the hostname returned by the SOCKS5 proxy server
|
||
|
||
Instead of displaying the requested hostname the one returned
|
||
by the SOCKS5 proxy server is used in case of connection error.
|
||
The requested hostname is displayed earlier in the connection sequence.
|
||
|
||
The upper-value of the port is moved to a temporary variable and
|
||
replaced with a 0-byte to make sure the hostname is 0-terminated.
|
||
|
||
Steve Holme (20 Aug 2016)
|
||
- urldata.h: Corrected comment for httpcode which is also populated by SMTP
|
||
|
||
As of 7.25.0 and commit 5430007222.
|
||
|
||
Marc Hoersken (20 Aug 2016)
|
||
- socks.c: use Curl_printable_address in SOCKS5 connection sequence
|
||
|
||
Replace custom string formatting with Curl_printable_address.
|
||
Add additional debug and error output in case of failures.
|
||
|
||
- socks.c: align SOCKS4 connection sequence with SOCKS5
|
||
|
||
Calling sscanf is not required since the raw IPv4 address is
|
||
available and the protocol can be detected using ai_family.
|
||
|
||
Steve Holme (20 Aug 2016)
|
||
- http.c: Corrected indentation change from commit 2708d4259b
|
||
|
||
Made by Visual Studio's auto-correct feature and missed by me in my own
|
||
code reviews!
|
||
|
||
- http: Added calls to Curl_auth_is_<mechansism>_supported()
|
||
|
||
Hooked up the HTTP authentication layer to query the new 'is mechanism
|
||
supported' functions when deciding what mechanism to use.
|
||
|
||
As per commit 00417fd66c existing functionality is maintained for now.
|
||
|
||
Marc Hoersken (20 Aug 2016)
|
||
- socks.c: improve verbose output of SOCKS5 connection sequence
|
||
|
||
- configure.ac: add missing quotes to PKG_CHECK_MODULES
|
||
|
||
Steve Holme (20 Aug 2016)
|
||
- sasl: Added calls to Curl_auth_is_<mechansism>_supported()
|
||
|
||
Hooked up the SASL authentication layer to query the new 'is mechanism
|
||
supported' functions when deciding what mechanism to use.
|
||
|
||
For now existing functionality is maintained.
|
||
|
||
Daniel Stenberg (19 Aug 2016)
|
||
- [Miroslav Franc brought this change]
|
||
|
||
spnego_sspi: fix memory leak in case *outlen is zero (#970)
|
||
|
||
- CURLMOPT_MAX_TOTAL_CONNECTIONS.3: mention it can also multiplex
|
||
|
||
Steve Holme (18 Aug 2016)
|
||
- vauth: Introduced Curl_auth_is_<mechansism>_supported() functions
|
||
|
||
As Windows SSPI authentication calls fail when a particular mechanism
|
||
isn't available, introduced these functions for DIGEST, NTLM, Kerberos 5
|
||
and Negotiate to allow both HTTP and SASL authentication the opportunity
|
||
to query support for a supported mechanism before selecting it.
|
||
|
||
For now each function returns TRUE to maintain compatability with the
|
||
existing code when called.
|
||
|
||
Daniel Stenberg (18 Aug 2016)
|
||
- test1144: verify HEAD with body-only response
|
||
|
||
Steve Holme (17 Aug 2016)
|
||
- RELEASE-PROCEDURE: Added some more future release dates
|
||
|
||
...and removed some old ones
|
||
|
||
Daniel Stenberg (17 Aug 2016)
|
||
- [David Woodhouse brought this change]
|
||
|
||
curl: allow "pkcs11:" prefix for client certificates
|
||
|
||
RFC7512 provides a standard method to reference certificates in PKCS#11
|
||
tokens, by means of a URI starting 'pkcs11:'.
|
||
|
||
We're working on fixing various applications so that whenever they would
|
||
have been able to use certificates from a file, users can simply insert
|
||
a PKCS#11 URI instead and expect it to work. This expectation is now a
|
||
part of the Fedora packaging guidelines, for example.
|
||
|
||
This doesn't work with cURL because of the way that the colon is used
|
||
to separate the certificate argument from the passphrase. So instead of
|
||
|
||
curl -E 'pkcs11:manufacturer=piv_II;id=%01' …
|
||
|
||
I instead need to invoke cURL with the colon escaped, like this:
|
||
|
||
curl -E 'pkcs11\:manufacturer=piv_II;id=%01' …
|
||
|
||
This is suboptimal because we want *consistency* — the URI should be
|
||
usable in place of a filename anywhere, without having strange
|
||
differences for different applications.
|
||
|
||
This patch therefore disables the processing in parse_cert_parameter()
|
||
when the string starts with 'pkcs11:'. It means you can't pass a
|
||
passphrase with an unescaped PKCS#11 URI, but there's no need to do so
|
||
because RFC7512 allows a PIN to be given as a 'pin-value' attribute in
|
||
the URI itself.
|
||
|
||
Also, if users are already using RFC7512 URIs with the colon escaped as
|
||
in the above example — even providing a passphrase for cURL to handling
|
||
instead of using a pin-value attribute, that will continue to work
|
||
because their string will start 'pkcs11\:' and won't match the check.
|
||
|
||
What *does* break with this patch is the extremely unlikely case that a
|
||
user has a file which is in the local directory and literally named
|
||
just "pkcs11", and they have a passphrase on it. If that ever happened,
|
||
the user would need to refer to it as './pkcs11:<passphrase>' instead.
|
||
|
||
- nss: make the global variables static
|
||
|
||
- openssl: use regular malloc instead of OPENSSL_malloc
|
||
|
||
This allows for better memmory debugging and torture tests.
|
||
|
||
- proxy: fix tests as follow-up to 93b0d907d5
|
||
|
||
This fixes tests that were added after 113f04e664b as the tests would
|
||
fail otherwise.
|
||
|
||
We bring back "Proxy-Connection: Keep-Alive" now unconditionally to fix
|
||
regressions with old and stupid proxies, but we could possibly switch to
|
||
using it only for CONNECT or only for NTLM in a future if we want to
|
||
gradually reduce it.
|
||
|
||
Fixes #954
|
||
|
||
Reported-by: János Fekete
|
||
|
||
- Revert "Proxy-Connection: stop sending this header by default"
|
||
|
||
This reverts commit 113f04e664b16b944e64498a73a4dab990fe9a68.
|
||
|
||
- CURLOPT_PROXY.3: unsupported schemes cause errors now
|
||
|
||
Follow-up to a96319ebb9 (document the new behavior)
|
||
|
||
- tests/README: mention nghttpx for HTTP/2 tests
|
||
|
||
- README.md: add our CII Best Practices badge
|
||
|
||
- proxy: polished the error message for unsupported schemes
|
||
|
||
Follow up to a96319ebb93
|
||
|
||
- test219: verify unsupported scheme for proxies get rejected
|
||
|
||
- proxy: reject attempts to use unsupported proxy schemes
|
||
|
||
I discovered some people have been using "https://example.com" style
|
||
strings as proxy and it "works" (curl doesn't complain) because curl
|
||
ignores unknown schemes and then assumes plain HTTP instead.
|
||
|
||
I think this misleads users into believing curl uses HTTPS to proxies
|
||
when it doesn't. Now curl rejects proxy strings using unsupported
|
||
schemes instead of just ignoring and defaulting to HTTP.
|
||
|
||
- RELEASE-NOTES: synced with b7ee5316c2fd5b
|
||
|
||
Marc Hoersken (14 Aug 2016)
|
||
- socks.c: Correctly calculate position of port in response packet
|
||
|
||
Third commit to fix issue #944 regarding SOCKS5 error handling.
|
||
|
||
Reported-by: David Kalnischkies
|
||
|
||
- socks.c: Do not modify and invalidate calculated response length
|
||
|
||
Second commit to fix issue #944 regarding SOCKS5 error handling.
|
||
|
||
Reported-by: David Kalnischkies
|
||
|
||
- socks.c: Move error output after reading the whole response packet
|
||
|
||
First commit to fix issue #944 regarding SOCKS5 error handling.
|
||
|
||
Reported-by: David Kalnischkies
|
||
|
||
Daniel Stenberg (13 Aug 2016)
|
||
- [Ronnie Mose brought this change]
|
||
|
||
MANUAL: Remove invalid link to LDAP documentation (#962)
|
||
|
||
The server developer.netscape.com does not resolve into any
|
||
ip address and can be removed.
|
||
|
||
Jay Satiro (13 Aug 2016)
|
||
- openssl: accept subjectAltName iPAddress if no dNSName match
|
||
|
||
Undo change introduced in d4643d6 which caused iPAddress match to be
|
||
ignored if dNSName was present but did not match.
|
||
|
||
Also, if iPAddress is present but does not match, and dNSName is not
|
||
present, fail as no-match. Prior to this change in such a case the CN
|
||
would be checked for a match.
|
||
|
||
Bug: https://github.com/curl/curl/issues/959
|
||
Reported-by: wmsch@users.noreply.github.com
|
||
|
||
Daniel Stenberg (12 Aug 2016)
|
||
- [Dambaev Alexander brought this change]
|
||
|
||
configure.ac: add zlib search with pkg-config
|
||
|
||
Closes #956
|
||
|
||
- rtsp: ignore whitespace in session id
|
||
|
||
Follow-up to e577c43bb to fix test case 569 brekage: stop the parser at
|
||
whitespace as well.
|
||
|
||
Help-by: Erik Janssen
|
||
|
||
- HTTP: retry failed HEAD requests too
|
||
|
||
Mark's new document about HTTP Retries
|
||
(https://mnot.github.io/I-D/httpbis-retry/) made me check our code and I
|
||
spotted that we don't retry failed HEAD requests which seems totally
|
||
inconsistent and I can't see any reason for that separate treatment.
|
||
|
||
So, no separate treatment for HEAD starting now. A HTTP request sent
|
||
over a reused connection that gets cut off before a single byte is
|
||
received will be retried on a fresh connection.
|
||
|
||
Made-aware-by: Mark Nottingham
|
||
|
||
- mk-ca-bundle.1: document -m, added in 1.26
|
||
|
||
- RELEASE-NOTES: synced with e577c43bb5
|
||
|
||
- [Erik Janssen brought this change]
|
||
|
||
rtsp: accept any RTSP session id
|
||
|
||
Makes libcurl work in communication with gstreamer-based RTSP
|
||
servers. The original code validates the session id to be in accordance
|
||
with the RFC. I think it is better not to do that:
|
||
|
||
- For curl the actual content is a don't care.
|
||
|
||
- The clarity of the RFC is debatable, is $ allowed or only as \$, that
|
||
is imho not clear
|
||
|
||
- Gstreamer seems to url-encode the session id but % is not allowed by
|
||
the RFC
|
||
|
||
- less code
|
||
|
||
With this patch curl will correctly handle real-life lines like:
|
||
Session: biTN4Kc.8%2B1w-AF.; timeout=60
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-08/0076.html
|
||
|
||
- symbols-in-versions: add CURL_STRICTER
|
||
|
||
Added in 5fce88aa8c12564
|
||
|
||
- [Simon Warta brought this change]
|
||
|
||
winbuild: Allow changing C compiler via environment variable CC (#952)
|
||
|
||
This makes it possible to use specific compilers or a cache.
|
||
|
||
Sample use for clcache:
|
||
set CC=clcache.bat
|
||
nmake /f Makefile.vc DEBUG=no MODE=static VC=14 GEN_PDB=no
|
||
|
||
- LICENSE-MIXING.md: switched to markdown
|
||
|
||
- docs-make: have markdown files use .md
|
||
|
||
- curl.h: make CURL_NO_OLDIES define CURL_STRICTER
|
||
|
||
- HISTORY.md: use markdown extension
|
||
|
||
- SSLCERTS.md: renamed to markdown extension
|
||
|
||
- INTERNALS.md: use markdown extension for markdown content
|
||
|
||
- CONTRIBUTE.md: markdown extension
|
||
|
||
- CONTRIBUTE: changed to markdown
|
||
|
||
- CONTRIBUTE: refreshed
|
||
|
||
- TODO: added an SSH section and two SFTP things to do
|
||
|
||
- TODO: remove the 1.22 duplicated item
|
||
|
||
- TODO: move "CURLOPT_MAIL_CLIENT" to SMTP section
|
||
|
||
- TODO: API for URL parsing/splitting
|
||
|
||
- TODO: move QUIC to the HTTP section
|
||
|
||
- [Simon Warta brought this change]
|
||
|
||
winbuild: Free name $(CC) in Makefile (#950)
|
||
|
||
In the old line number 290, CC and CURL_CC had the same value. After
|
||
that, /DCURL_STATICLIB was added to CC but not CURL_CC (intended?).
|
||
|
||
This gets rid of the CC variable entirely. It is a first step to make it
|
||
possible to manualyl set a CC variable in order to be able to change the
|
||
compiler.
|
||
|
||
- TODO: Use huge HTTP/2 windows
|
||
|
||
- [Simon Warta brought this change]
|
||
|
||
winbuild: Avoid setting redundant CFLAGS to compile commands (#949)
|
||
|
||
$(CURL_CC) is always used with $(CURL_CFLAGS) appended, so before this,
|
||
all arguments in CURL_CFLAGS have been added twice.
|
||
|
||
Jay Satiro (8 Aug 2016)
|
||
- cmake: Enable win32 threaded resolver by default
|
||
|
||
- Turn on USE_THREADS_WIN32 in Windows if ares isn't on
|
||
|
||
This change is similar to what we already do in the autotools build.
|
||
|
||
- cmake: Enable win32 large file support by default
|
||
|
||
All compilers used by cmake in Windows should support large files.
|
||
|
||
- Add test SIZEOF_OFF_T
|
||
- Remove outdated test SIZEOF_CURL_OFF_T
|
||
- Turn on USE_WIN32_LARGE_FILES in Windows
|
||
- Check for 'Largefile' during the features output
|
||
|
||
Daniel Stenberg (7 Aug 2016)
|
||
- TODO: added several ideas, removed SPDY
|
||
|
||
- http2: always wait for readable socket
|
||
|
||
Since the server can at any time send a HTTP/2 frame to us, we need to
|
||
wait for the socket to be readable during all transfers so that we can
|
||
act on incoming frames even when uploading etc.
|
||
|
||
Reminded-by: Tatsuhiro Tsujikawa
|
||
|
||
- RELEASE-NOTES: synced with 7b4bf37a44791
|
||
|
||
- [Thomas Glanzmann brought this change]
|
||
|
||
mbedtls: set debug threshold to 4 (verbose) when MBEDTLS_DEBUG is defined
|
||
|
||
In order to make MBEDTLS_DEBUG work, the debug threshold must be unequal
|
||
to 0. This patch also adds a comment how mbedtls must be compiled in
|
||
order to make debugging work, and explains the possible debug levels.
|
||
|
||
- CURLOPT_TCP_NODELAY: now enabled by default
|
||
|
||
After a few wasted hours hunting down the reason for slowness during a
|
||
TLS handshake that turned out to be because of TCP_NODELAY not being
|
||
set, I think we have enough motivation to toggle the default for this
|
||
option. We now enable TCP_NODELAY by default and allow applications to
|
||
switch it off.
|
||
|
||
This also makes --tcp-nodelay unnecessary, but --no-tcp-nodelay can be
|
||
used to disable it.
|
||
|
||
Thanks-to: Tim Rühsen
|
||
Bug: https://curl.haxx.se/mail/lib-2016-06/0143.html
|
||
|
||
- [Serj Kalichev brought this change]
|
||
|
||
TFTP: Fix upload problem with piped input
|
||
|
||
When input stream for curl is stdin and input stream is not a file but
|
||
generated by a script then curl can truncate data transfer to arbitrary
|
||
size since a partial packet is treated as end of transfer by TFTP.
|
||
|
||
Fixes #857
|
||
|
||
- mk-ca-bundle.pl: -m keeps ca cert meta data in output
|
||
|
||
Makes the script pass on comments holding meta data to the output
|
||
file. Like fingerprinters, issuer, date ranges etc.
|
||
|
||
Closes #937
|
||
|
||
- multi: make Curl_expire() work with 0 ms timeouts
|
||
|
||
Previously, passing a timeout of zero to Curl_expire() was a magic code
|
||
for clearing all timeouts for the handle. That is now instead made with
|
||
the new Curl_expire_clear() function and thus a 0 timeout is fine to set
|
||
and will trigger a timeout ASAP.
|
||
|
||
This will help removing short delays, in particular notable when doing
|
||
HTTP/2.
|
||
|
||
- transfer: return without select when the read loop reached maxcount
|
||
|
||
Regression added in 790d6de48515. The was then added to avoid one
|
||
particular transfer to starve out others. But when aborting due to
|
||
reading the maxcount, the connection must be marked to be read from
|
||
again without first doing a select as for some protocols (like SFTP/SCP)
|
||
the data may already have been read off the socket.
|
||
|
||
Reported-by: Dan Donahue
|
||
Bug: https://curl.haxx.se/mail/lib-2016-07/0057.html
|
||
|
||
Steve Holme (3 Aug 2016)
|
||
- [Bill Nagel brought this change]
|
||
|
||
mbedtls: Added support for NTLM
|
||
|
||
Daniel Stenberg (3 Aug 2016)
|
||
- [Sergei Nikulov brought this change]
|
||
|
||
travis: removed option to rebuild autotool from source
|
||
|
||
Fixes #943
|
||
|
||
- bump: start working toward 7.50.2
|
||
|
||
Version 7.50.1 (3 Aug 2016)
|
||
|
||
Daniel Stenberg (3 Aug 2016)
|
||
- THANKS: 7 new contributors from the 7.50.1 release
|
||
|
||
- RELEASE-NOTES: 7.50.1
|
||
|
||
- TLS: only reuse connections with the same client cert
|
||
|
||
CVE-2016-5420
|
||
Bug: https://curl.haxx.se/docs/adv_20160803B.html
|
||
|
||
- TLS: switch off SSL session id when client cert is used
|
||
|
||
CVE-2016-5419
|
||
Bug: https://curl.haxx.se/docs/adv_20160803A.html
|
||
Reported-by: Bru Rom
|
||
Contributions-by: Eric Rescorla and Ray Satiro
|
||
|
||
- curl_multi_cleanup: clear connection pointer for easy handles
|
||
|
||
CVE-2016-5421
|
||
Bug: https://curl.haxx.se/docs/adv_20160803C.html
|
||
Reported-by: Marcelo Echeverria and Fernando Muñoz
|
||
|
||
- KNOWN_BUGS: SOCKS proxy not working via IPv6
|
||
|
||
Closes #835
|
||
|
||
- KNOWN_BUGS: CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
|
||
|
||
Closes #768
|
||
|
||
- KNOWN_BUGS: transfer-encoding: chunked in HTTP/2
|
||
|
||
Closes #662
|
||
|
||
- TODO: Provide cmake config-file
|
||
|
||
Closes #885
|
||
|
||
Patrick Monnerat (2 Aug 2016)
|
||
- os400: define BUILDING_LIBCURL in make script.
|
||
|
||
Daniel Stenberg (1 Aug 2016)
|
||
- RELEASE-NOTES: synced with aa9f536a18b
|
||
|
||
Jay Satiro (1 Aug 2016)
|
||
- [Thomas Glanzmann brought this change]
|
||
|
||
mbedtls: Fix debug function name
|
||
|
||
This patch is necessary so that curl compiles if MBEDTLS_DEBUG is
|
||
defined.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-08/0001.html
|
||
|
||
Daniel Stenberg (1 Aug 2016)
|
||
- [Sergei Nikulov brought this change]
|
||
|
||
travis: fix OSX build by re-installing libtool
|
||
|
||
Apparently due to a broken homebrew install
|
||
|
||
fixes #934
|
||
Closes #939
|
||
|
||
- [Martin Vejnár brought this change]
|
||
|
||
win32: fix a potential memory leak in Curl_load_library
|
||
|
||
If a call to GetSystemDirectory fails, the `path` pointer that was
|
||
previously allocated would be leaked. This makes sure that `path` is
|
||
always freed.
|
||
|
||
Closes #938
|
||
|
||
- include: revert 9adf3c4 and make public types void * again
|
||
|
||
Many applications assume the actual contents of the public types and use
|
||
that do for example forward declarations (saving them from including our
|
||
public header) which then breaks when we switch from void * to a struct
|
||
*.
|
||
|
||
I'm not convinced we were wrong, but since this practise seems
|
||
widespread enough I'm willing to (partly) step down.
|
||
|
||
Now libcurl uses the struct itself when it is built and it allows
|
||
applications to use the struct type if CURL_STRICTER is defined at the
|
||
time of the #include.
|
||
|
||
Reported-by: Peter Frühberger
|
||
Fixes #926
|
||
|
||
Jay Satiro (28 Jul 2016)
|
||
- [Yonggang Luo brought this change]
|
||
|
||
cmake: Fix for schannel support
|
||
|
||
The check_library_exists_concat do not check crypt32 library properly.
|
||
So include it directly.
|
||
|
||
Bug: https://github.com/curl/curl/pull/917
|
||
Reported-by: Yonggang Luo
|
||
|
||
Bug: https://github.com/curl/curl/issues/935
|
||
Reported-by: Alain Danteny
|
||
|
||
- Revert "travis: Install libtool for OS X builds"
|
||
|
||
Didn't work.
|
||
|
||
This reverts commit 50723585ed380744358de054e2a55dccee65dfd7.
|
||
|
||
- travis: Install libtool for OS X builds
|
||
|
||
CI is failing due to missing libtoolize, so I'm trying this.
|
||
|
||
Daniel Stenberg (26 Jul 2016)
|
||
- [Viktor Szakats brought this change]
|
||
|
||
TODO: minor typo in last commit
|
||
|
||
merged #931
|
||
|
||
- TODO: Timeout idle connections from the pool
|
||
|
||
Patrick Monnerat (25 Jul 2016)
|
||
- os400: minimum supported OS version: V6R1M0.
|
||
Do not log compilation informational messages.
|
||
|
||
Jay Satiro (24 Jul 2016)
|
||
- tests: Fix for http/2 feature
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-07/0070.html
|
||
Reported-by: Paul Howarth
|
||
|
||
Steve Holme (23 Jul 2016)
|
||
- README: Mention wolfSSL in the 'Dependencies' section
|
||
|
||
- vauth.h: No need to query HAVE_GSSAPI || USE_WINDOWS_SSPI for SPNEGO
|
||
|
||
As SPNEGO is only defined when these pre-processor variables are defined
|
||
there is no need to query them explicitly.
|
||
|
||
- spnego: Corrected miss-placed * in Curl_auth_spnego_cleanup() declaration
|
||
|
||
Typo introduced in commit ad5e9bfd5d.
|
||
|
||
Daniel Stenberg (22 Jul 2016)
|
||
- SECURITY: mention how to get windows-specific CVEs
|
||
|
||
... and make the distros link a proper link
|
||
|
||
Dan Fandrich (21 Jul 2016)
|
||
- test558: fix test by stripping file paths from FD lines
|
||
|
||
Kamil Dudka (21 Jul 2016)
|
||
- tests: distribute the http2-server.pl script, too
|
||
|
||
- docs: distribute the CURLINFO_HTTP_VERSION(3) man page, too
|
||
|
||
Daniel Stenberg (21 Jul 2016)
|
||
- bump: start working on 7.50.1
|
||
|
||
Version 7.50.0 (21 Jul 2016)
|
||
|
||
Daniel Stenberg (21 Jul 2016)
|
||
- RELEASE-NOTES: version 7.50.0 ready
|
||
|
||
- THANKS: 13 new contributors from the 7.50.0 release
|
||
|
||
Jay Satiro (21 Jul 2016)
|
||
- winbuild: fix embedded manifest option
|
||
|
||
Embedded manifest option didn't work due to typo.
|
||
|
||
Reported-by: Stefan Kanthak
|
||
|
||
- vauth: Fix memleak by freeing credentials if out of memory
|
||
|
||
This is a follow up to the parent commit dcdd4be which fixes one leak
|
||
but creates another by failing to free the credentials handle if out of
|
||
memory. Also there's a second location a few lines down where we fail to
|
||
do same. This commit fixes both of those issues.
|
||
|
||
Daniel Stenberg (20 Jul 2016)
|
||
- [Saurav Babu brought this change]
|
||
|
||
vauth: Fixed memory leak due to function returning without free
|
||
|
||
This patch allocates memory to "output_token" only when it is required
|
||
so that memory is not leaked if function returns.
|
||
|
||
- test558: updated after ipv6-check move
|
||
|
||
Follow-up commit to c50980807c5 to make this test pass.
|
||
|
||
Jay Satiro (20 Jul 2016)
|
||
- connect: disable TFO on Linux when using SSL
|
||
|
||
- Linux TFO + TLS is not implemented yet.
|
||
|
||
Bug: https://github.com/curl/curl/issues/907
|
||
|
||
Daniel Stenberg (19 Jul 2016)
|
||
- ROADMAP: QUIC and TLS 1.3
|
||
|
||
- RELEASE-NOTES: synced with c50980807c5
|
||
|
||
Jay Satiro (18 Jul 2016)
|
||
- [Brian Prodoehl brought this change]
|
||
|
||
curl_global_init: Check if IPv6 works
|
||
|
||
- Curl_ipv6works() is not thread-safe until after the first call, so
|
||
call it once during global init to avoid a possible race condition.
|
||
|
||
Bug: https://github.com/curl/curl/issues/915
|
||
PR: https://github.com/curl/curl/pull/918
|
||
|
||
- [Timothy Polich brought this change]
|
||
|
||
CURLMOPT_SOCKETFUNCTION.3: fix typo
|
||
|
||
Closes https://github.com/curl/curl/pull/914
|
||
|
||
- [Miroslav Franc brought this change]
|
||
|
||
library: Fix memory leaks found during static analysis
|
||
|
||
Closes https://github.com/curl/curl/pull/913
|
||
|
||
- [Viktor Szakats brought this change]
|
||
|
||
cookie.c: Fix misleading indentation
|
||
|
||
Closes https://github.com/curl/curl/pull/911
|
||
|
||
- FAQ: Update FTP directory listing section for MLSD command
|
||
|
||
Explain how some FTP servers support the machine readable listing
|
||
format MLSD from RFC 3659 and compare it to LIST.
|
||
|
||
Ref: https://github.com/curl/curl/issues/906
|
||
|
||
Daniel Stenberg (1 Jul 2016)
|
||
- [Sergei Nikulov brought this change]
|
||
|
||
Appveyor: Updates for options - CURL_STATICLIB/BUILD_TESTING
|
||
|
||
Closes #892
|
||
|
||
- TODO: 17.4 also brings more HTTP/2 support
|
||
|
||
- TODO: try next proxy if one doesn't work
|
||
|
||
Closes #896
|
||
|
||
- conn: don't free easy handle data in handler->disconnect
|
||
|
||
Reported-by: Gou Lingfeng
|
||
Bug: https://curl.haxx.se/mail/lib-2016-06/0139.html
|
||
|
||
- test1244: test different proxy ports same URL
|
||
|
||
- curl_global_init.3: improved formatting of the flags
|
||
|
||
- curl_global_init.3: expand on the SSL and WIN32 bits purpose
|
||
|
||
Reported-by: Richard Gray
|
||
Bug: https://curl.haxx.se/mail/lib-2016-06/0136.html
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
cleanup: minor code cleanup in Curl_http_readwrite_headers()
|
||
|
||
- the expression of an 'if' was always true
|
||
- a 'while' contained a condition that was always true
|
||
- use 'if(k->exp100 > EXP100_SEND_DATA)' instead of 'if(k->exp100)'
|
||
- fixed a typo
|
||
|
||
Closes #889
|
||
|
||
- SFTP: set a generic error when no SFTP one exists...
|
||
|
||
... as otherwise we could get a 0 which would count as no error and we'd
|
||
wrongly continue and could end up segfaulting.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-06/0052.html
|
||
Reported-by: 暖和的和暖
|
||
|
||
- ROADMAP: http2 tests are merged, mention http2 perf
|
||
|
||
- docs/README.md: to render nicer pages on github
|
||
|
||
... as previously the README.cmake would be picked and put at the bottom
|
||
of the docs page there and it wasn't very representative!
|
||
|
||
- README.md: change host name for the svg logo
|
||
|
||
rawgit.com asks to use the domain cdn.rawgit.com for production
|
||
|
||
See #900
|
||
|
||
- [Viktor Szakats brought this change]
|
||
|
||
README.md: use the SVG logo
|
||
|
||
- README.md: logo on top!
|
||
|
||
- KNOWN_BUGS: 3.4 POP3 expects "CRLF.CRLF" eob for some
|
||
|
||
Closes #740
|
||
|
||
- RELEASE-NOTES: synced with d61c80515aa8
|
||
|
||
- [Michael Osipov brought this change]
|
||
|
||
acinclude.m4: improve autodetection of CA bundle on FreeBSD
|
||
|
||
The FreeBSD Port security/ca_root_nss installs the Mozilla NSS CA bundle
|
||
to /usr/local/share/certs/ca-root-nss.crt. Use this bundle in the
|
||
discovery process.
|
||
|
||
This change also removes the former FreeBSD path that has been obsolete
|
||
for 8 years since this FreeBSD ports commit:
|
||
https://svnweb.freebsd.org/ports/head/security/?view=revision&revision=215953
|
||
|
||
Closes #894
|
||
|
||
- configure: don't specify .lib for libs on windows
|
||
|
||
Another follow up for crypt32.lib linking with winssl
|
||
|
||
- configure: fix winssl LIBS change typo
|
||
|
||
follow-up from 120bf29e
|
||
|
||
- TODO: "TCP Fast Open" is done, add monitor pool connections
|
||
|
||
- configure: add crypt32.lib for winssl builds
|
||
|
||
Necessary since 6cabd78531f
|
||
|
||
- Makefile.vc: link with crypt32.lib for winssl builds
|
||
|
||
Necessary since 6cabd78531f
|
||
|
||
Fixes #853
|
||
|
||
- [Joel Depooter brought this change]
|
||
|
||
VC: Add crypt32.lib to Visual Sudio project template files
|
||
|
||
Closes #854
|
||
|
||
- vc: fix the build for schannel certinfo support
|
||
|
||
Broken since 6cabd785, which adds use of the Curl_extract_certinfo
|
||
function from the x509asn1.c file.
|
||
|
||
- typedefs: use the full structs in internal code...
|
||
|
||
... and save the typedef'ed names for headers and external APIs.
|
||
|
||
- internals: rename the SessionHandle struct to Curl_easy
|
||
|
||
- headers: forward declare CURL, CURLM and CURLSH as structs
|
||
|
||
Instead of typedef'ing to void, typedef to their corresponding actual
|
||
struct names to allow compilers to type-check.
|
||
|
||
Assisted-by: Reinhard Max
|
||
|
||
Jay Satiro (22 Jun 2016)
|
||
- vtls: Only call add/getsession if session id is enabled
|
||
|
||
Prior to this change we called Curl_ssl_getsessionid and
|
||
Curl_ssl_addsessionid regardless of whether session ID reusing was
|
||
enabled. According to comments that is in case session ID reuse was
|
||
disabled but then later enabled.
|
||
|
||
The old way was not intuitive and probably not something users expected.
|
||
When a user disables session ID caching I'd guess they don't expect the
|
||
session ID to be cached anyway in case the caching is later enabled.
|
||
|
||
Daniel Stenberg (22 Jun 2016)
|
||
- curl.1: the used progress meter suffix is k in lower case
|
||
|
||
Closes #883
|
||
|
||
- [Sergei Nikulov brought this change]
|
||
|
||
cmake: now using BUILD_TESTING=ON/OFF
|
||
|
||
CMake build now using BUILD_TESTING=ON/OFF (default is OFF) to build
|
||
tests and enabling CTest integration. Options BUILD_CURL_TESTS and
|
||
BUILD_DASHBOARD_REPORTS was removed.
|
||
|
||
Closes #882
|
||
|
||
Reviewed-by: Brad King
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
cleanup: fix method names in code comments
|
||
|
||
Closes #887
|
||
|
||
Kamil Dudka (21 Jun 2016)
|
||
- curl-compilers.m4: improve detection of GCC's -fvisibility= flag
|
||
|
||
Some builds of GCC produce output on both stdout and stderr when --help
|
||
--verbose is used. The 2>&1 redirection caused them to be arbitrarily
|
||
interleaved with each other because of stream buffering. Consequently,
|
||
grep failed to match the fvisibility= string in the mixed output, even
|
||
though the string was present in GCC's standard output.
|
||
|
||
This led to silently disabling symbol hiding in some builds of curl.
|
||
|
||
Daniel Stenberg (19 Jun 2016)
|
||
- tests: fix the HTTP/2 tests
|
||
|
||
The HTTP/2 tests brought with commit bf05606ef1f were using the internal
|
||
name 'http2' for the HTTP/2 server, while in fact that name was already
|
||
used for the second instance of the HTTP server. This made tests using
|
||
the second instance (like test 2050) fail after a HTTP/2 test had run.
|
||
|
||
The server is now known as HTTP/2 internally and within the <server>
|
||
section in test cases. 1700, 1701 and 1702 were updated accordingly.
|
||
|
||
- openssl: use more 'const' to fix build warnings with 1.1.0 branch
|
||
|
||
- curl.1: missed 'T' in the progress unit suffixes
|
||
|
||
- curl.1: mention the unix for the progress meter
|
||
|
||
Patrick Monnerat (16 Jun 2016)
|
||
- os400: add new definitions to ILE/RPG binding.
|
||
|
||
Daniel Stenberg (16 Jun 2016)
|
||
- openssl: fix cert check with non-DNS name fields present
|
||
|
||
Regression introduced in 5f5b62635 (released in 7.48.0)
|
||
|
||
Reported-by: Fabian Ruff
|
||
Fixes #875
|
||
|
||
Dan Fandrich (16 Jun 2016)
|
||
- axtls: Use Curl_wait_ms instead of the less-portable usleep
|
||
|
||
- axtls: Fixed compile after compile 31c521b0
|
||
|
||
- tests: Added HTTP proxy keywords to tests 1141 & 1142
|
||
|
||
Jay Satiro (15 Jun 2016)
|
||
- [Sergei Nikulov brought this change]
|
||
|
||
cmake: Fix build with winldap
|
||
|
||
Bug: https://github.com/curl/curl/pull/874
|
||
Reported-by: Sergei Nikulov
|
||
|
||
- CURLOPT_POSTFIELDS.3: Clarify what happens when set empty
|
||
|
||
When CURLOPT_POSTFIELDS is set to an empty string libcurl will send a
|
||
zero-byte POST. Prior to this change it was documented as sending data
|
||
from the read callback.
|
||
|
||
This also changes the wording of what happens when empty or NULL so that
|
||
it's hopefully easier to understand for people whose primary language
|
||
isn't English.
|
||
|
||
Bug: https://github.com/curl/curl/issues/862
|
||
Reported-by: Askar Safin
|
||
|
||
- [Michael Wallner brought this change]
|
||
|
||
curl_multi_socket_action.3: Fix rewording
|
||
|
||
- Remove some erroneous text.
|
||
|
||
Closes https://github.com/curl/curl/pull/865
|
||
|
||
- [Luo Jinghua brought this change]
|
||
|
||
resolve: enable protocol family logic for synthesized IPv6
|
||
|
||
- Enable protocol family logic for IPv6 resolves even when support
|
||
for synthesized addresses is enabled.
|
||
|
||
This is a follow up to the parent commit that added support for
|
||
synthesized IPv6 addresses from IPv4 on iOS/OS X. The protocol family
|
||
logic needed for IPv6 was inadvertently excluded if support for
|
||
synthesized addresses was enabled.
|
||
|
||
Bug: https://github.com/curl/curl/issues/863
|
||
Ref: https://github.com/curl/curl/pull/866
|
||
Ref: https://github.com/curl/curl/pull/867
|
||
|
||
Daniel Stenberg (7 Jun 2016)
|
||
- [Luo Jinghua brought this change]
|
||
|
||
resolve: add support for IPv6 DNS64/NAT64 Networks on OS X + iOS
|
||
|
||
Use getaddrinfo() to resolve the IPv4 address literal on iOS/Mac OS X.
|
||
If the current network interface doesn’t support IPv4, but supports
|
||
IPv6, NAT64, and DNS64.
|
||
|
||
Closes #866
|
||
Fixes #863
|
||
|
||
- tests: two more HTTP/2 tests
|
||
|
||
1701 and 1702
|
||
|
||
- runtests: don't display logs when http2 server fails to start
|
||
|
||
- runtests: make stripfile work on stdout as well
|
||
|
||
... and have test 1700 use that to strip out the nghttpx server: headers
|
||
|
||
- http2-tests: test1700 is the first real HTTP/2 test
|
||
|
||
It requires that 'nghttpx' is in the PATH, and it will run the tests
|
||
using nghttpx as a front-end proxy in front of the standard HTTP/1 test
|
||
server. This uses HTTP/2 over plain TCP.
|
||
|
||
If you like me have nghttpx installed in a custom path, you can run test 1700
|
||
like this:
|
||
|
||
$ PATH=$PATH:$HOME/build-nghttp2/bin/ ./runtests.pl 1700
|
||
|
||
- RELEASE-NOTES: synced with 34855feeb4c299
|
||
|
||
Steve Holme (6 Jun 2016)
|
||
- schannel: Disable ALPN on Windows < 8.1
|
||
|
||
Calling QueryContextAttributes with SECPKG_ATTR_APPLICATION_PROTOCOL
|
||
fails on Windows < 8.1 so we need to disable ALPN on these OS versions.
|
||
|
||
Inspiration provide by: Daniel Seither
|
||
|
||
Closes #848
|
||
Fixes #840
|
||
|
||
Jay Satiro (5 Jun 2016)
|
||
- checksrc: Add LoadLibrary to the banned functions list
|
||
|
||
LoadLibrary was supplanted by Curl_load_library for security
|
||
reasons in 6df916d.
|
||
|
||
- http: Fix HTTP/2 connection reuse
|
||
|
||
- Change the parser to not require a minor version for HTTP/2.
|
||
|
||
HTTP/2 connection reuse broke when we changed from HTTP/2.0 to HTTP/2
|
||
in 8243a95 because the parser still expected a minor version.
|
||
|
||
Bug: https://github.com/curl/curl/issues/855
|
||
Reported-by: Andrew Robbins, Frank Gevaerts
|
||
|
||
Steve Holme (4 Jun 2016)
|
||
- connect.c: Fixed compilation warning from commit 332e8d6164
|
||
|
||
connect.c:952:5: warning: suggest explicit braces to avoid ambiguous 'else'
|
||
|
||
- win32: Used centralised verify windows version function
|
||
|
||
Closes #845
|
||
|
||
- win32: Added verify windows version functionality
|
||
|
||
- win32: Introduced centralised verify windows version function
|
||
|
||
Kamil Dudka (3 Jun 2016)
|
||
- tool_urlglob: fix off-by-one error in glob_parse()
|
||
|
||
... causing SIGSEGV while parsing URL with too many globs.
|
||
Minimal example:
|
||
|
||
$ curl $(for i in $(seq 101); do printf '{a}'; done)
|
||
|
||
Reported-by: Romain Coltel
|
||
Bug: https://bugzilla.redhat.com/1340757
|
||
|
||
Daniel Stenberg (1 Jun 2016)
|
||
- [Benjamin Kircher brought this change]
|
||
|
||
libcurl-multi.3: fix small typo
|
||
|
||
Closes #850
|
||
|
||
- [Viktor Szakats brought this change]
|
||
|
||
makefile.m32: add crypt32 for winssl builds
|
||
|
||
Dependency added by 6cabd78
|
||
|
||
Closes #849
|
||
|
||
- [Ivan Avdeev brought this change]
|
||
|
||
vtls: fix ssl session cache race condition
|
||
|
||
Sessionid cache management is inseparable from managing individual
|
||
session lifetimes. E.g. for reference-counted sessions (like those in
|
||
SChannel and OpenSSL engines) every session addition and removal
|
||
should be accompanied with refcount increment and decrement
|
||
respectively. Failing to do so synchronously leads to a race condition
|
||
that causes symptoms like use-after-free and memory corruption.
|
||
This commit:
|
||
- makes existing session cache locking explicit, thus allowing
|
||
individual engines to manage lock's scope.
|
||
- fixes OpenSSL and SChannel engines by putting refcount management
|
||
inside this lock's scope in relevant places.
|
||
- adds these explicit locking calls to other engines that use
|
||
sessionid cache to accommodate for this change. Note, however,
|
||
that it is unknown whether any of these engines could also have
|
||
this race.
|
||
|
||
Bug: https://github.com/curl/curl/issues/815
|
||
Fixes #815
|
||
Closes #847
|
||
|
||
- [Andrew Kurushin brought this change]
|
||
|
||
schannel: add CURLOPT_CERTINFO support
|
||
|
||
Closes #822
|
||
|
||
- RELEASE-NOTES: synced with 142ee9fa15002315
|
||
|
||
- openssl: rename the private SSL_strerror
|
||
|
||
... to make it not look like an OpenSSL function
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
openssl: Use correct buffer sizes for error messages
|
||
|
||
Closes #844
|
||
|
||
- curl: fix -q [regression]
|
||
|
||
This broke in 7.49.0 with commit e200034425a7625
|
||
|
||
Fixes #842
|
||
|
||
- URL parser: allow URLs to use one, two or three slashes
|
||
|
||
Mostly in order to support broken web sites that redirect to broken URLs
|
||
that are accepted by browsers.
|
||
|
||
Browsers are typically even more leniant than this as the WHATWG URL
|
||
spec they should allow an _infinite_ amount. I tested 8000 slashes with
|
||
Firefox and it just worked.
|
||
|
||
Added test case 1141, 1142 and 1143 to verify the new parser.
|
||
|
||
Closes #791
|
||
|
||
- [Renaud Lehoux brought this change]
|
||
|
||
cmake: Added missing mbedTLS support
|
||
|
||
Closes #837
|
||
|
||
- [Renaud Lehoux brought this change]
|
||
|
||
mbedtls: removed unused variables
|
||
|
||
Closes #838
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
http: add CURLINFO_HTTP_VERSION and %{http_version}
|
||
|
||
Adds access to the effectively used http version to both libcurl and
|
||
curl.
|
||
|
||
Closes #799
|
||
|
||
- bump: start the journey toward 7.50.0
|
||
|
||
- [Marcel Raad brought this change]
|
||
|
||
openssl: fix build with OPENSSL_NO_COMP
|
||
|
||
With OPENSSL_NO_COMP defined, there is no function
|
||
SSL_COMP_free_compression_methods
|
||
|
||
Closes #836
|
||
|
||
- [Gisle Vanem brought this change]
|
||
|
||
memdebug: fix MSVC crash with -DMEMDEBUG_LOG_SYNC
|
||
|
||
Fixes #828
|
||
|
||
- [Jonathan brought this change]
|
||
|
||
README.md: polish
|
||
|
||
Closes #834
|
||
|
||
- RELEASE-NOTES: fix vuln link
|
||
|
||
Version 7.49.1 (30 May 2016)
|
||
|
||
Daniel Stenberg (30 May 2016)
|
||
- RELEASE-NOTES: 7.49.1
|
||
|
||
- [Steve Holme brought this change]
|
||
|
||
loadlibrary: Only load system DLLs from the system directory
|
||
|
||
Inspiration provided by: Daniel Stenberg and Ray Satiro
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20160530.html
|
||
|
||
Ref: Windows DLL hijacking with curl, CVE-2016-4802
|
||
|
||
- ssh: fix version number check typo
|
||
|
||
Jay Satiro (29 May 2016)
|
||
- curl_share_setopt.3: Add min ver needed for ssl session lock
|
||
|
||
Bug: https://github.com/curl/curl/issues/826
|
||
Reported-by: Michael Wallner
|
||
|
||
Daniel Stenberg (29 May 2016)
|
||
- ssh: fix build for libssh2 before 1.2.6
|
||
|
||
The statvfs functionality was added to libssh2 in that version, so we
|
||
switch off that functionality when built with older libraries.
|
||
|
||
Fixes #831
|
||
|
||
- mbedtls: fix includes so snprintf() works
|
||
|
||
Regression from the previous *printf() rearrangements, this file missed to
|
||
include the correct header to make sure snprintf() works universally.
|
||
|
||
Reported-by: Moti Avrahami
|
||
Bug: https://curl.haxx.se/mail/lib-2016-05/0196.html
|
||
|
||
Steve Holme (23 May 2016)
|
||
- checksrc.pl: Added variants of strcat() & strncat() to banned function list
|
||
|
||
Added support for checking the tchar, unicode and mbcs variants of
|
||
strcat() and strncat() in the banned function list.
|
||
|
||
Daniel Stenberg (23 May 2016)
|
||
- smtp: minor ident (white space) fixes
|
||
|
||
- THANKS: updated after script fixes
|
||
|
||
Now giving credit properly to github user names, fixed some UTF-8 issues
|
||
and added names discovered when contrithanks was improved.
|
||
|
||
- THANKS-filter: more name cleanups
|
||
|
||
- contrithanks.sh: exclude existing names case insensitively
|
||
|
||
- contrithanks.sh: use same grep pattern and -a flag as contributors.sh
|
||
|
||
- contributors.sh: better grep pattern, use grep -a
|
||
|
||
- THANKS-filter: fix more names
|
||
|
||
- contrithanks.sh: do the same github fix as contributors.sh
|
||
|
||
from 1577bfa35ba
|
||
|
||
Jay Satiro (23 May 2016)
|
||
- contributors: Show GitHub username if real name unknown
|
||
|
||
Prior to this change if a GitHub contributor's real name was unknown
|
||
they would be omitted from the list.
|
||
|
||
Bug: https://github.com/curl/curl/issues/824
|
||
|
||
Daniel Stenberg (21 May 2016)
|
||
- RELEASE-NOTES: synced with 3caaeffbe8ded4
|
||
|
||
Jay Satiro (20 May 2016)
|
||
- openssl: cleanup must free compression methods
|
||
|
||
- Free compression methods if OpenSSL 1.0.2 to avoid a memory leak.
|
||
|
||
Bug: https://github.com/curl/curl/issues/817
|
||
Reported-by: jveazey@users.noreply.github.com
|
||
|
||
Daniel Stenberg (20 May 2016)
|
||
- [Gisle Vanem brought this change]
|
||
|
||
curl_multibyte: fix compiler error
|
||
|
||
While compiling lib/curl_multibyte.c with '-DUSE_WIN32_IDN' etc. I was
|
||
getting:
|
||
|
||
f:\mingw32\src\inet\curl\lib\memdebug.h(38): error C2054: expected '('
|
||
to follow 'CURL_EXTERN'
|
||
|
||
f:\mingw32\src\inet\curl\lib\memdebug.h(38): error C2085:
|
||
'curl_domalloc': not in formal parameter list
|
||
|
||
- THANKS-filter: make Jan-E get proper credit
|
||
|
||
- [Jan-E brought this change]
|
||
|
||
winbuild/Makefile.vc: Fix check on SSL, MBEDTLS, WINSSL exclusivity
|
||
|
||
Closes #818
|
||
|
||
- [Alexander Traud brought this change]
|
||
|
||
libcurl.m4: Avoid obsolete warning
|
||
|
||
Closes #821
|
||
|
||
Jay Satiro (20 May 2016)
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
CURLOPT_CONNECT_TO.3: user must not free the list prematurely
|
||
|
||
The connect-to list isn't copied so as long as the handle may be used
|
||
for a transfer the list must be valid.
|
||
|
||
Bug: https://github.com/curl/curl/pull/819
|
||
Reported-by: Michael Kaufmann
|
||
|
||
Daniel Stenberg (19 May 2016)
|
||
- RELEASE-NOTES: synced with 48114a8634242c
|
||
|
||
- openssl: ERR_remove_thread_state() is deprecated in latest 1.1.0
|
||
|
||
See OpenSSL commit 21e001747d4a
|
||
|
||
- http2: use HTTP/2 in the HTTP/1.1-alike header
|
||
|
||
... when generating them, not "2.0" as the protocol is called just
|
||
HTTP/2 and nothing else.
|
||
|
||
Jay Satiro (19 May 2016)
|
||
- dist: include curl_multi_socket_all.3
|
||
|
||
Closes https://github.com/curl/curl/pull/816
|
||
|
||
Steve Holme (18 May 2016)
|
||
- bump: Start work on 7.49.1
|
||
|
||
Daniel Stenberg (18 May 2016)
|
||
- curlbuild.h.dist: check __LP64__ as well to fix MIPS build
|
||
|
||
The preprocessor check that sets up the 32bit defines for non-configure
|
||
builds didn't work properly for MIPS systems as __mips__ is defined for
|
||
both 32bit and 64bit. Now __LP64__ is also checked and indicates 64bit.
|
||
|
||
Reported-by: Tomas Jakobsson
|
||
Fixes #813
|
||
|
||
- [Marcel Raad brought this change]
|
||
|
||
schannel: fix compile break with MSVC XP toolset
|
||
|
||
For the Windows XP toolset of Visual C++ 2013/2015, the old Windows SDK
|
||
7.1 is used. In this case, _USING_V110_SDK71_ is defined.
|
||
|
||
Closes #812
|
||
|
||
- dist: include CHECKSRC.md
|
||
|
||
Reported-by: Paul Howarth
|
||
Bug: https://curl.haxx.se/mail/lib-2016-05/0116.html
|
||
|
||
- test/Makefile.am: include manpage-scan.pl and nroff-scan.pl in dist
|
||
|
||
Reported-by: Ray Satiro
|
||
Bug: https://curl.haxx.se/mail/lib-2016-05/0113.html
|
||
|
||
Version 7.49.0 (17 May 2016)
|
||
|
||
Daniel Stenberg (17 May 2016)
|
||
- THANKS: 24 new names from 7.49.0 release notes
|
||
|
||
- RELEASE-NOTES: 7.49.0
|
||
|
||
- mbedtls/polarssl: set "hostname" unconditionally
|
||
|
||
...as otherwise the TLS libs will skip the CN/SAN check and just allow
|
||
connection to any server. curl previously skipped this function when SNI
|
||
wasn't used or when connecting to an IP address specified host.
|
||
|
||
CVE-2016-3739
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20160518A.html
|
||
Reported-by: Moti Avrahami
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
CURLOPT_RESOLVE.3: fix typo
|
||
|
||
Closes #811
|
||
|
||
- docs: CURLOPT_RESOLVE overrides CURLOPT_IPRESOLVE
|
||
|
||
- KNOWN_BUGS: GnuTLS backend skips really long certificate fields
|
||
|
||
Closes #762
|
||
|
||
- CURLOPT_HTTPPOST.3: the data needs to be around while in use
|
||
|
||
- openssl: get_cert_chain: fix NULL dereference
|
||
|
||
CID 1361815: Explicit null dereferenced (FORWARD_NULL)
|
||
|
||
- openssl: get_cert_chain: avoid NULL dereference
|
||
|
||
CID 1361811: Explicit null dereferenced (FORWARD_NULL)
|
||
|
||
- dprintf_formatf: fix (false?) Coverity warning
|
||
|
||
CID 1024412: Memory - illegal accesses (OVERRUN). Claimed to happen when
|
||
we run over 'workend' but the condition says <= workend and for all I
|
||
can see it should be safe. Compensating for the warning by adding a byte
|
||
margin in the buffer.
|
||
|
||
Also, removed the extra brace level indentation in the code and made it
|
||
so that 'workend' is only assigned once within the function.
|
||
|
||
- RELEASE-NOTES: synced with 2dcb5adc72d6
|
||
|
||
- THANKS-filter: fixed Jonathan Cardoso
|
||
|
||
Jay Satiro (15 May 2016)
|
||
- ftp: fix incorrect out-of-memory code in Curl_pretransfer
|
||
|
||
- Return value type must match function type.
|
||
|
||
s/CURLM_OUT_OF_MEMORY/CURLE_OUT_OF_MEMORY/
|
||
|
||
Caught by Travis CI
|
||
|
||
Daniel Stenberg (15 May 2016)
|
||
- ftp wildcard: segfault due to init only in multi_perform
|
||
|
||
The proper FTP wildcard init is now more properly done in Curl_pretransfer()
|
||
and the corresponding cleanup in Curl_close().
|
||
|
||
The previous place of init/cleanup code made the internal pointer to be NULL
|
||
when this feature was used with the multi_socket() API, as it was made within
|
||
the curl_multi_perform() function.
|
||
|
||
Reported-by: Jonathan Cardoso Machado
|
||
Fixes #800
|
||
|
||
Jay Satiro (13 May 2016)
|
||
- libcurl-tlibcurl-thread: Update OpenSSL links
|
||
|
||
Because the old OpenSSL link now redirects to their master documentation
|
||
(currently 1.1.0), which does not document the required actions for
|
||
OpenSSL <= 1.0.2.
|
||
|
||
Daniel Stenberg (13 May 2016)
|
||
- [Viktor Szakats brought this change]
|
||
|
||
darwinssl.c: fix OS X codename typo in comment
|
||
|
||
- RELEASE-NOTES: synced with 68701e51c1f7
|
||
|
||
Added 8 bug fixes and 5 more contrbutors
|
||
|
||
- [Jay Satiro brought this change]
|
||
|
||
mprintf: Fix processing of width and prec args
|
||
|
||
Prior to this change a width arg could be erroneously output, and also
|
||
width and precision args could not be used together without crashing.
|
||
|
||
"%0*d%s", 2, 9, "foo"
|
||
|
||
Before: "092"
|
||
After: "09foo"
|
||
|
||
"%*.*s", 5, 2, "foo"
|
||
|
||
Before: crash
|
||
After: " fo"
|
||
|
||
Test 557 is updated to verify this and more
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
ConnectionExists: follow-up fix for proxy re-use
|
||
|
||
Follow-up commit to 5823179
|
||
|
||
Closes #648
|
||
|
||
- [Per Malmberg brought this change]
|
||
|
||
darwinssl: fix certificate verification disable on OS X 10.8
|
||
|
||
The new way of disabling certificate verification doesn't work on
|
||
Mountain Lion (OS X 10.8) so we need to use the old way in that version
|
||
too. I've tested this solution on versions 10.7.5, 10.8, 10.9, 10.10.2
|
||
and 10.11.
|
||
|
||
Closes #802
|
||
|
||
- [Cory Benfield brought this change]
|
||
|
||
http2: Add space between colon and header value
|
||
|
||
curl's representation of HTTP/2 responses involves transforming the
|
||
response to a format that is similar to HTTP/1.1. Prior to this change,
|
||
curl would do this by separating header names and values with only a
|
||
colon, without introducing a space after the colon.
|
||
|
||
While this is technically a valid way to represent a HTTP/1.1 header
|
||
block, it is much more common to see a space following the colon. This
|
||
change introduces that space, to ensure that incautious tools are safely
|
||
able to parse the header block.
|
||
|
||
This also ensures that the difference between the HTTP/1.1 and HTTP/2
|
||
response layout is as minimal as possible.
|
||
|
||
Bug: https://github.com/curl/curl/issues/797
|
||
|
||
Closes #798
|
||
Fixes #797
|
||
|
||
Kamil Dudka (12 May 2016)
|
||
- openssl: fix compile-time warning in Curl_ossl_check_cxn()
|
||
|
||
... introduced in curl-7_48_0-293-g2968c83:
|
||
|
||
Error: COMPILER_WARNING:
|
||
lib/vtls/openssl.c: scope_hint: In function ‘Curl_ossl_check_cxn’
|
||
lib/vtls/openssl.c:767:15: warning: conversion to ‘int’ from ‘ssize_t’
|
||
may alter its value [-Wconversion]
|
||
|
||
Jay Satiro (11 May 2016)
|
||
- openssl: stricter connection check function
|
||
|
||
- In the case of recv error, limit returning 'connection still in place'
|
||
to EINPROGRESS, EAGAIN and EWOULDBLOCK.
|
||
|
||
This is an improvement on the parent commit which changed the openssl
|
||
connection check to use recv MSG_PEEK instead of SSL_peek.
|
||
|
||
Ref: https://github.com/curl/curl/commit/856baf5#comments
|
||
|
||
Daniel Stenberg (11 May 2016)
|
||
- [Anders Bakken brought this change]
|
||
|
||
TLS: SSL_peek is not a const operation
|
||
|
||
Calling SSL_peek can cause bytes to be read from the raw socket which in
|
||
turn can upset the select machinery that determines whether there's data
|
||
available on the socket.
|
||
|
||
Since Curl_ossl_check_cxn only tries to determine whether the socket is
|
||
alive and doesn't actually need to see the bytes SSL_peek seems like
|
||
the wrong function to call.
|
||
|
||
We're able to occasionally reproduce a connect timeout due to this
|
||
bug. What happens is that Curl doesn't know to call SSL_connect again
|
||
after the peek happens since data is buffered in the SSL buffer and thus
|
||
select won't fire for this socket.
|
||
|
||
Closes #795
|
||
|
||
Jay Satiro (9 May 2016)
|
||
- [Daniel Stenberg brought this change]
|
||
|
||
TLS: move the ALPN/NPN enable bits to the connection
|
||
|
||
Only protocols that actually have a protocol registered for ALPN and NPN
|
||
should try to get that negotiated in the TLS handshake. That is only
|
||
HTTPS (well, http/1.1 and http/2) right now. Previously ALPN and NPN
|
||
would wrongly be used in all handshakes if libcurl was built with it
|
||
enabled.
|
||
|
||
Reported-by: Jay Satiro
|
||
|
||
Fixes #789
|
||
|
||
Daniel Stenberg (8 May 2016)
|
||
- libcurl-thread.3: openssl 1.1.0 is safe, and so is boringssl
|
||
|
||
- [Antonio Larrosa brought this change]
|
||
|
||
connect: fix invalid "Network is unreachable" errors
|
||
|
||
Sometimes, in systems with both ipv4 and ipv6 addresses but where the
|
||
network doesn't support ipv6, Curl_is_connected returns an error
|
||
(intermittently) even if the ipv4 socket connects successfully.
|
||
|
||
This happens because there's a for-loop that iterates on the sockets but
|
||
the error variable is not resetted when the ipv4 is checked and is ok.
|
||
|
||
This patch fixes this problem by setting error to 0 when checking the
|
||
second socket and not having a result yet.
|
||
|
||
Fixes #794
|
||
|
||
Jay Satiro (5 May 2016)
|
||
- FAQ: refer to thread safety guidelines
|
||
|
||
Daniel Stenberg (3 May 2016)
|
||
- connections: non-HTTP proxies on different ports aren't reused either
|
||
|
||
Reported-by: Oleg Pudeyev and fuchaoqun
|
||
|
||
Fixes #648
|
||
|
||
- http: make sure a blank header overrides accept_decoding
|
||
|
||
Reported-by: rcanavan
|
||
Assisted-by: Isaac Boukris
|
||
Closes #785
|
||
|
||
- CHECKSRC.md: clarified, explained the whitelist file
|
||
|
||
- nroff-scan.pl: verify that references are made with \fI
|
||
|
||
- docs: unified man page references to use \fI
|
||
|
||
- TODO: 17.14 --fail without --location should treat 3xx as a failure
|
||
|
||
Closes #727
|
||
|
||
- RELEASE-NOTES: synced with 7987f5cb14d
|
||
|
||
- [Isaac Boukris brought this change]
|
||
|
||
CURLOPT_ACCEPT_ENCODING.3: Follow-up clarification
|
||
|
||
Mention possible content-length mismatch with sum of bytes reported
|
||
by write callbacks when auto decoding is enabled.
|
||
|
||
See #785
|
||
|
||
- test1140: run nroff-scan to verify man pages
|
||
|
||
- nroff-scan.pl: verify the .BR references as well
|
||
|
||
- CURLOPT_CONV_TO_NETWORK_FUNCTION.3: fix bad man page reference
|
||
|
||
- CURLOPT_BUFFERSIZE.3: fix reference to CURLOPT_MAX_RECV_SPEED_LARGE
|
||
|
||
- curl_easy_pause.3: fix man page reference
|
||
|
||
Jay Satiro (1 May 2016)
|
||
- tool_cb_hdr: Fix --remote-header-name with schemeless URL
|
||
|
||
- Move the existing scheme check from tool_operate.
|
||
|
||
In the case of --remote-header-name we want to parse Content-disposition
|
||
for a filename, but only if the scheme is http or https. A recent
|
||
adjustment 0dc4d8e was made to account for schemeless URLs however it's
|
||
not 100% accurate. To remedy that I've moved the scheme check to the
|
||
header callback, since at that point the library has already determined
|
||
the scheme.
|
||
|
||
Bug: https://github.com/curl/curl/issues/760
|
||
Reported-by: Kai Noda
|
||
|
||
Daniel Stenberg (1 May 2016)
|
||
- tls: make setting pinnedkey option fail if not supported
|
||
|
||
to make it obvious to users trying to use the feature with TLS backends
|
||
not supporting it.
|
||
|
||
Discussed in #781
|
||
Reported-by: Travis Burtrum
|
||
|
||
- nroff-scan.pl: verifies nroff pages
|
||
|
||
... not used by any test yet but can be used stand-alone.
|
||
|
||
- opts: fix broken/bad references
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
docs: fix bugs in CURLOPT_HTTP_VERSION.3 and CURLOPT_PIPEWAIT.3
|
||
|
||
Closes #786
|
||
|
||
- CURLOPT_ACCEPT_ENCODING.3: clarified
|
||
|
||
As discussed in #785
|
||
|
||
- curl.1: --mail-rcpt can be used multiple times
|
||
|
||
Reported-by: mgendre
|
||
Closes #784
|
||
|
||
- [Karlson2k brought this change]
|
||
|
||
tests: Use 'pathhelp' for paths conversions in secureserver.pl
|
||
|
||
Closes #675
|
||
|
||
- [Karlson2k brought this change]
|
||
|
||
tests: Use 'pathhelp' for paths conversions in sshserver.pl
|
||
|
||
- [Karlson2k brought this change]
|
||
|
||
tests: Use 'pathhelp' for current path in runtests.pl
|
||
|
||
- [Karlson2k brought this change]
|
||
|
||
tests: pathhelp.pm to process paths on Msys/Cygwin
|
||
|
||
- lib: include curl_printf.h as one of the last headers
|
||
|
||
curl_printf.h defines printf to curl_mprintf, etc. This can cause
|
||
problems with external headers which may use
|
||
__attribute__((format(printf, ...))) markers etc.
|
||
|
||
To avoid that they cause problems with system includes, we include
|
||
curl_printf.h after any system headers. That makes the three last
|
||
headers to always be, and we keep them in this order:
|
||
|
||
curl_printf.h
|
||
curl_memory.h
|
||
memdebug.h
|
||
|
||
None of them include system headers, they all do funny #defines.
|
||
|
||
Reported-by: David Benjamin
|
||
|
||
Fixes #743
|
||
|
||
- memdebug.h: remove inclusion of other headers
|
||
|
||
Mostly because they're not needed, because memdebug.h is always included
|
||
last of all headers so the others already included the correct ones.
|
||
|
||
But also, starting now we don't want this to accidentally include any
|
||
system headers, as the header included _before_ this header may add
|
||
defines and other fun stuff that we won't want used in system includes.
|
||
|
||
- [Jay Satiro brought this change]
|
||
|
||
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
|
||
|
||
- manpage-scan.pl: also verify the command line option docs
|
||
|
||
This script now also scans src/tool_getparam.c, docs/curl.1 and
|
||
src/tool_help.c and will warn if any of them lists a command line option
|
||
not mentioned in one of the other places.
|
||
|
||
- curl: show the long option version of -q in the -h list
|
||
|
||
- curl: remove "--socks" as "--socks5" turned 8
|
||
|
||
In commit 2e42b0a2524 (Jan 2008) we made the option "--socks" deprecated
|
||
and it has not been documented since. The more explicit socks options
|
||
(like --socks4 or --socks5) should be used.
|
||
|
||
- curl.1: document the deprecated --ftp-ssl option
|
||
|
||
- curl: remove --http-request
|
||
|
||
It was mentioned as deprecated already in commit ae1912cb0d4 from
|
||
1999. It has not been documented in this millennium.
|
||
|
||
- curl: mention --ntlm-wb in -h list
|
||
|
||
- curl: -h output lacked --proxy-header
|
||
|
||
- curl.1: document --ntlm-wb
|
||
|
||
- curl.1: document the long format of -q: --disable
|
||
|
||
- curl.1: mention the deprecated --krb4 option
|
||
|
||
- curl.1: document --ftp-ssl-reqd
|
||
|
||
Even if deprecated, document it so that people will find it as old
|
||
scripts may still use it.
|
||
|
||
- curl: use --telnet-option as documented
|
||
|
||
The code said "telnet-options" but no documentation ever said so. It
|
||
worked fine since the code is fine with a unique match of the first
|
||
part.
|
||
|
||
- getparam: remove support for --ftpport
|
||
|
||
It has been deprecated and undocumented since commit ad5ead8bed7 (Dec
|
||
2003). --ftp-port is the proper long option name.
|
||
|
||
- curl: make --disable work as long form of -q
|
||
|
||
To make the aliases list reflect reality.
|
||
|
||
- aliases: remove trailing space from capath string
|
||
|
||
- cmdline parse: only single letter options have single-letter strings
|
||
|
||
... moved around options so that parsing the code to find all
|
||
single-letter options easier.
|
||
|
||
Jay Satiro (28 Apr 2016)
|
||
- CURLINFO_TLS_SSL_PTR.3: Clarify SSL pointer availability
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-04/0126.html
|
||
Reported-by: Bru Rom
|
||
|
||
Daniel Stenberg (28 Apr 2016)
|
||
- curl_easy_getinfo.3: remove superfluous blank lines
|
||
|
||
- test1139: verifies libcurl option man page presence
|
||
|
||
- checks that each option has its own man page present
|
||
|
||
- checks that each option is mentioned in its corresponding index man
|
||
page
|
||
|
||
- curl_easy_getinfo.3: added missing mention of CURLINFO_TLS_SESSION
|
||
|
||
... although it is deprecated.
|
||
|
||
Jay Satiro (28 Apr 2016)
|
||
- mbedtls: Fix session resume
|
||
|
||
This also fixes PolarSSL session resume.
|
||
|
||
Prior to this change the TLS session information wasn't properly
|
||
saved and restored for PolarSSL and mbedTLS.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-01/0070.html
|
||
Reported-by: Thomas Glanzmann
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-04/0095.html
|
||
Reported-by: Moti Avrahami
|
||
|
||
Daniel Stenberg (27 Apr 2016)
|
||
- RELEASE-NOTES: synced with f4298fcc6d2
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
opts: Fix some syntax errors in example code fragments
|
||
|
||
Fixes #779
|
||
|
||
- openssl: avoid BN_print a NULL bignum
|
||
|
||
OpenSSL 1.1.0-pre seems to return NULL(?) for a whole lot of those
|
||
numbers so make sure the function handles this.
|
||
|
||
Reported-by: Linus Nordberg
|
||
|
||
- [Marcel Raad brought this change]
|
||
|
||
CONNECT_ONLY: don't close connection on GSS 401/407 reponses
|
||
|
||
Previously, connections were closed immediately before the user had a
|
||
chance to extract the socket when the proxy required Negotiate
|
||
authentication.
|
||
|
||
This regression was brought in with the security fix in commit
|
||
79b9d5f1a42578f
|
||
|
||
Closes #655
|
||
|
||
- CURLINFO_TLS_SESSION.3: clarify TLS library support before 7.48.0
|
||
|
||
- mbedtls.c: silly spellfix of a comment
|
||
|
||
- KNOWN_BUGS: 1.10 Strips trailing dot from host name
|
||
|
||
Closes #716
|
||
|
||
- test1322: verify stripping of trailing dot from host name
|
||
|
||
While being debated (in #716) and a violation of RFC 7230 section 5.4,
|
||
this test verifies that the existing functionality works as intended. It
|
||
strips the dot from the host name and uses the host without dot
|
||
throughout the internals.
|
||
|
||
- multi: accidentally used resolved host name instead of proxy
|
||
|
||
Regression introduced in 09b5a998
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-04/0084.html
|
||
Reported-by: BoBo
|
||
|
||
- symbols-in-versions: added new CURLSSLBACKEND_ symbols
|
||
|
||
- test148: fixed after the --ftp-create-dirs retry change
|
||
|
||
follow-up commit to 3c1e84f569 as it made curl try a little harder
|
||
|
||
- curl.h: clarify curl_sslbackend for openssl clones and renames
|
||
|
||
- [Karlson2k brought this change]
|
||
|
||
url.c: fixed DEBUGASSERT() for WinSock workaround
|
||
|
||
If buffer is allocated, but nothing is received during prereceive
|
||
stage, than number of processed bytes must be zero.
|
||
|
||
Closes #778
|
||
|
||
- KNOWN_BUGS: --interface for ipv6 binds to unusable IP address
|
||
|
||
Closes #686 for now.
|
||
|
||
- TODO: 1.17 Add support for IRIs
|
||
|
||
Adding support for IRIs is a mouthful, but is probably interesting at
|
||
least for areas and countries where the use of such "URLs" are growing
|
||
popularity.
|
||
|
||
Closes #776
|
||
|
||
- THANKS-filter: Travis Burtrum
|
||
|
||
- lib1517: checksrc compliance
|
||
|
||
- [moparisthebest brought this change]
|
||
|
||
PolarSSL: Implement public key pinning
|
||
|
||
Patrick Monnerat (22 Apr 2016)
|
||
- os400: upgrade ILE/RPG binding
|
||
|
||
- curl.h: CURLOPT_CONNECT_TO sets a struct slist *, not a string
|
||
|
||
Daniel Stenberg (22 Apr 2016)
|
||
- contributors.sh: make --releasenotes implied
|
||
|
||
It got too annoying to type =)
|
||
|
||
- RELEASE-NOTES: synced with 3c1e84f5693d8093
|
||
|
||
- curl: make --ftp-create-dirs retry on failure
|
||
|
||
The underlying libcurl option used for this feature is
|
||
CURLOPT_FTP_CREATE_MISSING_DIRS which has the ability to retry the dir
|
||
creation, but it was never set to do that by the command line tool.
|
||
|
||
Now it does.
|
||
|
||
Bug: https://curl.haxx.se/mail/archive-2016-04/0021.html
|
||
Reported-by: John Wanghui
|
||
Help-by: Leif W
|
||
|
||
- [Henrik Gaßmann brought this change]
|
||
|
||
winbuild: add mbedtls support
|
||
|
||
Add WITH_MBEDTLS option. Make WITH_SSL, WITH_MBEDTLS and ENABLE_WINSSL
|
||
options mutual exclusive.
|
||
|
||
Closes #606
|
||
|
||
- KNOWN_BUGS: fixed "5.6 Improper use of Autoconf cache variables"
|
||
|
||
As of commit d9f3b365a3
|
||
|
||
- [Irfan Adilovic brought this change]
|
||
|
||
configure: ac_cv_ -> curl_cv_ for write-only vars
|
||
|
||
These configure vars are modified in a curl-specific way but never
|
||
evaluated or loaded from cache, even though they are designated as
|
||
_cv_. We could either implement proper AC_CACHE_CHECKs for them, or
|
||
remove them completely.
|
||
|
||
Fixes #603 as ac_cv_func_gethostbyname is no longer clobbered, and
|
||
AC_CHECK_FUNC(gethostbyname...) will no longer spuriously succeed after
|
||
the first configure run with caching.
|
||
|
||
`ac_cv_func_strcasecmp` is curious, see #770.
|
||
|
||
`eval "ac_cv_func_$func=yes"` can still cause problems as it works in
|
||
tandem with AC_CHECK_FUNCS and then potentially modifies its result. It
|
||
would be best to rewrite this test to use a new CURL_CHECK_FUNCS macro,
|
||
which works the same as AC_CHECK_FUNCS but relies on caching the values
|
||
of curl_cv_func_* variables, without modifiying ac_cv_func_*.
|
||
|
||
- [Irfan Adilovic brought this change]
|
||
|
||
configure: ac_cv_ -> curl_cv_ for r/w vars
|
||
|
||
These configure vars are modified in a curl-specific way and modified by
|
||
the configure process, but are never loaded from cache, even though they
|
||
are designated as _cv_. We should implement proper AC_CACHE_CHECKs for
|
||
them eventually.
|
||
|
||
- [Irfan Adilovic brought this change]
|
||
|
||
configure: ac_cv_func_clock_gettime -> curl_...
|
||
|
||
This variable must not be cached in its current form, as any cached
|
||
information will prevent the next configure run from determining the
|
||
correct LIBS needed for the function. Thus, rename prefix `ac_cv_` to
|
||
just `curl_`.
|
||
|
||
- [Irfan Adilovic brought this change]
|
||
|
||
configure: ac_cv_ -> curl_cv_ for all cached vars
|
||
|
||
This was automated by:
|
||
|
||
sed -b -i -f <(ack -A1 AC_CACHE_CHECK | \
|
||
ack -o 'ac_cv_.*?\b' | \
|
||
sort -u | xargs -n1 bash -c \
|
||
'echo "s/$0/curl_cv_${0#ac_cv_}/g"') \
|
||
$(git ls-files)
|
||
|
||
This only changed the prefix for 16 variables actually checked with
|
||
AC_CACHE_CHECK.
|
||
|
||
- openssl: builds with OpenSSL 1.1.0-pre5
|
||
|
||
The RSA, DSA and DH structs are now opaque and require use of new APIs
|
||
|
||
Fixes #763
|
||
|
||
Steve Holme (20 Apr 2016)
|
||
- url.c: Prefer we don't use explicit NULLs in conditions
|
||
|
||
Fixed commit fa5fa65a30 to not use NULLs in if condition.
|
||
|
||
Daniel Stenberg (20 Apr 2016)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
NTLM: check for NULL pointer before deferencing
|
||
|
||
At ConnectionExists, both check->proxyuser and check->proxypasswd
|
||
could be NULL, so make sure to check first.
|
||
|
||
Fixes #765
|
||
|
||
- [Karlson2k brought this change]
|
||
|
||
tests: added test1517
|
||
|
||
... for checking ability to receive full HTTP response when POST request
|
||
is used with slow read callback function.
|
||
|
||
This test checks for bug #657 and verifies the work-around from
|
||
72d5e144fbc6.
|
||
|
||
Closes #720
|
||
|
||
- [Karlson2k brought this change]
|
||
|
||
sendf.c: added ability to call recv() before send() as workaround
|
||
|
||
WinSock destroys recv() buffer if send() is failed. As result - server
|
||
response may be lost if server sent it while curl is still sending
|
||
request. This behavior noticeable on HTTP server short replies if
|
||
libcurl use several send() for request (usually for POST request).
|
||
To workaround this problem, libcurl use recv() before every send() and
|
||
keeps received data in intermediate buffer for further processing.
|
||
|
||
Fixes: #657
|
||
Closes: #668
|
||
|
||
Kamil Dudka (19 Apr 2016)
|
||
- connect: make sure that rc is initialized in singleipconnect()
|
||
|
||
This commit fixes a Clang warning introduced in curl-7_48_0-190-g8f72b13:
|
||
|
||
Error: CLANG_WARNING:
|
||
lib/connect.c:1120:11: warning: The right operand of '==' is a garbage value
|
||
1118| }
|
||
1119|
|
||
1120|-> if(-1 == rc)
|
||
1121| error = SOCKERRNO;
|
||
1122| }
|
||
|
||
Daniel Stenberg (19 Apr 2016)
|
||
- make/checksrc: use $srcdir, not $top_srcdir
|
||
|
||
- src/checksrc.whitelist: removed
|
||
|
||
- tool_operate: switch to inline checksrc ignore
|
||
|
||
- lib/checksrc.whitelist: not needed anymore
|
||
|
||
... as checksrc now skips comments
|
||
|
||
- vtls.h: remove a space before semicolon
|
||
|
||
... that the new checksrc detected
|
||
|
||
- darwinssl: removed commented out code
|
||
|
||
- http_chunks: removed checksrc disable
|
||
|
||
... since checksrc now skips comments
|
||
|
||
- imap: inlined checksrc disable instead of whitelist edit
|
||
|
||
- checksrc: taught to skip comments
|
||
|
||
... but output non-stripped version of the line, even if that then can
|
||
make the script identify the wrong position in the line at
|
||
times. Showing the line stripped (ie without comments) is just too
|
||
surprising.
|
||
|
||
- opts/Makefile.am: list all docs file one by one
|
||
|
||
... to make it easier to add lines in patches that won't just break all
|
||
other patches trying to add lines too.
|
||
|
||
- curl_easy_setopt.3: mention CURLOPT_TCP_FASTOPEN
|
||
|
||
- RELEASE-NOTES: synced with 03de4e4b219
|
||
|
||
(since we just merged two major features)
|
||
|
||
- [Alessandro Ghedini brought this change]
|
||
|
||
connect: implement TCP Fast Open for Linux
|
||
|
||
Closes #660
|
||
|
||
- [Alessandro Ghedini brought this change]
|
||
|
||
tool: add --tcp-fastopen option
|
||
|
||
- [Alessandro Ghedini brought this change]
|
||
|
||
connect: implement TCP Fast Open for OS X
|
||
|
||
- [Alessandro Ghedini brought this change]
|
||
|
||
url: add CURLOPT_TCP_FASTOPEN option
|
||
|
||
- checksrc: pass on -D so the whitelists are found correctly
|
||
|
||
- configure: remove check for libresolve
|
||
|
||
'strncasecmp' was once provided by libresolv (no trailing e) for SunOS,
|
||
but this check is broken and most likely adds nothing useful. Removing
|
||
now.
|
||
|
||
Reported-by: Irfan Adilovic
|
||
|
||
Discussed in #770
|
||
|
||
- scripts/make: use $(EXEEXT) for executables
|
||
|
||
Reported-by: bodop
|
||
|
||
Fixes #771
|
||
|
||
- includes: avoid duplicate memory callback typdefs even harder
|
||
|
||
- checksrc/makefile.am: use $top_srcdir to find source files
|
||
|
||
... to properly support out of source tree builds.
|
||
|
||
- RELEASE-NOTES: synced with 26ec93dd6aeba8dfb5
|
||
|
||
- opts: fix option references missing (section)
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
news: CURLOPT_CONNECT_TO and --connect-to
|
||
|
||
Makes curl connect to the given host+port instead of the host+port found
|
||
in the URL.
|
||
|
||
- makefile.vc6: use d suffix on debug object
|
||
|
||
To allow both release and debug builds in parallel.
|
||
|
||
Reported-by: Rod Widdowson
|
||
|
||
Fixes #769
|
||
|
||
Jay Satiro (12 Apr 2016)
|
||
- http2: Use size_t type for data drain count
|
||
|
||
Ref: https://github.com/curl/curl/issues/659
|
||
Ref: https://github.com/curl/curl/pull/663
|
||
|
||
- http2: Improve header parsing
|
||
|
||
- Error if a header line is larger than supported.
|
||
|
||
- Warn if cumulative header line length may be larger than supported.
|
||
|
||
- Allow spaces when parsing the path component.
|
||
|
||
- Make sure each header line ends in \r\n. This fixes an out of bounds.
|
||
|
||
- Disallow header continuation lines until we decide what to do.
|
||
|
||
Ref: https://github.com/curl/curl/issues/659
|
||
Ref: https://github.com/curl/curl/pull/663
|
||
|
||
- http2: Add Curl_http2_strerror for HTTP/2 error codes
|
||
|
||
Ref: https://github.com/curl/curl/issues/659
|
||
Ref: https://github.com/curl/curl/pull/663
|
||
|
||
- [Tatsuhiro Tsujikawa brought this change]
|
||
|
||
http2: Don't increment drain when one header field is received
|
||
|
||
Sicne we write header field in temporary location, not in the memory
|
||
that upper layer provides, incrementing drain should not happen.
|
||
|
||
Ref: https://github.com/curl/curl/issues/659
|
||
Ref: https://github.com/curl/curl/pull/663
|
||
|
||
- [Tatsuhiro Tsujikawa brought this change]
|
||
|
||
http2: Ensure that http2_handle_stream_close is called
|
||
|
||
This commit ensures that streams which was closed in on_stream_close
|
||
callback gets passed to http2_handle_stream_close. Previously, this
|
||
might not happen. To achieve this, we increment drain property to
|
||
forcibly call recv function for that stream.
|
||
|
||
To more accurately check that we have no pending event before shutting
|
||
down HTTP/2 session, we sum up drain property into
|
||
http_conn.drain_total. We only shutdown session if that value is 0.
|
||
|
||
With this commit, when stream was closed before reading response
|
||
header fields, error code CURLE_HTTP2_STREAM is returned even if
|
||
HTTP/2 level error is NO_ERROR. This signals the upper layer that
|
||
stream was closed by error just like TCP connection close in HTTP/1.
|
||
|
||
Ref: https://github.com/curl/curl/issues/659
|
||
Ref: https://github.com/curl/curl/pull/663
|
||
|
||
- [Tatsuhiro Tsujikawa brought this change]
|
||
|
||
http2: Process paused data first before tear down http2 session
|
||
|
||
This commit ensures that data from network are processed before HTTP/2
|
||
session is terminated. This is achieved by pausing nghttp2 whenever
|
||
different stream than current easy handle receives data.
|
||
|
||
This commit also fixes the bug that sometimes processing hangs when
|
||
multiple HTTP/2 streams are multiplexed.
|
||
|
||
Ref: https://github.com/curl/curl/issues/659
|
||
Ref: https://github.com/curl/curl/pull/663
|
||
|
||
- [Tatsuhiro Tsujikawa brought this change]
|
||
|
||
http2: Check session closure early in http2_recv
|
||
|
||
Ref: https://github.com/curl/curl/issues/659
|
||
Ref: https://github.com/curl/curl/pull/663
|
||
|
||
- [Tatsuhiro Tsujikawa brought this change]
|
||
|
||
http2: Add handling stream level error
|
||
|
||
Previously, when a stream was closed with other than NGHTTP2_NO_ERROR
|
||
by RST_STREAM, underlying TCP connection was dropped. This is
|
||
undesirable since there may be other streams multiplexed and they are
|
||
very much fine. This change introduce new error code
|
||
CURLE_HTTP2_STREAM, which indicates stream error that only affects the
|
||
relevant stream, and connection should be kept open. The existing
|
||
CURLE_HTTP2 means connection error in general.
|
||
|
||
Ref: https://github.com/curl/curl/issues/659
|
||
Ref: https://github.com/curl/curl/pull/663
|
||
|
||
Daniel Stenberg (11 Apr 2016)
|
||
- http2: drain the socket better...
|
||
|
||
... but ignore EAGAIN if the stream has ended so that we don't end up in
|
||
a loop. This is a follow-up to c8ab613 in order to avoid the problem
|
||
d261652 was made to fix.
|
||
|
||
Reported-by: Jay Satiro
|
||
Clues-provided-by: Tatsuhiro Tsujikawa
|
||
|
||
Discussed in #750
|
||
|
||
- KNOWN_BUGS: added info for "Hangs with PolarSSL"
|
||
|
||
- KNOWN_BUGS: 1.9 HTTP/2 frames while in the connection pool kill reuse
|
||
|
||
Closes #750
|
||
|
||
- build: include scripts/ in the dist
|
||
|
||
Steve Holme (9 Apr 2016)
|
||
- CURLOPT_SOCKS5_GSSAPI_SERVICE: Merged with CURLOPT_PROXY_SERVICE_NAME
|
||
|
||
As these two options provide identical functionality, the former for
|
||
SOCK5 proxies and the latter for HTTP proxies, merged the two options
|
||
together.
|
||
|
||
As such CURLOPT_SOCKS5_GSSAPI_SERVICE is marked as deprecated as of
|
||
7.49.0.
|
||
|
||
- urldata: Use bool for socks5_gssapi_nec as it is a flag
|
||
|
||
This value is set to TRUE or FALSE so should be a bool and not a long.
|
||
|
||
- url: Ternary operator code style changes
|
||
|
||
- CODE_STYLE: Added ternary operator example to 'Space around operators'
|
||
|
||
Following conversation on the libcurl mailing list.
|
||
|
||
- sasl: Fixed compilation errors from commit 9d89a0387
|
||
|
||
...when GSS-API or Windows SSPI are not used.
|
||
|
||
- url: Corrected comments following 9d89a0387
|
||
|
||
- docs: Added clarification following commit 9d89a0387
|
||
|
||
- Makefile: Fixed echo of checksrc check
|
||
|
||
- checksrc: Fix issue with the autobuilds not picking up the whitelist
|
||
|
||
- checksrc: Added missing vauth and vtls directories
|
||
|
||
- ftp/imap/pop3/smtp: Allow the service name to be overridden
|
||
|
||
Allow the service name to be overridden for DIGIST-MD5 and Kerberos 5
|
||
authentication in FTP, IMAP, POP3 and SMTP.
|
||
|
||
- http_negotiate: Calculate service name and proxy service name locally
|
||
|
||
Calculate the service name and proxy service names locally, rather than
|
||
in url.c which will allow for us to support overriding the service name
|
||
for other protocols such as FTP, IMAP, POP3 and SMTP.
|
||
|
||
- ROADMAP: Updated following the move of the authentication code
|
||
|
||
Patrick Monnerat (8 Apr 2016)
|
||
- KNOWN_BUGS: openldap hangs. TODO: binary SASL.
|
||
|
||
Daniel Stenberg (8 Apr 2016)
|
||
- KNOWN_BUGS: 5.6 Improper use of Autoconf cache variables
|
||
|
||
Closes #603
|
||
|
||
- KNOWN_BUGS: 11.2 error buffer not set...
|
||
|
||
Closes #544
|
||
|
||
- KNOWN_BUGS: 11.1 Curl leaks .onion hostnames in DNS
|
||
|
||
Closes #543
|
||
|
||
- KNOWN_BUGS: 1.8 DNS timing is wrong for HTTP redirects
|
||
|
||
Closes #522
|
||
|
||
- TODO: HTTP/2 "prior knowledge" is implemented!
|
||
|
||
- [Damien Vielpeau brought this change]
|
||
|
||
mbedtls: fix MBEDTLS_DEBUG builds
|
||
|
||
- mbedtls: implement and provide *_data_pending()
|
||
|
||
... as otherwise we might get stuck thinking there's no more data to
|
||
handle.
|
||
|
||
Reported-by: Damien Vielpeau
|
||
|
||
Fixes #737
|
||
|
||
- mbedtls: follow-up for the previous commit
|
||
|
||
- mbedtls.c: name space pollution fix, Use 'Curl_'
|
||
|
||
- mbedtls.c: changed private prefix to mbed_
|
||
|
||
mbedtls_ is the prefix used by the mbedTLS library itself so we should
|
||
avoid using that for our private functions.
|
||
|
||
- mbedtls.h: fix compiler warnings
|
||
|
||
- Revert "winbuild: trying to set some files eol=crlf for git"
|
||
|
||
This reverts commit 9c08b4f1e7eced5a4d3782a3e0daa484c9d77d21.
|
||
|
||
Didn't help. Caused problems.
|
||
|
||
Fixes #756
|
||
|
||
- curl.1: use example.com more
|
||
|
||
Make (most) example snippets use the example.com domain instead of the
|
||
random ones picked and used before. Some of those were probably
|
||
legitimate sites and some not. example.com is designed for this purpose.
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
HTTP2: Add a space character after the status code
|
||
|
||
The space character after the status code is mandatory, even if the
|
||
reason phrase is empty (see RFC 7230 section 3.1.2)
|
||
|
||
Closes #755
|
||
|
||
- [Viktor Szakats brought this change]
|
||
|
||
URLs: change http to https in many places
|
||
|
||
Closes #754
|
||
|
||
- winbuild: trying to set some files eol=crlf for git
|
||
|
||
Thinking it might help to apply patches etc with git.
|
||
|
||
- [Theodore Dubois brought this change]
|
||
|
||
curl.1: change example for -F
|
||
|
||
It's a bad idea to send your passwords anywhere, especially over HTTP.
|
||
Modified example to send a picture instead.
|
||
|
||
Fixes #752
|
||
|
||
- KNOWN_BUGS: reorganized and cleaned up
|
||
|
||
Now sorted into categories and organized in the same style we do the
|
||
TODO document. It will make each issue linked properly on the
|
||
https://curl.haxx.se/docs/knownbugs.html web page.
|
||
|
||
The sections should make it easier to find issues and issues related to
|
||
areas of the reader's specific interest.
|
||
|
||
Jay Satiro (6 Apr 2016)
|
||
- KNOWN_BUGS: #95 curl in Windows can't handle Unicode arguments
|
||
|
||
Steve Holme (6 Apr 2016)
|
||
- KNOWN_BUGS: Use https://curl.haxx.se URL for github based issues
|
||
|
||
- CHECKSRC.md: Corrected some typos
|
||
|
||
- RELEASE-NOTES: Corrected last updated
|
||
|
||
Included a summary of the checksrc.bat updates and combined two krb5
|
||
changes as they should have been implemented at the same time.
|
||
|
||
- vauth: Corrected a number of typos in comments
|
||
|
||
Reported-by: Michael Osipov
|
||
|
||
Jay Satiro (5 Apr 2016)
|
||
- KNOWN_BUGS: #94 IMAP custom requests use the LIST handler
|
||
|
||
Bug: https://github.com/curl/curl/issues/536
|
||
Reported-by: eXeC64@users.noreply.github.com
|
||
|
||
Daniel Stenberg (5 Apr 2016)
|
||
- KNOWN_BUGS: remove 68, 70 and 72.
|
||
|
||
Due to their age (we don't fully know if they actually remain) and lack
|
||
of detail - very few people will bother to find out what they're about
|
||
or work on them. If people truly still suffer from any of these, I
|
||
assume they will be reported again and then we'll deal with them.
|
||
|
||
72. "Pausing pipeline problems."
|
||
https://curl.haxx.se/mail/lib-2009-07/0214.html
|
||
|
||
70. Problem re-using easy handle after call to curl_multi_remove_handle
|
||
https://curl.haxx.se/mail/lib-2009-07/0249.html
|
||
|
||
68. "More questions about ares behavior".
|
||
https://curl.haxx.se/mail/lib-2009-08/0012.html
|
||
|
||
- KNOWN_BUGS: remove 92 and 88, fixed
|
||
|
||
- http2: fix connection reuse when PING comes after last DATA
|
||
|
||
It turns out the google GFE HTTP/2 servers send a PING frame immediately
|
||
after a stream ends and its last DATA has been received by curl. So if
|
||
we don't drain that from the socket, it makes the socket readable in
|
||
subsequent checks and libcurl then (wrongly) assumes the connection is
|
||
dead when trying to reuse the connection.
|
||
|
||
Reported-by: Joonas Kuorilehto
|
||
|
||
Discussed in #750
|
||
|
||
- multi: remove trailing space in debug output
|
||
|
||
- RELEASE-NOTES: synced with 86e97b642fb
|
||
|
||
- CHECKSRC.md: mention cmdline options, fix the bullet list
|
||
|
||
- docs/CHECKSRC.md: initial version
|
||
|
||
Steve Holme (3 Apr 2016)
|
||
- checksrc.bat: Added support for the examples
|
||
|
||
Daniel Stenberg (3 Apr 2016)
|
||
- lib/src: fix the checksrc invoke
|
||
|
||
... now works correctly when invoke from the root makefile
|