mirror of
https://github.com/etlegacy/etlegacy-libs.git
synced 2025-02-24 04:01:12 +00:00
7542 lines
211 KiB
Text
7542 lines
211 KiB
Text
_ _ ____ _
|
||
___| | | | _ \| |
|
||
/ __| | | | |_) | |
|
||
| (__| |_| | _ <| |___
|
||
\___|\___/|_| \_\_____|
|
||
|
||
Changelog
|
||
|
||
Version 7.63.0 (12 Dec 2018)
|
||
|
||
Daniel Stenberg (12 Dec 2018)
|
||
- RELEASE-NOTES: 7.63.0
|
||
|
||
- THANKS: from the curl 7.62.0 cycle
|
||
|
||
- test1519: use lib1518 and test CURLINFO_REDIRECT_URL more
|
||
|
||
- Curl_follow: extract the Location: header field unvalidated
|
||
|
||
... when not actually following the redirect. Otherwise we return error
|
||
for this and an application can't extract the value.
|
||
|
||
Test 1518 added to verify.
|
||
|
||
Reported-by: Pavel Pavlov
|
||
Fixes #3340
|
||
Closes #3364
|
||
|
||
- multi: convert two timeout variables to timediff_t
|
||
|
||
The time_t type is unsigned on some systems and these variables are used
|
||
to hold return values from functions that return timediff_t
|
||
already. timediff_t is always a signed type.
|
||
|
||
Closes #3363
|
||
|
||
- delta: use --diff-filter on the git diff-tree invokes
|
||
|
||
Suggested-by: Dave Reisner
|
||
|
||
Patrick Monnerat (11 Dec 2018)
|
||
- documentation: curl_formadd field and file names are now escaped
|
||
|
||
Prior to 7.56.0, fieldnames and filenames were set in Content-Disposition
|
||
header without special processing: this may lead to invalid RFC 822
|
||
quoted-strings.
|
||
7.56.0 introduces escaping of backslashes and double quotes in these names:
|
||
mention it in the documentation.
|
||
|
||
Reported-by: daboul on github
|
||
Closes #3361
|
||
|
||
Daniel Stenberg (11 Dec 2018)
|
||
- scripts/delta: show repo delta info from last release
|
||
|
||
... where "last release" should be the git tag in the repo.
|
||
|
||
Daniel Gustafsson (11 Dec 2018)
|
||
- tests: add urlapi unittest
|
||
|
||
This adds a new unittest intended to cover the internal functions in
|
||
the urlapi code, starting with parse_port(). In order to avoid name
|
||
collisions in debug builds, parse_port() is renamed Curl_parse_port()
|
||
since it will be exported.
|
||
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
|
||
|
||
- urlapi: fix portnumber parsing for ipv6 zone index
|
||
|
||
An IPv6 URL which contains a zone index includes a '%%25<zode id>'
|
||
string before the ending ']' bracket. The parsing logic wasn't set
|
||
up to cope with the zone index however, resulting in a malformed url
|
||
error being returned. Fix by breaking the parsing into two stages
|
||
to correctly handle the zone index.
|
||
|
||
Closes #3355
|
||
Closes #3319
|
||
Reported-by: tonystz on Github
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
|
||
|
||
Daniel Stenberg (11 Dec 2018)
|
||
- [Jay Satiro brought this change]
|
||
|
||
http: fix HTTP auth to include query in URI
|
||
|
||
- Include query in the path passed to generate HTTP auth.
|
||
|
||
Recent changes to use the URL API internally (46e1640, 7.62.0)
|
||
inadvertently broke authentication URIs by omitting the query.
|
||
|
||
Fixes https://github.com/curl/curl/issues/3353
|
||
Closes #3356
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
http: don't set CURLINFO_CONDITION_UNMET for http status code 204
|
||
|
||
The http status code 204 (No Content) should not change the "condition
|
||
unmet" flag. Only the http status code 304 (Not Modified) should do
|
||
this.
|
||
|
||
Closes #359
|
||
|
||
- [Samuel Surtees brought this change]
|
||
|
||
ldap: fix LDAP URL parsing regressions
|
||
|
||
- Match URL scheme with LDAP and LDAPS
|
||
- Retrieve attributes, scope and filter from URL query instead
|
||
|
||
Regression brought in 46e164069d1a5230 (7.62.0)
|
||
|
||
Closes #3362
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- [Stefan Kanthak brought this change]
|
||
|
||
(lib)curl.rc: fixup for minor bugs
|
||
|
||
All resources defined in lib/libcurl.rc and curl.rc are language
|
||
neutral.
|
||
|
||
winbuild/MakefileBuild.vc ALWAYS defines the macro DEBUGBUILD, so the
|
||
ifdef's in line 33 of lib/libcurl.rc and src/curl.rc are wrong.
|
||
|
||
Replace the hard-coded constants in both *.rc files with #define'd
|
||
values.
|
||
|
||
Thumbs-uped-by: Rod Widdowson, Johannes Schindelin
|
||
URL: https://curl.haxx.se/mail/lib-2018-11/0000.html
|
||
Closes #3348
|
||
|
||
- test329: verify cookie max-age=0 immediate expiry
|
||
|
||
- cookies: expire "Max-Age=0" immediately
|
||
|
||
Reported-by: Jeroen Ooms
|
||
Fixes #3351
|
||
Closes #3352
|
||
|
||
- [Johannes Schindelin brought this change]
|
||
|
||
Upon HTTP_1_1_REQUIRED, retry the request with HTTP/1.1
|
||
|
||
This is a companion patch to cbea2fd2c (NTLM: force the connection to
|
||
HTTP/1.1, 2018-12-06): with NTLM, we can switch to HTTP/1.1
|
||
preemptively. However, with other (Negotiate) authentication it is not
|
||
clear to this developer whether there is a way to make it work with
|
||
HTTP/2, so let's try HTTP/2 first and fall back in case we encounter the
|
||
error HTTP_1_1_REQUIRED.
|
||
|
||
Note: we will still keep the NTLM workaround, as it avoids an extra
|
||
round trip.
|
||
|
||
Daniel Stenberg helped a lot with this patch, in particular by
|
||
suggesting to introduce the Curl_h2_http_1_1_error() function.
|
||
|
||
Closes #3349
|
||
|
||
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
||
|
||
- [Ben Greear brought this change]
|
||
|
||
openssl: fix unused variable compiler warning with old openssl
|
||
|
||
URL: https://curl.haxx.se/mail/lib-2018-11/0055.html
|
||
|
||
Closes #3347
|
||
|
||
- [Johannes Schindelin brought this change]
|
||
|
||
NTLM: force the connection to HTTP/1.1
|
||
|
||
Since v7.62.0, cURL tries to use HTTP/2 whenever the server announces
|
||
the capability. However, NTLM authentication only works with HTTP/1.1,
|
||
and will likely remain in that boat (for details, see
|
||
https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/http2-on-iis#when-is-http2-not-supported).
|
||
|
||
When we just found out that we want to use NTLM, and when the current
|
||
connection runs in HTTP/2 mode, let's force the connection to be closed
|
||
and to be re-opened using HTTP/1.1.
|
||
|
||
Fixes https://github.com/curl/curl/issues/3341.
|
||
Closes #3345
|
||
|
||
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
||
|
||
- [Johannes Schindelin brought this change]
|
||
|
||
curl_global_sslset(): id == -1 is not necessarily an error
|
||
|
||
It is allowed to call that function with id set to -1, specifying the
|
||
backend by the name instead. We should imitate what is done further down
|
||
in that function to allow for that.
|
||
|
||
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
||
|
||
Closes #3346
|
||
|
||
Johannes Schindelin (6 Dec 2018)
|
||
- .gitattributes: make tabs in indentation a visible error
|
||
|
||
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
||
|
||
Daniel Stenberg (6 Dec 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
- doh: fix memory leak in OOM situation
|
||
|
||
Reviewed-by: Daniel Gustafsson
|
||
Closes #3342
|
||
|
||
- doh: make it work for h2-disabled builds too
|
||
|
||
Reported-by: dtmsecurity at github
|
||
Fixes #3325
|
||
Closes #3336
|
||
|
||
- packages: remove old leftover files and dirs
|
||
|
||
This subdir has mostly become an attic of never-used cruft from the
|
||
past.
|
||
|
||
Closes #3331
|
||
|
||
- [Gergely Nagy brought this change]
|
||
|
||
openssl: do not use file BIOs if not requested
|
||
|
||
Moves the file handling BIO calls to the branch of the code where they
|
||
are actually used.
|
||
|
||
Closes #3339
|
||
|
||
- [Paul Howarth brought this change]
|
||
|
||
nss: Fix compatibility with nss versions 3.14 to 3.15
|
||
|
||
- [Paul Howarth brought this change]
|
||
|
||
nss: Improve info message when falling back SSL protocol
|
||
|
||
Use descriptive text strings rather than decimal numbers.
|
||
|
||
- [Paul Howarth brought this change]
|
||
|
||
nss: Fall back to latest supported SSL version
|
||
|
||
NSS may be built without support for the latest SSL/TLS versions,
|
||
leading to "SSL version range is not valid" errors when the library
|
||
code supports a recent version (e.g. TLS v1.3) but it has explicitly
|
||
been disabled.
|
||
|
||
This change adjusts the maximum SSL version requested by libcurl to
|
||
be the maximum supported version at runtime, as long as that version
|
||
is at least as high as the minimum version required by libcurl.
|
||
|
||
Fixes #3261
|
||
|
||
Daniel Gustafsson (3 Dec 2018)
|
||
- travis: enable COPYRIGHTYEAR extended warning
|
||
|
||
The extended warning for checking incorrect COPYRIGHTYEAR is quite
|
||
expensive to run, so rather than expecting every developer to do it
|
||
we ensure it's turned on locally for Travis.
|
||
|
||
- checksrc: add COPYRIGHTYEAR check
|
||
|
||
Forgetting to bump the year in the copyright clause when hacking has
|
||
been quite common among curl developers, but a traditional checksrc
|
||
check isn't a good fit as it would penalize anyone hacking on January
|
||
1st (among other things). This adds a more selective COPYRIGHTYEAR
|
||
check which intends to only cover the currently hacked on changeset.
|
||
|
||
The check for updated copyright year is currently not enforced on all
|
||
files but only on files edited and/or committed locally. This is due to
|
||
the amount of files which aren't updated with their correct copyright
|
||
year at the time of their respective commit.
|
||
|
||
To further avoid running this expensive check for every developer, it
|
||
adds a new local override mode for checksrc where a .checksrc file can
|
||
be used to turn on extended warnings locally.
|
||
|
||
Closes #3303
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (3 Dec 2018)
|
||
- CHECKSRC.md: document more warnings
|
||
|
||
Closes #3335
|
||
[ci skip]
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- SECURITY-PROCESS: bountygraph shuts down
|
||
|
||
This backpedals back the documents to the state before bountygraph.
|
||
|
||
Closes #3311
|
||
|
||
- curl: fix memory leak reading --writeout from file
|
||
|
||
If another string had been set first, the writout function for reading
|
||
the syntax from file would leak the previously allocated memory.
|
||
|
||
Reported-by: Brian Carpenter
|
||
Fixes #3322
|
||
Closes #3330
|
||
|
||
- tool_main: rename function to make it unique and better
|
||
|
||
... there's already another function in the curl tool named
|
||
free_config_fields!
|
||
|
||
Daniel Gustafsson (29 Nov 2018)
|
||
- TODO: remove CURLOPT_DNS_USE_GLOBAL_CACHE entry
|
||
|
||
Commit 7c5837e79280e6abb3ae143dfc49bca5e74cdd11 deprecated the option
|
||
making it a manual code-edit operation to turn it back on. The removal
|
||
process has thus started and is now documented in docs/DEPRECATE.md so
|
||
remove from the TODO to avoid anyone looking for something to pick up
|
||
spend cycles on an already in-progress entry.
|
||
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Jay Satiro (29 Nov 2018)
|
||
- [Sevan Janiyan brought this change]
|
||
|
||
connect: fix building for recent versions of Minix
|
||
|
||
EBADIOCTL doesn't exist on more recent Minix.
|
||
There have also been substantial changes to the network stack.
|
||
Fixes build on Minix 3.4rc
|
||
|
||
Closes https://github.com/curl/curl/pull/3323
|
||
|
||
- [Konstantin Kushnir brought this change]
|
||
|
||
CMake: fix MIT/Heimdal Kerberos detection
|
||
|
||
- fix syntax error in FindGSS.cmake
|
||
- correct krb5 include directory. FindGSS exports
|
||
"GSS_INCLUDE_DIR" variable.
|
||
|
||
Closes https://github.com/curl/curl/pull/3316
|
||
|
||
Daniel Stenberg (28 Nov 2018)
|
||
- test328: verify Content-Encoding: none
|
||
|
||
Because of issue #3315
|
||
|
||
Closes #3317
|
||
|
||
- [James Knight brought this change]
|
||
|
||
configure: include all libraries in ssl-libs fetch
|
||
|
||
When compiling a collection of SSL libraries to link against (SSL_LIBS),
|
||
ensure all libraries are included. The call `--libs-only-l` can produce
|
||
only a subset of found in a `--libs` call (e.x. pthread may be excluded).
|
||
Adding `--libs-only-other` ensures other libraries are also included in
|
||
the list. This corrects select build environments compiling against a
|
||
static version of OpenSSL. Before the change, the following could be
|
||
observed:
|
||
|
||
checking for openssl options with pkg-config... found
|
||
configure: pkg-config: SSL_LIBS: "-lssl -lz -ldl -lcrypto -lz -ldl "
|
||
configure: pkg-config: SSL_LDFLAGS: "-L/home/jdknight/<workdir>/staging/usr/lib -L/home/jdknight/<workdir>/staging/usr/lib "
|
||
configure: pkg-config: SSL_CPPFLAGS: "-I/home/jdknight/<workdir>/staging/usr/include "
|
||
checking for HMAC_Update in -lcrypto... no
|
||
checking for HMAC_Init_ex in -lcrypto... no
|
||
checking OpenSSL linking with -ldl... no
|
||
checking OpenSSL linking with -ldl and -lpthread... no
|
||
configure: WARNING: SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.
|
||
configure: WARNING: Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-axtls, --with-winssl, or --with-darwinssl to address this.
|
||
...
|
||
SSL support: no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )
|
||
...
|
||
|
||
And include the other libraries when compiling SSL_LIBS succeeds with:
|
||
|
||
checking for openssl options with pkg-config... found
|
||
configure: pkg-config: SSL_LIBS: "-lssl -lz -ldl -pthread -lcrypto -lz -ldl -pthread "
|
||
configure: pkg-config: SSL_LDFLAGS: "-L/home/jdknight/<workdir>/staging/usr/lib -L/home/jdknight/<workdir>/staging/usr/lib "
|
||
configure: pkg-config: SSL_CPPFLAGS: "-I/home/jdknight/<workdir>/staging/usr/include "
|
||
checking for HMAC_Update in -lcrypto... yes
|
||
checking for SSL_connect in -lssl... yes
|
||
...
|
||
SSL support: enabled (OpenSSL)
|
||
...
|
||
|
||
Signed-off-by: James Knight <james.d.knight@live.com>
|
||
Closes #3193
|
||
|
||
Daniel Gustafsson (26 Nov 2018)
|
||
- doh: fix typo in infof call
|
||
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- cmdline-opts/gen.pl: define the correct varname
|
||
|
||
The variable definition had a small typo making it declare another
|
||
variable then the intended.
|
||
|
||
Closes #3304
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (25 Nov 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
- curl_easy_perform: fix timeout handling
|
||
|
||
curl_multi_wait() was erroneously used from within
|
||
curl_easy_perform(). It could lead to it believing there was no socket
|
||
to wait for and then instead sleep for a while instead of monitoring the
|
||
socket and then miss acting on that activity as swiftly as it should
|
||
(causing an up to 1000 ms delay).
|
||
|
||
Reported-by: Antoni Villalonga
|
||
Fixes #3305
|
||
Closes #3306
|
||
Closes #3308
|
||
|
||
- CURLOPT_WRITEFUNCTION.3: spell out that it gets called many times
|
||
|
||
- cookies: create the cookiejar even if no cookies to save
|
||
|
||
Important for when the file is going to be read again and thus must not
|
||
contain old contents!
|
||
|
||
Adds test 327 to verify.
|
||
|
||
Reported-by: daboul on github
|
||
Fixes #3299
|
||
Closes #3300
|
||
|
||
- checksrc: ban snprintf use, add command line flag to override warns
|
||
|
||
- snprintf: renamed and we now only use msnprintf()
|
||
|
||
The function does not return the same value as snprintf() normally does,
|
||
so readers may be mislead into thinking the code works differently than
|
||
it actually does. A different function name makes this easier to detect.
|
||
|
||
Reported-by: Tomas Hoger
|
||
Assisted-by: Daniel Gustafsson
|
||
Fixes #3296
|
||
Closes #3297
|
||
|
||
- [Tobias Hintze brought this change]
|
||
|
||
test: update test20/1322 for eglibc bug workaround
|
||
|
||
The tests 20 and 1322 are using getaddrinfo of libc for resolving. In
|
||
eglibc-2.19 there is a memory leakage and invalid free bug which
|
||
surfaces in some special circumstances (PF_UNSPEC hint with invalid or
|
||
non-existent names). The valgrind runs in testing fail in these
|
||
situations.
|
||
|
||
As the tests 20/1322 are not specific on either protocol (IPv4/IPv6)
|
||
this commit changes the hints to IPv4 protocol by passing `--ipv4` flag
|
||
on the tests' command line. This prevents the valgrind failures.
|
||
|
||
- [Tobias Hintze brought this change]
|
||
|
||
host names: allow trailing dot in name resolve, then strip it
|
||
|
||
Delays stripping of trailing dots to after resolving the hostname.
|
||
|
||
Fixes #3022
|
||
Closes #3222
|
||
|
||
- [UnknownShadow200 brought this change]
|
||
|
||
CURLOPT_HEADERFUNCTION.3: match 'nitems' name in synopsis and description
|
||
|
||
Closes #3295
|
||
|
||
Daniel Gustafsson (21 Nov 2018)
|
||
- configure: Fix typo in comment
|
||
|
||
Michael Kaufmann (21 Nov 2018)
|
||
- openssl: support session resume with TLS 1.3
|
||
|
||
Session resumption information is not available immediately after a TLS 1.3
|
||
handshake. The client must wait until the server has sent a session ticket.
|
||
|
||
Use OpenSSL's "new session" callback to get the session information and put it
|
||
into curl's session cache. For TLS 1.3 sessions, this callback will be invoked
|
||
after the server has sent a session ticket.
|
||
|
||
The "new session" callback is invoked only if OpenSSL's session cache is
|
||
enabled, so enable it and use the "external storage" mode which lets curl manage
|
||
the contents of the session cache.
|
||
|
||
A pointer to the connection data and the sockindex are now saved as "SSL extra
|
||
data" to make them available to the callback.
|
||
|
||
This approach also works for old SSL/TLS versions and old OpenSSL versions.
|
||
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Fixes #3202
|
||
Closes #3271
|
||
|
||
- ssl: fix compilation with OpenSSL 0.9.7
|
||
|
||
- ENGINE_cleanup() was used without including "openssl/engine.h"
|
||
- enable engine support for OpenSSL 0.9.7
|
||
|
||
Closes #3266
|
||
|
||
Daniel Stenberg (21 Nov 2018)
|
||
- openssl: disable TLS renegotiation with BoringSSL
|
||
|
||
Since we're close to feature freeze, this change disables this feature
|
||
with an #ifdef. Define ALLOW_RENEG at build-time to enable.
|
||
|
||
This could be converted to a bit for CURLOPT_SSL_OPTIONS to let
|
||
applications opt-in this.
|
||
|
||
Concern-raised-by: David Benjamin
|
||
Fixes #3283
|
||
Closes #3293
|
||
|
||
- [Romain Fliedel brought this change]
|
||
|
||
ares: remove fd from multi fd set when ares is about to close the fd
|
||
|
||
When using c-ares for asyn dns, the dns socket fd was silently closed
|
||
by c-ares without curl being aware. curl would then 'realize' the fd
|
||
has been removed at next call of Curl_resolver_getsock, and only then
|
||
notify the CURLMOPT_SOCKETFUNCTION to remove fd from its poll set with
|
||
CURL_POLL_REMOVE. At this point the fd is already closed.
|
||
|
||
By using ares socket state callback (ARES_OPT_SOCK_STATE_CB), this
|
||
patch allows curl to be notified that the fd is not longer needed
|
||
for neither for write nor read. At this point by calling
|
||
Curl_multi_closed we are able to notify multi with CURL_POLL_REMOVE
|
||
before the fd is actually closed by ares.
|
||
|
||
In asyn-ares.c Curl_resolver_duphandle we can't use ares_dup anymore
|
||
since it does not allow passing a different sock_state_cb_data
|
||
|
||
Closes #3238
|
||
|
||
- [Romain Fliedel brought this change]
|
||
|
||
examples/ephiperfifo: report error when epoll_ctl fails
|
||
|
||
Daniel Gustafsson (20 Nov 2018)
|
||
- [pkubaj brought this change]
|
||
|
||
ntlm: Remove redundant ifdef USE_OPENSSL
|
||
|
||
lib/curl_ntlm.c had code that read as follows:
|
||
|
||
#ifdef USE_OPENSSL
|
||
# ifdef USE_OPENSSL
|
||
# else
|
||
# ..
|
||
# endif
|
||
#endif
|
||
|
||
Remove the redundant USE_OPENSSL along with #else (it's not possible to
|
||
reach it anyway). The removed construction is a leftover from when the
|
||
SSLeay support was removed.
|
||
|
||
Closes #3269
|
||
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (20 Nov 2018)
|
||
- [Han Han brought this change]
|
||
|
||
ssl: replace all internal uses of CURLE_SSL_CACERT
|
||
|
||
Closes #3291
|
||
|
||
Han Han (19 Nov 2018)
|
||
- docs: add more description to unified ssl error codes
|
||
|
||
- curle: move deprecated error code to ifndef block
|
||
|
||
Patrick Monnerat (19 Nov 2018)
|
||
- os400: add CURLOPT_CURLU to ILE/RPG binding.
|
||
|
||
- os400: Add curl_easy_conn_upkeep() to ILE/RPG binding.
|
||
|
||
- os400: fix return type of curl_easy_pause() in ILE/RPG binding.
|
||
|
||
Daniel Stenberg (19 Nov 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
- impacket: add LICENSE
|
||
|
||
The license for the impacket package was not in our tree.
|
||
|
||
Imported now from upstream's
|
||
https://github.com/SecureAuthCorp/impacket/blob/master/LICENSE
|
||
|
||
Reported-by: infinnovation-dev on github
|
||
Fixes #3276
|
||
Closes #3277
|
||
|
||
Daniel Gustafsson (18 Nov 2018)
|
||
- tool_doswin: Fix uninitialized field warning
|
||
|
||
The partial struct initialization in 397664a065abffb7c3445ca9 caused
|
||
a warning on uninitialized MODULEENTRY32 struct members:
|
||
|
||
/src/tool_doswin.c:681:3: warning: missing initializer for field
|
||
'th32ModuleID' of 'MODULEENTRY32 {aka struct tagMODULEENTRY32}'
|
||
[-Wmissing-field-initializers]
|
||
|
||
This is sort of a bogus warning as the remaining members will be set
|
||
to zero by the compiler, as all omitted members are. Nevertheless,
|
||
remove the warning by omitting all members and setting the dwSize
|
||
members explicitly.
|
||
|
||
Closes #3254
|
||
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
|
||
Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
|
||
|
||
- openssl: Remove SSLEAY leftovers
|
||
|
||
Commit 709cf76f6bb7dbac deprecated USE_SSLEAY, as curl since long isn't
|
||
compatible with the SSLeay library. This removes the few leftovers that
|
||
were omitted in the less frequently used platform targets.
|
||
|
||
Closes #3270
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (16 Nov 2018)
|
||
- [Elia Tufarolo brought this change]
|
||
|
||
http_negotiate: do not close connection until negotiation is completed
|
||
|
||
Fix HTTP POST using CURLAUTH_NEGOTIATE.
|
||
|
||
Closes #3275
|
||
|
||
- pop3: only do APOP with a valid timestamp
|
||
|
||
Brought-by: bobmitchell1956 on github
|
||
Fixes #3278
|
||
Closes #3279
|
||
|
||
Jay Satiro (16 Nov 2018)
|
||
- [Peter Wu brought this change]
|
||
|
||
openssl: do not log excess "TLS app data" lines for TLS 1.3
|
||
|
||
The SSL_CTX_set_msg_callback callback is not just called for the
|
||
Handshake or Alert protocols, but also for the raw record header
|
||
(SSL3_RT_HEADER) and the decrypted inner record type
|
||
(SSL3_RT_INNER_CONTENT_TYPE). Be sure to ignore the latter to avoid
|
||
excess debug spam when using `curl -v` against a TLSv1.3-enabled server:
|
||
|
||
* TLSv1.3 (IN), TLS app data, [no content] (0):
|
||
|
||
(Following this message, another callback for the decrypted
|
||
handshake/alert messages will be be present anyway.)
|
||
|
||
Closes https://github.com/curl/curl/pull/3281
|
||
|
||
Marc Hoersken (15 Nov 2018)
|
||
- tests: disable SO_EXCLUSIVEADDRUSE for stunnel on Windows
|
||
|
||
SO_EXCLUSIVEADDRUSE is on by default on Vista or newer,
|
||
but does not work together with SO_REUSEADDR being on.
|
||
|
||
The default changes were made with stunnel 5.34 and 5.35.
|
||
|
||
Daniel Stenberg (13 Nov 2018)
|
||
- [Kamil Dudka brought this change]
|
||
|
||
nss: remove version selecting dead code
|
||
|
||
Closes #3262
|
||
|
||
- nss: set default max-tls to 1.3/1.2
|
||
|
||
Fixes #3261
|
||
|
||
Daniel Gustafsson (13 Nov 2018)
|
||
- tool_cb_wrt: Silence function cast compiler warning
|
||
|
||
Commit 5bfaa86ceb3c2a9ac474a928e748c4a86a703b33 introduced a new
|
||
compiler warning on Windows cross compilation with GCC. See below
|
||
for an example of the warning from the autobuild logs (whitespace
|
||
edited to fit):
|
||
|
||
/src/tool_cb_wrt.c:175:9: warning: cast from function call of type
|
||
'intptr_t {aka long long int}' to non-matching type 'void *'
|
||
[-Wbad-function-cast]
|
||
(HANDLE) _get_osfhandle(fileno(outs->stream)),
|
||
^
|
||
|
||
Store the return value from _get_osfhandle() in an intermediate
|
||
variable and cast the variable in WriteConsoleW() rather than the
|
||
function call directly to avoid a compiler warning.
|
||
|
||
In passing, also add inspection of the MultiByteToWideChar() return
|
||
value and return failure in case an error is reported.
|
||
|
||
Closes #3263
|
||
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
|
||
Reviewed-by: Viktor Szakats <commit@vszakats.net>
|
||
|
||
Daniel Stenberg (12 Nov 2018)
|
||
- nss: fix fallthrough comment to fix picky compiler warning
|
||
|
||
- docs: expanded on some CURLU details
|
||
|
||
- [Tim Rühsen brought this change]
|
||
|
||
ftp: avoid two unsigned int overflows in FTP listing parser
|
||
|
||
Curl_ftp_parselist: avoid unsigned integer overflows
|
||
|
||
The overflow has no real world impact, just avoid it for "best
|
||
practice".
|
||
|
||
Closes #3225
|
||
|
||
- curl: --local-port range was not "including"
|
||
|
||
The end port number in a given range was not included in the range used,
|
||
as it is documented to be.
|
||
|
||
Reported-by: infinnovation-dev on github
|
||
Fixes #3251
|
||
Closes #3255
|
||
|
||
- [Jérémy Rocher brought this change]
|
||
|
||
openssl: support BoringSSL TLS renegotiation
|
||
|
||
As per BoringSSL porting documentation [1], BoringSSL rejects peer
|
||
renegotiations by default.
|
||
|
||
curl fails when trying to authenticate to server through client
|
||
certificate if it is requested by server after the initial TLS
|
||
handshake.
|
||
|
||
Enable renegotiation by default with BoringSSL to get same behavior as
|
||
with OpenSSL. This is done by calling SSL_set_renegotiate_mode [2]
|
||
which was introduced in commit 1d5ef3bb1eb9 [3].
|
||
|
||
1 - https://boringssl.googlesource.com/boringssl/+/HEAD/PORTING.md#tls-renegotiation
|
||
2 - https://boringssl.googlesource.com/boringssl/+/master/include/openssl/ssl.h#3482
|
||
3 - https://boringssl.googlesource.com/boringssl/+/1d5ef3bb1eb97848617db5e7d633d735a401df86
|
||
|
||
Signed-off-by: Jérémy Rocher <rocher.jeremy@gmail.com>
|
||
Fixes #3258
|
||
Closes #3259
|
||
|
||
- HISTORY: add some milestones
|
||
|
||
Added a few of the more notable milestones in curl history that were
|
||
missing. Primarily more recent ones but I also noted some older that
|
||
could be worth mentioning.
|
||
|
||
[ci skip]
|
||
Closes #3257
|
||
|
||
Daniel Gustafsson (9 Nov 2018)
|
||
- KNOWN_BUGS: add --proxy-any connection issue
|
||
|
||
Add the identified issue with --proxy-any and proxy servers which
|
||
advertise authentication schemes other than the supported one.
|
||
|
||
Closes #876
|
||
Closes #3250
|
||
Reported-by: NTMan on Github
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (9 Nov 2018)
|
||
- [Jim Fuller brought this change]
|
||
|
||
setopt: add CURLOPT_CURLU
|
||
|
||
Allows an application to pass in a pre-parsed URL via a URL handle.
|
||
|
||
Closes #3227
|
||
|
||
- [Gisle Vanem brought this change]
|
||
|
||
docs: ESCape "\n" codes
|
||
|
||
Groff / Troff will display a:
|
||
printaf("Errno: %ld\n", error);
|
||
as:
|
||
printf("Errno: %ld0, error);
|
||
|
||
when a "\n" is not escaped. Use "\\n" instead.
|
||
|
||
Closes #3246
|
||
|
||
- curl: --local-port fix followup
|
||
|
||
Regression by 52db54869e6.
|
||
|
||
Reported-by: infinnovation-dev on github
|
||
Fixes #3248
|
||
Closes #3249
|
||
|
||
GitHub (7 Nov 2018)
|
||
- [Gisle Vanem brought this change]
|
||
|
||
More "\n" ESCaping
|
||
|
||
Daniel Stenberg (7 Nov 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
- curl: fix --local-port integer overflow
|
||
|
||
The tool's local port command line range parser didn't check for integer
|
||
overflows and could pass "weird" data to libcurl for this option.
|
||
libcurl however, has a strict range check for the values so it rejects
|
||
anything outside of the accepted range.
|
||
|
||
Reported-by: Brian Carpenter
|
||
Closes #3242
|
||
|
||
- curl: correct the switch() logic in ourWriteOut
|
||
|
||
Follow-up to e431daf013, as I did the wrong correction for a compiler
|
||
warning. It should be a break and not a fall-through.
|
||
|
||
Pointed-out-by: Frank Gevaerts
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
curl: add %{stderr} and %{stdout} for --write-out
|
||
|
||
Closes #3115
|
||
|
||
Daniel Gustafsson (7 Nov 2018)
|
||
- winssl: be consistent in Schannel capitalization
|
||
|
||
The productname from Microsoft is "Schannel", but in infof/failf
|
||
reporting we use "schannel". This removes different versions.
|
||
|
||
Closes #3243
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (7 Nov 2018)
|
||
- TODO: Have the URL API offer IDN decoding
|
||
|
||
Similar to how URL decoding/encoding is done, we could have URL
|
||
functions to convert IDN host names to punycode.
|
||
|
||
Suggested-by: Alexey Melnichuk
|
||
Closes #3232
|
||
|
||
- urlapi: only skip encoding the first '=' with APPENDQUERY set
|
||
|
||
APPENDQUERY + URLENCODE would skip all equals signs but now it only skip
|
||
encoding the first to better allow "name=content" for any content.
|
||
|
||
Reported-by: Alexey Melnichuk
|
||
Fixes #3231
|
||
Closes #3231
|
||
|
||
- url: a short host name + port is not a scheme
|
||
|
||
The function identifying a leading "scheme" part of the URL considered a
|
||
few letters ending with a colon to be a scheme, making something like
|
||
"short:80" to become an unknown scheme instead of a short host name and
|
||
a port number.
|
||
|
||
Extended test 1560 to verify.
|
||
|
||
Also fixed test203 to use file_pwd to make it get the correct path on
|
||
windows. Removed test 2070 since it was a duplicate of 203.
|
||
|
||
Assisted-by: Marcel Raad
|
||
Reported-by: Hagai Auro
|
||
Fixes #3220
|
||
Fixes #3233
|
||
Closes #3223
|
||
Closes #3235
|
||
|
||
- [Sangamkar brought this change]
|
||
|
||
libcurl: stop reading from paused transfers
|
||
|
||
In the transfer loop it would previously not acknwledge the pause bit
|
||
and continue until drained or loop ended.
|
||
|
||
Closes #3240
|
||
|
||
Jay Satiro (6 Nov 2018)
|
||
- tool: add undocumented option --dump-module-paths for win32
|
||
|
||
- Add an undocumented diagnostic option for Windows to show the full
|
||
paths of all loaded modules regardless of whether or not libcurl
|
||
initialization succeeds.
|
||
|
||
This is needed so that in the CI we can get a list of all DLL
|
||
dependencies after initialization (when they're most likely to have
|
||
finished loading) and then package them as artifacts so that a
|
||
functioning build can be downloaded. Also I imagine it may have some use
|
||
as a diagnostic for help requests.
|
||
|
||
Ref: https://github.com/curl/curl/pull/3103
|
||
|
||
Closes https://github.com/curl/curl/pull/3208
|
||
|
||
- curl_multibyte: fix a malloc overcalculation
|
||
|
||
Prior to this change twice as many bytes as necessary were malloc'd when
|
||
converting wchar to UTF8. To allay confusion in the future I also
|
||
changed the variable name for the amount of bytes from len to bytes.
|
||
|
||
Closes https://github.com/curl/curl/pull/3209
|
||
|
||
Michael Kaufmann (5 Nov 2018)
|
||
- netrc: don't ignore the login name specified with "--user"
|
||
|
||
- for "--netrc", don't ignore the login/password specified with "--user",
|
||
only ignore the login/password in the URL.
|
||
This restores the netrc behaviour of curl 7.61.1 and earlier.
|
||
- fix the documentation of CURL_NETRC_REQUIRED
|
||
- improve the detection of login/password changes when reading .netrc
|
||
- don't read .netrc if both login and password are already set
|
||
|
||
Fixes #3213
|
||
Closes #3224
|
||
|
||
Patrick Monnerat (5 Nov 2018)
|
||
- OS400: add URL API ccsid wrappers and sync ILE/RPG bindings
|
||
|
||
Daniel Stenberg (5 Nov 2018)
|
||
- [Yasuhiro Matsumoto brought this change]
|
||
|
||
curl: fixed UTF-8 in current console code page (Windows)
|
||
|
||
Fixes #3211
|
||
Fixes #3175
|
||
Closes #3212
|
||
|
||
- TODO: 2.6 multi upkeep
|
||
|
||
Closes #3199
|
||
|
||
Daniel Gustafsson (5 Nov 2018)
|
||
- unittest: make 1652 stable across collations
|
||
|
||
The previous coding used a format string whose output depended on the
|
||
current locale of the environment running the test. Since the gist of
|
||
the test is to have a format string, with the actual formatting being
|
||
less important, switch to a more stable formatstring with decimals.
|
||
|
||
Reported-by: Marcel Raad
|
||
Closes #3234
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
|
||
|
||
Daniel Stenberg (5 Nov 2018)
|
||
- Revert "url: a short host name + port is not a scheme"
|
||
|
||
This reverts commit 226cfa8264cd979eff3fd52c0f3585ef095e7cf2.
|
||
|
||
This commit caused test failures on appveyor/windows. Work on fixing them is
|
||
in #3235.
|
||
|
||
- symbols-in-versions: add missing CURLU_ symbols
|
||
|
||
...and fix symbol-scan.pl to also scan urlapi.h
|
||
|
||
Reported-by: Alexey Melnichuk
|
||
Fixes #3226
|
||
Closes #3230
|
||
|
||
Daniel Gustafsson (3 Nov 2018)
|
||
- infof: clearly indicate truncation
|
||
|
||
The internal buffer in infof() is limited to 2048 bytes of payload plus
|
||
an additional byte for NULL termination. Servers with very long error
|
||
messages can however cause truncation of the string, which currently
|
||
isn't very clear, and leads to badly formatted output.
|
||
|
||
This appends a "...\n" (or just "..." in case the format didn't with a
|
||
newline char) marker to the end of the string to clearly show
|
||
that it has been truncated.
|
||
|
||
Also include a unittest covering infof() to try and catch any bugs
|
||
introduced in this quite important function.
|
||
|
||
Closes #3216
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
|
||
|
||
Michael Kaufmann (3 Nov 2018)
|
||
- tool_getparam: fix some comments
|
||
|
||
Daniel Stenberg (3 Nov 2018)
|
||
- url: a short host name + port is not a scheme
|
||
|
||
The function identifying a leading "scheme" part of the URL considered a few
|
||
letters ending with a colon to be a scheme, making something like "short:80"
|
||
to become an unknown scheme instead of a short host name and a port number.
|
||
|
||
Extended test 1560 to verify.
|
||
|
||
Reported-by: Hagai Auro
|
||
Fixes #3220
|
||
Closes #3223
|
||
|
||
- URL: fix IPv6 numeral address parser
|
||
|
||
Regression from 46e164069d1a52. Extended test 1560 to verify.
|
||
|
||
Reported-by: tpaukrt on github
|
||
Fixes #3218
|
||
Closes #3219
|
||
|
||
- travis: remove curl before a normal build
|
||
|
||
on Linux. To make sure the test suite runs with its newly build tool and
|
||
doesn't require an external one present.
|
||
|
||
Bug: #3198
|
||
Closes #3200
|
||
|
||
- [Tim Rühsen brought this change]
|
||
|
||
mprintf: avoid unsigned integer overflow warning
|
||
|
||
The overflow has no real world impact.
|
||
Just avoid it for "best practice".
|
||
|
||
Code change suggested by "The Infinnovation Team" and Daniel Stenberg.
|
||
Closes #3184
|
||
|
||
- Curl_follow: accept non-supported schemes for "fake" redirects
|
||
|
||
When not actually following the redirect and the target URL is only
|
||
stored for later retrieval, curl always accepted "non-supported"
|
||
schemes. This was a regression from 46e164069d1a5230.
|
||
|
||
Reported-by: Brad King
|
||
Fixes #3210
|
||
Closes #3215
|
||
|
||
Daniel Gustafsson (2 Nov 2018)
|
||
- openvms: fix example name
|
||
|
||
Commit efc696a2e09225bfeab4 renamed persistant.c to persistent.c to
|
||
fix the typo in the name, but missed to update the OpenVMS package
|
||
files which still looked for the old name.
|
||
|
||
Closes #3217
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
Reviewed-by: Viktor Szakats <commit@vszakats.net>
|
||
|
||
Daniel Stenberg (1 Nov 2018)
|
||
- configure: show CFLAGS, LDFLAGS etc in summary
|
||
|
||
To make it easier to understand other people's and remote builds etc.
|
||
|
||
Closes #3207
|
||
|
||
- version: bump for next cycle
|
||
|
||
- axtls: removed
|
||
|
||
As has been outlined in the DEPRECATE.md document, the axTLS code has
|
||
been disabled for 6 months and is hereby removed.
|
||
|
||
Use a better supported TLS library!
|
||
|
||
Assisted-by: Daniel Gustafsson
|
||
Closes #3194
|
||
|
||
- [marcosdiazr brought this change]
|
||
|
||
schannel: make CURLOPT_CERTINFO support using Issuer chain
|
||
|
||
Closes #3197
|
||
|
||
- travis: build with sanitize=address,undefined,signed-integer-overflow
|
||
|
||
... using clang
|
||
|
||
Closes #3190
|
||
|
||
- schannel: use Curl_ prefix for global private symbols
|
||
|
||
Curl_verify_certificate() must use the Curl_ prefix since it is globally
|
||
available in the lib and otherwise steps outside of our namespace!
|
||
|
||
Closes #3201
|
||
|
||
Kamil Dudka (1 Nov 2018)
|
||
- tests: drop http_pipe.py script no longer used
|
||
|
||
It is unused since commit f7208df7d9d5cd5e15e2d89237e828f32b63f135.
|
||
|
||
Closes #3204
|
||
|
||
Daniel Stenberg (31 Oct 2018)
|
||
- runtests: use the local curl for verifying
|
||
|
||
... revert the mistaken change brought in commit 8440616f53.
|
||
|
||
Reported-by: Alessandro Ghedini
|
||
Bug: https://curl.haxx.se/mail/lib-2018-10/0118.html
|
||
|
||
Closes #3198
|
||
|
||
Version 7.62.0 (30 Oct 2018)
|
||
|
||
Daniel Stenberg (30 Oct 2018)
|
||
- RELEASE-NOTES: 7.62.0
|
||
|
||
- THANKS: 7.62.0 status
|
||
|
||
Daniel Gustafsson (30 Oct 2018)
|
||
- vtls: add MesaLink to curl_sslbackend enum
|
||
|
||
MesaLink support was added in commit 57348eb97d1b8fc3742e02c but the
|
||
backend was never added to the curl_sslbackend enum in curl/curl.h.
|
||
This adds the new backend to the enum and updates the relevant docs.
|
||
|
||
Closes #3195
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (30 Oct 2018)
|
||
- [Ruslan Baratov brought this change]
|
||
|
||
cmake: Remove unused CURL_CONFIG_HAS_BEEN_RUN_BEFORE variable
|
||
|
||
Closes #3191
|
||
|
||
- test2080: verify the fix for CVE-2018-16842
|
||
|
||
- voutf: fix bad arethmetic when outputting warnings to stderr
|
||
|
||
CVE-2018-16842
|
||
Reported-by: Brian Carpenter
|
||
Bug: https://curl.haxx.se/docs/CVE-2018-16842.html
|
||
|
||
- [Tuomo Rinne brought this change]
|
||
|
||
cmake: uniform ZLIB to use USE_ variable and clean curl-config.cmake.in
|
||
|
||
Closes #3123
|
||
|
||
- [Tuomo Rinne brought this change]
|
||
|
||
cmake: add find_dependency call for ZLIB to CMake config file
|
||
|
||
- [Tuomo Rinne brought this change]
|
||
|
||
cmake: add support for transitive ZLIB target
|
||
|
||
- unit1650: fix "null pointer passed as argument 1 to memcmp"
|
||
|
||
Detected by UndefinedBehaviorSanitizer
|
||
|
||
Closes #3187
|
||
|
||
- travis: add a "make tidy" build that runs clang-tidy
|
||
|
||
Closes #3182
|
||
|
||
- unit1300: fix stack-use-after-scope AddressSanitizer warning
|
||
|
||
Closes #3186
|
||
|
||
- Curl_auth_create_plain_message: fix too-large-input-check
|
||
|
||
CVE-2018-16839
|
||
Reported-by: Harry Sintonen
|
||
Bug: https://curl.haxx.se/docs/CVE-2018-16839.html
|
||
|
||
- Curl_close: clear data->multi_easy on free to avoid use-after-free
|
||
|
||
Regression from b46cfbc068 (7.59.0)
|
||
CVE-2018-16840
|
||
Reported-by: Brian Carpenter (Geeknik Labs)
|
||
|
||
Bug: https://curl.haxx.se/docs/CVE-2018-16840.html
|
||
|
||
- [randomswdev brought this change]
|
||
|
||
system.h: use proper setting with Sun C++ as well
|
||
|
||
system.h selects the proper Sun settings when __SUNPRO_C is defined. The
|
||
Sun compiler does not define it when compiling C++ files. I'm adding a
|
||
check also on __SUNPRO_CC to allow curl to work properly also when used
|
||
in a C++ project on Sun Solaris.
|
||
|
||
Closes #3181
|
||
|
||
- rand: add comment to skip a clang-tidy false positive
|
||
|
||
- test1651: unit test Curl_extract_certinfo()
|
||
|
||
The version used for Gskit, NSS, GnuTLS, WolfSSL and schannel.
|
||
|
||
- x509asn1: always check return code from getASN1Element()
|
||
|
||
- Makefile: add 'tidy' target that runs clang-tidy
|
||
|
||
Available in the root, src and lib dirs.
|
||
|
||
Closes #3163
|
||
|
||
- RELEASE-PROCEDURE: adjust the release dates
|
||
|
||
See: https://curl.haxx.se/mail/lib-2018-10/0107.html
|
||
|
||
Patrick Monnerat (27 Oct 2018)
|
||
- x509asn1: suppress left shift on signed value
|
||
|
||
Use an unsigned variable: as the signed operation behavior is undefined,
|
||
this change silents clang-tidy about it.
|
||
|
||
Ref: https://github.com/curl/curl/pull/3163
|
||
Reported-By: Daniel Stenberg
|
||
|
||
Michael Kaufmann (27 Oct 2018)
|
||
- multi: Fix error handling in the SENDPROTOCONNECT state
|
||
|
||
If Curl_protocol_connect() returns an error code,
|
||
handle the error instead of switching to the next state.
|
||
|
||
Closes #3170
|
||
|
||
Daniel Stenberg (27 Oct 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
- openssl: output the correct cipher list on TLS 1.3 error
|
||
|
||
When failing to set the 1.3 cipher suite, the wrong string pointer would
|
||
be used in the error message. Most often saying "(nil)".
|
||
|
||
Reported-by: Ricky-Tigg on github
|
||
Fixes #3178
|
||
Closes #3180
|
||
|
||
- docs/CIPHERS: fix the TLS 1.3 cipher names
|
||
|
||
... picked straight from the OpenSSL man page:
|
||
https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_ciphersuites.html
|
||
|
||
Reported-by: Ricky-Tigg on github
|
||
Bug: #3178
|
||
|
||
Marcel Raad (27 Oct 2018)
|
||
- travis: install gnutls-bin package
|
||
|
||
This is required for gnutls-serv, which enables a few more tests.
|
||
|
||
Closes https://github.com/curl/curl/pull/2958
|
||
|
||
Daniel Gustafsson (26 Oct 2018)
|
||
- ssh: free the session on init failures
|
||
|
||
Ensure to clear the session object in case the libssh2 initialization
|
||
fails.
|
||
|
||
It could be argued that the libssh2 error function should be called to
|
||
get a proper error message in this case. But since the only error path
|
||
in libssh2_knownhost_init() is memory a allocation failure it's safest
|
||
to avoid since the libssh2 error handling allocates memory.
|
||
|
||
Closes #3179
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (26 Oct 2018)
|
||
- docs/RELEASE-PROCEDURE: remove old entries, modify the Dec 2018 date
|
||
|
||
... I'm moving it up one week due to travels. The rest stays.
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
openssl: make 'done' a proper boolean
|
||
|
||
Closes #3176
|
||
|
||
- gtls: Values stored to but never read
|
||
|
||
Detected by clang-tidy
|
||
|
||
Closes #3176
|
||
|
||
- [Alexey Eremikhin brought this change]
|
||
|
||
curl.1: --ipv6 mutexes ipv4 (fixed typo)
|
||
|
||
Fixes #3171
|
||
Closes #3172
|
||
|
||
- tool_main: make TerminalSettings static
|
||
|
||
Reported-by: Gisle Vanem
|
||
Bug: https://github.com/curl/curl/commit/becfe1233ff2b6b0c3e1b6a10048b55b68c2539f#commitcomment-31008819
|
||
Closes #3161
|
||
|
||
- curl-config.in: remove dependency on bc
|
||
|
||
Reported-by: Dima Pasechnik
|
||
Fixes #3143
|
||
Closes #3174
|
||
|
||
- [Gisle Vanem brought this change]
|
||
|
||
rtmp: fix for compiling with lwIP
|
||
|
||
Compiling on _WIN32 and with USE_LWIPSOCK, causes this error:
|
||
curl_rtmp.c(223,3): error: use of undeclared identifier 'setsockopt'
|
||
setsockopt(r->m_sb.sb_socket, SOL_SOCKET, SO_RCVTIMEO,
|
||
^
|
||
curl_rtmp.c(41,32): note: expanded from macro 'setsockopt'
|
||
#define setsockopt(a,b,c,d,e) (setsockopt)(a,b,c,(const char *)d,(int)e)
|
||
^
|
||
Closes #3155
|
||
|
||
- configure: remove CURL_CONFIGURE_CURL_SOCKLEN_T
|
||
|
||
Follow-up to #3166 which did the cmake part of this. This type/define is
|
||
not used.
|
||
|
||
Closes #3168
|
||
|
||
- [Ruslan Baratov brought this change]
|
||
|
||
cmake: remove unused variables
|
||
|
||
Remove variables:
|
||
* HAVE_SOCKLEN_T
|
||
* CURL_SIZEOF_CURL_SOCKLEN_T
|
||
* CURL_TYPEOF_CURL_SOCKLEN_T
|
||
|
||
Closes #3166
|
||
|
||
Michael Kaufmann (25 Oct 2018)
|
||
- urldata: Fix comment in header
|
||
|
||
The "connecting" function is used by multiple protocols, not only FTP
|
||
|
||
- netrc: free temporary strings if memory allocation fails
|
||
|
||
- Change the inout parameters after all needed memory has been
|
||
allocated. Do not change them if something goes wrong.
|
||
- Free the allocated temporary strings if strdup() fails.
|
||
|
||
Closes #3122
|
||
|
||
Daniel Stenberg (24 Oct 2018)
|
||
- [Ruslan Baratov brought this change]
|
||
|
||
config: Remove unused SIZEOF_VOIDP
|
||
|
||
Closes #3162
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
GitHub (23 Oct 2018)
|
||
- [Gisle Vanem brought this change]
|
||
|
||
Fix for compiling with lwIP (3)
|
||
|
||
lwIP on Windows does not have a WSAIoctl() function.
|
||
But it do have a SO_SNDBUF option to lwip_setsockopt(). But it currently does nothing.
|
||
|
||
Daniel Stenberg (23 Oct 2018)
|
||
- Curl_follow: return better errors on URL problems
|
||
|
||
... by making the converter function global and accessible.
|
||
|
||
Closes #3153
|
||
|
||
- Curl_follow: remove remaining free(newurl)
|
||
|
||
Follow-up to 05564e750e8f0c. This function no longer frees the passed-in
|
||
URL.
|
||
|
||
Reported-by: Michael Kaufmann
|
||
Bug: https://github.com/curl/curl/commit/05564e750e8f0c79016c680f301ce251e6e86155#commitcomm
|
||
ent-30985666
|
||
|
||
Daniel Gustafsson (23 Oct 2018)
|
||
- headers: end all headers with guard comment
|
||
|
||
Most headerfiles end with a /* <headerguard> */ comment, but it was
|
||
missing from some. The comment isn't the most important part of our
|
||
code documentation but consistency has an intrinsic value in itself.
|
||
This adds header guard comments to the files that were lacking it.
|
||
|
||
Closes #3158
|
||
Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Jay Satiro (23 Oct 2018)
|
||
- CIPHERS.md: Mention the options used to set TLS 1.3 ciphers
|
||
|
||
Closes https://github.com/curl/curl/pull/3159
|
||
|
||
Daniel Stenberg (20 Oct 2018)
|
||
- docs/BUG-BOUNTY: the sponsors actually decide the amount
|
||
|
||
Retract the previous approach as the sponsors will be the ones to set the
|
||
final amounts.
|
||
|
||
Closes #3152
|
||
[ci skip]
|
||
|
||
- multi: avoid double-free
|
||
|
||
Curl_follow() no longer frees the string. Make sure it happens in the
|
||
caller function, like we normally handle allocations.
|
||
|
||
This bug was introduced with the use of the URL API internally, it has
|
||
never been in a release version
|
||
|
||
Reported-by: Dario Weißer
|
||
Closes #3149
|
||
|
||
- multi: make the closure handle "inherit" CURLOPT_NOSIGNAL
|
||
|
||
Otherwise, closing that handle can still cause surprises!
|
||
|
||
Reported-by: Martin Ankerl
|
||
Fixes #3138
|
||
Closes #3147
|
||
|
||
Marcel Raad (19 Oct 2018)
|
||
- VS projects: add USE_IPV6
|
||
|
||
The Visual Studio builds didn't use IPv6. Add it to all projects since
|
||
Visual Studio 2008, which is verified to build via AppVeyor.
|
||
|
||
Closes https://github.com/curl/curl/pull/3137
|
||
|
||
- config_win32: enable LDAPS
|
||
|
||
As done in the autotools and CMake builds by default.
|
||
|
||
Closes https://github.com/curl/curl/pull/3137
|
||
|
||
Daniel Stenberg (18 Oct 2018)
|
||
- travis: add build for "configure --disable-verbose"
|
||
|
||
Closes #3144
|
||
|
||
Kamil Dudka (17 Oct 2018)
|
||
- tool_cb_hdr: handle failure of rename()
|
||
|
||
Detected by Coverity.
|
||
|
||
Closes #3140
|
||
Reviewed-by: Jay Satiro
|
||
|
||
Daniel Stenberg (17 Oct 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
- docs/SECURITY-PROCESS: the hackerone IBB program drops curl
|
||
|
||
... now there's only BountyGraph.
|
||
|
||
Jay Satiro (16 Oct 2018)
|
||
- [Matthew Whitehead brought this change]
|
||
|
||
x509asn1: Fix SAN IP address verification
|
||
|
||
For IP addresses in the subject alternative name field, the length
|
||
of the IP address (and hence the number of bytes to perform a
|
||
memcmp on) is incorrectly calculated to be zero. The code previously
|
||
subtracted q from name.end. where in a successful case q = name.end
|
||
and therefore addrlen equalled 0. The change modifies the code to
|
||
subtract name.beg from name.end to calculate the length correctly.
|
||
|
||
The issue only affects libcurl with GSKit SSL, not other SSL backends.
|
||
The issue is not a security issue as IP verification would always fail.
|
||
|
||
Fixes #3102
|
||
Closes #3141
|
||
|
||
Daniel Gustafsson (15 Oct 2018)
|
||
- INSTALL: mention mesalink in TLS section
|
||
|
||
Commit 57348eb97d1b8fc3742e02c6587d2d02ff592da5 added support for the
|
||
MesaLink vtls backend, but missed updating the TLS section containing
|
||
supported backends in the docs.
|
||
|
||
Closes #3134
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Marcel Raad (14 Oct 2018)
|
||
- nonblock: fix unused parameter warning
|
||
|
||
If USE_BLOCKING_SOCKETS is defined, curlx_nonblock's arguments are not
|
||
used.
|
||
|
||
Michael Kaufmann (13 Oct 2018)
|
||
- Curl_follow: Always free the passed new URL
|
||
|
||
Closes #3124
|
||
|
||
Viktor Szakats (12 Oct 2018)
|
||
- replace rawgit links [ci skip]
|
||
|
||
Ref: https://rawgit.com/ "RawGit has reached the end of its useful life"
|
||
Ref: https://news.ycombinator.com/item?id=18202481
|
||
Closes https://github.com/curl/curl/pull/3131
|
||
|
||
Daniel Stenberg (12 Oct 2018)
|
||
- docs/BUG-BOUNTY.md: for vulns published since Aug 1st 2018
|
||
|
||
[ci skip]
|
||
|
||
- travis: make distcheck scan for BOM markers
|
||
|
||
and remove BOM from projects/wolfssl_override.props
|
||
|
||
Closes #3126
|
||
|
||
Marcel Raad (11 Oct 2018)
|
||
- CMake: remove BOM
|
||
|
||
Accidentally aded in commit 1bb86057ff07083deeb0b00f8ad35879ec4d03ea.
|
||
|
||
Reported-by: Viktor Szakats
|
||
Ref: https://github.com/curl/curl/pull/3120#issuecomment-428673136
|
||
|
||
Daniel Gustafsson (10 Oct 2018)
|
||
- transfer: fix typo in comment
|
||
|
||
Michael Kaufmann (10 Oct 2018)
|
||
- docs: add "see also" links for SSL options
|
||
|
||
- link TLS 1.2 and TLS 1.3 options
|
||
- link proxy and non-proxy options
|
||
|
||
Closes #3121
|
||
|
||
Marcel Raad (10 Oct 2018)
|
||
- AppVeyor: remove BDIR variable that sneaked in again
|
||
|
||
Removed in ae762e1abebe3a5fe75658583c85059a0957ef6e, accidentally added
|
||
again in 9f3be5672dc4dda30ab43e0152e13d714a84d762.
|
||
|
||
- CMake: disable -Wpedantic-ms-format
|
||
|
||
As done in the autotools build. This is required for MinGW, which
|
||
supports only %I64 for printing 64-bit values, but warns about it.
|
||
|
||
Closes https://github.com/curl/curl/pull/3120
|
||
|
||
Viktor Szakats (9 Oct 2018)
|
||
- ldap: show precise LDAP call in error message on Windows
|
||
|
||
Also add a unique but common text ('bind via') to make it
|
||
easy to grep this specific failure regardless of platform.
|
||
|
||
Ref: https://github.com/curl/curl/pull/878/files#diff-7a636f08047c4edb53a240f540b4ecf6R468
|
||
Closes https://github.com/curl/curl/pull/3118
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
|
||
|
||
Daniel Stenberg (9 Oct 2018)
|
||
- docs/DEPRECATE: minor reformat to render nicer on web
|
||
|
||
Daniel Gustafsson (9 Oct 2018)
|
||
- CURLOPT_SSL_VERIFYSTATUS: Fix typo
|
||
|
||
Changes s/OSCP/OCSP/ and bumps the copyright year due to the change.
|
||
|
||
Marcel Raad (9 Oct 2018)
|
||
- curl_setup: define NOGDI on Windows
|
||
|
||
This avoids an ERROR macro clash between <wingdi.h> and <arpa/tftp.h>
|
||
on MinGW.
|
||
|
||
Closes https://github.com/curl/curl/pull/3113
|
||
|
||
- Windows: fixes for MinGW targeting Windows Vista
|
||
|
||
Classic MinGW has neither InitializeCriticalSectionEx nor
|
||
GetTickCount64, independent of the target Windows version.
|
||
|
||
Closes https://github.com/curl/curl/pull/3113
|
||
|
||
Daniel Stenberg (8 Oct 2018)
|
||
- TODO: fixed 'API for URL parsing/splitting'
|
||
|
||
Daniel Gustafsson (8 Oct 2018)
|
||
- KNOWN_BUGS: Fix various typos
|
||
|
||
Closes #3112
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Viktor Szakats (8 Oct 2018)
|
||
- spelling fixes [ci skip]
|
||
|
||
as detected by codespell 1.14.0
|
||
|
||
Closes https://github.com/curl/curl/pull/3114
|
||
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
|
||
|
||
Daniel Stenberg (8 Oct 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
- curl_ntlm_wb: check aprintf() return codes
|
||
|
||
... when they return NULL we're out of memory and MUST return failure.
|
||
|
||
closes #3111
|
||
|
||
- docs/BUG-BOUNTY: proposed additional docs
|
||
|
||
Bug bounty explainer. See https://bountygraph.com/programs/curl
|
||
|
||
Closes #3067
|
||
|
||
- [Rick Deist brought this change]
|
||
|
||
hostip: fix check on Curl_shuffle_addr return value
|
||
|
||
Closes #3110
|
||
|
||
- FILE: fix CURLOPT_NOBODY and CURLOPT_HEADER output
|
||
|
||
Now FILE transfers send headers to the header callback like HTTP and
|
||
other protocols. Also made curl_easy_getinfo(...CURLINFO_PROTOCOL...)
|
||
work for FILE in the callbacks.
|
||
|
||
Makes "curl -i file://.." and "curl -I file://.." work like before
|
||
again. Applied the bold header logic to them too.
|
||
|
||
Regression from c1c2762 (7.61.0)
|
||
|
||
Reported-by: Shaun Jackman
|
||
Fixes #3083
|
||
Closes #3101
|
||
|
||
Daniel Gustafsson (7 Oct 2018)
|
||
- gskit: make sure to terminate version string
|
||
|
||
In case a very small buffer was passed to the version function, it could
|
||
result in the buffer not being NULL-terminated since strncpy() doesn't
|
||
guarantee a terminator on an overflowed buffer. Rather than adding code
|
||
to terminate (and handle zero-sized buffers), move to using snprintf()
|
||
instead like all the other vtls backends.
|
||
|
||
Closes #3105
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
Reviewed-by: Viktor Szakats <commit@vszakats.net>
|
||
|
||
- TODO: add LD_PRELOAD support on macOS
|
||
|
||
Add DYLD_INSERT_LIBRARIES support to the TODO list. Reported in #2394.
|
||
|
||
- runtests: skip ld_preload tests on macOS
|
||
|
||
The LD_PRELOAD functionality doesn't exist on macOS, so skip any tests
|
||
requiring it.
|
||
|
||
Fixes #2394
|
||
Closes #3106
|
||
Reported-by: Github user @jakirkham
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Marcel Raad (7 Oct 2018)
|
||
- AppVeyor: use Debug builds to run tests
|
||
|
||
This enables more tests.
|
||
|
||
Closes https://github.com/curl/curl/pull/3104
|
||
|
||
- AppVeyor: add HTTP_ONLY build
|
||
|
||
Closes https://github.com/curl/curl/pull/3104
|
||
|
||
- AppVeyor: add WinSSL builds
|
||
|
||
Use the oldest and latest Windows SDKs for them.
|
||
Also, remove all but one OpenSSL build.
|
||
|
||
Closes https://github.com/curl/curl/pull/3104
|
||
|
||
- AppVeyor: add remaining Visual Studio versions
|
||
|
||
This adds Visual Studio 9 and 10 builds.
|
||
There's no 64-bit VC9 compiler on AppVeyor, so use it as the Win32
|
||
build. Also, VC9 cannot be used for running the test suite.
|
||
|
||
Closes https://github.com/curl/curl/pull/3104
|
||
|
||
- AppVeyor: break long line
|
||
|
||
Closes https://github.com/curl/curl/pull/3104
|
||
|
||
- AppVeyor: remove unused BDIR variable
|
||
|
||
Closes https://github.com/curl/curl/pull/3104
|
||
|
||
Daniel Stenberg (6 Oct 2018)
|
||
- test2100: test DoH using IPv4-only
|
||
|
||
To make it only send one DoH request and avoid the race condition that
|
||
could lead to the requests getting sent in reversed order and thus
|
||
making it hard to compare in the test case.
|
||
|
||
Fixes #3107
|
||
Closes #3108
|
||
|
||
- tests/FILEFORMAT: mention how to use <fileN> and <stripfileN> too
|
||
|
||
[ci skip]
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- [Dmitry Kostjuchenko brought this change]
|
||
|
||
timeval: fix use of weak symbol clock_gettime() on Apple platforms
|
||
|
||
Closes #3048
|
||
|
||
- doh: keep the IPv4 address in (original) network byte order
|
||
|
||
Ideally this will fix the reversed order shown in SPARC tests:
|
||
|
||
resp 8: Expected 127.0.0.1 got 1.0.0.127
|
||
|
||
Closes #3091
|
||
|
||
Jay Satiro (5 Oct 2018)
|
||
- INTERNALS.md: wrap lines longer than 79
|
||
|
||
Daniel Gustafsson (5 Oct 2018)
|
||
- INTERNALS: escape reference to parameter
|
||
|
||
The parameter reference <string> was causing rendering issues in the
|
||
generated HTML page, as <string> isn't a valid HTML tag. Fix by back-
|
||
tick escaping it.
|
||
|
||
Closes #3099
|
||
Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- checksrc: handle zero scoped ignore commands
|
||
|
||
If a !checksrc! disable command specified to ignore zero errors, it was
|
||
still added to the ignore block even though nothing was ignored. While
|
||
there were no blocks ignored that shouldn't be ignored, the processing
|
||
ended with with a warning:
|
||
|
||
<filename>:<line>:<col>: warning: Unused ignore: LONGLINE (UNUSEDIGNORE)
|
||
/* !checksrc! disable LONGLINE 0 */
|
||
^
|
||
Fix by instead treating a zero ignore as a a badcommand and throw a
|
||
warning for that one.
|
||
|
||
Closes #3096
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- checksrc: enable strict mode and warnings
|
||
|
||
Enable strict and warnings mode for checksrc to ensure we aren't missing
|
||
anything due to bugs in the checking code. This uncovered a few things
|
||
which are all fixed in this commit:
|
||
|
||
* several variables were used uninitialized
|
||
* several variables were not defined in the correct scope
|
||
* the whitelist filehandle was read even if the file didn't exist
|
||
* the enable_warn() call when a disable counter had expired was passing
|
||
incorrect variables, but since the checkwarn() call is unlikely to hit
|
||
(the counter is only decremented to zero on actual ignores) it didn't
|
||
manifest a problem.
|
||
|
||
Closes #3090
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
|
||
|
||
Marcel Raad (5 Oct 2018)
|
||
- CMake: suppress MSVC warning C4127 for libtest
|
||
|
||
It's issued by older Windows SDKs (prior to version 8.0).
|
||
|
||
Sergei Nikulov (5 Oct 2018)
|
||
- Merge branch 'dmitrykos-fix_missing_CMake_defines'
|
||
|
||
- [Dmitry Kostjuchenko brought this change]
|
||
|
||
cmake: test and set missed defines during configuration
|
||
|
||
Added configuration checks for HAVE_BUILTIN_AVAILABLE and HAVE_CLOCK_GETTIME_MONOTONIC.
|
||
|
||
Closes #3097
|
||
|
||
Marcel Raad (5 Oct 2018)
|
||
- AppVeyor: disable test 500
|
||
|
||
It almost always results in
|
||
"starttransfer vs total: 0.000001 0.000000".
|
||
I cannot reproduce this locally, so disable it for now.
|
||
|
||
Closes https://github.com/curl/curl/pull/3100
|
||
|
||
- AppVeyor: set custom install prefix
|
||
|
||
CMake's default has spaces and in 32-bit mode parentheses, which result
|
||
in syntax errors in curl-config.
|
||
|
||
Closes https://github.com/curl/curl/pull/3100
|
||
|
||
- AppVeyor: Remove non-SSL non-test builds
|
||
|
||
They don't add much value.
|
||
|
||
Closes https://github.com/curl/curl/pull/3100
|
||
|
||
- AppVeyor: run test suite
|
||
|
||
Use the preinstalled MSYS2 bash for that.
|
||
Disable test 1139 as the CMake build doesn't generate curl.1.
|
||
|
||
Ref: https://github.com/curl/curl/issues/3070#issuecomment-425922224
|
||
Closes https://github.com/curl/curl/pull/3100
|
||
|
||
- AppVeyor: use in-tree build
|
||
|
||
Required to run the tests.
|
||
|
||
Closes https://github.com/curl/curl/pull/3100
|
||
|
||
Daniel Stenberg (4 Oct 2018)
|
||
- doh: make sure TTL isn't re-inited by second (discarded?) response
|
||
|
||
Closes #3092
|
||
|
||
- test320: strip out more HTML when comparing
|
||
|
||
To make the test case work with different gnutls-serv versions better.
|
||
|
||
Reported-by: Kamil Dudka
|
||
Fixes #3093
|
||
Closes #3094
|
||
|
||
Marcel Raad (4 Oct 2018)
|
||
- runtests: use Windows paths for Windows curl
|
||
|
||
curl generated by CMake's Visual Studio generator has "Windows" in the
|
||
version number.
|
||
|
||
Daniel Stenberg (4 Oct 2018)
|
||
- [Colin Hogben brought this change]
|
||
|
||
tests/negtelnetserver.py: fix Python2-ism in neg TELNET server
|
||
|
||
Fix problems caused by differences in treatment of bytes objects between
|
||
python2 and python3.
|
||
|
||
Fixes #2929
|
||
Closes #3080
|
||
|
||
Daniel Gustafsson (3 Oct 2018)
|
||
- memory: ensure to check allocation results
|
||
|
||
The result of a memory allocation should always be checked, as we may
|
||
run under memory pressure where even a small allocation can fail. This
|
||
adds checking and error handling to a few cases where the allocation
|
||
wasn't checked for success. In the ftp case, the freeing of the path
|
||
variable is moved ahead of the allocation since there is little point
|
||
in keeping it around across the strdup, and the separation makes for
|
||
more readable code. In nwlib, the lock is aslo freed in the error path.
|
||
|
||
Also bumps the copyright years on affected files.
|
||
|
||
Closes #3084
|
||
Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- comment: Fix multiple typos in function parameters
|
||
|
||
Ensure that the parameters in the comment match the actual names in the
|
||
prototype.
|
||
|
||
Closes #3079
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- CURLOPT_SSLVERSION.3: fix typos and consistent spelling
|
||
|
||
Use TLS vX.Y throughout the document, instead of TLS X.Y, as that was
|
||
already done in all but a few cases. Also fix a few typos.
|
||
|
||
Closes #3076
|
||
Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- SECURITY-PROCESS: make links into hyperlinks
|
||
|
||
Use proper Markdown hyperlink format for the Bountygraph links in order
|
||
for the generated website page to be more user friendly. Also link to
|
||
the sponsors to give them a little extra credit.
|
||
|
||
Closes #3082
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Jay Satiro (3 Oct 2018)
|
||
- CURLOPT_HEADER.3: fix typo
|
||
|
||
- nss: fix nssckbi module loading on Windows
|
||
|
||
- Use .DLL extension instead of .so to load modules on Windows.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-09/0077.html
|
||
Reported-by: Maxime Legros
|
||
|
||
Ref: https://github.com/curl/curl/pull/3016/#issuecomment-423069442
|
||
|
||
Closes https://github.com/curl/curl/pull/3086
|
||
|
||
- data-binary.d: clarify default content-type is x-www-form-urlencoded
|
||
|
||
- Advise user that --data-binary sends a default content type of
|
||
x-www-form-urlencoded, and to have the data treated as arbitrary
|
||
binary data by the server set the content-type header to octet-stream.
|
||
|
||
Ref: https://github.com/curl/curl/pull/2852#issuecomment-426465094
|
||
|
||
Closes https://github.com/curl/curl/pull/3085
|
||
|
||
Marcel Raad (2 Oct 2018)
|
||
- test1299: use single quotes around asterisk
|
||
|
||
Ref: https://github.com/curl/curl/issues/1751#issuecomment-321522580
|
||
|
||
Daniel Stenberg (2 Oct 2018)
|
||
- docs/CIPHERS: mention the colon separation for OpenSSL
|
||
|
||
Bug: #3077
|
||
|
||
- runtests: ignore disabled even when ranges are given
|
||
|
||
runtests.pl support running a range of tests, like "44 to 127". Starting
|
||
now, the code makes sure that even such given ranges will ignore tests
|
||
that are marked as disabled.
|
||
|
||
Disabled tests can still be run by explictly specifying that test
|
||
number.
|
||
|
||
Closes #3075
|
||
|
||
- urlapi: starting with a drive letter on win32 is not an abs url
|
||
|
||
... and libcurl doesn't support any single-letter URL schemes (if there
|
||
even exist any) so it should be fairly risk-free.
|
||
|
||
Reported-by: Marcel Raad
|
||
|
||
Fixes #3070
|
||
Closes #3071
|
||
|
||
Marcel Raad (2 Oct 2018)
|
||
- doh: fix curl_easy_setopt argument type
|
||
|
||
CURLOPT_POSTFIELDSIZE is long. Fixes a compiler warning on 64-bit
|
||
MinGW.
|
||
|
||
Daniel Stenberg (2 Oct 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
Jay Satiro (1 Oct 2018)
|
||
- [Ruslan Baratov brought this change]
|
||
|
||
CMake: Improve config installation
|
||
|
||
Use 'GNUInstallDirs' standard module to set destinations of installed
|
||
files.
|
||
|
||
Use uppercase "CURL" names instead of lowercase "curl" to match standard
|
||
'FindCURL.cmake' CMake module:
|
||
* https://cmake.org/cmake/help/latest/module/FindCURL.html
|
||
|
||
Meaning:
|
||
* Install 'CURLConfig.cmake' instead of 'curl-config.cmake'
|
||
* User should call 'find_package(CURL)' instead of 'find_package(curl)'
|
||
|
||
Use 'configure_package_config_file' function to generate
|
||
'CURLConfig.cmake' file. This will make 'curl-config.cmake.in' template
|
||
file smaller and handle components better. E.g. current configuration
|
||
report no error if user specified unknown components (note: new
|
||
configuration expects no components, report error if user will try to
|
||
specify any).
|
||
|
||
Closes https://github.com/curl/curl/pull/2849
|
||
|
||
Daniel Stenberg (1 Oct 2018)
|
||
- test1650: make it depend on http/2
|
||
|
||
Follow-up to 570008c99da0ccbb as it gets link errors.
|
||
|
||
Reported-by: Michael Kaufmann
|
||
Closes #3068
|
||
|
||
- [Nate Prewitt brought this change]
|
||
|
||
MANUAL: minor grammar fix
|
||
|
||
Noticed a typo reading through the docs.
|
||
|
||
Closes #3069
|
||
|
||
- doh: only build if h2 enabled
|
||
|
||
The DoH spec says "HTTP/2 [RFC7540] is the minimum RECOMMENDED version
|
||
of HTTP for use with DoH".
|
||
|
||
Reported-by: Marcel Raad
|
||
Closes #3066
|
||
|
||
- test2100: require http2 to run
|
||
|
||
Reported-by: Marcel Raad
|
||
Fixes #3064
|
||
Closes #3065
|
||
|
||
- multi: fix memory leak in content encoding related error path
|
||
|
||
... a missing multi_done() call.
|
||
|
||
Credit to OSS-Fuzz
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10728
|
||
Closes #3063
|
||
|
||
- travis: bump the Secure Transport build to use xcode 10
|
||
|
||
Due to an issue with travis
|
||
(https://github.com/travis-ci/travis-ci/issues/9956) we've been using
|
||
Xcode 9.2 for darwinssl builds for a while. Now xcode 10 is offered as
|
||
an alternative and as it builds curl+darwinssl fine that seems like a
|
||
better choice.
|
||
|
||
Closes #3062
|
||
|
||
- [Rich Turner brought this change]
|
||
|
||
curl: enabled Windows VT Support and UTF-8 output
|
||
|
||
Enabled Console VT support (if running OS supports VT) in tool_main.c.
|
||
|
||
Fixes #3008
|
||
Closes #3011
|
||
|
||
- multi: fix location URL memleak in error path
|
||
|
||
Follow-up to #3044 - fix a leak OSS-Fuzz detected
|
||
Closes #3057
|
||
|
||
Sergei Nikulov (28 Sep 2018)
|
||
- cmake: fixed path used in generation of docs/tests during curl build through add_subdicectory(...)
|
||
|
||
- [Brad King brought this change]
|
||
|
||
cmake: Backport to work with CMake 3.0 again
|
||
|
||
Changes in commit 7867aaa9a0 (cmake: link curl to the OpenSSL targets
|
||
instead of lib absolute paths, 2018-07-17) and commit f826b4ce98 (cmake:
|
||
bumped minimum version to 3.4, 2018-07-19) required CMake 3.4 to fix
|
||
issue #2746. This broke support for users on older versions of CMake
|
||
even if they just want to build curl and do not care whether transitive
|
||
dependencies work.
|
||
|
||
Backport the logic to work with CMake 3.0 again by implementing the
|
||
fix only when the version of CMake is at least 3.4.
|
||
|
||
Marcel Raad (27 Sep 2018)
|
||
- curl_threads: fix classic MinGW compile break
|
||
|
||
Classic MinGW still has _beginthreadex's return type as unsigned long
|
||
instead of uintptr_t [0]. uintptr_t is not even defined because of [1].
|
||
|
||
[0] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l167
|
||
[1] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l90
|
||
|
||
Bug: https://github.com/curl/curl/issues/2924#issuecomment-424334807
|
||
Closes https://github.com/curl/curl/pull/3051
|
||
|
||
Daniel Stenberg (26 Sep 2018)
|
||
- configure: s/AC_RUN_IFELSE/CURL_RUN_IFELSE
|
||
|
||
fix a few leftovers
|
||
|
||
Fixes #3006
|
||
Closes #3049
|
||
|
||
- [Doron Behar brought this change]
|
||
|
||
example/htmltidy: fix include paths of tidy libraries
|
||
|
||
Closes #3050
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- Curl_http2_done: fix memleak in error path
|
||
|
||
Free 'header_recvbuf' unconditionally even if 'h2' isn't (yet) set, for
|
||
early failures.
|
||
|
||
Detected by OSS-Fuzz
|
||
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10669
|
||
Closes #3046
|
||
|
||
- http: fix memleak in rewind error path
|
||
|
||
If the rewind would fail, a strdup() would not get freed.
|
||
|
||
Detected by OSS-Fuzz
|
||
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10665
|
||
Closes #3044
|
||
|
||
Viktor Szakats (24 Sep 2018)
|
||
- test320: fix regression in [ci skip]
|
||
|
||
The value in question is coming directly from `gnutls-serv`, so it cannot
|
||
be modified freely.
|
||
|
||
Reported-by: Marcel Raad
|
||
Ref: https://github.com/curl/curl/commit/6ae6b2a533e8630afbb21f570305bd4ceece6348#commitcomment-30621004
|
||
|
||
Daniel Stenberg (24 Sep 2018)
|
||
- Curl_retry_request: fix memory leak
|
||
|
||
Detected by OSS-Fuzz
|
||
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10648
|
||
Closes #3042
|
||
|
||
- openssl: load built-in engines too
|
||
|
||
Regression since 38203f1
|
||
|
||
Reported-by: Jean Fabrice
|
||
Fixes #3023
|
||
Closes #3040
|
||
|
||
- [Christian Heimes brought this change]
|
||
|
||
OpenSSL: enable TLS 1.3 post-handshake auth
|
||
|
||
OpenSSL 1.1.1 requires clients to opt-in for post-handshake
|
||
authentication.
|
||
|
||
Fixes: https://github.com/curl/curl/issues/3026
|
||
Signed-off-by: Christian Heimes <christian@python.org>
|
||
|
||
Closes https://github.com/curl/curl/pull/3027
|
||
|
||
- [Even Rouault brought this change]
|
||
|
||
Curl_dedotdotify(): always nul terminate returned string.
|
||
|
||
This fixes potential out-of-buffer access on "file:./" URL
|
||
|
||
$ valgrind curl "file:./"
|
||
==24516== Memcheck, a memory error detector
|
||
==24516== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
|
||
==24516== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
|
||
==24516== Command: /home/even/install-curl-git/bin/curl file:./
|
||
==24516==
|
||
==24516== Conditional jump or move depends on uninitialised value(s)
|
||
==24516== at 0x4C31F9C: strcmp (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
|
||
==24516== by 0x4EBB315: seturl (urlapi.c:801)
|
||
==24516== by 0x4EBB568: parseurl (urlapi.c:861)
|
||
==24516== by 0x4EBC509: curl_url_set (urlapi.c:1199)
|
||
==24516== by 0x4E644C6: parseurlandfillconn (url.c:2044)
|
||
==24516== by 0x4E67AEF: create_conn (url.c:3613)
|
||
==24516== by 0x4E68A4F: Curl_connect (url.c:4119)
|
||
==24516== by 0x4E7F0A4: multi_runsingle (multi.c:1440)
|
||
==24516== by 0x4E808E5: curl_multi_perform (multi.c:2173)
|
||
==24516== by 0x4E7558C: easy_transfer (easy.c:686)
|
||
==24516== by 0x4E75801: easy_perform (easy.c:779)
|
||
==24516== by 0x4E75868: curl_easy_perform (easy.c:798)
|
||
|
||
Was originally spotted by
|
||
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10637
|
||
Credit to OSS-Fuzz
|
||
|
||
Closes #3039
|
||
|
||
Viktor Szakats (23 Sep 2018)
|
||
- update URLs in tests
|
||
|
||
- and one in docs/MANUAL as well
|
||
|
||
Closes https://github.com/curl/curl/pull/3038
|
||
|
||
- whitespace fixes
|
||
|
||
- replace tabs with spaces where possible
|
||
- remove line ending spaces
|
||
- remove double/triple newlines at EOF
|
||
- fix a non-UTF-8 character
|
||
- cleanup a few indentations/line continuations
|
||
in manual examples
|
||
|
||
Closes https://github.com/curl/curl/pull/3037
|
||
|
||
Daniel Stenberg (23 Sep 2018)
|
||
- http: add missing return code check
|
||
|
||
Detected by Coverity. CID 1439610.
|
||
|
||
Follow-up from 46e164069d1a523
|
||
|
||
Closes #3034
|
||
|
||
- ftp: don't access pointer before NULL check
|
||
|
||
Detected by Coverity. CID 1439611.
|
||
|
||
Follow-up from 46e164069d1a523
|
||
|
||
- unit1650: fix out of boundary access
|
||
|
||
Fixes #2987
|
||
Closes #3035
|
||
|
||
Viktor Szakats (23 Sep 2018)
|
||
- docs/examples: URL updates
|
||
|
||
- also update two URLs outside of docs/examples
|
||
- fix spelling of filename persistant.c
|
||
- fix three long lines that started failing checksrc.pl
|
||
|
||
Closes https://github.com/curl/curl/pull/3036
|
||
|
||
- examples/Makefile.m32: sync with core [ci skip]
|
||
|
||
also:
|
||
- fix two warnings in synctime.c (one of them Windows-specific)
|
||
- upgrade URLs in synctime.c and remove a broken one
|
||
|
||
Closes https://github.com/curl/curl/pull/3033
|
||
|
||
Daniel Stenberg (22 Sep 2018)
|
||
- examples/parseurl.c: show off the URL API a bit
|
||
|
||
Closes #3030
|
||
|
||
- SECURITY-PROCESS: mention the bountygraph program [ci skip]
|
||
|
||
Closes #3032
|
||
|
||
- url: use the URL API internally as well
|
||
|
||
... to make it a truly unified URL parser.
|
||
|
||
Closes #3017
|
||
|
||
Viktor Szakats (22 Sep 2018)
|
||
- URL and mailmap updates, remove an obsolete directory [ci skip]
|
||
|
||
Closes https://github.com/curl/curl/pull/3031
|
||
|
||
Daniel Stenberg (22 Sep 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
- configure: force-use -lpthreads on HPUX
|
||
|
||
When trying to detect pthreads use on HPUX the checks will succeed
|
||
without the correct -l option but then end up failing at run-time.
|
||
|
||
Reported-by: Eason-Yu on github
|
||
Fixes #2697
|
||
Closes #3025
|
||
|
||
- [Erik Minekus brought this change]
|
||
|
||
Curl_saferealloc: Fixed typo in docblock
|
||
|
||
Closes #3029
|
||
|
||
- urlapi: fix support for address scope in IPv6 numerical addresses
|
||
|
||
Closes #3024
|
||
|
||
- [Loganaden Velvindron brought this change]
|
||
|
||
GnutTLS: TLS 1.3 support
|
||
|
||
Closes #2971
|
||
|
||
- TODO: c-ares and CURLOPT_OPENSOCKETFUNCTION
|
||
|
||
Removed DoH.
|
||
|
||
Closes #2734
|
||
|
||
Jay Satiro (20 Sep 2018)
|
||
- vtls: fix ssl version "or later" behavior change for many backends
|
||
|
||
- Treat CURL_SSLVERSION_MAX_NONE the same as
|
||
CURL_SSLVERSION_MAX_DEFAULT. Prior to this change NONE would mean use
|
||
the minimum version also as the maximum.
|
||
|
||
This is a follow-up to 6015cef which changed the behavior of setting
|
||
the SSL version so that the requested version would only be the minimum
|
||
and not the maximum. It appears it was (mostly) implemented in OpenSSL
|
||
but not other backends. In other words CURL_SSLVERSION_TLSv1_0 used to
|
||
mean use just TLS v1.0 and now it means use TLS v1.0 *or later*.
|
||
|
||
- Fix CURL_SSLVERSION_MAX_DEFAULT for OpenSSL.
|
||
|
||
Prior to this change CURL_SSLVERSION_MAX_DEFAULT with OpenSSL was
|
||
erroneously treated as always TLS 1.3, and would cause an error if
|
||
OpenSSL was built without TLS 1.3 support.
|
||
|
||
Co-authored-by: Daniel Gustafsson
|
||
|
||
Fixes https://github.com/curl/curl/issues/2969
|
||
Closes https://github.com/curl/curl/pull/3012
|
||
|
||
Daniel Stenberg (20 Sep 2018)
|
||
- certs: generate tests certs with sha256 digest algorithm
|
||
|
||
As OpenSSL 1.1.1 starts to complain and fail on sha1 CAs:
|
||
|
||
"SSL certificate problem: CA signature digest algorithm too weak"
|
||
|
||
Closes #3014
|
||
|
||
- urlapi: document the error codes, remove two unused ones
|
||
|
||
Assisted-by: Daniel Gustafsson
|
||
Closes #3019
|
||
|
||
- urlapi: add CURLU_GUESS_SCHEME and fix hostname acceptance
|
||
|
||
In order for this API to fully work for libcurl itself, it now offers a
|
||
CURLU_GUESS_SCHEME flag that makes it "guess" scheme based on the host
|
||
name prefix just like libcurl always did. If there's no known prefix, it
|
||
will guess "http://".
|
||
|
||
Separately, it relaxes the check of the host name so that IDN host names
|
||
can be passed in as well.
|
||
|
||
Both these changes are necessary for libcurl itself to use this API.
|
||
|
||
Assisted-by: Daniel Gustafsson
|
||
Closes #3018
|
||
|
||
Kamil Dudka (19 Sep 2018)
|
||
- nss: try to connect even if libnssckbi.so fails to load
|
||
|
||
One can still use CA certificates stored in NSS database.
|
||
|
||
Reported-by: Maxime Legros
|
||
Bug: https://curl.haxx.se/mail/lib-2018-09/0077.html
|
||
|
||
Closes #3016
|
||
|
||
Daniel Gustafsson (19 Sep 2018)
|
||
- urlapi: don't set value which is never read
|
||
|
||
In the CURLUPART_URL case, there is no codepath which invokes url
|
||
decoding so remove the assignment of the urldecode variable. This
|
||
fixes the deadstore bug-report from clang static analysis.
|
||
|
||
Closes #3015
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- todo: Update reference to already done item
|
||
|
||
TODO item 1.1 was implemented in commit 946ce5b61f, update reference
|
||
to it with instead referencing the implemented option.
|
||
|
||
Closes #3013
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (18 Sep 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
- [slodki brought this change]
|
||
|
||
cmake: don't require OpenSSL if USE_OPENSSL=OFF
|
||
|
||
User must have OpenSSL installed even if not used by libcurl at all
|
||
since 7.61.1 release. Broken at
|
||
7867aaa9a01decf93711428462335be8cef70212
|
||
|
||
Reviewed-by: Sergei Nikulov
|
||
Closes #3001
|
||
|
||
- curl_multi_wait: call getsock before figuring out timeout
|
||
|
||
.... since getsock may update the expiry timer.
|
||
|
||
Fixes #2996
|
||
Closes #3000
|
||
|
||
- examples/http2-pushinmemory: receive HTTP/2 pushed files in memory
|
||
|
||
Closes #3004
|
||
|
||
Daniel Gustafsson (18 Sep 2018)
|
||
- darwinssl: Fix realloc memleak
|
||
|
||
The reallocation was using the input pointer for the return value, which
|
||
leads to a memory leak on reallication failure. Fix by instead use the
|
||
safe internal API call Curl_saferealloc().
|
||
|
||
Closes #3005
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
Reviewed-by: Nick Zitzmann <nickzman@gmail.com>
|
||
|
||
- [Kruzya brought this change]
|
||
|
||
examples: Fix memory leaks from realloc errors
|
||
|
||
Make sure to not overwrite the reallocated pointer in realloc() calls
|
||
to avoid a memleak on memory errors.
|
||
|
||
- memory: add missing curl_printf header
|
||
|
||
ftp_send_command() was using vsnprintf() without including the libcurl
|
||
*rintf() replacement header. Fix by including curl_printf.h and also
|
||
add curl_memory.h while at it since memdebug.h depends on it.
|
||
|
||
Closes #2999
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (16 Sep 2018)
|
||
- [Si brought this change]
|
||
|
||
curl: update --tlsv* descriptions in --help output
|
||
|
||
Closes #2994
|
||
|
||
- http: made Curl_add_buffer functions take a pointer-pointer
|
||
|
||
... so that they can clear the original pointer on failure, which makes
|
||
the error-paths and their cleanups easier.
|
||
|
||
Closes #2992
|
||
|
||
- http2: fix memory leaks on error-path
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
libtest: Add chkdecimalpoint to .gitignore
|
||
|
||
Closes #2998
|
||
|
||
Viktor Szakats (14 Sep 2018)
|
||
- secure Openwall URLs
|
||
|
||
Daniel Stenberg (14 Sep 2018)
|
||
- openssl: show "proper" version number for libressl builds
|
||
|
||
Closes #2989
|
||
|
||
- [Rainer Jung brought this change]
|
||
|
||
openssl: assume engine support in 0.9.8 or later
|
||
|
||
Fixes #2983
|
||
Closes #2988
|
||
|
||
Daniel Gustafsson (13 Sep 2018)
|
||
- sendf: use failf() rather than Curl_failf()
|
||
|
||
The failf() macro is the name used for invoking Curl_failf(). While
|
||
there isn't a way to turn off failf like there is for infof, but it's
|
||
still a good idea to use the macro.
|
||
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- sendf: Fix whitespace in infof/failf concatenation
|
||
|
||
Strings broken on multiple rows in the .c file need to have appropriate
|
||
whitespace padding on either side of the concatenation point to render
|
||
a correct amalgamated string. Fix by adding a space at the occurrences
|
||
found.
|
||
|
||
Closes #2986
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- krb5: fix memory leak in krb_auth
|
||
|
||
The FTP command allocated by aprintf() must be freed after usage.
|
||
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- ftp: include command in Curl_ftpsend sendbuffer
|
||
|
||
Commit 8238ba9c5f10414a88f502bf3f5d5a42d632984c inadvertently removed
|
||
the actual command to be sent from the send buffer in a refactoring.
|
||
Add back copying the command into the buffer. Also add more guards
|
||
against malformed input while at it.
|
||
|
||
Closes #2985
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
- ntlm_wb: Fix memory leaks in ntlm_wb_response
|
||
|
||
When erroring out on a request being too large, the existing buffer was
|
||
leaked. Fix by explicitly freeing on the way out.
|
||
|
||
Closes #2966
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Daniel Stenberg (13 Sep 2018)
|
||
- [Yiming Jing brought this change]
|
||
|
||
travis: build the MesaLink vtls backend with MesaLink 0.7.1
|
||
|
||
- [Yiming Jing brought this change]
|
||
|
||
runtests.pl: run tests against the MesaLink vtls backend
|
||
|
||
- [Yiming Jing brought this change]
|
||
|
||
vtls: add a MesaLink vtls backend
|
||
|
||
Closes #2984
|
||
|
||
- [Yiming Jing brought this change]
|
||
|
||
configure.ac: add a MesaLink vtls backend
|
||
|
||
- [Dave Reisner brought this change]
|
||
|
||
curl_url_set.3: properly escape \n in example code
|
||
|
||
This yields
|
||
|
||
"the scheme is %s\n"
|
||
|
||
instead of
|
||
|
||
"the scheme is %s0
|
||
|
||
Closes #2970
|
||
|
||
- [Dave Reisner brought this change]
|
||
|
||
curl_url_set.3: fix typo in reference to CURLU_APPENDQUERY
|
||
|
||
- urlglob: improve error message
|
||
|
||
to help user understand what the problem is
|
||
|
||
Reported-by: Daniel Shahaf
|
||
|
||
Fixes #2763
|
||
Closes #2977
|
||
|
||
- [Yiming Jing brought this change]
|
||
|
||
tests/certs: rebuild certs with 2048-bit RSA keys
|
||
|
||
The previous test certificates contained RSA keys of only 1024 bits.
|
||
However, RSA claims that 1024-bit RSA keys are likely to become
|
||
crackable some time before 2010. The NIST recommends at least 2048-bit
|
||
keys for RSA for now.
|
||
|
||
Better use full 2048 also for testing.
|
||
|
||
Closes #2973
|
||
|
||
Daniel Gustafsson (12 Sep 2018)
|
||
- TODO: fix typo in item
|
||
|
||
Closes #2968
|
||
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
||
|
||
Marcel Raad (12 Sep 2018)
|
||
- anyauthput: fix compiler warning on 64-bit Windows
|
||
|
||
On Windows, the read function from <io.h> is used, which has its byte
|
||
count parameter as unsigned int instead of size_t.
|
||
|
||
Closes https://github.com/curl/curl/pull/2972
|
||
|
||
Viktor Szakats (12 Sep 2018)
|
||
- lib: fix gcc8 warning on Windows
|
||
|
||
Closes https://github.com/curl/curl/pull/2979
|
||
|
||
Jay Satiro (12 Sep 2018)
|
||
- openssl: fix gcc8 warning
|
||
|
||
- Use memcpy instead of strncpy to copy a string without termination,
|
||
since gcc8 warns about using strncpy to copy as many bytes from a
|
||
string as its length.
|
||
|
||
Suggested-by: Viktor Szakats
|
||
|
||
Closes https://github.com/curl/curl/issues/2980
|
||
|
||
Daniel Stenberg (10 Sep 2018)
|
||
- libcurl-url.3: overview man page for the URL API
|
||
|
||
Closes #2967
|
||
|
||
- example/asiohiper: insert warning comment about its status
|
||
|
||
This example is simply not working correctly but there's nobody around
|
||
with the skills and energy to fix it.
|
||
|
||
Closes #2407
|
||
|
||
Kamil Dudka (10 Sep 2018)
|
||
- docs/cmdline-opts: update the documentation of --tlsv1.0
|
||
|
||
... to reflect the changes in 6015cefb1b2cfde4b4850121c42405275e5e77d9
|
||
|
||
Closes #2955
|
||
|
||
- docs/examples: do not wait when no transfers are running
|
||
|
||
Closes #2948
|
||
|
||
Daniel Stenberg (10 Sep 2018)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
cookies: Move failure case label to end of function
|
||
|
||
Rather than jumping backwards to where failure cleanup happens
|
||
to be performed, move the failure case to end of the function
|
||
where it is expected per existing coding convention.
|
||
|
||
Closes #2965
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
misc: fix typos in comments
|
||
|
||
Closes #2963
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
cookies: fix leak when writing cookies to file
|
||
|
||
If the formatting fails, we error out on a fatal error and
|
||
clean up on the way out. The array was however freed within
|
||
the wrong scope and was thus never freed in case the cookies
|
||
were written to a file instead of STDOUT.
|
||
|
||
Closes #2957
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
cookies: Remove redundant expired check
|
||
|
||
Expired cookies have already been purged at a later expiration time
|
||
before this check, so remove the redundant check.
|
||
|
||
closes #2962
|
||
|
||
- ntlm_wb: bail out if the response gets overly large
|
||
|
||
Exit the realloc() loop if the response turns out ridiculously large to
|
||
avoid worse problems.
|
||
|
||
Reported-by: Harry Sintonen
|
||
Closes #2959
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
url.c: fix comment typo and indentation
|
||
|
||
Closes #2960
|
||
|
||
- urlapi: avoid derefencing a possible NULL pointer
|
||
|
||
Coverity CID 1439134
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
Marcel Raad (8 Sep 2018)
|
||
- test324: fix after 3f3b26d6feb0667714902e836af608094235fca2
|
||
|
||
The expected error code is now 60. 51 is dead.
|
||
|
||
Daniel Stenberg (8 Sep 2018)
|
||
- curl_url_set.3: correct description
|
||
|
||
- curl_url-docs: fix AVAILABILITY as Added in curl 7.62.0
|
||
|
||
- URL-API
|
||
|
||
See header file and man pages for API. All documented API details work
|
||
and are tested in the 1560 test case.
|
||
|
||
Closes #2842
|
||
|
||
- curl_easy_upkeep: removed 'conn' from the name
|
||
|
||
... including the associated option.
|
||
|
||
Fixes #2951
|
||
Closes #2952
|
||
|
||
- [Max Dymond brought this change]
|
||
|
||
upkeep: add a connection upkeep API: curl_easy_conn_upkeep()
|
||
|
||
Add functionality so that protocols can do custom keepalive on their
|
||
connections, when an external API function is called.
|
||
|
||
Add docs for the new options in 7.62.0
|
||
|
||
Closes #1641
|
||
|
||
- [Philipp Waehnert brought this change]
|
||
|
||
configure: add option to disable automatic OpenSSL config loading
|
||
|
||
Sometimes it may be considered a security risk to load an external
|
||
OpenSSL configuration automatically inside curl_global_init(). The
|
||
configuration option --disable-ssl-auto-load-config disables this
|
||
automatism. The Windows build scripts winbuild/Makefile.vs provide a
|
||
corresponding option ENABLE_SSL_AUTO_LOAD_CONFIG accepting a boolean
|
||
value.
|
||
|
||
Setting neither of these options corresponds to the previous behavior
|
||
loading the external OpenSSL configuration automatically.
|
||
|
||
Fixes #2724
|
||
Closes #2791
|
||
|
||
- doh: minor edits to please Coverity
|
||
|
||
The gcc typecheck macros and coverity combined made it warn on the 2nd
|
||
argument for ERROR_CHECK_SETOPT(). Here's minor rearrange to please it.
|
||
|
||
Coverity CID 1439115 and CID 1439114.
|
||
|
||
- schannel: avoid switch-cases that go to default anyway
|
||
|
||
SEC_E_APPLICATION_PROTOCOL_MISMATCH isn't defined in some versions of
|
||
mingw and would require an ifdef otherwise.
|
||
|
||
Reported-by: Thomas Glanzmann
|
||
Approved-by: Marc Hörsken
|
||
Bug: https://curl.haxx.se/mail/lib-2018-09/0020.html
|
||
Closes #2950
|
||
|
||
- [Nicklas Avén brought this change]
|
||
|
||
imap: change from "FETCH" to "UID FETCH"
|
||
|
||
... and add "MAILINDEX".
|
||
|
||
As described in #2789, this is a suggested solution. Changing UID=xx to
|
||
actually get mail with UID xx and add "MAILINDEX" to get a mail with a
|
||
special index in the mail box (old behavior). So MAILINDEX=1 gives the
|
||
first non deleted mail in the mail box.
|
||
|
||
Fixes #2789
|
||
Closes #2815
|
||
|
||
- CURLOPT_UPLOAD_BUFFERSIZE: set upload buffer size
|
||
|
||
This is step 3 of #2888.
|
||
|
||
Fixes #2888
|
||
Closes #2896
|
||
|
||
- travis: add the DOH tests to the torture testing
|
||
|
||
- DOH: add test case 1650 and 2100
|
||
|
||
- curl: --doh-url added
|
||
|
||
- setopt: add CURLOPT_DOH_URL
|
||
|
||
Closes #2668
|
||
|
||
- [Han Han brought this change]
|
||
|
||
ssl: deprecate CURLE_SSL_CACERT in favour of a unified error code
|
||
|
||
Long live CURLE_PEER_FAILED_VERIFICATION
|
||
|
||
- [Han Han brought this change]
|
||
|
||
x509asn1: return CURLE_PEER_FAILED_VERIFICATION on failure to parse cert
|
||
|
||
CURLE_PEER_FAILED_VERIFICATION makes more sense because Curl_parseX509
|
||
does not allocate memory internally as its first argument is a pointer
|
||
to the certificate structure. The same error code is also returned by
|
||
Curl_verifyhost when its call to Curl_parseX509 fails so the change
|
||
makes error handling more consistent.
|
||
|
||
- [Han Han brought this change]
|
||
|
||
openssl: return CURLE_PEER_FAILED_VERIFICATION on failure to parse issuer
|
||
|
||
Failure to extract the issuer name from the server certificate should
|
||
return a more specific error code like on other TLS backends.
|
||
|
||
- [Han Han brought this change]
|
||
|
||
schannel: unified error code handling
|
||
|
||
Closes #2901
|
||
|
||
- [Han Han brought this change]
|
||
|
||
darwinssl: more specific and unified error codes
|
||
|
||
Closes #2901
|
||
|
||
- CURLOPT_DNS_USE_GLOBAL_CACHE: deprecated
|
||
|
||
Disable the CURLOPT_DNS_USE_GLOBAL_CACHE option and mark it for
|
||
deprecation and complete removal in six months.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-09/0010.html
|
||
Closes #2942
|
||
|
||
- url: default to CURL_HTTP_VERSION_2TLS if built h2-enabled
|
||
|
||
Closes #2709
|
||
|
||
- multiplex: enable by default
|
||
|
||
Starting 7.62.0, multiplexing is enabled by default in multi handles.
|
||
|
||
- [Jim Fuller brought this change]
|
||
|
||
tests: add unit tests for url.c
|
||
|
||
Approved-by: Daniel Gustafsson
|
||
Closes #2937
|
||
|
||
- test1452: mark as flaky
|
||
|
||
makes it not run in the CI builds
|
||
|
||
Closes #2941
|
||
|
||
- pipelining: deprecated
|
||
|
||
Transparently. The related curl_multi_setopt() options all still returns
|
||
OK when pipelining is selected.
|
||
|
||
To re-enable the support, the single line change in lib/multi.c needs to
|
||
be reverted.
|
||
|
||
See docs/DEPRECATE.md
|
||
|
||
Closes #2705
|
||
|
||
- RELEASE-NOTES: start working on 7.62.0
|
||
|
||
Version 7.61.1 (4 Sep 2018)
|
||
|
||
Daniel Stenberg (4 Sep 2018)
|
||
- THANKS: 7.61.1 status
|
||
|
||
- RELEASE-NOTES: 7.61.1
|
||
|
||
- Curl_getoff_all_pipelines: ignore unused return values
|
||
|
||
Since scan-build would warn on the dead "Dead store/Dead increment"
|
||
|
||
Viktor Szakats (4 Sep 2018)
|
||
- sftp: fix indentation
|
||
|
||
Daniel Stenberg (4 Sep 2018)
|
||
- [Przemysław Tomaszewski brought this change]
|
||
|
||
sftp: don't send post-qoute sequence when retrying a connection
|
||
|
||
Fixes #2939
|
||
Closes #2940
|
||
|
||
Kamil Dudka (3 Sep 2018)
|
||
- url, vtls: make CURLOPT{,_PROXY}_TLS13_CIPHERS work
|
||
|
||
This is a follow-up to PR #2607 and PR #2926.
|
||
|
||
Closes #2936
|
||
|
||
Daniel Stenberg (3 Sep 2018)
|
||
- [Jay Satiro brought this change]
|
||
|
||
tool_operate: Add http code 408 to transient list for --retry
|
||
|
||
- Treat 408 request timeout as transient so that curl will retry the
|
||
request if --retry was used.
|
||
|
||
Closes #2925
|
||
|
||
- [Jay Satiro brought this change]
|
||
|
||
openssl: Fix setting TLS 1.3 cipher suites
|
||
|
||
The flag indicating TLS 1.3 cipher support in the OpenSSL backend was
|
||
missing.
|
||
|
||
Bug: https://github.com/curl/curl/pull/2607#issuecomment-417283187
|
||
Reported-by: Kamil Dudka
|
||
|
||
Closes #2926
|
||
|
||
- Curl_ntlm_core_mk_nt_hash: return error on too long password
|
||
|
||
... since it would cause an integer overflow if longer than (max size_t
|
||
/ 2).
|
||
|
||
This is CVE-2018-14618
|
||
|
||
Bug: https://curl.haxx.se/docs/CVE-2018-14618.html
|
||
Closes #2756
|
||
Reported-by: Zhaoyang Wu
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
http2: Use correct format identifier for stream_id
|
||
|
||
Closes #2928
|
||
|
||
Marcel Raad (2 Sep 2018)
|
||
- test1148: fix precheck output
|
||
|
||
"precheck command error" is not very helpful.
|
||
|
||
Daniel Stenberg (1 Sep 2018)
|
||
- all: s/int/size_t cleanup
|
||
|
||
Assisted-by: Rikard Falkeborn
|
||
|
||
Closes #2922
|
||
|
||
- ssh-libssh: use FALLTHROUGH to silence gcc8
|
||
|
||
Jay Satiro (31 Aug 2018)
|
||
- tool_operate: Fix setting proxy TLS 1.3 ciphers
|
||
|
||
Daniel Stenberg (31 Aug 2018)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
cookies: support creation-time attribute for cookies
|
||
|
||
According to RFC6265 section 5.4, cookies with equal path lengths
|
||
SHOULD be sorted by creation-time (earlier first). This adds a
|
||
creation-time record to the cookie struct in order to make cookie
|
||
sorting more deterministic. The creation-time is defined as the
|
||
order of the cookies in the jar, the first cookie read fro the
|
||
jar being the oldest. The creation-time is thus not serialized
|
||
into the jar. Also remove the strcmp() matching in the sorting as
|
||
there is no lexicographic ordering in RFC6265. Existing tests are
|
||
updated to match.
|
||
|
||
Closes #2524
|
||
|
||
Marcel Raad (31 Aug 2018)
|
||
- Don't use Windows path %PWD for SSH tests
|
||
|
||
All these tests failed on Windows because something like
|
||
sftp://%HOSTIP:%SSHPORT%PWD/
|
||
expanded to
|
||
sftp://127.0.0.1:1234c:/msys64/home/bla/curl
|
||
and then curl complained about the port number ending with a letter.
|
||
|
||
Use the original POSIX path instead of the Windows path created in
|
||
checksystem to fix this.
|
||
|
||
Closes https://github.com/curl/curl/pull/2920
|
||
|
||
Jay Satiro (29 Aug 2018)
|
||
- CURLOPT_SSL_CTX_FUNCTION.3: clarify connection reuse warning
|
||
|
||
Reported-by: Daniel Stenberg
|
||
|
||
Closes https://github.com/curl/curl/issues/2916
|
||
|
||
Daniel Stenberg (28 Aug 2018)
|
||
- THANKS-filter: dedup Daniel Jeliński
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- CURLOPT_ACCEPT_ENCODING.3: list them comma-separated [ci skip]
|
||
|
||
- CURLOPT_SSL_CTX_FUNCTION.3: might cause unintended connection reuse [ci skip]
|
||
|
||
Added a warning!
|
||
|
||
Closes #2915
|
||
|
||
- curl: fix time-of-check, time-of-use race in dir creation
|
||
|
||
Patch-by: Jay Satiro
|
||
Detected by Coverity
|
||
Fixes #2739
|
||
Closes #2912
|
||
|
||
- cmdline-opts/page-footer: fix edit mistake
|
||
|
||
There was a missing newline.
|
||
|
||
follow-up to a7ba60bb7250
|
||
|
||
- docs: clarify NO_PROXY env variable functionality
|
||
|
||
Reported-by: Kirill Marchuk
|
||
Fixes #2773
|
||
Closes #2911
|
||
|
||
Marcel Raad (24 Aug 2018)
|
||
- lib1522: fix curl_easy_setopt argument type
|
||
|
||
CURLOPT_POSTFIELDSIZE is a long option.
|
||
|
||
- curl_threads: silence bad-function-cast warning
|
||
|
||
As uintptr_t and HANDLE are always the same size, this warning is
|
||
harmless. Just silence it using an intermediate uintptr_t variable.
|
||
|
||
Closes https://github.com/curl/curl/pull/2908
|
||
|
||
Daniel Stenberg (24 Aug 2018)
|
||
- README: add appveyor build badge [ci skip]
|
||
|
||
Closes #2913
|
||
|
||
- [Ihor Karpenko brought this change]
|
||
|
||
schannel: client certificate store opening fix
|
||
|
||
1) Using CERT_STORE_OPEN_EXISTING_FLAG ( or CERT_STORE_READONLY_FLAG )
|
||
while opening certificate store would be sufficient in this scenario and
|
||
less-demanding in sense of required user credentials ( for example,
|
||
IIS_IUSRS will get "Access Denied" 0x05 error for existing CertOpenStore
|
||
call without any of flags mentioned above ),
|
||
|
||
2) as 'cert_store_name' is a DWORD, attempt to format its value like a
|
||
string ( in "Failed to open cert store" error message ) will throw null
|
||
pointer exception
|
||
|
||
3) adding GetLastError(), in my opinion, will make error message more
|
||
useful.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-08/0198.html
|
||
|
||
Closes #2909
|
||
|
||
- [Leonardo Taccari brought this change]
|
||
|
||
gopher: Do not translate `?' to `%09'
|
||
|
||
Since GOPHER support was added in curl `?' character was automatically
|
||
translated to `%09' (`\t').
|
||
|
||
However, this behaviour does not seems documented in RFC 4266 and for
|
||
search selectors it is documented to directly use `%09' in the URL.
|
||
Apart that several gopher servers in the current gopherspace have CGI
|
||
support where `?' is used as part of the selector and translating it to
|
||
`%09' often leads to surprising results.
|
||
|
||
Closes #2910
|
||
|
||
Marcel Raad (23 Aug 2018)
|
||
- cookie tests: treat files as text
|
||
|
||
Fixes test failures because of wrong line endings on Windows.
|
||
|
||
Daniel Stenberg (23 Aug 2018)
|
||
- libcurl-thread.3: expand somewhat on the NO_SIGNAL motivation
|
||
|
||
Multi-threaded applictions basically MUST set CURLOPT_NO_SIGNAL to 1L to
|
||
avoid the risk of getting a SIGPIPE.
|
||
|
||
Either way, a multi-threaded application that uses libcurl/openssl needs
|
||
to have a signhandler for or ignore SIGPIPE on its own.
|
||
|
||
Based on discussions in #2800
|
||
Closes #2904
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
Marcel Raad (22 Aug 2018)
|
||
- Tests: fixes for Windows
|
||
|
||
- test 1268 requires unix sockets
|
||
- test 2072 must be disabled also for MSYS/MinGW
|
||
|
||
Daniel Stenberg (22 Aug 2018)
|
||
- http2: abort the send_callback if not setup yet
|
||
|
||
When Curl_http2_done() gets called before the http2 data is setup all
|
||
the way, we cannot send anything and this should just return an error.
|
||
|
||
Detected by OSS-Fuzz
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10012
|
||
|
||
- http2: remove four unused nghttp2 callbacks
|
||
|
||
Closes #2903
|
||
|
||
- x509asn1: use FALLTHROUGH
|
||
|
||
... as no other comments are accepted since 014ed7c22f51463
|
||
|
||
Marcel Raad (21 Aug 2018)
|
||
- test1148: disable if decimal separator is not point
|
||
|
||
Modifying the locale with environment variables doesn't work for native
|
||
Windows applications. Just disable the test in this case if the decimal
|
||
separator is something different than a point. Use a precheck with a
|
||
small C program to achieve that.
|
||
|
||
Closes https://github.com/curl/curl/pull/2786
|
||
|
||
- Enable more GCC warnings
|
||
|
||
This enables the following additional warnings:
|
||
-Wold-style-definition
|
||
-Warray-bounds=2 instead of the default 1
|
||
-Wformat=2, but only for GCC 4.8+ as Wno-format-nonliteral is not
|
||
respected for older versions
|
||
-Wunused-const-variable, which enables level 2 instead of the default 1
|
||
-Warray-bounds also in debug mode through -ftree-vrp
|
||
-Wnull-dereference also in debug mode through
|
||
-fdelete-null-pointer-checks
|
||
|
||
Closes https://github.com/curl/curl/pull/2747
|
||
|
||
- curl-compilers: enable -Wimplicit-fallthrough=4 for GCC
|
||
|
||
This enables level 4 instead of the default level 3, which of the
|
||
currently used comments only allows /* FALLTHROUGH */ to silence the
|
||
warning.
|
||
|
||
Closes https://github.com/curl/curl/pull/2747
|
||
|
||
- curl-compilers: enable -Wbad-function-cast on GCC
|
||
|
||
This warning used to be enabled only for clang as it's a bit stricter
|
||
on GCC. Silence the remaining occurrences and enable it on GCC too.
|
||
|
||
Closes https://github.com/curl/curl/pull/2747
|
||
|
||
- configure: conditionally enable pedantic-errors
|
||
|
||
Enable pedantic-errors for GCC >= 5 with --enable-werror. Before GCC 5,
|
||
pedantic-errors was synonymous to -Werror=pedantic [0], which is still
|
||
the case for clang [1]. With GCC 5, it became complementary [2].
|
||
|
||
Also fix a resulting error in acinclude.m4 as main's return type was
|
||
missing, which is illegal in C99.
|
||
|
||
[0] https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/Warning-Options.html
|
||
[1] https://clang.llvm.org/docs/UsersManual.html#options-to-control-error-and-warning-messages
|
||
[2] https://gcc.gnu.org/onlinedocs/gcc-5.1.0/gcc/Warning-Options.html
|
||
|
||
Closes https://github.com/curl/curl/pull/2747
|
||
|
||
- Remove unused definitions
|
||
|
||
Closes https://github.com/curl/curl/pull/2747
|
||
|
||
Daniel Stenberg (21 Aug 2018)
|
||
- x509asn1: make several functions static
|
||
|
||
and remove the private SIZE_T_MAX define and use the generic one.
|
||
|
||
Closes #2902
|
||
|
||
- INTERNALS: require GnuTLS >= 2.11.3
|
||
|
||
Since the public pinning support was brought in e644866caf4. GnuTLS
|
||
2.11.3 was released in October 2010.
|
||
|
||
Figured out in #2890
|
||
|
||
- http2: avoid set_stream_user_data() before stream is assigned
|
||
|
||
... before the stream is started, we have it set to -1.
|
||
|
||
Fixes #2894
|
||
Closes #2898
|
||
|
||
- SSLCERTS: improve the openssl command line
|
||
|
||
... for extracting certs from a live HTTPS server to make a cacerts.pem
|
||
from them.
|
||
|
||
- docs/SECURITY-PROCESS: now we name the files after the CVE id
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- upload: change default UPLOAD_BUFSIZE to 64KB
|
||
|
||
To make uploads significantly faster in some circumstances.
|
||
|
||
Part 2 of #2888
|
||
Closes #2892
|
||
|
||
- upload: allocate upload buffer on-demand
|
||
|
||
Saves 16KB on the easy handle for operations that don't need that
|
||
buffer.
|
||
|
||
Part 1 of #2888
|
||
|
||
- [Laurent Bonnans brought this change]
|
||
|
||
vtls: reinstantiate engine on duplicated handles
|
||
|
||
Handles created with curl_easy_duphandle do not use the SSL engine set
|
||
up in the original handle. This fixes the issue by storing the engine
|
||
name in the internal url state and setting the engine from its name
|
||
inside curl_easy_duphandle.
|
||
|
||
Reported-by: Anton Gerasimov
|
||
Signed-of-by: Laurent Bonnans
|
||
Fixes #2829
|
||
Closes #2833
|
||
|
||
- http2: make sure to send after RST_STREAM
|
||
|
||
If this is the last stream on this connection, the RST_STREAM might not
|
||
get pushed to the wire otherwise.
|
||
|
||
Fixes #2882
|
||
Closes #2887
|
||
Researched-by: Michael Kaufmann
|
||
|
||
- test1268: check the stderr output as "text"
|
||
|
||
Follow-up to 099f37e9c57
|
||
|
||
Pointed-out-by: Marcel Raad
|
||
|
||
- urldata: remove unused pipe_broke struct field
|
||
|
||
This struct field is never set TRUE in any existing code path. This
|
||
change removes the field completely.
|
||
|
||
Closes #2871
|
||
|
||
- curl: warn the user if a given file name looks like an option
|
||
|
||
... simply because this is usually a sign of the user having omitted the
|
||
file name and the next option is instead "eaten" by the parser as a file
|
||
name.
|
||
|
||
Add test1268 to verify
|
||
|
||
Closes #2885
|
||
|
||
- http2: check nghttp2_session_set_stream_user_data return code
|
||
|
||
Might help bug #2688 debugging
|
||
|
||
Closes #2880
|
||
|
||
- travis: revert back to gcc-7 for coverage builds
|
||
|
||
... since the gcc-8 ones seem to fail frequently.
|
||
|
||
Follow-up from b85207199544ca
|
||
|
||
Closes #2886
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
... and now listed in alphabetical order!
|
||
|
||
- [Adrien brought this change]
|
||
|
||
CMake: CMake config files are defining CURL_STATICLIB for static builds
|
||
|
||
This change allows to use the CMake config files generated by Curl's
|
||
CMake scripts for static builds of the library.
|
||
The symbol CURL_STATIC lib must be defined to compile downstream,
|
||
thus the config package is the perfect place to do so.
|
||
|
||
Fixes #2817
|
||
Closes #2823
|
||
Reported-by: adnn on github
|
||
Reviewed-by: Sergei Nikulov
|
||
|
||
- TODO: host name sections in config files
|
||
|
||
Kamil Dudka (14 Aug 2018)
|
||
- ssh-libssh: fix infinite connect loop on invalid private key
|
||
|
||
Added test 656 (based on test 604) to verify the fix.
|
||
|
||
Bug: https://bugzilla.redhat.com/1595135
|
||
|
||
Closes #2879
|
||
|
||
- ssh-libssh: reduce excessive verbose output about pubkey auth
|
||
|
||
The verbose message "Authentication using SSH public key file" was
|
||
printed each time the ssh_userauth_publickey_auto() was called, which
|
||
meant each time a packet was transferred over network because the API
|
||
operates in non-blocking mode.
|
||
|
||
This patch makes sure that the verbose message is printed just once
|
||
(when the authentication state is entered by the SSH state machine).
|
||
|
||
Daniel Stenberg (14 Aug 2018)
|
||
- travis: disable h2 torture tests for "coverage"
|
||
|
||
Since they started to fail almost 100% since a few days.
|
||
|
||
Closes #2876
|
||
|
||
Marcel Raad (14 Aug 2018)
|
||
- travis: update to GCC 8
|
||
|
||
Closes https://github.com/curl/curl/pull/2869
|
||
|
||
Daniel Stenberg (13 Aug 2018)
|
||
- http: fix for tiny "HTTP/0.9" response
|
||
|
||
Deal with tiny "HTTP/0.9" (header-less) responses by checking the
|
||
status-line early, even before a full "HTTP/" is received to allow
|
||
detecting 0.9 properly.
|
||
|
||
Test 1266 and 1267 added to verify.
|
||
|
||
Fixes #2420
|
||
Closes #2872
|
||
|
||
Kamil Dudka (13 Aug 2018)
|
||
- docs: add disallow-username-in-url.d and haproxy-protocol.d on the list
|
||
|
||
... to make make the files appear in distribution tarballs
|
||
|
||
Closes #2856
|
||
|
||
- .travis.yml: verify that man pages can be regenerated
|
||
|
||
... when curl is built from distribution tarball
|
||
|
||
Closes #2856
|
||
|
||
Marcel Raad (11 Aug 2018)
|
||
- Split non-portable part off test 1133
|
||
|
||
Split off testing file names with double quotes into new test 1158.
|
||
Disable it for MSYS using a precheck as it doesn't support file names
|
||
with double quotes (but Cygwin does, for example).
|
||
|
||
Fixes https://github.com/curl/curl/issues/2796
|
||
Closes https://github.com/curl/curl/pull/2854
|
||
|
||
Jay Satiro (11 Aug 2018)
|
||
- projects: Improve Windows perl detection in batch scripts
|
||
|
||
- Determine if perl is in the user's PATH by running perl.exe.
|
||
|
||
Prior to this change detection was done by checking the PATH for perl/
|
||
but that did not work in all cases (eg git install includes perl but
|
||
not in perl/ path).
|
||
|
||
Bug: https://github.com/curl/curl/pull/2865
|
||
Reported-by: Daniel Jeliński
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
docs: Improve the manual pages of some callbacks
|
||
|
||
- CURLOPT_HEADERFUNCTION: add newlines
|
||
- CURLOPT_INTERLEAVEFUNCTION: fix the description of 'userdata'
|
||
- CURLOPT_READDATA: mention crashes, same as in CURLOPT_WRITEDATA
|
||
- CURLOPT_READFUNCTION: rename 'instream' to 'userdata' and explain
|
||
how to set it
|
||
|
||
Closes https://github.com/curl/curl/pull/2868
|
||
|
||
Marcel Raad (11 Aug 2018)
|
||
- GCC: silence -Wcast-function-type uniformly
|
||
|
||
Pointed-out-by: Rikard Falkeborn
|
||
Closes https://github.com/curl/curl/pull/2860
|
||
|
||
- Silence GCC 8 cast-function-type warnings
|
||
|
||
On Windows, casting between unrelated function types is fine and
|
||
sometimes even necessary, so just use an intermediate cast to
|
||
(void (*) (void)) to silence the warning as described in [0].
|
||
|
||
[0] https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html
|
||
|
||
Closes https://github.com/curl/curl/pull/2860
|
||
|
||
Daniel Stenberg (11 Aug 2018)
|
||
- CURLINFO_SIZE_UPLOAD: fix missing counter update
|
||
|
||
Adds test 1522 for verification.
|
||
|
||
Reported-by: cjmsoregan
|
||
Fixes #2847
|
||
Closes #2864
|
||
|
||
- [Daniel Jelinski brought this change]
|
||
|
||
Documentation: fix CURLOPT_SSH_COMPRESSION copy/paste bug
|
||
|
||
Closes #2867
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- openssl: fix potential NULL pointer deref in is_pkcs11_uri
|
||
|
||
Follow-up to 298d2565e
|
||
Coverity CID 1438387
|
||
|
||
Marcel Raad (10 Aug 2018)
|
||
- travis: execute "set -eo pipefail" for coverage build
|
||
|
||
Follow-up to 2de63ab179eb78630ee039ad94fb2a5423df522d and
|
||
0b87c963252d3504552ee0c8cf4402bd65a80af5.
|
||
|
||
Closes https://github.com/curl/curl/pull/2862
|
||
|
||
Daniel Stenberg (10 Aug 2018)
|
||
- lib1502: fix memory leak in torture test
|
||
|
||
Reported-by: Marcel Raad
|
||
Fixes #2861
|
||
Closes #2863
|
||
|
||
- docs: mention NULL is fine input to several functions
|
||
|
||
Fixes #2837
|
||
Closes #2858
|
||
Reported-by: Markus Elfring
|
||
|
||
- [Bas van Schaik brought this change]
|
||
|
||
README.md: add LGTM.com code quality grade for C/C++
|
||
|
||
Closes #2857
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
test1531: Add timeout
|
||
|
||
Previously, the macro TEST_HANG_TIMEOUT was unused, but since there is
|
||
looping going on, we might as well add timing instead of removing it.
|
||
|
||
Closes #2853
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
test1540: Remove unused macro TEST_HANG_TIMEOUT
|
||
|
||
The macro has never been used, and it there is not really any place
|
||
where it would make sense to add timing checks.
|
||
|
||
Closes #2852
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
asyn-thread: Remove unused macro
|
||
|
||
The macro seems to never have been used.
|
||
|
||
Closes #2852
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
http_proxy: Remove unused macro SELECT_TIMEOUT
|
||
|
||
Usage was removed in 5113ad0424044458ac497fa1458ebe0101356b22.
|
||
|
||
Closes #2852
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
formdata: Remove unused macro HTTPPOST_CONTENTTYPE_DEFAULT
|
||
|
||
Its usage was removed in
|
||
84ad1fd3047815f9c6e78728bb351b828eac10b1.
|
||
|
||
Closes #2852
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
telnet: Remove unused macros TELOPTS and TELCMDS
|
||
|
||
Their usage was removed in 3a145180cc754a5959ca971ef3cd243c5c83fc51.
|
||
|
||
Closes #2852
|
||
|
||
- [Daniel Jelinski brought this change]
|
||
|
||
openssl: fix debug messages
|
||
|
||
Fixes #2806
|
||
Closes #2843
|
||
|
||
- configure: fix for -lpthread detection with OpenSSL and pkg-config
|
||
|
||
... by making sure it uses the -I provided by pkg-config!
|
||
|
||
Reported-by: pszemus on github
|
||
Fixes #2848
|
||
Closes #2850
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- windows: follow up to the buffer-tuning 1ba1dba7
|
||
|
||
Somehow I didn't include the amended version of the previous fix. This
|
||
is the missing piece.
|
||
|
||
Pointed-out-by: Viktor Szakats
|
||
|
||
- [Daniel Jelinski brought this change]
|
||
|
||
windows: implement send buffer tuning
|
||
|
||
Significantly enhances upload performance on modern Windows versions.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-07/0080.html
|
||
Closes #2762
|
||
Fixes #2224
|
||
|
||
- [Anderson Toshiyuki Sasaki brought this change]
|
||
|
||
ssl: set engine implicitly when a PKCS#11 URI is provided
|
||
|
||
This allows the use of PKCS#11 URI for certificates and keys without
|
||
setting the corresponding type as "ENG" and the engine as "pkcs11"
|
||
explicitly. If a PKCS#11 URI is provided for certificate, key,
|
||
proxy_certificate or proxy_key, the corresponding type is set as "ENG"
|
||
if not provided and the engine is set to "pkcs11" if not provided.
|
||
|
||
Acked-by: Nikos Mavrogiannopoulos
|
||
Closes #2333
|
||
|
||
- [Ruslan Baratov brought this change]
|
||
|
||
CMake: Respect BUILD_SHARED_LIBS
|
||
|
||
Use standard CMake variable BUILD_SHARED_LIBS instead of introducing
|
||
custom option CURL_STATICLIB.
|
||
|
||
Use '-DBUILD_SHARED_LIBS=%SHARED%' in appveyor.yml.
|
||
|
||
Reviewed-by: Sergei Nikulov
|
||
Closes #2755
|
||
|
||
- [John Butterfield brought this change]
|
||
|
||
cmake: bumped minimum version to 3.4
|
||
|
||
Closes #2753
|
||
|
||
- [John Butterfield brought this change]
|
||
|
||
cmake: link curl to the OpenSSL targets instead of lib absolute paths
|
||
|
||
Reviewed-by: Jakub Zakrzewski
|
||
Reviewed-by: Sergei Nikulov
|
||
Closes #2753
|
||
|
||
- travis: build darwinssl on macos 10.12
|
||
|
||
... as building on 10.13.x before 10.13.4 leads to link errors.
|
||
|
||
Assisted-by: Nick Zitzmann
|
||
Fixes #2835
|
||
Closes #2845
|
||
|
||
- DEPRECATE: remove release date from 7.62.0
|
||
|
||
Since it will slip and the version is the important part there, not the
|
||
date.
|
||
|
||
- lib/Makefile: only do symbol hiding if told to
|
||
|
||
This restores the ability to build a static lib with
|
||
--disable-symbol-hiding to keep non-curl_ symbols.
|
||
|
||
Researched-by: Dan Fandrich
|
||
Reported-by: Ran Mozes
|
||
Fixes #2830
|
||
Closes #2831
|
||
|
||
Marcel Raad (2 Aug 2018)
|
||
- hostip: fix unused variable warning
|
||
|
||
addresses is only used in an infof call, which is a macro expanding to
|
||
nothing if CURL_DISABLE_VERBOSE_STRINGS is set.
|
||
|
||
Daniel Stenberg (2 Aug 2018)
|
||
- test1307: disabled
|
||
|
||
Turns out that since we're using the native fnmatch function now when
|
||
available, and they simply disagree on a huge number of test patterns
|
||
that make it hard to test this function like this...
|
||
|
||
Fixes #2825
|
||
|
||
- smb: don't mark it done in smb_do
|
||
|
||
Follow-up to 09e401e01bf9. The SMB protocol handler needs to use its
|
||
doing function too, which requires smb_do() to not mark itself as
|
||
done...
|
||
|
||
Closes #2822
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
general: fix printf specifiers
|
||
|
||
Closes #2818
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- mailmap: Daniel Jelinski
|
||
|
||
- [Harry Sintonen brought this change]
|
||
|
||
HTTP: Don't attempt to needlessly decompress redirect body
|
||
|
||
This change fixes a regression where redirect body would needlessly be
|
||
decompressed even though it was to be ignored anyway. As it happens this
|
||
causes secondary issues since there appears to be a bug in apache2 that
|
||
it in certain conditions generates a corrupt zlib response. The
|
||
regression was created by commit:
|
||
dbcced8e32b50c068ac297106f0502ee200a1ebd
|
||
|
||
Discovered-by: Harry Sintonen
|
||
Closes #2798
|
||
|
||
- curl: use Content-Disposition before the "URL end" for -OJ
|
||
|
||
Regression introduced in 7.61.0
|
||
|
||
Reported-by: Thomas Klausner
|
||
Fixes #2783
|
||
Closes #2813
|
||
|
||
- [Daniel Jelinski brought this change]
|
||
|
||
retry: return error if rewind was necessary but didn't happen
|
||
|
||
Fixes #2801
|
||
Closes #2812
|
||
|
||
- http2: clear the drain counter in Curl_http2_done
|
||
|
||
Reported-by: Andrei Virtosu
|
||
Fixes #2800
|
||
Closes #2809
|
||
|
||
- smb: fix memory leak on early failure
|
||
|
||
... by making sure connection related data (->share) is stored in the
|
||
connection and not in the easy handle.
|
||
|
||
Detected by OSS-fuzz
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9369
|
||
Fixes #2769
|
||
Closes #2810
|
||
|
||
- travis: run a 'make checksrc' too
|
||
|
||
... to make sure the examples are all checked.
|
||
|
||
Closes #2811
|
||
|
||
Jay Satiro (29 Jul 2018)
|
||
- examples/ephiperfifo: checksrc compliance
|
||
|
||
- [Michael Kaufmann brought this change]
|
||
|
||
sws: handle EINTR when calling select()
|
||
|
||
Closes https://github.com/curl/curl/pull/2808
|
||
|
||
Daniel Stenberg (29 Jul 2018)
|
||
- test1157: follow-up to 35ecffb9
|
||
|
||
Ignore the user-agent line.
|
||
Pointed-out-by: Marcel Raad
|
||
|
||
Michael Kaufmann (29 Jul 2018)
|
||
- tests/http_pipe.py: Use /usr/bin/env to find python
|
||
|
||
Daniel Stenberg (28 Jul 2018)
|
||
- TODO: Support Authority Information Access certificate extension (AIA)
|
||
|
||
Closes #2793
|
||
|
||
- conn_free: updated comment to clarify
|
||
|
||
Let's call it disassociate instead of disconnect since the latter term
|
||
is used so much for (TCP) connections already.
|
||
|
||
- test1157: test -H from empty file
|
||
|
||
Verifies bugfix #2797
|
||
|
||
- [Tobias Blomberg brought this change]
|
||
|
||
curl: Fix segfault when -H @headerfile is empty
|
||
|
||
The curl binary would crash if the -H command line option was given a
|
||
filename to read using the @filename syntax but that file was empty.
|
||
|
||
Closes #2797
|
||
|
||
- mime: check Curl_rand_hex's return code
|
||
|
||
Bug: https://curl.haxx.se/mail/archive-2018-07/0015.html
|
||
Reported-by: Jeffrey Walton
|
||
Closes #2795
|
||
|
||
- [Josh Bialkowski brought this change]
|
||
|
||
docs/examples: add hiperfifo example using linux epoll/timerfd
|
||
|
||
Closes #2804
|
||
|
||
- [Darío Hereñú brought this change]
|
||
|
||
docs/INSTALL.md: minor formatting fixes
|
||
|
||
Closes #2794
|
||
|
||
- [Christopher Head brought this change]
|
||
|
||
docs/CURLOPT_URL: fix indentation
|
||
|
||
The statement, “The application does not have to keep the string around
|
||
after setting this option,” appears to be indented under the RTMP
|
||
paragraph. It actually applies to all protocols, not just RTMP.
|
||
Eliminate the extra indentation.
|
||
|
||
Closes #2788
|
||
|
||
- [Christopher Head brought this change]
|
||
|
||
docs/CURLOPT_WRITEFUNCTION: size is always 1
|
||
|
||
For compatibility with `fwrite`, the `CURLOPT_WRITEFUNCTION` callback is
|
||
passed two `size_t` parameters which, when multiplied, designate the
|
||
number of bytes of data passed in. In practice, CURL always sets the
|
||
first parameter (`size`) to 1.
|
||
|
||
This practice is also enshrined in documentation and cannot be changed
|
||
in future. The documentation states that the default callback is
|
||
`fwrite`, which means `fwrite` must be a suitable function for this
|
||
purpose. However, the documentation also states that the callback must
|
||
return the number of *bytes* it successfully handled, whereas ISO C
|
||
`fwrite` returns the number of items (each of size `size`) which it
|
||
wrote. The only way these numbers can be equal is if `size` is 1.
|
||
|
||
Since `size` is 1 and can never be changed in future anyway, document
|
||
that fact explicitly and let users rely on it.
|
||
|
||
Closes #2787
|
||
|
||
- [Carie Pointer brought this change]
|
||
|
||
wolfSSL/CyaSSL: Fix memory leak in Curl_cyassl_random
|
||
|
||
RNG structure must be freed by call to FreeRng after its use in
|
||
Curl_cyassl_random. This call fixes Valgrind failures when running the
|
||
test suite with wolfSSL.
|
||
|
||
Closes #2784
|
||
|
||
- [Even Rouault brought this change]
|
||
|
||
reuse_conn(): free old_conn->options
|
||
|
||
This fixes a memory leak when CURLOPT_LOGIN_OPTIONS is used, together with
|
||
connection reuse.
|
||
|
||
I found this with oss-fuzz on GDAL and curl master:
|
||
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9582
|
||
I couldn't reproduce with the oss-fuzz original test case, but looking
|
||
at curl source code pointed to this well reproducable leak.
|
||
|
||
Closes #2790
|
||
|
||
Marcel Raad (25 Jul 2018)
|
||
- [Daniel Jelinski brought this change]
|
||
|
||
system_win32: fix version checking
|
||
|
||
In the current version, VERSION_GREATER_THAN_EQUAL 6.3 will return false
|
||
when run on windows 10.0. This patch addresses that error.
|
||
|
||
Closes https://github.com/curl/curl/pull/2792
|
||
|
||
Daniel Stenberg (24 Jul 2018)
|
||
- [Johannes Schindelin brought this change]
|
||
|
||
auth: pick Bearer authentication whenever a token is available
|
||
|
||
So far, the code tries to pick an authentication method only if
|
||
user/password credentials are available, which is not the case for
|
||
Bearer authentictation...
|
||
|
||
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
||
Closes #2754
|
||
|
||
- [Johannes Schindelin brought this change]
|
||
|
||
auth: only ever pick CURLAUTH_BEARER if we *have* a Bearer token
|
||
|
||
The Bearer authentication was added to cURL 7.61.0, but there is a
|
||
problem: if CURLAUTH_ANY is selected, and the server supports multiple
|
||
authentication methods including the Bearer method, we strongly prefer
|
||
that latter method (only CURLAUTH_NEGOTIATE beats it), and if the Bearer
|
||
authentication fails, we will never even try to attempt any other
|
||
method.
|
||
|
||
This is particularly unfortunate when we already know that we do not
|
||
have any Bearer token to work with.
|
||
|
||
Such a scenario happens e.g. when using Git to push to Visual Studio
|
||
Team Services (which supports Basic and Bearer authentication among
|
||
other methods) and specifying the Personal Access Token directly in the
|
||
URL (this aproach is frequently taken by automated builds).
|
||
|
||
Let's make sure that we have a Bearer token to work with before we
|
||
select the Bearer authentication among the available authentication
|
||
methods.
|
||
|
||
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
||
Closes #2754
|
||
|
||
Marcel Raad (22 Jul 2018)
|
||
- test320: treat curl320.out file as binary
|
||
|
||
Otherwise, LF line endings are converted to CRLF on Windows,
|
||
but no conversion is done for the reply, so the test case fails.
|
||
|
||
Closes https://github.com/curl/curl/pull/2776
|
||
|
||
Daniel Stenberg (22 Jul 2018)
|
||
- vtls: set conn->data when closing TLS
|
||
|
||
Follow-up to 1b76c38904f0. The VTLS backends that close down the TLS
|
||
layer for a connection still needs a Curl_easy handle for the session_id
|
||
cache etc.
|
||
|
||
Fixes #2764
|
||
Closes #2771
|
||
|
||
Marcel Raad (21 Jul 2018)
|
||
- tests: fixes for Windows line endlings
|
||
|
||
Set mode="text" when line endings depend on the system representation.
|
||
|
||
Closes https://github.com/curl/curl/pull/2772
|
||
|
||
- test214: disable MSYS2's POSIX path conversion for URL
|
||
|
||
By default, the MSYS2 bash converts all backslashes to forward slashes
|
||
in URLs. Disable this with MSYS2_ARG_CONV_EXCL for the test to pass.
|
||
|
||
Ref https://github.com/msys2/msys2/wiki/Porting#filesystem-namespaces
|
||
|
||
Daniel Stenberg (20 Jul 2018)
|
||
- http2: several cleanups
|
||
|
||
- separate easy handle from connections better
|
||
- added asserts on a number of places
|
||
- added sanity check of pipelines for debug builds
|
||
|
||
Closes #2751
|
||
|
||
- smb_getsock: always wait for write socket too
|
||
|
||
... the protocol is doing read/write a lot, so it needs to write often
|
||
even when downloading. A more proper fix could check for eactly when it
|
||
wants to write and only ask for it then.
|
||
|
||
Without this fix, an SMB download could easily get stuck when the event-driven
|
||
API was used.
|
||
|
||
Closes #2768
|
||
|
||
Marcel Raad (20 Jul 2018)
|
||
- test1143: disable MSYS2's POSIX path conversion
|
||
|
||
By default, the MSYS2 bash interprets http:/%HOSTIP:%HTTPPORT/want/1143
|
||
as a POSIX file list and converts it to a Windows file list.
|
||
Disable this with MSYS2_ARG_CONV_EXCL for the test to pass.
|
||
|
||
Ref https://github.com/msys2/msys2/wiki/Porting#filesystem-namespaces
|
||
Closes https://github.com/curl/curl/pull/2765
|
||
|
||
Daniel Stenberg (18 Jul 2018)
|
||
- RELEASE-NOTES: sync
|
||
|
||
... and work toward 7.61.1
|
||
|
||
- [Ruslan Baratov brought this change]
|
||
|
||
CMake: Update scripts to use consistent style
|
||
|
||
Closes #2727
|
||
Reviewed-by: Sergei Nikulov
|
||
|
||
- header output: switch off all styles, not just unbold
|
||
|
||
... the "unbold" sequence doesn't work on the mac Terminal.
|
||
|
||
Reported-by: Zero King
|
||
Fixes #2736
|
||
Closes #2738
|
||
|
||
Nick Zitzmann (14 Jul 2018)
|
||
- [Rodger Combs brought this change]
|
||
|
||
darwinssl: add support for ALPN negotiation
|
||
|
||
Marcel Raad (14 Jul 2018)
|
||
- test1422: add required file feature
|
||
|
||
curl configured with --enable-debug --disable-file currently complains
|
||
on test1422:
|
||
Info: Protocol "file" not supported or disabled in libcurl
|
||
|
||
Make test1422 dependend on enabled FILE protocol to fix this.
|
||
|
||
Fixes https://github.com/curl/curl/issues/2741
|
||
Closes https://github.com/curl/curl/pull/2742
|
||
|
||
Patrick Monnerat (12 Jul 2018)
|
||
- content_encoding: accept up to 4 unknown trailer bytes after raw deflate data
|
||
|
||
Some servers issue raw deflate data that may be followed by an undocumented
|
||
trailer. This commit makes curl tolerate such a trailer of up to 4 bytes
|
||
before considering the data is in error.
|
||
|
||
Reported-by: clbr on github
|
||
Fixes #2719
|
||
|
||
Daniel Stenberg (12 Jul 2018)
|
||
- smb: fix memory-leak in URL parse error path
|
||
|
||
Detected by OSS-Fuzz
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9369
|
||
Closes #2740
|
||
|
||
Marcel Raad (12 Jul 2018)
|
||
- schannel: enable CALG_TLS1PRF for w32api >= 5.1
|
||
|
||
The definition of CALG_TLS1PRF has been fixed in the 5.1 branch:
|
||
https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/commits/73aedcc0f2e6ba370de0d86ab878ad76a0dda7b5
|
||
|
||
Daniel Stenberg (12 Jul 2018)
|
||
- docs/SECURITY-PROCESS: mention bounty, drop pre-notify
|
||
|
||
+ The hackerone bounty and its process
|
||
|
||
- We don't and can't handle pre-notification
|
||
|
||
- multi: always do the COMPLETED procedure/state
|
||
|
||
It was previously erroneously skipped in some situations.
|
||
|
||
libtest/libntlmconnect.c wrongly depended on wrong behavior (that it
|
||
would get a zero timeout) when no handles are "running" in a multi
|
||
handle. That behavior is no longer present with this fix. Now libcurl
|
||
will always return a -1 timeout when all handles are completed.
|
||
|
||
Closes #2733
|
||
|
||
- Curl_getoff_all_pipelines: improved for multiplexed
|
||
|
||
On multiplexed connections, transfers can be removed from anywhere not
|
||
just at the head as for pipelines.
|
||
|
||
- ares: check for NULL in completed-callback
|
||
|
||
- conn: remove the boolean 'inuse' field
|
||
|
||
... as the usage needs to be counted.
|
||
|
||
- [Paul Howarth brought this change]
|
||
|
||
openssl: assume engine support in 1.0.0 or later
|
||
|
||
Commit 38203f1585da changed engine detection to be version-based,
|
||
with a baseline of openssl 1.0.1. This does in fact break builds
|
||
with openssl 1.0.0, which has engine support - the configure script
|
||
detects that ENGINE_cleanup() is available - but <openssl/engine.h>
|
||
doesn't get included to declare it.
|
||
|
||
According to upstream documentation, engine support was added to
|
||
mainstream openssl builds as of version 0.9.7:
|
||
https://github.com/openssl/openssl/blob/master/README.ENGINE
|
||
|
||
This commit drops the version test down to 1.0.0 as version 1.0.0d
|
||
is the oldest version I have to test with.
|
||
|
||
Closes #2732
|
||
|
||
Marcel Raad (11 Jul 2018)
|
||
- schannel: fix MinGW compile break
|
||
|
||
Original MinGW's w32api has a sytax error in its definition of
|
||
CALG_TLS1PRF [0]. Don't use original MinGW w32api's CALG_TLS1PRF
|
||
until this bug [1] is fixed.
|
||
|
||
[0] https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/blobs/d1d4a17e51a2b78e252ef0147d483267d56c90cc/w32api/include/wincrypt.h
|
||
[1] https://osdn.net/projects/mingw/ticket/38391
|
||
|
||
Fixes https://github.com/curl/curl/pull/2721#issuecomment-403636043
|
||
Closes https://github.com/curl/curl/pull/2728
|
||
|
||
Daniel Stenberg (11 Jul 2018)
|
||
- examples/crawler.c: move #ifdef to column 0
|
||
|
||
Apparently the C => HTML converter on the web site doesn't quite like it
|
||
otherwise.
|
||
|
||
Reported-by: Jeroen Ooms
|
||
|
||
Version 7.61.0 (11 Jul 2018)
|
||
|
||
Daniel Stenberg (11 Jul 2018)
|
||
- release: 7.61.0
|
||
|
||
- TODO: Configurable loading of OpenSSL configuration file
|
||
|
||
Closes #2724
|
||
|
||
- post303.d: clarify that this is an RFC violation
|
||
|
||
... and not the other way around, which this previously said.
|
||
|
||
Reported-by: Vasiliy Faronov
|
||
Fixes #2723
|
||
Closes #2726
|
||
|
||
- [Ruslan Baratov brought this change]
|
||
|
||
CMake: remove redundant and old end-of-block syntax
|
||
|
||
Reviewed-by: Jakub Zakrzewski
|
||
Closes #2715
|
||
|
||
Jay Satiro (9 Jul 2018)
|
||
- lib/curl_setup.h: remove unicode character
|
||
|
||
Follow-up to 82ce416.
|
||
|
||
Ref: https://github.com/curl/curl/commit/8272ec5#commitcomment-29646818
|
||
|
||
Daniel Stenberg (9 Jul 2018)
|
||
- lib/curl_setup.h: remove unicode bom from 8272ec50f02
|
||
|
||
Marcel Raad (9 Jul 2018)
|
||
- schannel: fix -Wsign-compare warning
|
||
|
||
MinGW warns:
|
||
/lib/vtls/schannel.c:219:64: warning: signed and unsigned type in
|
||
conditional expression [-Wsign-compare]
|
||
|
||
Fix this by casting the ptrdiff_t to size_t as we know it's positive.
|
||
|
||
Closes https://github.com/curl/curl/pull/2721
|
||
|
||
- schannel: workaround for wrong function signature in w32api
|
||
|
||
Original MinGW's w32api has CryptHashData's second parameter as BYTE *
|
||
instead of const BYTE *.
|
||
|
||
Closes https://github.com/curl/curl/pull/2721
|
||
|
||
- schannel: make more cipher options conditional
|
||
|
||
They are not defined in the original MinGW's <wincrypt.h>.
|
||
|
||
Closes https://github.com/curl/curl/pull/2721
|
||
|
||
- curl_setup: include <winerror.h> before <windows.h>
|
||
|
||
Otherwise, only part of it gets pulled in through <windows.h> on
|
||
original MinGW.
|
||
|
||
Fixes https://github.com/curl/curl/issues/2361
|
||
Closes https://github.com/curl/curl/pull/2721
|
||
|
||
- examples: fix -Wformat warnings
|
||
|
||
When size_t is not a typedef for unsigned long (as usually the case on
|
||
Windows), GCC emits -Wformat warnings when using lu and lx format
|
||
specifiers with size_t. Silence them with explicit casts to
|
||
unsigned long.
|
||
|
||
Closes https://github.com/curl/curl/pull/2721
|
||
|
||
Daniel Stenberg (9 Jul 2018)
|
||
- smtp: use the upload buffer size for scratch buffer malloc
|
||
|
||
... not the read buffer size, as that can be set smaller and thus cause
|
||
a buffer overflow! CVE-2018-0500
|
||
|
||
Reported-by: Peter Wu
|
||
Bug: https://curl.haxx.se/docs/adv_2018-70a2.html
|
||
|
||
- [Dave Reisner brought this change]
|
||
|
||
scripts: include _curl as part of CLEANFILES
|
||
|
||
Closes #2718
|
||
|
||
- [Nick Zitzmann brought this change]
|
||
|
||
darwinssl: allow High Sierra users to build the code using GCC
|
||
|
||
...but GCC users lose out on TLS 1.3 support, since we can't weak-link
|
||
enumeration constants.
|
||
|
||
Fixes #2656
|
||
Closes #2703
|
||
|
||
- [Ruslan Baratov brought this change]
|
||
|
||
CMake: Remove unused 'output_var' from 'collect_true'
|
||
|
||
Variable 'output_var' is not used and can be removed.
|
||
Function 'collect_true' renamed to 'count_true'.
|
||
|
||
- [Ruslan Baratov brought this change]
|
||
|
||
CMake: Remove unused functions
|
||
|
||
Closes #2711
|
||
|
||
- KNOWN_BUGS: Stick to same family over SOCKS proxy
|
||
|
||
- libssh: goto DISCONNECT state on error, not SSH_SESSION_FREE
|
||
|
||
... because otherwise not everything get closed down correctly.
|
||
|
||
Fixes #2708
|
||
Closes #2712
|
||
|
||
- libssh: include line number in state change debug messages
|
||
|
||
Closes #2713
|
||
|
||
- KNOWN_BUGS: Borland support is dropped, AIX problem is too old
|
||
|
||
- [Jeroen Ooms brought this change]
|
||
|
||
example/crawler.c: simple crawler based on libxml2
|
||
|
||
Closes #2706
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- DEPRECATE: include year when specifying date
|
||
|
||
- DEPRECATE: linkified
|
||
|
||
- DEPRECATE: mention the PR that disabled axTLS
|
||
|
||
- docs/DEPRECATE.md: spelling and minor formatting
|
||
|
||
- DEPRECATE: new doc describing planned item removals
|
||
|
||
Closes #2704
|
||
|
||
- [Gisle Vanem brought this change]
|
||
|
||
telnet: fix clang warnings
|
||
|
||
telnet.c(1401,28): warning: cast from function call of type 'int' to
|
||
non-matching type 'HANDLE' (aka 'void *') [-Wbad-function-cast]
|
||
|
||
Fixes #2696
|
||
Closes #2700
|
||
|
||
- docs: fix missed option name markups
|
||
|
||
- [Gaurav Malhotra brought this change]
|
||
|
||
openssl: Remove some dead code
|
||
|
||
Closes #2698
|
||
|
||
- openssl: make the requested TLS version the *minimum* wanted
|
||
|
||
The code treated the set version as the *exact* version to require in
|
||
the TLS handshake, which is not what other TLS backends do and probably
|
||
not what most people expect either.
|
||
|
||
Reported-by: Andreas Olsson
|
||
Assisted-by: Gaurav Malhotra
|
||
Fixes #2691
|
||
Closes #2694
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- openssl: allow TLS 1.3 by default
|
||
|
||
Reported-by: Andreas Olsson
|
||
Fixes #2692
|
||
Closes #2693
|
||
|
||
- [Adrian Peniak brought this change]
|
||
|
||
CURLINFO_TLS_SSL_PTR.3: improve the example
|
||
|
||
The previous example was a little bit confusing, because SSL* structure
|
||
(or other "in use" SSL connection pointer) is not accessible after the
|
||
transfer is completed, therefore working with the raw TLS library
|
||
specific pointer needs to be done during transfer.
|
||
|
||
Closes #2690
|
||
|
||
- travis: add a build using the synchronous name resolver
|
||
|
||
... since default uses the threaded one and we test the c-ares build
|
||
already.
|
||
|
||
Closes #2689
|
||
|
||
- configure: remove CURL_CHECK_NI_WITHSCOPEID too
|
||
|
||
Since it isn't used either and requires the getnameinfo check
|
||
|
||
Follow-up to 0aeca41702d2
|
||
|
||
- getnameinfo: not used
|
||
|
||
Closes #2687
|
||
|
||
- easy_perform: use *multi_timeout() to get wait times
|
||
|
||
... and trim the threaded Curl_resolver_getsock() to return zero
|
||
millisecond wait times during the first three milliseconds so that
|
||
localhost or names in the OS resolver cache gets detected and used
|
||
faster.
|
||
|
||
Closes #2685
|
||
|
||
Max Dymond (27 Jun 2018)
|
||
- configure: Add dependent libraries after crypto
|
||
|
||
The linker is pretty dumb and processes things left to right, keeping a
|
||
tally of symbols it hasn't resolved yet. So, we need -ldl to appear
|
||
after -lcrypto otherwise the linker won't find the dl functions.
|
||
|
||
Closes #2684
|
||
|
||
Daniel Stenberg (27 Jun 2018)
|
||
- GOVERNANCE: linkify, changed some titles
|
||
|
||
- GOVERNANCE: add maintainer details/duties
|
||
|
||
- url: check Curl_conncache_add_conn return code
|
||
|
||
... it was previously unchecked in two places and thus errors could
|
||
remain undetected and cause trouble.
|
||
|
||
Closes #2681
|
||
|
||
- include/README: remove "hacking" advice, not the right place
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- CURLOPT_SSL_VERIFYPEER.3: fix syntax mistake
|
||
|
||
Follow-up to b6a16afa0aa5
|
||
|
||
- netrc: use a larger buffer
|
||
|
||
... to work with longer passwords etc. Grow it from a 256 to a 4096
|
||
bytes buffer.
|
||
|
||
Reported-by: Dario Nieuwenhuis
|
||
Fixes #2676
|
||
Closes #2680
|
||
|
||
- [Patrick Schlangen brought this change]
|
||
|
||
CURLOPT_SSL_VERIFYPEER.3: Add performance note
|
||
|
||
Closes #2673
|
||
|
||
- [Javier Blazquez brought this change]
|
||
|
||
multi: fix crash due to dangling entry in connect-pending list
|
||
|
||
Fixes #2677
|
||
Closes #2679
|
||
|
||
- ConnectionExists: make sure conn->data is set when "taking" a connection
|
||
|
||
Follow-up to 2c15693.
|
||
|
||
Bug #2674
|
||
Closes #2675
|
||
|
||
- [Kevin R. Bulgrien brought this change]
|
||
|
||
system.h: fix for gcc on 32 bit OpenServer
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-06/0100.html
|
||
|
||
- [Raphael Gozzo brought this change]
|
||
|
||
cmake: allow multiple SSL backends
|
||
|
||
This will make possible to select the SSL backend (using
|
||
curl_global_sslset()) even when the libcurl is built using CMake
|
||
|
||
Closes #2665
|
||
|
||
- url: fix dangling conn->data pointer
|
||
|
||
By masking sure to use the *current* easy handle with extracted
|
||
connections from the cache, and make sure to NULLify the ->data pointer
|
||
when the connection is put into the cache to make this mistake easier to
|
||
detect in the future.
|
||
|
||
Reported-by: Will Dietz
|
||
Fixes #2669
|
||
Closes #2672
|
||
|
||
- CURLOPT_INTERFACE.3: interface names not supported on Windows
|
||
|
||
- travis: run more tests for coverage check
|
||
|
||
... run a few more tortured based and run all tests event-based.
|
||
|
||
Closes #2664
|
||
|
||
- multi: fix memory leak when stopped during name resolve
|
||
|
||
When the application just started the transfer and then stops it while
|
||
the name resolve in the background thread hasn't completed, we need to
|
||
wait for the resolve to complete and then cleanup data accordingly.
|
||
|
||
Enabled test 1553 again and added test 1590 to also check when the host
|
||
name resolves successfully.
|
||
|
||
Detected by OSS-fuzz.
|
||
Closes #1968
|
||
|
||
Viktor Szakats (15 Jun 2018)
|
||
- maketgz: delete .bak files, fix indentation
|
||
|
||
Ref: https://github.com/curl/curl/pull/2660
|
||
|
||
Closes https://github.com/curl/curl/pull/2662
|
||
|
||
Daniel Stenberg (15 Jun 2018)
|
||
- runtests.pl: remove debug leftover from bb9a340c73f3
|
||
|
||
- curl-confopts.m4: fix typo from ed224f23d5beb
|
||
|
||
Fixes my local configure to detect a custom installed c-ares without
|
||
pkgconfig.
|
||
|
||
- docs/RELEASE-PROCEDURE.md: renamed to use .md extension
|
||
|
||
Closes #2663
|
||
|
||
- RELEASE-PROCEDURE: gpg sign the tags
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- CURLOPT_HTTPAUTH.3: CURLAUTH_BEARER was added in 7.61.0
|
||
|
||
- [Mamta Upadhyay brought this change]
|
||
|
||
maketgz: fix sed issues on OSX
|
||
|
||
maketgz creates release tarballs and removes the -DEV string in curl
|
||
version (e.g. 7.58.0-DEV), else -DEV shows up on command line when curl
|
||
is run. maketgz works fine on linux but fails on OSX. Problem is with
|
||
the sed commands that use option -i without an extension. Maketgz
|
||
expects GNU sed instead of BSD and this simply won't work on OSX. Adding
|
||
a backup extension .bak after -i fixes this issue
|
||
|
||
Running the script as if on OSX gives this error:
|
||
|
||
sed: -e: No such file or directory
|
||
|
||
Adding a .bak extension resolves it
|
||
|
||
Closes #2660
|
||
|
||
- configure: enhance ability to detect/build with static openssl
|
||
|
||
Fix the -ldl and -ldl + -lpthread checks for OpenSSL, necessary for
|
||
building with static libs without pkg-config.
|
||
|
||
Reported-by: Marcel Raad
|
||
Fixes #2199
|
||
Closes #2659
|
||
|
||
- configure: use pkg-config for c-ares detection
|
||
|
||
First check if there's c-ares information given as pkg-config info and use
|
||
that as first preference.
|
||
|
||
Reported-by: pszemus on github
|
||
Fixes #2203
|
||
Closes #2658
|
||
|
||
- GOVERNANCE.md: explains how this project is run
|
||
|
||
Closes #2657
|
||
|
||
- KNOWN_BUGS: NTLM doen't support password with § character
|
||
|
||
Closes #2120
|
||
|
||
- KNOWN_BUGS: slow connect to localhost on Windows
|
||
|
||
Closes #2281
|
||
|
||
- [Matteo Bignotti brought this change]
|
||
|
||
mk-ca-bundle.pl: make -u delete certdata.txt if found not changed
|
||
|
||
certdata.txt should be deleted also when the process is interrupted by
|
||
"same certificate downloaded, exiting"
|
||
|
||
The certdata.txt is currently kept on disk even if you give the -u
|
||
option
|
||
|
||
Closes #2655
|
||
|
||
- progress: remove a set of unused defines
|
||
|
||
Reported-by: Peter Wu
|
||
Closes #2654
|
||
|
||
- TODO: "Option to refuse usernames in URLs" done
|
||
|
||
Implemented by Björn in 946ce5b61f
|
||
|
||
- [Lyman Epp brought this change]
|
||
|
||
Curl_init_do: handle NULL connection pointer passed in
|
||
|
||
Closes #2653
|
||
|
||
- runtests: support variables in <strippart>
|
||
|
||
... and make use of that to make 1455 work better without using a fixed
|
||
local port number.
|
||
|
||
Fixes #2649
|
||
Closes #2650
|
||
|
||
- Curl_debug: remove dead printhost code
|
||
|
||
The struct field is never set (since 5e0d9aea3) so remove the use of it
|
||
and remove the connectdata pointer from the prototype.
|
||
|
||
Reported-by: Tejas
|
||
Bug: https://curl.haxx.se/mail/lib-2018-06/0054.html
|
||
Closes #2647
|
||
|
||
Viktor Szakats (12 Jun 2018)
|
||
- schannel: avoid incompatible pointer warning
|
||
|
||
with clang-6.0:
|
||
```
|
||
vtls/schannel_verify.c: In function 'add_certs_to_store':
|
||
vtls/schannel_verify.c:212:30: warning: passing argument 11 of 'CryptQueryObject' from incompatible pointer type [-Wincompatible-pointer-types]
|
||
&cert_context)) {
|
||
^
|
||
In file included from /usr/share/mingw-w64/include/schannel.h:10:0,
|
||
from /usr/share/mingw-w64/include/schnlsp.h:9,
|
||
from vtls/schannel.h:29,
|
||
from vtls/schannel_verify.c:40:
|
||
/usr/share/mingw-w64/include/wincrypt.h:4437:26: note: expected 'const void **' but argument is of type 'CERT_CONTEXT ** {aka struct _CERT_CONTEXT **}'
|
||
WINIMPM WINBOOL WINAPI CryptQueryObject (DWORD dwObjectType, const void *pvObject, DWORD dwExpectedContentTypeFlags, DWORD dwExpectedFormatTypeFlags, DWORD dwFlags,
|
||
^~~~~~~~~~~~~~~~
|
||
```
|
||
Ref: https://msdn.microsoft.com/library/windows/desktop/aa380264
|
||
|
||
Closes https://github.com/curl/curl/pull/2648
|
||
|
||
Daniel Stenberg (12 Jun 2018)
|
||
- [Robert Prag brought this change]
|
||
|
||
schannel: support selecting ciphers
|
||
|
||
Given the contstraints of SChannel, I'm exposing these as the algorithms
|
||
themselves instead; while replicating the ciphersuite as specified by
|
||
OpenSSL would have been preferable, I found no way in the SChannel API
|
||
to do so.
|
||
|
||
To use this from the commandline, you need to pass the names of contants
|
||
defining the desired algorithms. For example, curl --ciphers
|
||
"CALG_SHA1:CALG_RSA_SIGN:CALG_RSA_KEYX:CALG_AES_128:CALG_DH_EPHEM"
|
||
https://github.com The specific names come from wincrypt.h
|
||
|
||
Closes #2630
|
||
|
||
- [Bernhard M. Wiedemann brought this change]
|
||
|
||
test 46: make test pass after 2025
|
||
|
||
shifting the expiry date to 2037 for now
|
||
to be before the possibly problematic year 2038
|
||
|
||
similar in spirit to commit e6293cf8764e9eecb
|
||
|
||
Closes #2646
|
||
|
||
- [Marian Klymov brought this change]
|
||
|
||
cppcheck: fix warnings
|
||
|
||
- Get rid of variable that was generating false positive warning
|
||
(unitialized)
|
||
|
||
- Fix issues in tests
|
||
|
||
- Reduce scope of several variables all over
|
||
|
||
etc
|
||
|
||
Closes #2631
|
||
|
||
- openssl: assume engine support in 1.0.1 or later
|
||
|
||
Previously it was checked for in configure/cmake, but that would then
|
||
leave other build systems built without engine support.
|
||
|
||
While engine support probably existed prior to 1.0.1, I decided to play
|
||
safe. If someone experience a problem with this, we can widen the
|
||
version check.
|
||
|
||
Fixes #2641
|
||
Closes #2644
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- RELEASE-PROCEDURE: update the release calendar for 2019
|
||
|
||
- [Gisle Vanem brought this change]
|
||
|
||
boringssl + schannel: undef X509_NAME in lib/schannel.h
|
||
|
||
Fixes the build problem when both boringssl and schannel are enabled.
|
||
|
||
Fixes #2634
|
||
Closes #2643
|
||
|
||
- [Vladimir Kotal brought this change]
|
||
|
||
mk-ca-bundle.pl: leave certificate name untouched in decode()
|
||
|
||
Closes #2640
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
tests/libtests/Makefile.am: Add lib1521.c to CLEANFILES
|
||
|
||
This removes the generated lib1521.c when running make clean.
|
||
|
||
Closes #2633
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
tests/libtest: Add lib1521 to nodist_SOURCES
|
||
|
||
Since 467da3af0, lib1521.c is generated instead of checked in. According
|
||
to the commit message, the intention was to remove it from the tarball
|
||
as well. However, it is still present when running make dist. To remove
|
||
it, add it to nodist_lib1521_SOURCES. This also means there is no need
|
||
for the manually added dist-rule in the Makefile.
|
||
|
||
Also update CMakelists.txt to handle the fact that we now may have
|
||
nodist_SOURCES.
|
||
|
||
- [Stephan Mühlstrasser brought this change]
|
||
|
||
system.h: add support for IBM xlc C compiler
|
||
|
||
Added a section to system.h guarded with __xlc__ for the IBM xml C
|
||
compiler. Before this change the section titled 'generic "safe guess" on
|
||
old 32 bit style' was used, which resulted in a wrong definition of
|
||
CURL_TYPEOF_CURL_SOCKLEN_T, and for 64-bit also CURL_TYPEOF_CURL_OFF_T
|
||
was wrong.
|
||
|
||
Compilation warnings fixed with this change:
|
||
|
||
CC libcurl_la-ftp.lo
|
||
"ftp.c", line 290.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
|
||
"ftp.c", line 293.48: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
|
||
"ftp.c", line 1070.49: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
|
||
"ftp.c", line 1154.53: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
|
||
"ftp.c", line 1187.51: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
|
||
CC libcurl_la-connect.lo
|
||
"connect.c", line 448.56: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
|
||
"connect.c", line 516.66: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
|
||
"connect.c", line 687.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
|
||
"connect.c", line 696.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
|
||
CC libcurl_la-tftp.lo
|
||
"tftp.c", line 1115.33: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
|
||
|
||
Closes #2637
|
||
|
||
- cmdline-opts/cert-type.d: mention "p12" as a recognized type as well
|
||
|
||
Viktor Szakats (3 Jun 2018)
|
||
- spelling fixes
|
||
|
||
Detected using the `codespell` tool (version 1.13.0).
|
||
|
||
Also secure and fix an URL.
|
||
|
||
Daniel Stenberg (2 Jun 2018)
|
||
- axtls: follow-up spell fix of comment
|
||
|
||
- axTLS: not considered fit for use
|
||
|
||
URL: https://curl.haxx.se/mail/lib-2018-06/0000.html
|
||
|
||
This is step one. It adds #error statements that require source edits to
|
||
make curl build again if asked to use axTLS. At a later stage we might
|
||
remove the axTLS specific code completely.
|
||
|
||
Closes #2628
|
||
|
||
- build: remove the Borland specific makefiles
|
||
|
||
According to the user survey 2018, not even one out of 670 users use
|
||
them. Nobody on the mailing list spoke up for them either.
|
||
|
||
Closes #2629
|
||
|
||
- curl_addrinfo: use same #ifdef conditions in source as header
|
||
|
||
... for curl_dofreeaddrinfo
|
||
|
||
- multi: remove a DEBUGF()
|
||
|
||
... it might call infof() with a NULL first argument that isn't harmful
|
||
but makes it not do anything. The infof() line is not very useful
|
||
anymore, it has served it purpose. Good riddance!
|
||
|
||
Fixes #2627
|
||
|
||
- [Alibek.Jorajev brought this change]
|
||
|
||
CURLOPT_RESOLVE: always purge old entry first
|
||
|
||
If there's an existing entry using the selected name.
|
||
|
||
Closes #2622
|
||
|
||
- fnmatch: use the system one if available
|
||
|
||
If configure detects fnmatch to be available, use that instead of our
|
||
custom one for FTP wildcard pattern matching. For standard compliance,
|
||
to reduce our footprint and to use already well tested and well
|
||
exercised code.
|
||
|
||
A POSIX fnmatch behaves slightly different than the internal function
|
||
for a few test patterns currently and the macOS one yet slightly
|
||
different. Test case 1307 is adjusted for these differences.
|
||
|
||
Closes #2626
|
||
|
||
Patrick Monnerat (31 May 2018)
|
||
- os400: add new option in ILE/RPG binding
|
||
|
||
Follow-up to commit 946ce5b
|
||
|
||
Daniel Stenberg (31 May 2018)
|
||
- tests/libtest/.gitignore: follow-up fix to ignore lib5* too
|
||
|
||
- KNOWN_BUGS: CURL_GLOBAL_SSL
|
||
|
||
Closes #2276
|
||
|
||
- [Bernhard Walle brought this change]
|
||
|
||
configure: check for declaration of getpwuid_r
|
||
|
||
On our x86 Android toolchain, getpwuid_r is implemented but the header
|
||
is missing:
|
||
|
||
netrc.c:81:7: error: implicit declaration of function 'getpwuid_r' [-Werror=implicit-function-declaration]
|
||
|
||
Unfortunately, the function is used in curl_ntlm_wb.c, too, so I moved
|
||
the prototype to curl_setup.h.
|
||
|
||
Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
|
||
Closes #2609
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
tests: update .gitignore for libtests
|
||
|
||
Closes #2624
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
strictness: correct {infof, failf} format specifiers
|
||
|
||
Closes #2623
|
||
|
||
- [Björn Stenberg brought this change]
|
||
|
||
option: disallow username in URL
|
||
|
||
Adds CURLOPT_DISALLOW_USERNAME_IN_URL and --disallow-username-in-url. Makes
|
||
libcurl reject URLs with a username in them.
|
||
|
||
Closes #2340
|
||
|
||
- libcurl-security.3: improved layout for two rememdy lists
|
||
|
||
- libcurl-security.3: refer to URL instead of in-source markdown file
|
||
|
||
Viktor Szakats (30 May 2018)
|
||
- curl.rc: embed manifest for correct Windows version detection
|
||
|
||
* enable it in `src/Makefile.m32`
|
||
* enable it in `winbuild/MakefileBuild.vc` if a custom manifest is
|
||
_not_ enabled via the existing `EMBED_MANIFEST` option
|
||
* enable it for all Windows CMake builds (also disable the built-in
|
||
minimal manifest, added by CMake by default.)
|
||
|
||
For other build systems, add the `-DCURL_EMBED_MANIFEST` option to
|
||
the list of RC (Resource Compiler) flags to enable the manifest
|
||
included in `src/curl.rc`. This may require to disable whatever
|
||
automatic or other means in which way another manifest is added to
|
||
`curl.exe`.
|
||
|
||
Notice that Borland C doesn't support this method due to a
|
||
long-pending resource compiler bug. Watcom C may also not handle
|
||
it correctly when the `-zm` `wrc` option is used (this option may
|
||
be unnecessary though) and regardless of options in certain earlier
|
||
revisions of the 2.0 beta version.
|
||
|
||
Closes https://github.com/curl/curl/pull/1221
|
||
Fixes https://github.com/curl/curl/issues/2591
|
||
|
||
Patrick Monnerat (30 May 2018)
|
||
- os400: sync EBCDIC wrappers and ILE/RPG binding with latest options
|
||
|
||
- os400: implement mime api EBCDIC wrappers
|
||
|
||
Also sync ILE/RPG binding to define the new functions.
|
||
|
||
Daniel Stenberg (29 May 2018)
|
||
- setopt: add TLS 1.3 ciphersuites
|
||
|
||
Adds CURLOPT_TLS13_CIPHERS and CURLOPT_PROXY_TLS13_CIPHERS.
|
||
|
||
curl: added --tls13-ciphers and --proxy-tls13-ciphers
|
||
|
||
Fixes #2435
|
||
Reported-by: zzq1015 on github
|
||
Closes #2607
|
||
|
||
- configure: override AR_FLAGS to silence warning
|
||
|
||
The automake default ar flags are 'cru', but the 'u' flag in there
|
||
causes warnings on many modern Linux distros. Removing 'u' may have a
|
||
minor performance impact on older distros but should not cause harm.
|
||
|
||
Explained on the automake mailing list already back in April 2015:
|
||
|
||
https://www.mail-archive.com/automake-patches@gnu.org/msg07705.html
|
||
|
||
Reported-by: elephoenix on github
|
||
Fixes #2617
|
||
Closes #2619
|
||
|
||
Sergei Nikulov (29 May 2018)
|
||
- cmake: fixed comments in compile checks code
|
||
|
||
Daniel Stenberg (29 May 2018)
|
||
- INSTALL: LDFLAGS=-Wl,-R/usr/local/ssl/lib
|
||
|
||
... the older description doesn't work
|
||
|
||
Reported-by: Peter Varga
|
||
Fixes #2615
|
||
Closes #2616
|
||
|
||
- [Will Dietz brought this change]
|
||
|
||
KNOWN_BUGS: restore text regarding #2101.
|
||
|
||
This was added earlier but appears to have been removed accidentally.
|
||
|
||
AFAICT this is very much still an issue.
|
||
|
||
-----
|
||
|
||
I say "accidentally" because the text seems to have harmlessly snuck
|
||
into [1] (which makes no mention of it). [1] was later reverted for
|
||
unspecified reasons in [2], presumably because the mentioned issue was
|
||
fixed or invalid.
|
||
|
||
[1] de9fac00c40db321d44fa6fbab6eb62ec4c83998
|
||
[2] 16d1f369403cbb04bd7b085eabbeebf159473fc2
|
||
|
||
Closes #2618
|
||
|
||
- fnmatch: insist on escaped bracket to match
|
||
|
||
A non-escaped bracket ([) is for a character group - as documented. It
|
||
will *not* match an individual bracket anymore. Test case 1307 updated
|
||
accordingly to match.
|
||
|
||
Problem detected by OSS-Fuzz, although this fix is probably not a final
|
||
fix for the notorious timeout issues.
|
||
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8525
|
||
Closes #2614
|
||
|
||
Patrick Monnerat (28 May 2018)
|
||
- psl: use latest psl and refresh it periodically
|
||
|
||
The latest psl is cached in the multi or share handle. It is refreshed
|
||
before use after 72 hours.
|
||
New share lock CURL_LOCK_DATA_PSL controls the psl cache sharing.
|
||
If the latest psl is not available, the builtin psl is used.
|
||
|
||
Reported-by: Yaakov Selkowitz
|
||
Fixes #2553
|
||
Closes #2601
|
||
|
||
Daniel Stenberg (28 May 2018)
|
||
- [Fabrice Fontaine brought this change]
|
||
|
||
configure: fix ssh2 linking when built with a static mbedtls
|
||
|
||
The ssh2 pkg-config file could contain the following lines when build
|
||
with a static version of mbedtls:
|
||
Libs: -L${libdir} -lssh2 /xxx/libmbedcrypto.a
|
||
Libs.private: /xxx/libmbedcrypto.a
|
||
|
||
This static mbedtls library must be used to correctly detect ssh2
|
||
support and this library must be copied in libcurl.pc otherwise
|
||
compilation of any application (such as upmpdcli) with libcurl will fail
|
||
when trying to found mbedtls functions included in libssh2. So, replace
|
||
pkg-config --libs-only-l by pkg-config --libs.
|
||
|
||
Fixes:
|
||
- http://autobuild.buildroot.net/results/43e24b22a77f616d6198c10435dcc23cc3b9088a
|
||
|
||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||
Closes #2613
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- [Bernhard Walle brought this change]
|
||
|
||
cmake: check for getpwuid_r
|
||
|
||
The autotools-based build system does it, so we do it also in CMake.
|
||
|
||
Bug: #2609
|
||
Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
|
||
|
||
- cmdline-opts/gen.pl: warn if mutexes: or see-also: list non-existing options
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
curl.1: Fix cmdline-opts reference errors.
|
||
|
||
--data, --form, and --ntlm were declared to be mutually exclusive with
|
||
non-existing options. --data and --form referred to --upload (which is
|
||
short for --upload-file and therefore did work, so this one was merely
|
||
a bit confusing), --ntlm referred to --negotiated instead of --negotiate.
|
||
|
||
Closes #2612
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
docs: fix cmdline-opts metadata headers case consistency.
|
||
|
||
Almost all headers start with an uppercase letter, but some didn't.
|
||
|
||
- mailmap: Max Savenkov
|
||
|
||
Sergei Nikulov (28 May 2018)
|
||
- [Max Savenkov brought this change]
|
||
|
||
Fix the test for fsetxattr and strerror_r tests in CMake to work without compiling
|
||
|
||
Daniel Stenberg (27 May 2018)
|
||
- mailmap: a Richard Alcock fixup
|
||
|
||
- [Richard Alcock brought this change]
|
||
|
||
schannel: add failf calls for client certificate failures
|
||
|
||
Closes #2604
|
||
|
||
- [Richard Alcock brought this change]
|
||
|
||
winbuild: In MakefileBuild.vc fix typo DISTDIR->DIRDIST
|
||
|
||
Change requirement from $(DISTDIR) to $(DIRDIST)
|
||
|
||
closes #2603
|
||
|
||
- [Richard Alcock brought this change]
|
||
|
||
winbuild: only delete OUTFILE if it exists
|
||
|
||
This removes the slightly annoying "Could not file LIBCURL_OBJS.inc" and
|
||
"Could not find CURL_OBJS.inc.inc" message when building into a clean
|
||
folder.
|
||
|
||
closes #2602
|
||
|
||
- [Alejandro R. Sedeño brought this change]
|
||
|
||
content_encoding: handle zlib versions too old for Z_BLOCK
|
||
|
||
Fallback on Z_SYNC_FLUSH when Z_BLOCK is not available.
|
||
|
||
Fixes #2606
|
||
Closes #2608
|
||
|
||
- multi: provide a socket to wait for in Curl_protocol_getsock
|
||
|
||
... even when there's no protocol specific handler setup.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-05/0062.html
|
||
Reported-by: Sean Miller
|
||
Closes #2600
|
||
|
||
- [Linus Lewandowski brought this change]
|
||
|
||
httpauth: add support for Bearer tokens
|
||
|
||
Closes #2102
|
||
|
||
- TODO: CURLINFO_PAUSE_STATE
|
||
|
||
Closes #2588
|
||
|
||
Sergei Nikulov (24 May 2018)
|
||
- cmake: set -d postfix for debug builds if not specified
|
||
using -DCMAKE_DEBUG_POSTFIX explicitly
|
||
|
||
fixes #2121, obsoletes #2384
|
||
|
||
Daniel Stenberg (23 May 2018)
|
||
- configure: add basic test of --with-ssl prefix
|
||
|
||
When given a prefix, the $PREFIX_OPENSSL/lib/openssl.pc or
|
||
$PREFIX_OPENSSL/include/openssl/ssl.h files must be present or cause an
|
||
error. Helps users detect when giving configure the wrong path.
|
||
|
||
Reported-by: Oleg Pudeyev
|
||
Assisted-by: Per Malmberg
|
||
Fixes #2580
|
||
|
||
Patrick Monnerat (22 May 2018)
|
||
- http resume: skip body if http code 416 (range error) is ignored.
|
||
|
||
This avoids appending error data to already existing good data.
|
||
|
||
Test 92 is updated to match this change.
|
||
New test 1156 checks all combinations of --range/--resume, --fail,
|
||
Content-Range header and http status code 200/416.
|
||
|
||
Fixes #1163
|
||
Reported-By: Ithubg on github
|
||
Closes #2578
|
||
|
||
Daniel Stenberg (22 May 2018)
|
||
- tftp: make sure error is zero terminated before printfing it
|
||
|
||
- configure: add missing m4/ax_compile_check_sizeof.m4
|
||
|
||
follow-up to mistake in 6876ccf90b4
|
||
|
||
Jay Satiro (22 May 2018)
|
||
- [Johannes Schindelin brought this change]
|
||
|
||
schannel: make CAinfo parsing resilient to CR/LF
|
||
|
||
OpenSSL has supported --cacert for ages, always accepting LF-only line
|
||
endings ("Unix line endings") as well as CR/LF line endings ("Windows
|
||
line endings").
|
||
|
||
When we introduced support for --cacert also with Secure Channel (or in
|
||
cURL speak: "WinSSL"), we did not take care to support CR/LF line
|
||
endings, too, even if we are much more likely to receive input in that
|
||
form when using Windows.
|
||
|
||
Let's fix that.
|
||
|
||
Happily, CryptQueryObject(), the function we use to parse the ca-bundle,
|
||
accepts CR/LF input already, and the trailing LF before the END
|
||
CERTIFICATE marker catches naturally any CR/LF line ending, too. So all
|
||
we need to care about is the BEGIN CERTIFICATE marker. We do not
|
||
actually need to verify here that the line ending is CR/LF. Just
|
||
checking for a CR or an LF is really plenty enough.
|
||
|
||
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
|
||
|
||
Closes https://github.com/curl/curl/pull/2592
|
||
|
||
Daniel Stenberg (22 May 2018)
|
||
- CURLOPT_ACCEPT_ENCODING.3: add brotli and clarify a bit
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- KNOWN_BUGS: mention the -O with %-encoded file names
|
||
|
||
Closes #2573
|
||
|
||
- checksrc: make sure sizeof() is used *with* parentheses
|
||
|
||
... and unify the source code to adhere.
|
||
|
||
Closes #2563
|
||
|
||
- curl: added --styled-output
|
||
|
||
It is enabled by default, so --no-styled-output will switch off the
|
||
detection/use of bold headers.
|
||
|
||
Closes #2538
|
||
|
||
- curl: show headers in bold
|
||
|
||
The feature is only enabled if the output is believed to be a tty.
|
||
|
||
-J: There's some minor differences and improvements in -J handling, as
|
||
now J should work with -i and it actually creates a file first using the
|
||
initial name and then *renames* that to the one found in
|
||
Content-Disposition (if any).
|
||
|
||
-i: only shows headers for HTTP transfers now (as documented).
|
||
Previously it would also show for pieces of the transfer that were HTTP
|
||
(for example when doing FTP over a HTTP proxy).
|
||
|
||
-i: now shows trailers as well. Previously they were not shown at all.
|
||
|
||
--libcurl: the CURLOPT_HEADER is no longer set, as the header output is
|
||
now done in the header callback.
|
||
|
||
- configure: compile-time SIZEOF checks
|
||
|
||
... instead of exeucting code to get the size. Removes the use of
|
||
LD_LIBRARY_PATH for this.
|
||
|
||
Fixes #2586
|
||
Closes #2589
|
||
Reported-by: Bernhard Walle
|
||
|
||
- configure: replace AC_TRY_RUN with CURL_RUN_IFELSE
|
||
|
||
... and export LD_LIBRARY_PATH properly. This is a follow-up from
|
||
2d4c215.
|
||
|
||
Fixes #2586
|
||
Reported-by: Bernhard Walle
|
||
|
||
- docs: clarify CURLOPT_HTTPGET somewhat
|
||
|
||
Reported-by: bsammon on github
|
||
Fixes #2590
|
||
|
||
- curl_fnmatch: only allow two asterisks for matching
|
||
|
||
The previous limit of 5 can still end up in situation that takes a very
|
||
long time and consumes a lot of CPU.
|
||
|
||
If there is still a rare use case for this, a user can provide their own
|
||
fnmatch callback for a version that allows a larger set of wildcards.
|
||
|
||
This commit was triggered by yet another OSS-Fuzz timeout due to this.
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8369
|
||
|
||
Closes #2587
|
||
|
||
- checksrc: fix too long line
|
||
|
||
follow-up to e05ad5d
|
||
|
||
- [Aleks brought this change]
|
||
|
||
docs: mention HAproxy protocol "version 1"
|
||
|
||
...as there's also a version 2.
|
||
|
||
Closes #2579
|
||
|
||
- examples/progressfunc: make it build on older libcurls
|
||
|
||
This example was changed in ce2140a8c1 to use the new microsecond based
|
||
getinfo option. This change makes it conditionally keep using the older
|
||
option so that the example still builds with older libcurl versions.
|
||
|
||
Closes #2584
|
||
|
||
- stub_gssapi: fix numerous 'unused parameter' warnings
|
||
|
||
follow-up to d9e92fd9fd1d
|
||
|
||
- [Philip Prindeville brought this change]
|
||
|
||
getinfo: add microsecond precise timers for various intervals
|
||
|
||
Provide a set of new timers that return the time intervals using integer
|
||
number of microseconds instead of floats.
|
||
|
||
The new info names are as following:
|
||
|
||
CURLINFO_APPCONNECT_TIME_T
|
||
CURLINFO_CONNECT_TIME_T
|
||
CURLINFO_NAMELOOKUP_TIME_T
|
||
CURLINFO_PRETRANSFER_TIME_T
|
||
CURLINFO_REDIRECT_TIME_T
|
||
CURLINFO_STARTTRANSFER_TIME_T
|
||
CURLINFO_TOTAL_TIME_T
|
||
|
||
Closes #2495
|
||
|
||
- openssl: acknowledge --tls-max for default version too
|
||
|
||
... previously it only used the max setting if a TLS version was also
|
||
explicitly asked for.
|
||
|
||
Reported-by: byte_bucket
|
||
Fixes #2571
|
||
Closes #2572
|
||
|
||
- bump: start working on the pending 7.61.0
|
||
|
||
- [Dagobert Michelsen brought this change]
|
||
|
||
tests/libtest/Makefile: Do not unconditionally add gcc-specific flags
|
||
|
||
The warning flag leads e.g. Sun Studio compiler to bail out.
|
||
|
||
Closes #2576
|
||
|
||
- schannel_verify: fix build for non-schannel
|
||
|
||
Jay Satiro (16 May 2018)
|
||
- rand: fix typo
|
||
|
||
- schannel: disable manual verify if APIs not available
|
||
|
||
.. because original MinGW and old compilers do not have the Windows API
|
||
definitions needed to support manual verification.
|
||
|
||
- [Archangel_SDY brought this change]
|
||
|
||
schannel: disable client cert option if APIs not available
|
||
|
||
Original MinGW targets Windows 2000 by default, which lacks some APIs and
|
||
definitions for this feature. Disable it if these APIs are not available.
|
||
|
||
Closes https://github.com/curl/curl/pull/2522
|
||
|
||
Version 7.60.0 (15 May 2018)
|
||
|
||
Daniel Stenberg (15 May 2018)
|
||
- RELEASE-NOTES: 7.60.0 release
|
||
|
||
- THANKS: added people from the curl 7.60.0 release
|
||
|
||
- docs/libcurl/index.html: removed
|
||
|
||
The HTML files are long gone from the dist, now remove the last HTML
|
||
file pointing to those missing files.
|
||
|
||
d
|
||
|
||
- [steini2000 brought this change]
|
||
|
||
http2: remove unused variable
|
||
|
||
Closes #2570
|
||
|
||
- [steini2000 brought this change]
|
||
|
||
http2: use easy handle of stream for logging
|
||
|
||
- gcc: disable picky gcc-8 function pointer warnings in two places
|
||
|
||
Reported-by: Rikard Falkeborn
|
||
Bug: #2560
|
||
Closes #2569
|
||
|
||
- http2: use the correct function pointer typedef
|
||
|
||
Fixes gcc-8 picky compiler warnings
|
||
Reported-by: Rikard Falkeborn
|
||
Bug: #2560
|
||
Closes #2568
|
||
|
||
- CODE_STYLE: mention return w/o parens, but sizeof with
|
||
|
||
... and remove the github markdown syntax so that it renders better on
|
||
the web site. Also, don't use back-ticks inlined to allow the CSS to
|
||
highlight source code better.
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
examples: Fix format specifiers
|
||
|
||
Closes #2561
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
tool: Fix format specifiers
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
ntlm: Fix format specifiers
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
tests: Fix format specifiers
|
||
|
||
- [Rikard Falkeborn brought this change]
|
||
|
||
lib: Fix format specifiers
|
||
|
||
- contributors.sh: use "on github", not at
|
||
|
||
- http2: getsock fix for uploads
|
||
|
||
When there's an upload in progress, make sure to wait for the socket to
|
||
become writable.
|
||
|
||
Detected-by: steini2000 on github
|
||
Bug: #2520
|
||
Closes #2567
|
||
|
||
- pingpong: fix response cache memcpy overflow
|
||
|
||
Response data for a handle with a large buffer might be cached and then
|
||
used with the "closure" handle when it has a smaller buffer and then the
|
||
larger cache will be copied and overflow the new smaller heap based
|
||
buffer.
|
||
|
||
Reported-by: Dario Weisser
|
||
CVE: CVE-2018-1000300
|
||
Bug: https://curl.haxx.se/docs/adv_2018-82c2.html
|
||
|
||
- http: restore buffer pointer when bad response-line is parsed
|
||
|
||
... leaving the k->str could lead to buffer over-reads later on.
|
||
|
||
CVE: CVE-2018-1000301
|
||
Assisted-by: Max Dymond
|
||
|
||
Detected by OSS-Fuzz.
|
||
Bug: https://curl.haxx.se/docs/adv_2018-b138.html
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7105
|
||
|
||
Patrick Monnerat (13 May 2018)
|
||
- cookies: do not take cookie name as a parameter
|
||
|
||
RFC 6265 section 4.2.1 does not set restrictions on cookie names.
|
||
This is a follow-up to commit 7f7fcd0.
|
||
Also explicitly check proper syntax of cookie name/value pair.
|
||
|
||
New test 1155 checks that cookie names are not reserved words.
|
||
|
||
Reported-By: anshnd at github
|
||
Fixes #2564
|
||
Closes #2566
|
||
|
||
Daniel Stenberg (12 May 2018)
|
||
- smb: reject negative file sizes
|
||
|
||
Assisted-by: Max Dymond
|
||
|
||
Detected by OSS-Fuzz
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8245
|
||
|
||
- setup_transfer: deal with both sockets being -1
|
||
|
||
Detected by Coverity; CID 1435559. Follow-up to f8d608f38d00. It would
|
||
index the array with -1 if neither index was a socket.
|
||
|
||
- travis: add build using NSS
|
||
|
||
Closes #2558
|
||
|
||
- [Sunny Purushe brought this change]
|
||
|
||
openssl: change FILE ops to BIO ops
|
||
|
||
To make builds with VS2015 work. Recent changes in VS2015 _IOB_ENTRIES
|
||
handling is causing problems. This fix changes the OpenSSL backend code
|
||
to use BIO functions instead of FILE I/O functions to circumvent those
|
||
problems.
|
||
|
||
Closes #2512
|
||
|
||
- travis: add a build using WolfSSL
|
||
|
||
Assisted-by: Dan Fandrich
|
||
|
||
Closes #2528
|
||
|
||
- RELEASE-NOTES: typo
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
URLs: fix one more http url
|
||
|
||
This file wasn't included in commit 4af40b3646d3b09 which updated all
|
||
haxx.se http urls to https. The file was committed prior to that update,
|
||
but may have been merged after it and hence didn't get updated.
|
||
|
||
Closes #2550
|
||
|
||
- github/lock: auto-lock closed issues after 90 days of inactivity
|
||
|
||
- vtls: fix missing commas
|
||
|
||
follow-up to e66cca046cef
|
||
|
||
- vtls: use unified "supports" bitfield member in backends
|
||
|
||
... instead of previous separate struct fields, to make it easier to
|
||
extend and change individual backends without having to modify them all.
|
||
|
||
closes #2547
|
||
|
||
- transfer: don't unset writesockfd on setup of multiplexed conns
|
||
|
||
Curl_setup_transfer() can be called to setup a new individual transfer
|
||
over a multiplexed connection so it shouldn't unset writesockfd.
|
||
|
||
Bug: #2520
|
||
Closes #2549
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
configure: put CURLDEBUG and DEBUGBUILD in lib/curl_config.h
|
||
|
||
They are removed from the compiler flags.
|
||
|
||
This ensures that make dependency tracking will force a rebuild whenever
|
||
configure --enable-debug or --enable-curldebug changes.
|
||
|
||
Closes #2548
|
||
|
||
- http: don't set the "rewind" flag when not uploading anything
|
||
|
||
It triggers an assert.
|
||
|
||
Detected by OSS-Fuzz
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8144
|
||
Closes #2546
|
||
|
||
- travis: add an mbedtls build
|
||
|
||
Closes #2531
|
||
|
||
- configure: only check for CA bundle for file-using SSL backends
|
||
|
||
When only building with SSL backends that don't use the CA bundle file
|
||
(by default), skip the check.
|
||
|
||
Fixes #2543
|
||
Fixes #2180
|
||
Closes #2545
|
||
|
||
- ssh-libssh.c: fix left shift compiler warning
|
||
|
||
ssh-libssh.c:2429:21: warning: result of '1 << 31' requires 33 bits to
|
||
represent, but 'int' only has 32 bits [-Wshift-overflow=]
|
||
|
||
'len' will never be that big anyway so I converted the run-time check to
|
||
a regular assert.
|
||
|
||
- [Stephan Mühlstrasser brought this change]
|
||
|
||
URL: fix ASCII dependency in strcpy_url and strlen_url
|
||
|
||
Commit 3c630f9b0af097663a64e5c875c580aa9808a92b partially reverted the
|
||
changes from commit dd7521bcc1b7a6fcb53c31f9bd1192fcc884bd56 because of
|
||
the problem that strcpy_url() was modified unilaterally without also
|
||
modifying strlen_url(). As a consequence strcpy_url() was again
|
||
depending on ASCII encoding.
|
||
|
||
This change fixes strlen_url() and strcpy_url() in parallel to use a
|
||
common host-encoding independent criterion for deciding whether an URL
|
||
character must be %-escaped.
|
||
|
||
Closes #2535
|
||
|
||
- [Denis Ollier brought this change]
|
||
|
||
docs: remove extraneous commas in man pages
|
||
|
||
Closes #2544
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- Revert "TODO: remove configure --disable-pthreads"
|
||
|
||
This reverts commit d5d683a97f9765bddfd964fe32e137aa6e703ed3.
|
||
|
||
--disable-pthreads can be used to disable pthreads and get the threaded
|
||
resolver to use the windows threading when building with mingw.
|
||
|
||
- vtls: don't define MD5_DIGEST_LENGTH for wolfssl
|
||
|
||
... as it defines it (too)
|
||
|
||
- TODO: remove configure --disable-pthreads
|
||
|
||
Jay Satiro (2 May 2018)
|
||
- [David Garske brought this change]
|
||
|
||
wolfssl: Fix non-blocking connect
|
||
|
||
Closes https://github.com/curl/curl/pull/2542
|
||
|
||
Daniel Stenberg (30 Apr 2018)
|
||
- CURLOPT_URL.3: add ENCODING section [ci skip]
|
||
|
||
Feedback-by: Michael Kilburn
|
||
|
||
- KNOWN_BUGS: Client cert with Issuer DN differs between backends
|
||
|
||
Closes #1411
|
||
|
||
- KNOWN_BUGS: Passive transfer tries only one IP address
|
||
|
||
Closes #1508
|
||
|
||
- KNOWN_BUGS: --upload-file . hang if delay in STDIN
|
||
|
||
Closes #2051
|
||
|
||
- KNOWN_BUGS: Connection information when using TCP Fast Open
|
||
|
||
Closes #1332
|
||
|
||
- travis: enable libssh2 on both macos and Linux
|
||
|
||
It seems to not be detected by default anymore (which is a bug I
|
||
believe)
|
||
|
||
Closes #2541
|
||
|
||
- TODO: Support the clienthello extension
|
||
|
||
Closes #2299
|
||
|
||
- TODO: CLOEXEC
|
||
|
||
Closes #2252
|
||
|
||
- tests: provide 'manual' as a feature to optionally require
|
||
|
||
... and make test 1026 rely on that feature so that --disable-manual
|
||
builds don't cause test failures.
|
||
|
||
Reported-by: Max Dymond and Anders Roxell
|
||
Fixes #2533
|
||
Closes #2540
|
||
|
||
- CURLINFO_PROTOCOL.3: mention the existing defined names
|
||
|
||
Jay Satiro (27 Apr 2018)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
cookies: remove unused macro
|
||
|
||
Commit 2bc230de63 made the macro MAX_COOKIE_LINE_TXT become unused,
|
||
so remove as it's not part of the published API.
|
||
|
||
Closes https://github.com/curl/curl/pull/2537
|
||
|
||
Daniel Stenberg (27 Apr 2018)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
checksrc: force indentation of lines after an else
|
||
|
||
This extends the INDENTATION case to also handle 'else' statements
|
||
and require proper indentation on the following line. Also fixes the
|
||
offending cases found in the codebase.
|
||
|
||
Closes #2532
|
||
|
||
- http2: fix null pointer dereference in http2_connisdead
|
||
|
||
This function can get called on a connection that isn't setup enough to
|
||
have the 'recv_underlying' function pointer initialized so it would try
|
||
to call the NULL pointer.
|
||
|
||
Reported-by: Dario Weisser
|
||
|
||
Follow-up to db1b2c7fe9b093f8 (never shipped in a release)
|
||
Closes #2536
|
||
|
||
- http2: get rid of another strstr()
|
||
|
||
Follow-up to 1514c44655e12e: replace another strstr() call done on a
|
||
buffer that might not be zero terminated - with a memchr() call, even if
|
||
we know the substring will be found.
|
||
|
||
Assisted-by: Max Dymond
|
||
|
||
Detected by OSS-Fuzz
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8021
|
||
|
||
Closes #2534
|
||
|
||
- cyassl: adapt to libraries without TLS 1.0 support built-in
|
||
|
||
WolfSSL doesn't enable it by default anymore
|
||
|
||
- configure: provide --with-wolfssl as an alias for --with-cyassl
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
os400.c: fix ASSIGNWITHINCONDITION checksrc warnings
|
||
|
||
All occurrences of assignment within conditional expression in
|
||
os400sys.c rewritten into two steps: first assignment and then the check
|
||
on the success of the assignment. Also adjust related incorrect brace
|
||
positions to match project indentation style.
|
||
|
||
This was spurred by seeing "if((inp = input_token))", but while in there
|
||
all warnings were fixed.
|
||
|
||
There should be no functional change from these changes.
|
||
|
||
Closes #2525
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
cookies: ensure that we have cookies before writing jar
|
||
|
||
The jar should be written iff there are cookies, so ensure that we still
|
||
have cookies after expiration to avoid creating an empty file.
|
||
|
||
Closes #2529
|
||
|
||
- strcpy_url: only %-encode values >= 0x80
|
||
|
||
OSS-Fuzz detected
|
||
|
||
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8000
|
||
|
||
Broke in dd7521bcc1b7
|
||
|
||
- mime: avoid NULL pointer dereference risk
|
||
|
||
Coverity detected, CID 1435120
|
||
|
||
Closes #2527
|
||
|
||
- [Stephan Mühlstrasser brought this change]
|
||
|
||
ctype: restore character classification for non-ASCII platforms
|
||
|
||
With commit 4272a0b0fc49a1ac0ceab5c4a365c9f6ab8bf8e2 curl-speficic
|
||
character classification macros and functions were introduced in
|
||
curl_ctype.[ch] to avoid dependencies on the locale. This broke curl on
|
||
non-ASCII, e.g. EBCDIC platforms. This change restores the previous set
|
||
of character classification macros when CURL_DOES_CONVERSIONS is
|
||
defined.
|
||
|
||
Closes #2494
|
||
|
||
- ftplistparser: keep state between invokes
|
||
|
||
Fixes FTP wildcard parsing when done over a number of read buffers.
|
||
|
||
Regression from f786d1f14
|
||
|
||
Reported-by: wncboy on github
|
||
Fixes #2445
|
||
Closes #2526
|
||
|
||
- examples/http2-upload: expand buffer to avoid silly warning
|
||
|
||
http2-upload.c:135:44: error: ‘%02d’ directive output may be truncated
|
||
writing between 2 and 11 bytes into a region of size between 8 and 17
|
||
|
||
- examples/sftpuploadresume: typecast fseek argument to long
|
||
|
||
/docs/examples/sftpuploadresume.c:102:12: warning: conversion to 'long
|
||
int' from 'curl_off_t {aka long long int}' may alter its value
|
||
|
||
- Revert "ftplistparser: keep state between invokes"
|
||
|
||
This reverts commit abbc8457d85aca74b7cfda1d394b0844932b2934.
|
||
|
||
Caused fuzzer problems on travis not seen when this was a PR!
|
||
|
||
- Curl_memchr: zero length input can't match
|
||
|
||
Avoids undefined behavior.
|
||
|
||
Reported-by: Geeknik Labs
|
||
|
||
- ftplistparser: keep state between invokes
|
||
|
||
Fixes FTP wildcard parsing when doing over a number of read buffers.
|
||
|
||
Regression from f786d1f14
|
||
|
||
Reported-by: wncboy on github
|
||
Fixes #2445
|
||
Closes #2519
|
||
|
||
- ftplistparser: renamed some members and variables
|
||
|
||
... to make them better spell out what they're for.
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- [Christian Schmitz brought this change]
|
||
|
||
curl_global_sslset: always provide available backends
|
||
|
||
Closes #2499
|
||
|
||
- http2: convert an assert to run-time check
|
||
|
||
Fuzzing has proven we can reach code in on_frame_recv with status_code
|
||
not having been set, so let's detect that in run-time (instead of with
|
||
assert) and error error accordingly.
|
||
|
||
(This should no longer happen with the latest nghttp2)
|
||
|
||
Detected by OSS-Fuzz
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7903
|
||
Closes #2514
|
||
|
||
- curl.1: clarify that options and URLs can be mixed
|
||
|
||
Fixes #2515
|
||
Closes #2517
|
||
|
||
Jay Satiro (23 Apr 2018)
|
||
- [Archangel_SDY brought this change]
|
||
|
||
CURLOPT_SSLCERT.3: improve WinSSL-specific usage info
|
||
|
||
Ref: https://github.com/curl/curl/pull/2376#issuecomment-381858780
|
||
|
||
Closes https://github.com/curl/curl/pull/2504
|
||
|
||
- [Archangel_SDY brought this change]
|
||
|
||
schannel: fix build error on targets <= XP
|
||
|
||
- Use CRYPT_STRING_HEX instead of CRYPT_STRING_HEXRAW since XP doesn't
|
||
support the latter.
|
||
|
||
Ref: https://github.com/curl/curl/pull/2376#issuecomment-382153668
|
||
|
||
Closes https://github.com/curl/curl/pull/2504
|
||
|
||
Daniel Stenberg (23 Apr 2018)
|
||
- Revert "ftplistparser: keep state between invokes"
|
||
|
||
This reverts commit 8fb78f9ddc6d858d630600059b8ad84a80892fd9.
|
||
|
||
Unfortunately this fix introduces memory leaks I've not been able to fix
|
||
in several days. Reverting this for now to get the leaks fixed.
|
||
|
||
Jay Satiro (21 Apr 2018)
|
||
- tool_help: clarify --max-time unit of time is seconds
|
||
|
||
Before:
|
||
-m, --max-time <time> Maximum time allowed for the transfer
|
||
|
||
After:
|
||
-m, --max-time <seconds> Maximum time allowed for the transfer
|
||
|
||
Daniel Stenberg (20 Apr 2018)
|
||
- http2: handle GOAWAY properly
|
||
|
||
When receiving REFUSED_STREAM, mark the connection for close and retry
|
||
streams accordingly on another/fresh connection.
|
||
|
||
Reported-by: Terry Wu
|
||
Fixes #2416
|
||
Fixes #1618
|
||
Closes #2510
|
||
|
||
- http2: clear the "drain counter" when a stream is closed
|
||
|
||
This fixes the notorious "httpc->drain_total >= data->state.drain"
|
||
assert.
|
||
|
||
Reported-by: Anders Bakken
|
||
|
||
Fixes #1680
|
||
Closes #2509
|
||
|
||
- http2: avoid strstr() on data not zero terminated
|
||
|
||
It's not strictly clear if the API contract allows us to call strstr()
|
||
on a string that isn't zero terminated even when we know it will find
|
||
the substring, and clang's ASAN check dislikes us for it.
|
||
|
||
Also added a check of the return code in case it fails, even if I can't
|
||
think of a situation how that can trigger.
|
||
|
||
Detected by OSS-Fuzz
|
||
Closes #2513
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7760
|
||
|
||
- [Stephan Mühlstrasser brought this change]
|
||
|
||
openssl: fix subjectAltName check on non-ASCII platforms
|
||
|
||
Curl_cert_hostcheck operates with the host character set, therefore the
|
||
ASCII subjectAltName string retrieved with OpenSSL must be converted to
|
||
the host encoding before comparison.
|
||
|
||
Closes #2493
|
||
|
||
Jay Satiro (20 Apr 2018)
|
||
- openssl: Add support for OpenSSL 1.1.1 verbose-mode trace messages
|
||
|
||
- Support handling verbose-mode trace messages of type
|
||
SSL3_RT_INNER_CONTENT_TYPE, SSL3_MT_ENCRYPTED_EXTENSIONS,
|
||
SSL3_MT_END_OF_EARLY_DATA, SSL3_MT_KEY_UPDATE, SSL3_MT_NEXT_PROTO,
|
||
SSL3_MT_MESSAGE_HASH
|
||
|
||
Reported-by: iz8mbw@users.noreply.github.com
|
||
|
||
Fixes https://github.com/curl/curl/issues/2403
|
||
|
||
Daniel Stenberg (19 Apr 2018)
|
||
- ftplistparser: keep state between invokes
|
||
|
||
Regression from f786d1f14
|
||
|
||
Reported-by: wncboy on github
|
||
Fixes #2445
|
||
Closes #2508
|
||
|
||
- detect_proxy: only show proxy use if it had contents
|
||
|
||
- http2: handle on_begin_headers() called more than once
|
||
|
||
This triggered an assert if called more than once in debug mode (and a
|
||
memory leak if not debug build). With the right sequence of HTTP/2
|
||
headers incoming it can happen.
|
||
|
||
Detected by OSS-Fuzz
|
||
|
||
Closes #2507
|
||
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7764
|
||
|
||
Jay Satiro (18 Apr 2018)
|
||
- [Dan McNulty brought this change]
|
||
|
||
schannel: add support for CURLOPT_CAINFO
|
||
|
||
- Move verify_certificate functionality in schannel.c into a new
|
||
file called schannel_verify.c. Additionally, some structure defintions
|
||
from schannel.c have been moved to schannel.h to allow them to be
|
||
used in schannel_verify.c.
|
||
|
||
- Make verify_certificate functionality for Schannel available on
|
||
all versions of Windows instead of just Windows CE. verify_certificate
|
||
will be invoked on Windows CE or when the user specifies
|
||
CURLOPT_CAINFO and CURLOPT_SSL_VERIFYPEER.
|
||
|
||
- In verify_certificate, create a custom certificate chain engine that
|
||
exclusively trusts the certificate store backed by the CURLOPT_CAINFO
|
||
file.
|
||
|
||
- doc updates of --cacert/CAINFO support for schannel
|
||
|
||
- Use CERT_NAME_SEARCH_ALL_NAMES_FLAG when invoking CertGetNameString
|
||
when available. This implements a TODO in schannel.c to improve
|
||
handling of multiple SANs in a certificate. In particular, all SANs
|
||
will now be searched instead of just the first name.
|
||
|
||
- Update tool_operate.c to not search for the curl-ca-bundle.crt file
|
||
when using Schannel to maintain backward compatibility. Previously,
|
||
any curl-ca-bundle.crt file found in that search would have been
|
||
ignored by Schannel. But, with CAINFO support, the file found by
|
||
that search would have been used as the certificate store and
|
||
could cause issues for any users that have curl-ca-bundle.crt in
|
||
the search path.
|
||
|
||
- Update url.c to not set the build time CURL_CA_BUNDLE if the selected
|
||
SSL backend is Schannel. We allow setting CA location for schannel
|
||
only when explicitly specified by the user via CURLOPT_CAINFO /
|
||
--cacert.
|
||
|
||
- Add new test cases 3000 and 3001. These test cases check that the first
|
||
and last SAN, respectively, matches the connection hostname. New test
|
||
certificates have been added for these cases. For 3000, the certificate
|
||
prefix is Server-localhost-firstSAN and for 3001, the certificate
|
||
prefix is Server-localhost-secondSAN.
|
||
|
||
- Remove TODO 15.2 (Add support for custom server certificate
|
||
validation), this commit addresses it.
|
||
|
||
Closes https://github.com/curl/curl/pull/1325
|
||
|
||
- schannel: fix warning
|
||
|
||
- Fix warning 'integer from pointer without a cast' on 3rd arg in
|
||
CertOpenStore. The arg type HCRYPTPROV may be a pointer or integer
|
||
type of the same size.
|
||
|
||
Follow-up to e35b025.
|
||
|
||
Caught by Marc's CI builds.
|
||
|
||
- [Jakub Wilk brought this change]
|
||
|
||
docs: fix typos
|
||
|
||
Closes https://github.com/curl/curl/pull/2503
|
||
|
||
Daniel Stenberg (17 Apr 2018)
|
||
- RELEASE-NOTES: synced
|
||
|
||
Jay Satiro (17 Apr 2018)
|
||
- [Kees Dekker brought this change]
|
||
|
||
winbuild: Support custom devel paths for each dependency
|
||
|
||
- Support custom devel paths for c-ares, mbedTLS, nghttp2, libSSH2,
|
||
OpenSSL and zlib. Respectively: CARES_PATH, MBEDTLS_PATH,
|
||
NGHTTP2_PATH, SSH2_PATH, SSL_PATH and ZLIB_PATH.
|
||
|
||
- Use lib.exe for making the static library instead of link.exe /lib.
|
||
The latter is undocumented and could cause problems as noted in the
|
||
comments.
|
||
|
||
- Remove a dangling URL that no longer worked. (I was not able to find
|
||
the IDN download at MSDN/microsoft.com, so it seems to be removed.)
|
||
|
||
- Remove custom override for release-ssh2-ssl-dll-zlib configuration.
|
||
Nobody knows why it was there and as far as we can see is unnecessary.
|
||
|
||
Closes https://github.com/curl/curl/pull/2474
|
||
|
||
Daniel Stenberg (17 Apr 2018)
|
||
- [Jess brought this change]
|
||
|
||
README.md: add backers and sponsors
|
||
|
||
Closes #2484
|
||
|
||
- [Archangel_SDY brought this change]
|
||
|
||
schannel: add client certificate authentication
|
||
|
||
Users can now specify a client certificate in system certificates store
|
||
explicitly using expression like `--cert "CurrentUser\MY\<thumbprint>"`
|
||
|
||
Closes #2376
|
||
|
||
Marcel Raad (16 Apr 2018)
|
||
- [toughengineer brought this change]
|
||
|
||
ntlm_sspi: fix authentication using Credential Manager
|
||
|
||
If you pass empty user/pass asking curl to use Windows Credential
|
||
Storage (as stated in the docs) and it has valid credentials for the
|
||
domain, e.g.
|
||
curl -v -u : --ntlm example.com
|
||
currently authentication fails.
|
||
This change fixes it by providing proper SPN string to the SSPI API
|
||
calls.
|
||
|
||
Fixes https://github.com/curl/curl/issues/1622
|
||
Closes https://github.com/curl/curl/pull/1660
|
||
|
||
Daniel Stenberg (16 Apr 2018)
|
||
- configure: keep LD_LIBRARY_PATH changes local
|
||
|
||
... only set it when we actually have to run tests to reduce its impact
|
||
on for example build commands etc.
|
||
|
||
Fixes #2490
|
||
Closes #2492
|
||
|
||
Reported-by: Dmitry Mikhirev
|
||
|
||
Marcel Raad (16 Apr 2018)
|
||
- urldata: make service names unconditional
|
||
|
||
The ifdefs have become quite long. Also, the condition for the
|
||
definition of CURLOPT_SERVICE_NAME and for setting it from
|
||
CURLOPT_SERVICE_NAME have diverged. We will soon also need the two
|
||
options for NTLM, at least when using SSPI, for
|
||
https://github.com/curl/curl/pull/1660.
|
||
Just make the definitions unconditional to make that easier.
|
||
|
||
Closes https://github.com/curl/curl/pull/2479
|
||
|
||
Daniel Stenberg (16 Apr 2018)
|
||
- test1148: tolerate progress updates better
|
||
|
||
Fixes #2446
|
||
Closes #2488
|
||
|
||
- [Christian Schmitz brought this change]
|
||
|
||
ssh: show libSSH2 error code when closing fails
|
||
|
||
Closes #2500
|
||
|
||
Jay Satiro (15 Apr 2018)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
vauth: Fix typo
|
||
|
||
Address various spellings of "credentials".
|
||
|
||
Closes https://github.com/curl/curl/pull/2496
|
||
|
||
- [Dagobert Michelsen brought this change]
|
||
|
||
system.h: Add sparcv8plus to oracle/sunpro 32-bit detection
|
||
|
||
With specific compiler options selecting the arch like -xarch=sparc on
|
||
newer compilers like Oracle Studio 12.4 there is no definition of
|
||
__sparcv8 but __sparcv8plus which means the V9 ISA, but limited to the
|
||
32ÎíÎñbit subset defined by the V8plus ISA specification, without the
|
||
Visual Instruction Set (VIS), and without other implementation-specific
|
||
ISA extensions. So it should be the same as __sparcv8.
|
||
|
||
Closes https://github.com/curl/curl/pull/2491
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
checksrc: Fix typo
|
||
|
||
Fix typo in "semicolon" spelling and remove stray tab character.
|
||
|
||
Closes https://github.com/curl/curl/pull/2498
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
all: Refactor malloc+memset to use calloc
|
||
|
||
When a zeroed out allocation is required, use calloc() rather than
|
||
malloc() followed by an explicit memset(). The result will be the
|
||
same, but using calloc() everywhere increases consistency in the
|
||
codebase and avoids the risk of subtle bugs when code is injected
|
||
between malloc and memset by accident.
|
||
|
||
Closes https://github.com/curl/curl/pull/2497
|
||
|
||
Daniel Stenberg (12 Apr 2018)
|
||
- duphandle: make sure CURLOPT_RESOLVE is duplicated fine too
|
||
|
||
Verified in test 1502 now
|
||
|
||
Fixes #2485
|
||
Closes #2486
|
||
Reported-by: Ernst Sjöstrand
|
||
|
||
- mailmap: add a monnerat fixup [ci skip]
|
||
|
||
- proxy: show getenv proxy use in verbose output
|
||
|
||
... to aid debugging etc as it sometimes isn't immediately obvious why
|
||
curl uses or doesn't use a proxy.
|
||
|
||
Inspired by #2477
|
||
|
||
Closes #2480
|
||
|
||
- travis: build libpsl and make builds use it
|
||
|
||
closes #2471
|
||
|
||
- travis: bump to clang 6 and gcc 7
|
||
|
||
Extra-eye-on-this-by: Marcel Raad
|
||
|
||
Closes #2478
|
||
|
||
Marcel Raad (10 Apr 2018)
|
||
- travis: use trusty for coverage build
|
||
|
||
This works now and precise is in the process of being decommissioned.
|
||
|
||
Closes https://github.com/curl/curl/pull/2476
|
||
|
||
- lib: silence null-dereference warnings
|
||
|
||
In debug mode, MingGW-w64's GCC 7.3 issues null-dereference warnings
|
||
when dereferencing pointers after DEBUGASSERT-ing that they are not
|
||
NULL.
|
||
Fix this by removing the DEBUGASSERTs.
|
||
|
||
Suggested-by: Daniel Stenberg
|
||
Ref: https://github.com/curl/curl/pull/2463
|
||
|
||
- [Kees Dekker brought this change]
|
||
|
||
winbuild: fix URL
|
||
|
||
Follow up on https://github.com/curl/curl/pull/2472.
|
||
Now using en-us instead of nl-nl as language code in the URL.
|
||
|
||
Closes https://github.com/curl/curl/pull/2475
|
||
|
||
Daniel Stenberg (9 Apr 2018)
|
||
- [Kees Dekker brought this change]
|
||
|
||
winbuild: updated the documentation
|
||
|
||
The setenv command no longer exists and visual studio build prompts got
|
||
changed. Used Visual Studio 2015/2017 as reference.
|
||
|
||
Closes #2472
|
||
|
||
- test1136: fix cookie order after commit c990eadd1277
|
||
|
||
- build: cleanup to fix clang warnings/errors
|
||
|
||
unit1309 and vtls/gtls: error: arithmetic on a null pointer treated as a
|
||
cast from integer to pointer is a GNU extension
|
||
|
||
Reported-by: Rikard Falkeborn
|
||
|
||
Fixes #2466
|
||
Closes #2468
|
||
|
||
Jay Satiro (7 Apr 2018)
|
||
- examples/sftpuploadresmue: Fix Windows large file seek
|
||
|
||
- Use _fseeki64 instead of fseek (long) to seek curl_off_t in Windows.
|
||
|
||
- Use CURL_FORMAT_CURL_OFF_T specifier instead of %ld to print
|
||
curl_off_t.
|
||
|
||
Caught by Marc's CI builds.
|
||
|
||
Daniel Stenberg (7 Apr 2018)
|
||
- curl_setup: provide a CURL_SA_FAMILY_T type if none exists
|
||
|
||
... and use this type instead of 'sa_family_t' in the code since several
|
||
platforms don't have it.
|
||
|
||
Closes #2463
|
||
|
||
- [Eric Gallager brought this change]
|
||
|
||
build: add picky compiler warning flags for gcc 6 and 7
|
||
|
||
- configure: detect sa_family_t
|
||
|
||
Jay Satiro (7 Apr 2018)
|
||
- [Stefan Agner brought this change]
|
||
|
||
tool_operate: Fix retry on FTP 4xx to ignore other protocols
|
||
|
||
Only treat response code as FTP response codes in case the
|
||
protocol type is FTP.
|
||
|
||
This fixes an issue where an HTTP download was treated as FTP
|
||
in case libcurl returned with 33. This happens when the
|
||
download has already finished and the server responses 416:
|
||
HTTP/1.1 416 Requested Range Not Satisfiable
|
||
|
||
This should not be treated as an FTP error.
|
||
|
||
Fixes #2464
|
||
Closes #2465
|
||
|
||
Daniel Stenberg (6 Apr 2018)
|
||
- hash: calculate sizes with size_t instead of longs
|
||
|
||
... since they return size_t anyway!
|
||
|
||
closes #2462
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- [Jay Satiro brought this change]
|
||
|
||
build-openssl.bat: Refer to VS2017 as VC14.1 instead of VC15
|
||
|
||
.. and do the same for build-wolfssl.bat.
|
||
|
||
Because MS calls it VC14.1.
|
||
|
||
Closes https://github.com/curl/curl/pull/2189
|
||
|
||
- [Kees Dekker brought this change]
|
||
|
||
winbuild: make the clean target work without build-type
|
||
|
||
Due to the check in Makefile.vc and MakefileBuild.vc, no make call can
|
||
be invoked unless a build-type was specified. However, a clean target
|
||
only existed when a build type was specified. As a result, the clean
|
||
target was unreachable. Made clean target unconditional.
|
||
|
||
Closes #2455
|
||
|
||
- [patelvivekv1993 brought this change]
|
||
|
||
build-openssl.bat: allow custom paths for VS and perl
|
||
|
||
Fixes #2430
|
||
Closes #2457
|
||
|
||
- [Laurie Clark-Michalek brought this change]
|
||
|
||
FTP: allow PASV on IPv6 connections when a proxy is being used
|
||
|
||
In the situation of a client connecting to an FTP server using an IPv6
|
||
tunnel proxy, the connection info will indicate that the connection is
|
||
IPv6. However, because the server behing the proxy is IPv4, it is
|
||
permissable to attempt PSV mode. In the case of the FTP server being
|
||
IPv4 only, EPSV will always fail, and with the current logic curl will
|
||
be unable to connect to the server, as the IPv6 fwdproxy causes curl to
|
||
think that EPSV is impossible.
|
||
|
||
Closes #2432
|
||
|
||
- [Jon DeVree brought this change]
|
||
|
||
file: restore old behavior for file:////foo/bar URLs
|
||
|
||
curl 7.57.0 and up interpret this according to Appendix E.3.2 of RFC
|
||
8089 but then returns an error saying this is unimplemented. This is
|
||
actually a regression in behavior on both Windows and Unix.
|
||
|
||
Before curl 7.57.0 this URL was treated as a path of "//foo/bar" and
|
||
then passed to the relevant OS API. This means that the behavior of this
|
||
case is actually OS dependent.
|
||
|
||
The Unix path resolution rules say that the OS must handle swallowing
|
||
the extra "/" and so this path is the same as "/foo/bar"
|
||
|
||
The Windows path resolution rules say that this is a UNC path and
|
||
automatically handles the SMB access for the program. So curl on Windows
|
||
was already doing Appendix E.3.2 without any special code in curl.
|
||
|
||
Regression
|
||
|
||
Closes #2438
|
||
|
||
- [Gaurav Malhotra brought this change]
|
||
|
||
Revert "openssl: Don't add verify locations when verifypeer==0"
|
||
|
||
This reverts commit dc85437736e1fc90e689bb1f6c51c8f1aa9430eb.
|
||
|
||
libcurl (with the OpenSSL backend) performs server certificate verification
|
||
even if verifypeer == 0 and the verification result is available using
|
||
CURLINFO_SSL_VERIFYRESULT. The commit that is being reverted caused the
|
||
CURLINFO_SSL_VERIFYRESULT to not have useful information for the
|
||
verifypeer == 0 use case (it would always have
|
||
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY).
|
||
|
||
Closes #2451
|
||
|
||
- [Wyatt O'Day brought this change]
|
||
|
||
tls: fix mbedTLS 2.7.0 build + handle sha256 failures
|
||
|
||
(mbedtls 2.70 compiled with MBEDTLS_DEPRECATED_REMOVED)
|
||
|
||
Closes #2453
|
||
|
||
- [Lauri Kasanen brought this change]
|
||
|
||
cookie: case-insensitive hashing for the domains
|
||
|
||
closes #2458
|
||
|
||
Patrick Monnerat (4 Apr 2018)
|
||
- cookie: fix and optimize 2nd top level domain name extraction
|
||
|
||
This fixes a segfault occurring when a name of the (invalid) form "domain..tld"
|
||
is processed.
|
||
|
||
test46 updated to cover this case.
|
||
|
||
Follow-up to commit c990ead.
|
||
|
||
Ref: https://github.com/curl/curl/pull/2440
|
||
|
||
Daniel Stenberg (4 Apr 2018)
|
||
- openssl: provide defines for argument typecasts to build warning-free
|
||
|
||
... as OpenSSL >= 1.1.0 and libressl >= 2.7.0 use different argument types.
|
||
|
||
- [Bernard Spil brought this change]
|
||
|
||
openssl: fix build with LibreSSL 2.7
|
||
|
||
- LibreSSL 2.7 implements (most of) OpenSSL 1.1 API
|
||
|
||
Fixes #2319
|
||
Closes #2447
|
||
Closes #2448
|
||
|
||
Signed-off-by: Bernard Spil <brnrd@FreeBSD.org>
|
||
|
||
- [Lauri Kasanen brought this change]
|
||
|
||
cookie: store cookies per top-level-domain-specific hash table
|
||
|
||
This makes libcurl handle thousands of cookies much better and speedier.
|
||
|
||
Closes #2440
|
||
|
||
- [Lauri Kasanen brought this change]
|
||
|
||
cookies: when reading from a file, only remove_expired once
|
||
|
||
This drops the cookie load time for 8k cookies from 178ms to 15ms.
|
||
|
||
Closes #2441
|
||
|
||
- test1148: set a fixed locale for the test
|
||
|
||
...as otherwise it might use a different decimal sign.
|
||
|
||
Bug: #2436
|
||
Reported-by: Oumph on github
|
||
|
||
Jay Satiro (31 Mar 2018)
|
||
- docs: fix CURLINFO_*_T examples use of CURL_FORMAT_CURL_OFF_T
|
||
|
||
- Put a percent sign before each CURL_FORMAT_CURL_OFF_T in printf.
|
||
|
||
For example "%" CURL_FORMAT_CURL_OFF_T becomes %lld or similar.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-03/0140.html
|
||
Reported-by: David L.
|
||
|
||
Sergei Nikulov (27 Mar 2018)
|
||
- [Michał Janiszewski brought this change]
|
||
|
||
cmake: Add advapi32 as explicit link library for win32
|
||
|
||
ARM targets need advapi32 explicitly.
|
||
|
||
Closes #2363
|
||
|
||
Daniel Stenberg (27 Mar 2018)
|
||
- TODO: connection cache sharing is now supporte
|
||
|
||
Jay Satiro (26 Mar 2018)
|
||
- travis: enable apt retry on fail
|
||
|
||
This is a workaround for an unsolved travis issue that is causing CI
|
||
instances to sporadically fail due to 'unable to connect' issues during
|
||
apt stage.
|
||
|
||
Ref: https://github.com/travis-ci/travis-ci/issues/8507
|
||
Ref: https://github.com/travis-ci/travis-ci/issues/9112#issuecomment-376305909
|
||
|
||
Michael Kaufmann (26 Mar 2018)
|
||
- runtests.pl: fix warning 'use of uninitialized value'
|
||
|
||
follow-up to a9a7b60
|
||
|
||
Closes #2428
|
||
|
||
Daniel Stenberg (24 Mar 2018)
|
||
- gitignore: ignore more generated files
|
||
|
||
- threaded resolver: track resolver time and set suitable timeout values
|
||
|
||
In order to make curl_multi_timeout() return suitable "sleep" times even
|
||
when there's no socket to wait for while the name is being resolved in a
|
||
helper thread.
|
||
|
||
It will increases the timeouts as time passes.
|
||
|
||
Closes #2419
|
||
|
||
- [Howard Chu brought this change]
|
||
|
||
openldap: fix for NULL return from ldap_get_attribute_ber()
|
||
|
||
Closes #2399
|
||
|
||
GitHub (22 Mar 2018)
|
||
- [Sergei Nikulov brought this change]
|
||
|
||
travis-ci: enable -Werror for CMake builds (#2418)
|
||
|
||
- [Sergei Nikulov brought this change]
|
||
|
||
cmake: avoid warn-as-error during config checks (#2411)
|
||
|
||
- Move the CURL_WERROR option processing after the configuration checks
|
||
to avoid failures in case of warnings during the configuration checks.
|
||
|
||
This is a partial fix for #2358
|
||
|
||
- [Sergei Nikulov brought this change]
|
||
|
||
timeval: remove compilation warning by casting (#2417)
|
||
|
||
This is fixes #2358
|
||
|
||
Daniel Stenberg (22 Mar 2018)
|
||
- http2: read pending frames (including GOAWAY) in connection-check
|
||
|
||
If a connection has received a GOAWAY frame while not being used, the
|
||
function now reads frames off the connection before trying to reuse it
|
||
to avoid reusing connections the server has told us not to use.
|
||
|
||
Reported-by: Alex Baines
|
||
Fixes #1967
|
||
Closes #2402
|
||
|
||
- [Bas van Schaik brought this change]
|
||
|
||
CI: add lgtm.yml for tweaking lgtm.com analysis
|
||
|
||
Closes #2414
|
||
|
||
- CURLINFO_SSL_VERIFYRESULT.3: fix the example, add some text
|
||
|
||
Reported-by: Michal Trybus
|
||
|
||
Fixes #2400
|
||
|
||
- TODO: expand ~/ in config files
|
||
|
||
Closes #2317
|
||
|
||
- cookie.d: mention that "-" as filename means stdin
|
||
|
||
Reported-by: Dongliang Mu
|
||
Fixes #2410
|
||
|
||
- CURLINFO_COOKIELIST.3: made the example not leak memory
|
||
|
||
Reported-by: Muz Dima
|
||
|
||
- vauth/cleartext: fix integer overflow check
|
||
|
||
Make the integer overflow check not rely on the undefined behavior that
|
||
a size_t wraps around on overflow.
|
||
|
||
Detected by lgtm.com
|
||
Closes #2408
|
||
|
||
- lib/curl_path.h: add #ifdef header guard
|
||
|
||
Detected by lgtm.com
|
||
|
||
- vauth/ntlm.h: fix the #ifdef header guard
|
||
|
||
Detected by lgtm.com
|
||
|
||
Jay Satiro (20 Mar 2018)
|
||
- examples/hiperfifo: checksrc compliance
|
||
|
||
Daniel Stenberg (19 Mar 2018)
|
||
- [Nikos Tsipinakis brought this change]
|
||
|
||
parsedate: support UT timezone
|
||
|
||
RFC822 section 5.2 mentions Universal Time, 'UT', to be synonymous with
|
||
GMT.
|
||
|
||
Closes #2401
|
||
|
||
- RELEASE-NOTES: synced
|
||
|
||
- [Don brought this change]
|
||
|
||
cmake: add support for brotli
|
||
|
||
Currently CMake cannot detect Brotli support. This adds detection of the
|
||
libraries and associated header files. It also adds this to the
|
||
generated config.
|
||
|
||
Closes #2392
|
||
|
||
- [Chris Araman brought this change]
|
||
|
||
darwinssl: fix iOS build
|
||
|
||
Patrick Monnerat (18 Mar 2018)
|
||
- ILE/RPG binding: Add CURLOPT_HAPROXYPROTOCOL/Fix CURLOPT_DNS_SHUFFLE_ADDRESSES
|
||
|
||
Daniel Stenberg (17 Mar 2018)
|
||
- [Rick Deist brought this change]
|
||
|
||
resolve: add CURLOPT_DNS_SHUFFLE_ADDRESSES
|
||
|
||
This patch adds CURLOPT_DNS_SHUFFLE_ADDRESSES to explicitly request
|
||
shuffling of IP addresses returned for a hostname when there is more
|
||
than one. This is useful when the application knows that a round robin
|
||
approach is appropriate and is willing to accept the consequences of
|
||
potentially discarding some preference order returned by the system's
|
||
implementation.
|
||
|
||
Closes #1694
|
||
|
||
- add_handle/easy_perform: clear errorbuffer on start if set
|
||
|
||
To offer applications a more defined behavior, we clear the buffer as
|
||
early as possible.
|
||
|
||
Assisted-by: Jay Satiro
|
||
|
||
Fixes #2190
|
||
Closes #2377
|
||
|
||
- [Lawrence Matthews brought this change]
|
||
|
||
CURLOPT_HAPROXYPROTOCOL: support the HAProxy PROXY protocol
|
||
|
||
Add --haproxy-protocol for the command line tool
|
||
|
||
Closes #2162
|
||
|
||
- curl_version_info.3: fix ssl_version description
|
||
|
||
Reported-by: Vincas Razma
|
||
Fixes #2364
|
||
|
||
- multi: improved pending transfers handling => improved performance
|
||
|
||
When a transfer is requested to get done and it is put in the pending
|
||
queue when limited by number of connections, total or per-host, libcurl
|
||
would previously very aggressively retry *ALL* pending transfers to get
|
||
them transferring. That was very time consuming.
|
||
|
||
By reducing the aggressiveness in how pending are being retried, we
|
||
waste MUCH less time on putting transfers back into pending again.
|
||
|
||
Some test cases got a factor 30(!) speed improvement with this change.
|
||
|
||
Reported-by: Cyril B
|
||
Fixes #2369
|
||
Closes #2383
|
||
|
||
- pause: when changing pause state, update socket state
|
||
|
||
Especially unpausing a transfer might have to move the socket back to the
|
||
"currently used sockets" hash to get monitored. Otherwise it would never get
|
||
any more data and get stuck. Easily triggered with pausing using the
|
||
multi_socket API.
|
||
|
||
Reported-by: Philip Prindeville
|
||
Bug: https://curl.haxx.se/mail/lib-2018-03/0048.html
|
||
Fixes #2393
|
||
Closes #2391
|
||
|
||
- [Philip Prindeville brought this change]
|
||
|
||
examples/hiperfifo.c: improved
|
||
|
||
* use member struct event’s instead of pointers to alloc’d struct
|
||
events
|
||
|
||
* simplify the cases for the mcode_or_die() function via macros;
|
||
|
||
* make multi_timer_cb() actually do what the block comment says it
|
||
should;
|
||
|
||
* accept a “stop” command on the FIFO to shut down the service;
|
||
|
||
* use cleaner notation for unused variables than the (void) hack;
|
||
|
||
* allow following redirections (304’s);
|
||
|
||
- rate-limit: use three second window to better handle high speeds
|
||
|
||
Due to very frequent updates of the rate limit "window", it could
|
||
attempt to rate limit within the same milliseconds and that then made
|
||
the calculations wrong, leading to it not behaving correctly on very
|
||
fast transfers.
|
||
|
||
This new logic updates the rate limit "window" to be no shorter than the
|
||
last three seconds and only updating the timestamps for this when
|
||
switching between the states TOOFAST/PERFORM.
|
||
|
||
Reported-by: 刘佩东
|
||
Fixes #2386
|
||
Closes #2388
|
||
|
||
- [luz.paz brought this change]
|
||
|
||
cleanup: misc typos in strings and comments
|
||
|
||
Found via `codespell`
|
||
|
||
Closes #2389
|
||
|
||
- RELEASE-NOTES: toward 7.60.0
|
||
|
||
- [Kobi Gurkan brought this change]
|
||
|
||
http2: fixes typo
|
||
|
||
Closes #2387
|
||
|
||
- user-agent.d:: mention --proxy-header as well
|
||
|
||
Bug: https://github.com/curl/curl/issues/2381
|
||
|
||
- transfer: make HTTP without headers count correct body size
|
||
|
||
This is what "HTTP/0.9" basically looks like.
|
||
|
||
Reported on IRC
|
||
|
||
Closes #2382
|
||
|
||
- test1208: marked flaky
|
||
|
||
It fails somewhere between every 3rd to 10th travis-CI run
|
||
|
||
- SECURITY-PROCESS: mention how we write/add advisories
|
||
|
||
- [dasimx brought this change]
|
||
|
||
FTP: fix typo in recursive callback detection for seeking
|
||
|
||
Fixes #2380
|
||
|
||
Version 7.59.0 (13 Mar 2018)
|
||
|
||
Daniel Stenberg (13 Mar 2018)
|
||
- release: 7.59.0
|
||
|
||
Kamil Dudka (13 Mar 2018)
|
||
- tests/.../spnego.py: fix identifier typo
|
||
|
||
Detected by Coverity Analysis:
|
||
|
||
Error: IDENTIFIER_TYPO:
|
||
curl-7.58.0/tests/python_dependencies/impacket/spnego.py:229: identifier_typo: Using "SuportedMech" appears to be a typo:
|
||
* Identifier "SuportedMech" is only known to be referenced here, or in copies of this code.
|
||
* Identifier "SupportedMech" is referenced elsewhere at least 4 times.
|
||
curl-7.58.0/tests/python_dependencies/impacket/smbserver.py:2651: identifier_use: Example 1: Using identifier "SupportedMech".
|
||
curl-7.58.0/tests/python_dependencies/impacket/smbserver.py:2308: identifier_use: Example 2: Using identifier "SupportedMech".
|
||
curl-7.58.0/tests/python_dependencies/impacket/spnego.py:252: identifier_use: Example 3: Using identifier "SupportedMech" (2 total uses in this function).
|
||
curl-7.58.0/tests/python_dependencies/impacket/spnego.py:229: remediation: Should identifier "SuportedMech" be replaced by "SupportedMech"?
|
||
|
||
Closes #2379
|
||
|
||
Daniel Stenberg (13 Mar 2018)
|
||
- CURLOPT_COOKIEFILE.3: "-" as file name means stdin
|
||
|
||
Reported-by: Aron Bergman
|
||
Bug: https://curl.haxx.se/mail/lib-2018-03/0049.html
|
||
|
||
[ci skip]
|
||
|
||
- Revert "hostip: fix compiler warning: 'variable set but not used'"
|
||
|
||
This reverts commit a577059f92fc65bd6b81717f0737f897a5b34248.
|
||
|
||
The assignment really needs to be there or we risk working with an
|
||
uninitialized pointer.
|
||
|
||
Michael Kaufmann (12 Mar 2018)
|
||
- limit-rate: fix compiler warning
|
||
|
||
follow-up to 72a0f62
|
||
|
||
Viktor Szakats (12 Mar 2018)
|
||
- checksrc.pl: add -i and -m options
|
||
|
||
To sync it with changes made for the libssh2 project.
|
||
Also cleanup some whitespace.
|
||
|
||
- curl-openssl.m4: fix spelling [ci skip]
|
||
|
||
- FAQ: fix a broken URL [ci skip]
|
||
|
||
Daniel Stenberg (12 Mar 2018)
|
||
- http2: mark the connection for close on GOAWAY
|
||
|
||
... don't consider it an error!
|
||
|
||
Assisted-by: Jay Satiro
|
||
Reported-by: Łukasz Domeradzki
|
||
Fixes #2365
|
||
Closes #2375
|
||
|
||
- credits: Viktor prefers without accent
|
||
|
||
- openldap: white space changes, fixed up the copyright years
|
||
|
||
- openldap: check ldap_get_attribute_ber() results for NULL before using
|
||
|
||
CVE-2018-1000121
|
||
Reported-by: Dario Weisser
|
||
Bug: https://curl.haxx.se/docs/adv_2018-97a2.html
|
||
|
||
- FTP: reject path components with control codes
|
||
|
||
Refuse to operate when given path components featuring byte values lower
|
||
than 32.
|
||
|
||
Previously, inserting a %00 sequence early in the directory part when
|
||
using the 'singlecwd' ftp method could make curl write a zero byte
|
||
outside of the allocated buffer.
|
||
|
||
Test case 340 verifies.
|
||
|
||
CVE-2018-1000120
|
||
Reported-by: Duy Phan Thanh
|
||
Bug: https://curl.haxx.se/docs/adv_2018-9cd6.html
|
||
|
||
- readwrite: make sure excess reads don't go beyond buffer end
|
||
|
||
CVE-2018-1000122
|
||
Bug: https://curl.haxx.se/docs/adv_2018-b047.html
|
||
|
||
Detected by OSS-fuzz
|
||
|
||
- BUGS: updated link to security process
|
||
|
||
- limit-rate: kick in even before "limit" data has been received
|
||
|
||
... and make sure to avoid integer overflows with really large values.
|
||
|
||
Reported-by: 刘佩东
|
||
Fixes #2371
|
||
Closes #2373
|
||
|
||
- docs/SECURITY.md -> docs/SECURITY-PROCESS.md
|
||
|
||
- SECURITY.md: call it the security process
|
||
|
||
Michael Kaufmann (11 Mar 2018)
|
||
- Curl_range: fix FTP-only and FILE-only builds
|
||
|
||
follow-up to e04417d
|
||
|
||
- hostip: fix compiler warning: 'variable set but not used'
|
||
|
||
Daniel Stenberg (11 Mar 2018)
|
||
- HTTP: allow "header;" to replace an internal header with a blank one
|
||
|
||
Reported-by: Michael Kaufmann
|
||
Fixes #2357
|
||
Closes #2362
|
||
|
||
- http2: verbose output new MAX_CONCURRENT_STREAMS values
|
||
|
||
... as it is interesting for many users.
|
||
|
||
- SECURITY: distros' max embargo time is 14 days now
|
||
|
||
Patrick Monnerat (8 Mar 2018)
|
||
- curl tool: accept --compressed also if Brotli is enabled and zlib is not.
|
||
|
||
Daniel Stenberg (5 Mar 2018)
|
||
- THANKS + mailmap: remove duplicates, fixup full names
|
||
|
||
- [sergii.kavunenko brought this change]
|
||
|
||
WolfSSL: adding TLSv1.3
|
||
|
||
Closes #2349
|
||
|
||
- RELEASE-NOTES/THANKS: synced with cc1d4c505
|
||
|
||
- [Richard Alcock brought this change]
|
||
|
||
winbuild: prefer documented zlib library names
|
||
|
||
Check for existence of import and static libraries with documented names
|
||
and use them if they do. Fallback to previous names.
|
||
|
||
According to
|
||
https://github.com/madler/zlib/blob/master/win32/README-WIN32.txt on
|
||
Windows, the names of the import library is "zdll.lib" and static
|
||
library is "zlib.lib".
|
||
|
||
closes #2354
|
||
|
||
Marcel Raad (4 Mar 2018)
|
||
- krb5: use nondeprecated functions
|
||
|
||
gss_seal/gss_unseal have been deprecated in favor of
|
||
gss_wrap/gss_unwrap with GSS-API v2 from January 1997 [1]. The first
|
||
version of "The Kerberos Version 5 GSS-API Mechanism" [2] from June
|
||
1996 already says "GSS_Wrap() (formerly GSS_Seal())" and
|
||
"GSS_Unwrap() (formerly GSS_Unseal())".
|
||
|
||
Use the nondeprecated functions to avoid deprecation warnings.
|
||
|
||
[1] https://tools.ietf.org/html/rfc2078
|
||
[2] https://tools.ietf.org/html/rfc1964
|
||
|
||
Closes https://github.com/curl/curl/pull/2356
|
||
|
||
Daniel Stenberg (4 Mar 2018)
|
||
- curl.1: mention how to add numerical IP addresses in NO_PROXY
|
||
|
||
- CURLOPT_NOPROXY.3: mention how to list numerical IPv6 addresses
|
||
|
||
- NO_PROXY: fix for IPv6 numericals in the URL
|
||
|
||
Added test 1265 that verifies.
|
||
|
||
Reported-by: steelman on github
|
||
Fixes #2353
|
||
Closes #2355
|
||
|
||
- build: get CFLAGS (including -werror) used for examples and tests
|
||
|
||
... so that the CI and more detects compiler warnings/errors properly!
|
||
|
||
Closes #2337
|
||
|
||
Marcel Raad (3 Mar 2018)
|
||
- curl_ctype: fix macro redefinition warnings
|
||
|
||
On MinGW and Cygwin, GCC and clang have been complaining about macro
|
||
redefinitions since 4272a0b0fc49a1ac0ceab5c4a365c9f6ab8bf8e2. Fix this
|
||
by undefining the macros before redefining them as suggested in
|
||
https://github.com/curl/curl/pull/2269.
|
||
|
||
Suggested-by: Daniel Stenberg
|
||
|
||
Dan Fandrich (2 Mar 2018)
|
||
- unit1307: proper cleanup on OOM to fix torture tests
|
||
|
||
Marcel Raad (28 Feb 2018)
|
||
- unit1309: fix warning on Windows x64
|
||
|
||
When targeting x64, MinGW-w64 complains about conversions between
|
||
32-bit long and 64-bit pointers. Fix this by reusing the
|
||
GNUTLS_POINTER_TO_SOCKET_CAST / GNUTLS_SOCKET_TO_POINTER_CAST logic
|
||
from gtls.c, moving it to warnless.h as CURLX_POINTER_TO_INTEGER_CAST /
|
||
CURLX_INTEGER_TO_POINTER_CAST.
|
||
|
||
Closes https://github.com/curl/curl/pull/2341
|
||
|
||
- travis: update compiler versions
|
||
|
||
Update clang to version 3.9 and GCC to version 6.
|
||
|
||
Closes https://github.com/curl/curl/pull/2345
|
||
|
||
Daniel Stenberg (26 Feb 2018)
|
||
- docs/MANUAL: formfind.pl is not accessible on the site anymore
|
||
|
||
Fixes #2342
|
||
|
||
Jay Satiro (24 Feb 2018)
|
||
- curl-openssl.m4: Fix version check for OpenSSL 1.1.1
|
||
|
||
- Add OpenSSL 1.1.1 to the header/library version lists.
|
||
|
||
- Detect OpenSSL 1.1.1 library using its function ERR_clear_last_mark,
|
||
which was added in that version.
|
||
|
||
Prior to this change an erroneous header/library mismatch was caused by
|
||
lack of OpenSSL 1.1.1 detection. I tested using openssl-1.1.1-pre1.
|
||
|
||
Viktor Szakats (23 Feb 2018)
|
||
- lib655: silence compiler warning
|
||
|
||
Closes https://github.com/curl/curl/pull/2335
|
||
|
||
- spelling fixes
|
||
|
||
Detected using the `codespell` tool.
|
||
|
||
Also contains one URL protocol upgrade.
|
||
|
||
Closes https://github.com/curl/curl/pull/2334
|
||
|
||
Daniel Stenberg (24 Feb 2018)
|
||
- projects/README: remove reference to dead IDN link/package
|
||
|
||
Reported-by: Stefan Kanthak and Rod Widdowson
|
||
|
||
Fixes #2325
|
||
|
||
Jay Satiro (23 Feb 2018)
|
||
- [Rod Widdowson brought this change]
|
||
|
||
winbuild: Use macros for the names of some build utilities
|
||
|
||
- Add macros to the top of the makefile for rc and mt utilities so that
|
||
it is easier to change their locations.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-02/0075.html
|
||
Reported-by: Stefan Kanthak
|
||
|
||
Closes https://github.com/curl/curl/issues/2329
|
||
|
||
Daniel Stenberg (23 Feb 2018)
|
||
- TODO: remove "sha-256 digest", added in 2b5b37cb9109e7c2
|
||
|
||
- curl_share_setopt.3: connection cache is shared within multi handles
|
||
|
||
Jay Satiro (22 Feb 2018)
|
||
- [Rod Widdowson brought this change]
|
||
|
||
winbuild: Use CALL to run batch scripts
|
||
|
||
Co-authored-by: Stefan Kanthak
|
||
|
||
Closes https://github.com/curl/curl/issues/2330
|
||
Closes https://github.com/curl/curl/pull/2331
|
||
|
||
Patrick Monnerat (22 Feb 2018)
|
||
- os400: add curl_resolver_start_callback type to ILE/RPG binding
|
||
|
||
Daniel Stenberg (22 Feb 2018)
|
||
- form.d: rephrased somewhat, added two example command lines
|
||
|
||
Jay Satiro (21 Feb 2018)
|
||
- [Francisco Sedano brought this change]
|
||
|
||
url: Add option CURLOPT_RESOLVER_START_FUNCTION
|
||
|
||
- Add new option CURLOPT_RESOLVER_START_FUNCTION to set a callback that
|
||
will be called every time before a new resolve request is started
|
||
(ie before a host is resolved) with a pointer to backend-specific
|
||
resolver data. Currently this is only useful for ares.
|
||
|
||
- Add new option CURLOPT_RESOLVER_START_DATA to set a user pointer to
|
||
pass to the resolver start callback.
|
||
|
||
Closes https://github.com/curl/curl/pull/2311
|
||
|
||
- lib: CURLOPT_HAPPY_EYEBALLS_TIMEOUT => CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
|
||
|
||
- In keeping with the naming of our other connect timeout options rename
|
||
CURLOPT_HAPPY_EYEBALLS_TIMEOUT to CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.
|
||
|
||
This change adds the _MS suffix since the option expects milliseconds.
|
||
This is more intuitive for our users since other connect timeout options
|
||
that expect milliseconds use _MS such as CURLOPT_TIMEOUT_MS,
|
||
CURLOPT_CONNECTTIMEOUT_MS, CURLOPT_ACCEPTTIMEOUT_MS.
|
||
|
||
The tool option already uses an -ms suffix, --happy-eyeballs-timeout-ms.
|
||
|
||
Follow-up to 2427d94 which added the lib and tool option yesterday.
|
||
|
||
Ref: https://github.com/curl/curl/pull/2260
|
||
|
||
Patrick Monnerat (21 Feb 2018)
|
||
- sasl: prefer PLAIN mechanism over LOGIN
|
||
|
||
SASL PLAIN is a standard, LOGIN only a draft. The LOGIN draft says
|
||
PLAIN should be used instead if available.
|
||
|
||
Daniel Stenberg (21 Feb 2018)
|
||
- RELEASE-NOTES: synced with 2427d94c6
|
||
|
||
Jay Satiro (20 Feb 2018)
|
||
- [Anders Bakken brought this change]
|
||
|
||
url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT
|
||
|
||
- Add new option CURLOPT_HAPPY_EYEBALLS_TIMEOUT to set libcurl's happy
|
||
eyeball timeout value.
|
||
|
||
- Add new optval macro CURL_HET_DEFAULT to represent the default happy
|
||
eyeballs timeout value (currently 200 ms).
|
||
|
||
- Add new tool option --happy-eyeballs-timeout-ms to expose
|
||
CURLOPT_HAPPY_EYEBALLS_TIMEOUT. The -ms suffix is used because the
|
||
other -timeout options in the tool expect seconds not milliseconds.
|
||
|
||
Closes https://github.com/curl/curl/pull/2260
|
||
|
||
- hostip: fix 'potentially uninitialized variable' warning
|
||
|
||
Follow-up to 50d1b33.
|
||
|
||
Caught by AppVeyor.
|
||
|
||
Daniel Stenberg (20 Feb 2018)
|
||
- TODO: warning if curl version is not in sync with libcurl version
|
||
|
||
Jay Satiro (20 Feb 2018)
|
||
- [Anders Bakken brought this change]
|
||
|
||
CURLOPT_RESOLVE: Add support for multiple IP addresses per entry
|
||
|
||
This enables users to preresolve but still take advantage of happy
|
||
eyeballs and trying multiple addresses if some are not connecting.
|
||
|
||
Ref: https://github.com/curl/curl/pull/2260
|
||
|
||
Daniel Stenberg (20 Feb 2018)
|
||
- [Sergio Borghese brought this change]
|
||
|
||
examples/sftpuploadresume: resume upload via CURLOPT_APPEND
|
||
|
||
URL: https://curl.haxx.se/mail/lib-2018-02/0072.html
|
||
|
||
- curl --version: show PSL if the run-time lib has it enabled
|
||
|
||
... not of the #define was set at build-time!
|
||
|
||
- TODO: "Support in-memory certs/ca certs/keys"
|
||
|
||
removed SSLKEYLOGFILE support (fixed)
|
||
|
||
removed "consider SSL patches" (outdated)
|
||
|
||
Closes #2310
|
||
|
||
- CURLOPT_HEADER.3: clarify problems with different data sizes
|
||
|
||
- test1556: verify >16KB headers to the header callback
|
||
|
||
- header callback: don't chop headers into smaller pieces
|
||
|
||
Reported-by: Guido Berhoerster
|
||
Fixes #2314
|
||
Closes #2316
|
||
|
||
- test1154: verify that long HTTP headers get rejected
|
||
|
||
- http: fix the max header length detection logic
|
||
|
||
Previously, it would only check for max length if the existing alloc
|
||
buffer was to small to fit it, which often would make the header still
|
||
get used.
|
||
|
||
Reported-by: Guido Berhoerster
|
||
Bug: https://curl.haxx.se/mail/lib-2018-02/0056.html
|
||
|
||
Closes #2315
|
||
|
||
- CURLOPT_HEADERFUNCTION.3: fix typo from d939226813
|
||
|
||
Reported-by: Erik Johansson
|
||
Bug: https://github.com/curl/curl/commit/d9392268131c1b8d18dec3fa30e0bded833a5db7#commitcomment-27607495
|
||
|
||
- CURLOPT_HEADERFUNCTION.3: mention folded headers
|
||
|
||
- TODO: 1.1 Option to refuse usernames in URLs
|
||
|
||
Also expanded the CURL_REFUSE_CLEARTEXT section with more ideas.
|
||
|
||
- TODO: 1.7 Support HTTP/2 for HTTP(S) proxies
|
||
|
||
- ssh: add two missing state names
|
||
|
||
The list of state names (used in debug builds) was out of sync in
|
||
relation to the list of states (used in all builds).
|
||
|
||
I now added an assert to make sure the sizes of the two lists match, to
|
||
aid in detecting this mistake better in the future.
|
||
|
||
Regression since c92d2e14cf, shipped in 7.58.0.
|
||
|
||
Reported-by: Somnath Kundu
|
||
|
||
Fixes #2312
|
||
Closes #2313
|
||
|
||
- Revert "KNOWN_BUGS: 2.5 curl should not offer "ALPN: h2" when using https-proxy"
|
||
|
||
This reverts commit de9fac00c40db321d44fa6fbab6eb62ec4c83998.
|
||
|
||
Reported-by: Jay Satiro
|
||
|
||
Jay Satiro (15 Feb 2018)
|
||
- non-ascii: fix implicit declaration warning
|
||
|
||
Follow-up to b46cfbc.
|
||
|
||
Caught by Travis CI.
|
||
|
||
Daniel Stenberg (15 Feb 2018)
|
||
- travis: add build with iconv enabled
|
||
|
||
... to verify it builds and works fine.
|
||
|
||
Ref: https://curl.haxx.se/mail/lib-2017-09/0031.html
|
||
|
||
Closes #1872
|
||
|
||
- TODO: 18.18 retry on network is unreachable
|
||
|
||
Closes #1603
|
||
|
||
- KNOWN_BUGS: 2.5 curl should not offer "ALPN: h2" when using https-proxy
|
||
|
||
Closes #1254
|
||
|
||
Kamil Dudka (15 Feb 2018)
|
||
- nss: use PK11_CreateManagedGenericObject() if available
|
||
|
||
... so that the memory allocated by applications using libcurl does not
|
||
grow per each TLS connection.
|
||
|
||
Bug: https://bugzilla.redhat.com/1510247
|
||
|
||
Closes #2297
|
||
|
||
Daniel Stenberg (15 Feb 2018)
|
||
- [Björn Stenberg brought this change]
|
||
|
||
TODO fixed: Detect when called from within callbacks
|
||
|
||
Closes #2302
|
||
|
||
- BINDINGS: fix curb link (and remove ruby-curl-multi)
|
||
|
||
Reported-by: Klaus Stein
|
||
|
||
- curl_gssapi: make sure this file too uses our *printf()
|
||
|
||
- libcurl-security.3: separate file:// section
|
||
|
||
... just to make it more apparent. Even if it repeats
|
||
some pieces of information.
|
||
|
||
- libcurl-security.3: the http://192.168.0.1/my_router_config case
|
||
|
||
Mentioned-By: Rich Moore
|
||
|
||
- libcurl-security.3: mention the URL standards problems too
|
||
|
||
- libcurl-security.3: split out from libcurl-tutorial.3
|
||
|
||
To make more accessible.
|
||
|
||
Merged in some new language from "URLs are dangerous things" as discussed on
|
||
the mailing list a few days ago:
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-02/0013.html
|
||
|
||
- RELEASE-NOTES: synced with e551910f8
|
||
|
||
Patrick Monnerat (13 Feb 2018)
|
||
- tests: new tests for http raw mode
|
||
|
||
Test 319 checks proper raw mode data with non-chunked gzip
|
||
transfer-encoded server data.
|
||
Test 326 checks raw mode with chunked server data.
|
||
|
||
Bug: #2303
|
||
Closes #2308
|
||
|
||
Kamil Dudka (12 Feb 2018)
|
||
- tlsauthtype.d: works only if libcurl is built with TLS-SRP support
|
||
|
||
Bug: https://bugzilla.redhat.com/1542256
|
||
|
||
Closes #2306
|
||
|
||
Patrick Monnerat (12 Feb 2018)
|
||
- smtp: fix processing of initial dot in data
|
||
|
||
RFC 5321 4.1.1.4 specifies the CRLF terminating the DATA command
|
||
should be taken into account when chasing the <CRLF>.<CRLF> end marker.
|
||
Thus a leading dot character in data is also subject to escaping.
|
||
|
||
Tests 911 and test server are adapted to this situation.
|
||
New tests 951 and 952 check proper handling of initial dot in data.
|
||
|
||
Closes #2304
|
||
|
||
Daniel Stenberg (12 Feb 2018)
|
||
- sha256: avoid redefine
|
||
|
||
- [Douglas Mencken brought this change]
|
||
|
||
sha256: build with OpenSSL < 0.9.8 too
|
||
|
||
support for SHA-2 was introduced in OpenSSL 0.9.8
|
||
|
||
Closes #2305
|
||
|
||
- [Bruno Grasselli brought this change]
|
||
|
||
README: language fix
|
||
|
||
s/off/from
|
||
|
||
Closes #2300
|
||
|
||
Patrick Monnerat (12 Feb 2018)
|
||
- http_chunks: don't write chunks twice with CURLOPT_HTTP_TRANSFER_DECODING on
|
||
|
||
Bug: #2303
|
||
Reported-By: Henry Roeland
|
||
|
||
Daniel Stenberg (9 Feb 2018)
|
||
- get_posix_time: only check for overflows if they can happen!
|
||
|
||
Michael Kaufmann (9 Feb 2018)
|
||
- schannel: fix "no previous prototype" compiler warning
|
||
|
||
Jay Satiro (9 Feb 2018)
|
||
- [Mohammad AlSaleh brought this change]
|
||
|
||
content_encoding: Add "none" alias to "identity"
|
||
|
||
Some servers return a "content-encoding" header with a non-standard
|
||
"none" value.
|
||
|
||
Add "none" as an alias to "identity" as a work-around, to avoid
|
||
unrecognised content encoding type errors.
|
||
|
||
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
|
||
|
||
Closes https://github.com/curl/curl/pull/2298
|
||
|
||
Steve Holme (8 Feb 2018)
|
||
- build-openssl.bat: Follow up to 648679ab8e to suppress copy/move output
|
||
|
||
- build-openssl.bat: Fixed incorrect move if destination build folder exists
|
||
|
||
Michael Kaufmann (8 Feb 2018)
|
||
- schannel: fix compiler warnings
|
||
|
||
Closes #2296
|
||
|
||
Steve Holme (7 Feb 2018)
|
||
- curl_addrinfo.c: Allow Unix Domain Sockets to compile under Windows
|
||
|
||
Windows 10.0.17061 SDK introduces support for Unix Domain Sockets.
|
||
Added the necessary include file to curl_addrinfo.c.
|
||
|
||
Note: The SDK (which is considered beta) has to be installed, VS 2017
|
||
project file has to be re-targeted for Windows 10.0.17061 and #define
|
||
enabled in config-win32.h.
|
||
|
||
Patrick Monnerat (7 Feb 2018)
|
||
- fnmatch: optimize processing of consecutive *s and ?s pattern characters
|
||
|
||
Reported-By: Daniel Stenberg
|
||
Fixes #2291
|
||
Closes #2293
|
||
|
||
Steve Holme (6 Feb 2018)
|
||
- build-openssl.bat/build-wolfssl.bat: Build platform is optional
|
||
|
||
Whilst the compiler parameter is mandatory, platform is optional as it
|
||
is automatically calculated by the :configure section.
|
||
|
||
This partially reverts commit 6d62d2c55d.
|
||
|
||
Daniel Stenberg (6 Feb 2018)
|
||
- [Patrick Schlangen brought this change]
|
||
|
||
openssl: Don't add verify locations when verifypeer==0
|
||
|
||
When peer verification is disabled, calling
|
||
SSL_CTX_load_verify_locations is not necessary. Only call it when
|
||
verification is enabled to save resources and increase performance.
|
||
|
||
Closes #2290
|
||
|
||
Steve Holme (5 Feb 2018)
|
||
- build-wolfssl.bat: Extend VC15 support to include Enterprise and Professional
|
||
|
||
...and not just the Community Edition.
|
||
|
||
- build-openssl.bat: Extend VC15 support to include Enterprise and Professional
|
||
|
||
...and not just the Community Edition.
|
||
|
||
Michael Kaufmann (5 Feb 2018)
|
||
- time-cond: fix reading the file modification time on Windows
|
||
|
||
On Windows, stat() may adjust the unix file time by a daylight saving time
|
||
offset. Avoid this by calling GetFileTime() instead.
|
||
|
||
Fixes #2164
|
||
Closes #2204
|
||
|
||
Daniel Stenberg (5 Feb 2018)
|
||
- formdata: use the mime-content type function
|
||
|
||
Reduce code duplication by making Curl_mime_contenttype available and
|
||
used by the formdata function. This also makes the formdata function
|
||
recognize a set of more file extensions by default.
|
||
|
||
PR #2280 brought this to my attention.
|
||
|
||
Closes #2282
|
||
|
||
- getdate: return -1 for out of range
|
||
|
||
...as that's how the function is documented to work.
|
||
|
||
Reported-by: Michael Kaufmann
|
||
Bug found in an autobuild with 32 bit time_t
|
||
|
||
Closes #2278
|
||
|
||
- [Ben Greear brought this change]
|
||
|
||
build: fix termios issue on android cross-compile
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-01/0122.html
|
||
Signed-off-by: Ben Greear <greearb@candelatech.com>
|
||
|
||
- time_t-fixes: remove typecasts to 'long' for info.filetime
|
||
|
||
They're now wrong.
|
||
|
||
Reported-by: Michael Kaufmann
|
||
|
||
Closes #2277
|
||
|
||
- curl_setup: move the precautionary define of SIZEOF_TIME_T
|
||
|
||
... up to before it may be used for the TIME_T_MAX/MIN logic.
|
||
|
||
Reported-by: Michael Kaufmann
|
||
|
||
- parsedate: s/#if/#ifdef
|
||
|
||
Reported-by: Michael Kaufmann
|
||
Bug: https://github.com/curl/curl/commit/1c39128d974666107fc6d9ea15f294036851f224#commitcomment-27246479
|
||
|
||
Patrick Monnerat (31 Jan 2018)
|
||
- fnmatch: pattern syntax can no longer fail
|
||
|
||
Whenever an expected pattern syntax rule cannot be matched, the
|
||
character starting the rule loses its special meaning and the parsing
|
||
is resumed:
|
||
- backslash at the end of pattern string matches itself.
|
||
- Error in [:keyword:] results in set containing :\[dekorwy.
|
||
|
||
Unit test 1307 updated for this new situation.
|
||
|
||
Closes #2273
|
||
|
||
- fnmatch: accept an alphanum to be followed by a non-alphanum in char set
|
||
|
||
Also be more tolerant about set pattern syntax.
|
||
Update unit test 1307 accordingly.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-01/0114.html
|
||
|
||
- fnmatch: do not match the empty string with a character set
|
||
|
||
Jay Satiro (30 Jan 2018)
|
||
- build: fix windows build methods for curl_ctype.c
|
||
|
||
- Fix winbuild and the VS project generator to treat curl_ctype.{c,h} as
|
||
curlx files since they are required by both src and lib.
|
||
|
||
Follow-up to 4272a0b which added curl_ctype.
|
||
|
||
Daniel Stenberg (30 Jan 2018)
|
||
- progress-bar.d: update to match implementation
|
||
|
||
... since commit 993dd5651a6
|
||
|
||
Reported-by: Martin Dreher
|
||
Bug: https://github.com/curl/curl/pull/2242#issuecomment-361059228
|
||
|
||
Closes #2271
|
||
|
||
- http2: set DEBUG_HTTP2 to enable more HTTP/2 logging
|
||
|
||
... instead of doing it unconditionally in debug builds. It cluttered up
|
||
the output a little too much.
|
||
|
||
- [Max Dymond brought this change]
|
||
|
||
file: Check the return code from Curl_range and bail out on error
|
||
|
||
- [Max Dymond brought this change]
|
||
|
||
Curl_range: add check to ensure "from <= to"
|
||
|
||
- [Max Dymond brought this change]
|
||
|
||
Curl_range: commonize FTP and FILE range handling
|
||
|
||
Closes #2205
|
||
|
||
- RELEASE-NOTES: synced with 811beab9f
|
||
|
||
- curlver: next release will be 7.59.0
|
||
|
||
- [Michał Janiszewski brought this change]
|
||
|
||
curl/curl.h: fix comment typo for CURLOPT_DNS_LOCAL_IP6
|
||
|
||
Closes #2275
|
||
|
||
- time: support > year 2038 time stamps for system with 32bit long
|
||
|
||
... with the introduction of CURLOPT_TIMEVALUE_LARGE and
|
||
CURLINFO_FILETIME_T.
|
||
|
||
Fixes #2238
|
||
Closes #2264
|
||
|
||
- curl_easy_reset: clear digest auth state
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-01/0074.html
|
||
Reported-by: Ruurd Beerstra
|
||
Fixes #2255
|
||
Closes #2272
|
||
|
||
- [Adam Marcionek brought this change]
|
||
|
||
winbuild: make linker generate proper PDB
|
||
|
||
Link.exe requires /DEBUG to properly generate a full pdb file on release
|
||
builds.
|
||
|
||
Closes #2274
|
||
|
||
- curl: add --proxy-pinnedpubkey
|
||
|
||
To verify a proxy's public key. For when using HTTPS proxies.
|
||
|
||
Fixes #2192
|
||
Closes #2268
|
||
|
||
- configure: set PATH_SEPARATOR to colon for PATH w/o separator
|
||
|
||
The logic tries to figure out what the path separator in the $PATH
|
||
variable is, but if there's only one directory in the $PATH it
|
||
fails. This change make configure *guess* on colon instead of erroring
|
||
out, simply because that is probably the more common character.
|
||
|
||
PATH_SEPARATOR can always be set by the user to override the guessing.
|
||
|
||
(tricky bug to reproduce, as in my case for example the configure script
|
||
requires binaries in more than one directory so passing in a PATH with a
|
||
single dir fails.)
|
||
|
||
Reported-by: Earnestly on github
|
||
Fixes #2202
|
||
Closes #2265
|
||
|
||
- curl_ctype: private is*() type macros and functions
|
||
|
||
... since the libc provided one are locale dependent in a way we don't
|
||
want. Also, the "native" isalnum() (for example) works differently on
|
||
different platforms which caused test 1307 failures on macos only.
|
||
|
||
Closes #2269
|
||
|
||
Marcel Raad (29 Jan 2018)
|
||
- build: open VC15 projects with VS 2017
|
||
|
||
Previously, they were opened with Visual Studio 2015 by default, which
|
||
cannot build them.
|
||
|
||
Daniel Stenberg (29 Jan 2018)
|
||
- RELEASE-NOTES: synced with 094647fca
|
||
|
||
- TODO: UTF-8 filenames in Content-Disposition
|
||
|
||
Closes #1888
|
||
|
||
- KNOWN_BUGS: DICT responses show the underlying protocol
|
||
|
||
Closes #1809
|
||
|
||
Jay Satiro (27 Jan 2018)
|
||
- [Alessandro Ghedini brought this change]
|
||
|
||
docs: fix typos in man pages
|
||
|
||
Closes https://github.com/curl/curl/pull/2266
|
||
|
||
Patrick Monnerat (26 Jan 2018)
|
||
- lib555: drop text conversion and encode data as ascii codes
|
||
|
||
If CURL_DOES_CONVERSION is enabled, uploaded LFs are mapped to CRLFs,
|
||
giving a result that is different from what is expected.
|
||
This commit avoids using CURLOPT_TRANSFERTEXT and directly encodes data
|
||
to upload in ascii.
|
||
|
||
Bug: https://github.com/curl/curl/pull/1872
|
||
|
||
Daniel Stenberg (26 Jan 2018)
|
||
- lib517: make variable static to avoid compiler warning
|
||
|
||
... with clang on macos
|
||
|
||
Patrick Monnerat (26 Jan 2018)
|
||
- lib544: sync ascii code data with textual data
|
||
|
||
Data mismatch caused test 545 to fail when character encoding
|
||
conversion is enabled.
|
||
|
||
Bug: https://github.com/curl/curl/pull/1872
|
||
|
||
Daniel Stenberg (25 Jan 2018)
|
||
- [Travis Burtrum brought this change]
|
||
|
||
GSKit: restore pinnedpubkey functionality
|
||
|
||
inadvertently removed in 283babfaf8d8f3bab9d3c63cea94eb0b84e79c37
|
||
|
||
Closes #2263
|
||
|
||
- [Dair Grant brought this change]
|
||
|
||
darwinssl: Don't import client certificates into Keychain on macOS
|
||
|
||
Closes #2085
|
||
|
||
- configure: fix the check for unsigned time_t
|
||
|
||
Assign the time_t variable negative value and then check if it is
|
||
greater than zero, which will evaluate true for unsigned time_t but
|
||
false for signed time_t.
|
||
|
||
- parsedate: fix date parsing for systems with 32 bit long
|
||
|
||
Make curl_getdate() handle dates before 1970 as well (returning negative
|
||
values).
|
||
|
||
Make test 517 test dates for 64 bit time_t.
|
||
|
||
This fixes bug (3) mentioned in #2238
|
||
|
||
Closes #2250
|
||
|
||
- [McDonough, Tim brought this change]
|
||
|
||
openssl: fix pinned public key build error in FIPS mode
|
||
|
||
Here is a version that should work with all versions of openssl 0.9.7
|
||
through 1.1.0.
|
||
|
||
Links to the docs:
|
||
https://www.openssl.org/docs/man1.0.2/crypto/EVP_DigestInit.html
|
||
https://www.openssl.org/docs/man1.1.0/crypto/EVP_DigestInit.html
|
||
|
||
At the very bottom of the 1.1.0 documentation there is a history section
|
||
that states, " stack allocated EVP_MD_CTXs are no longer supported."
|
||
|
||
If EVP_MD_CTX_create and EVP_MD_CTX_destroy are not defined, then a
|
||
simple mapping can be used as described here:
|
||
https://wiki.openssl.org/index.php/Talk:OpenSSL_1.1.0_Changes
|
||
|
||
Closes #2258
|
||
|
||
- [Travis Burtrum brought this change]
|
||
|
||
SChannel/WinSSL: Replace Curl_none_md5sum with Curl_schannel_md5sum
|
||
|
||
- [Travis Burtrum brought this change]
|
||
|
||
SChannel/WinSSL: Implement public key pinning
|
||
|
||
Closes #1429
|
||
|
||
- bump: towards 7.58.1
|
||
|
||
- cookies: remove verbose "cookie size:" output
|
||
|
||
It was once used for some debugging/verifying logic but should never have
|
||
ended up in git!
|
||
|
||
- TODO: hardcode the "localhost" addresses
|
||
|
||
- TODO: CURL_REFUSE_CLEARTEXT
|
||
|
||
An idea that popped up in discussions on twitter.
|
||
|
||
- progress-bar: don't use stderr explicitly, use bar->out
|
||
|
||
Reported-By: Gisle Vanem
|
||
Bug: https://github.com/curl/curl/commit/993dd5651a6c853bfe3870f6a69c7b329fa4e8ce#commitcomment-27070080
|
||
|
||
GitHub (24 Jan 2018)
|
||
- [Gisle Vanem brought this change]
|
||
|
||
Fixes for MSDOS etc.
|
||
|
||
djgpp do have 'mkdir(dir, mode)'. Other DOS-compilers does not
|
||
But djgpp seems the only choice for MSDOS anyway.
|
||
|
||
PellesC do have a 'F_OK' defined in it's <unistd.h>.
|
||
|
||
Update year in Copyright.
|
||
|
||
- [Gisle Vanem brought this change]
|
||
|
||
Fix small typo.
|
||
|
||
Version 7.58.0 (23 Jan 2018)
|
||
|
||
Daniel Stenberg (23 Jan 2018)
|
||
- RELEASE: 7.58.0
|
||
|
||
- [Gisle Vanem brought this change]
|
||
|
||
progress-bar: get screen width on windows
|
||
|
||
- test1454: --connect-to with IPv6 address w/o IPv6 support!
|
||
|
||
- CONNECT_TO: fail attempt to set an IPv6 numerical without IPv6 support
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2018-01/0087.html
|
||
Reported-by: John Hascall
|
||
|
||
Closes #2257
|
||
|
||
- docs: fix man page syntax to make test 1140 OK again
|