summaryrefslogtreecommitdiff
path: root/libs/libcurl/docs/CHANGES
diff options
context:
space:
mode:
authordartraiden <wowemuh@gmail.com>2019-02-10 02:02:38 +0300
committerdartraiden <wowemuh@gmail.com>2019-02-10 02:06:58 +0300
commiteee2c11f79a8958e65cc485af1e7afcbd394db1e (patch)
tree9ab4418393997629ef9dc7ae78089cbece595d0c /libs/libcurl/docs/CHANGES
parent33d2c8e71902aa37d3fc978cb91e0a842a600960 (diff)
libcurl: update to 7.64
Diffstat (limited to 'libs/libcurl/docs/CHANGES')
-rw-r--r--libs/libcurl/docs/CHANGES7749
1 files changed, 7749 insertions, 0 deletions
diff --git a/libs/libcurl/docs/CHANGES b/libs/libcurl/docs/CHANGES
new file mode 100644
index 0000000000..b03c666643
--- /dev/null
+++ b/libs/libcurl/docs/CHANGES
@@ -0,0 +1,7749 @@
+ _ _ ____ _
+ ___| | | | _ \| |
+ / __| | | | |_) | |
+ | (__| |_| | _ <| |___
+ \___|\___/|_| \_\_____|
+
+ Changelog
+
+Version 7.64.0 (6 Feb 2019)
+
+Daniel Stenberg (6 Feb 2019)
+- RELEASE-NOTES: 7.64.0
+
+- RELEASE-PROCEDURE: update the release calendar
+
+- THANKS: 7.64.0 status
+
+Daniel Gustafsson (5 Feb 2019)
+- ROADMAP: remove already performed item
+
+ Commit 7a09b52c98ac8d840a8a9907b1a1d9a9e684bcf5 introduced support
+ for the draft-ietf-httpbis-cookie-alone-01 cookie draft, and while
+ the entry was removed from the TODO it was mistakenly left here.
+ Fix by removing and rewording the entry slightly.
+
+ Closes #3530
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+
+- [Etienne Simard brought this change]
+
+ CONTRIBUTE.md: Fix grammatical errors
+
+ Fix grammatical errors making the document read better. Also fixes
+ a typo.
+
+ Closes #3525
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
+
+Daniel Stenberg (4 Feb 2019)
+- [Julian Z brought this change]
+
+ docs: use $(INSTALL_DATA) to install man page
+
+ Fixes #3518
+ Closes #3522
+
+Jay Satiro (4 Feb 2019)
+- [Ladar Levison brought this change]
+
+ runtests.pl: Fix perl call to include srcdir
+
+ - Use explicit include opt for perl calls.
+
+ Prior to this change some scripts couldn't find their dependencies.
+
+ At the top, perl is called using with the "-Isrcdir" option, and it
+ works:
+
+ https://github.com/curl/curl/blob/curl-7_63_0/tests/runtests.pl#L183
+
+ But on line 3868, that option is omitted. This caused problems for me,
+ as the symbol-scan.pl script in particular couldn't find its
+ dependencies properly:
+
+ https://github.com/curl/curl/blob/curl-7_63_0/tests/runtests.pl#L3868
+
+ This patch fixes that oversight by making calls to perl sub-shells
+ uniform.
+
+ Closes https://github.com/curl/curl/pull/3496
+
+Daniel Stenberg (4 Feb 2019)
+- [Daniel Gustafsson brought this change]
+
+ smtp: avoid risk of buffer overflow in strtol
+
+ If the incoming len 5, but the buffer does not have a termination
+ after 5 bytes, the strtol() call may keep reading through the line
+ buffer until is exceeds its boundary. Fix by ensuring that we are
+ using a bounded read with a temporary buffer on the stack.
+
+ Bug: https://curl.haxx.se/docs/CVE-2019-3823.html
+ Reported-by: Brian Carpenter (Geeknik Labs)
+ CVE-2019-3823
+
+- ntlm: fix *_type3_message size check to avoid buffer overflow
+
+ Bug: https://curl.haxx.se/docs/CVE-2019-3822.html
+ Reported-by: Wenxiang Qian
+ CVE-2019-3822
+
+- NTLM: fix size check condition for type2 received data
+
+ Bug: https://curl.haxx.se/docs/CVE-2018-16890.html
+ Reported-by: Wenxiang Qian
+ CVE-2018-16890
+
+Marcel Raad (1 Feb 2019)
+- [georgeok brought this change]
+
+ spnego_sspi: add support for channel binding
+
+ Attempt to add support for Secure Channel binding when negotiate
+ authentication is used. The problem to solve is that by default IIS
+ accepts channel binding and curl doesn't utilise them. The result was a
+ 401 response. Scope affects only the Schannel(winssl)-SSPI combination.
+
+ Fixes https://github.com/curl/curl/issues/3503
+ Closes https://github.com/curl/curl/pull/3509
+
+Daniel Stenberg (1 Feb 2019)
+- RELEASE-NOTES: synced
+
+- schannel: stop calling it "winssl"
+
+ Stick to "Schannel" everywhere. The configure option --with-winssl is
+ kept to allow existing builds to work but --with-schannel is added as an
+ alias.
+
+ Closes #3504
+
+- multi: set the EXPIRE_*TIMEOUT timers at TIMER_STARTSINGLE time
+
+ To make sure Curl_timeleft() also thinks the timeout has been reached
+ when one of the EXPIRE_*TIMEOUTs expires.
+
+ Bug: https://curl.haxx.se/mail/lib-2019-01/0073.html
+ Reported-by: Zhao Yisha
+ Closes #3501
+
+- [John Marshall brought this change]
+
+ doc: use meaningless port number in CURLOPT_LOCALPORT example
+
+ Use an ephemeral port number here; previously the example had 8080
+ which could be confusing as the common web server port number might
+ be misinterpreted as suggesting this option affects the remote port.
+
+ URL: https://curl.haxx.se/mail/lib-2019-01/0084.html
+ Closes #3513
+
+GitHub (29 Jan 2019)
+- [Gisle Vanem brought this change]
+
+ Escape the '\'
+
+ A backslash should be escaped in Roff / Troff.
+
+Jay Satiro (29 Jan 2019)
+- TODO: WinSSL: 'Add option to disable client cert auto-send'
+
+ By default WinSSL selects and send a client certificate automatically,
+ but for privacy and consistency we should offer an option to disable the
+ default auto-send behavior.
+
+ Reported-by: Jeroen Ooms
+
+ Closes https://github.com/curl/curl/issues/2262
+
+Daniel Stenberg (28 Jan 2019)
+- [Jeremie Rapin brought this change]
+
+ sigpipe: if mbedTLS is used, ignore SIGPIPE
+
+ mbedTLS doesn't have a sigpipe management. If a write/read occurs when
+ the remote closes the socket, the signal is raised and kills the
+ application. Use the curl mecanisms fix this behavior.
+
+ Signed-off-by: Jeremie Rapin <j.rapin@overkiz.com>
+
+ Closes #3502
+
+- unit1653: make it survive torture tests
+
+Jay Satiro (28 Jan 2019)
+- [Michael Kujawa brought this change]
+
+ timeval: Disable MSVC Analyzer GetTickCount warning
+
+ Compiling with msvc /analyze and a recent Windows SDK warns against
+ using GetTickCount (Suggests to use GetTickCount64 instead.)
+
+ Since GetTickCount is only being used when GetTickCount64 isn't
+ available, I am disabling that warning.
+
+ Fixes https://github.com/curl/curl/issues/3437
+ Closes https://github.com/curl/curl/pull/3440
+
+Daniel Stenberg (26 Jan 2019)
+- configure: rewrite --enable-code-coverage
+
+ The previously used ax_code_coverage.m4 is not license compatible and
+ must not be used.
+
+ Reported-by: William A. Rowe Jr
+ Fixes #3497
+ Closes #3499
+
+- [Felix Hädicke brought this change]
+
+ setopt: enable CURLOPT_SSH_KNOWNHOSTS and CURLOPT_SSH_KEYFUNCTION for libssh
+
+ CURLOPT_SSH_KNOWNHOSTS and CURLOPT_SSH_KEYFUNCTION are supported for
+ libssh as well. So accepting these options only when compiling with
+ libssh2 is wrong here.
+
+ Fixes #3493
+ Closes #3494
+
+- [Felix Hädicke brought this change]
+
+ libssh: do not let libssh create socket
+
+ By default, libssh creates a new socket, instead of using the socket
+ created by curl for SSH connections.
+
+ Pass the socket created by curl to libssh using ssh_options_set() with
+ SSH_OPTIONS_FD directly after ssh_new(). So libssh uses our socket
+ instead of creating a new one.
+
+ This approach is very similar to what is done in the libssh2 code, where
+ the socket created by curl is passed to libssh2 when
+ libssh2_session_startup() is called.
+
+ Fixes #3491
+ Closes #3495
+
+- RELEASE-NOTES: synced
+
+- [Archangel_SDY brought this change]
+
+ schannel: preserve original certificate path parameter
+
+ Fixes #3480
+ Closes #3487
+
+- KNOWN_BUGS: tests not compatible with python3
+
+ Closes #3289
+ [skip ci]
+
+Daniel Gustafsson (20 Jan 2019)
+- memcmp: avoid doing single char memcmp
+
+ There is no real gain in performing memcmp() comparisons on single
+ characters, so change these to array subscript inspections which
+ saves a call and makes the code clearer.
+
+ Closes #3486
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+ Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
+
+Daniel Stenberg (19 Jan 2019)
+- COPYING: it's 2019
+
+ [skip ci]
+
+- [hhb brought this change]
+
+ configure: fix recv/send/select detection on Android
+
+ This reverts commit d4f25201fb7da03fc88f90d51101beb3d0026db9.
+
+ The overloadable attribute is removed again starting from
+ NDK17. Actually they only exist in two NDK versions (15 and 16). With
+ overloadable, the first condition tried will succeed. Results in wrong
+ detection result.
+
+ Closes #3484
+
+Marcel Raad (19 Jan 2019)
+- [georgeok brought this change]
+
+ ntlm_sspi: add support for channel binding
+
+ Windows extended potection (aka ssl channel binding) is required
+ to login to ntlm IIS endpoint, otherwise the server returns 401
+ responses.
+
+ Fixes #3280
+ Closes #3321
+
+Daniel Stenberg (18 Jan 2019)
+- schannel: on connection close there might not be a transfer
+
+ Reported-by: Marcel Raad
+ Fixes #3412
+ Closes #3483
+
+- [Joel Depooter brought this change]
+
+ ssh: log the libssh2 error message when ssh session startup fails
+
+ When a ssh session startup fails, it is useful to know why it has
+ failed. This commit changes the message from:
+ "Failure establishing ssh session"
+ to something like this, for example:
+ "Failure establishing ssh session: -5, Unable to exchange encryption keys"
+
+ Closes #3481
+
+Alessandro Ghedini (16 Jan 2019)
+- Fix typo in manpage
+
+Daniel Stenberg (16 Jan 2019)
+- RELEASE-NOTES: synced
+
+Sergei Nikulov (16 Jan 2019)
+- cmake: updated check for HAVE_POLL_FINE to match autotools
+
+Daniel Stenberg (16 Jan 2019)
+- curl-compilers.m4: check for __ibmxl__ to detect xlclang
+
+ Follow-up to 2fa0d57e2e3. The __xlc__ symbol is only defined there if a
+ particular flag is used for legacy macros.
+
+ Fixes #3474
+ Closes #3479
+
+- openssl: fix the SSL_get_tlsext_status_ocsp_resp call
+
+ .... to not pass in a const in the second argument as that's not how it
+ is supposed to be used and might cause compiler warnings.
+
+ Reported-by: Pavel Pavlov
+ Fixes #3477
+ Closes #3478
+
+- curl-compilers.m4: detect xlclang
+
+ Since it isn't totally clang compatible, we detect this IBM clang
+ front-end and if detected, avoids some clang specific magic.
+
+ Reported-by: Kees Dekker
+ Fixes #3474
+ Closes #3476
+
+- README: add codacy code quality badge
+
+ [skip ci]
+
+- extract_if_dead: follow-up to 54b201b48c90a
+
+ extract_if_dead() dead is called from two functions, and only one of
+ them should get conn->data updated and now neither call path clears it.
+
+ scan-build found a case where conn->data would be NULL dereferenced in
+ ConnectionExists() otherwise.
+
+ Closes #3473
+
+- multi: remove "Dead assignment"
+
+ Found by scan-build. Follow-up to 4c35574bb785ce.
+
+ Closes #3471
+
+- tests: move objnames-* from lib into tests
+
+ Since they're used purely for testing purposes, I think they should
+ rather be stored there.
+
+ Closes #3470
+
+Sergei Nikulov (15 Jan 2019)
+- travis: added cmake build for osx
+
+Daniel Stenberg (14 Jan 2019)
+- [Frank Gevaerts brought this change]
+
+ cookie: fix comment typo (url_path_len -> uri_path_len)
+
+ Closes #3469
+
+Marcel Raad (14 Jan 2019)
+- winbuild: conditionally use /DZLIB_WINAPI
+
+ zlibwapi.lib (dynamic library) and zlibstat.lib (static library) have
+ the ZLIB_WINAPI define set by default. Using them requires that define
+ too.
+
+ Ref: https://zlib.net/DLL_FAQ.txt
+
+ Fixes https://github.com/curl/curl/issues/3133
+ Closes https://github.com/curl/curl/pull/3460
+
+Daniel Stenberg (14 Jan 2019)
+- src/Makefile: make 'tidy' target work for metalink builds
+
+- extract_if_dead: use a known working transfer when checking connections
+
+ Make sure that this function sets a proper "live" transfer for the
+ connection before calling the protocol-specific connection check
+ function, and then clear it again afterward as a non-used connection has
+ no current transfer.
+
+ Reported-by: Jeroen Ooms
+ Reviewed-by: Marcel Raad
+ Reviewed-by: Daniel Gustafsson
+ Fixes #3463
+ Closes #3464
+
+- openssl: adapt to 3.0.0, OpenSSL_version_num() is deprecated
+
+ OpenSSL_version() replaces OpenSSL_version_num()
+
+ Closes #3462
+
+Sergei Nikulov (11 Jan 2019)
+- cmake: added checks for HAVE_VARIADIC_MACROS_C99 and HAVE_VARIADIC_MACROS_GCC
+
+Daniel Stenberg (11 Jan 2019)
+- urldata: rename easy_conn to just conn
+
+ We use "conn" everywhere to be a pointer to the connection.
+
+ Introduces two functions that "attaches" and "detaches" the connection
+ to and from the transfer.
+
+ Going forward, we should favour using "data->conn" (since a transfer
+ always only has a single connection or none at all) to "conn->data"
+ (since a connection can have none, one or many transfers associated with
+ it and updating conn->data to be correct is error prone and a frequent
+ reason for internal issues).
+
+ Closes #3442
+
+- tool_cb_prg: avoid integer overflow
+
+ When calculating the progress bar width.
+
+ Reported-by: Peng Li
+ Fixes #3456
+ Closes #3458
+
+Daniel Gustafsson (11 Jan 2019)
+- travis: turn off copyright year checks in checksrc
+
+ Invoking the maintainer intended COPYRIGHTYEAR check for everyone
+ in the PR pipeline is too invasive, especially at the turn of the
+ year when many files get affected. Remove and leave it as a tool
+ for maintainers to verify patches before commits.
+
+ This reverts f7bdf4b2e1d81b2652b81b9b3029927589273b41.
+
+ After discussion with: Daniel Stenberg
+
+Daniel Stenberg (10 Jan 2019)
+- KNOWN_BUGS: cmake makes unusable tool_hugehelp.c with MinGW
+
+ Closes #3125
+
+- KNOWN_BUGS: Improve --data-urlencode space encoding
+
+ Closes #3229
+
+Patrick Monnerat (10 Jan 2019)
+- os400: add a missing closing bracket
+
+ See https://github.com/curl/curl/issues/3453#issuecomment-453054458
+
+ Reported-by: jonrumsey on github
+
+- os400: fix extra parameter syntax error.
+
+ Reported-by: jonrumsey on github
+ Closes #3453
+
+Daniel Stenberg (10 Jan 2019)
+- test1558: verify CURLINFO_PROTOCOL on file:// transfer
+
+ Attempt to reproduce issue #3444.
+
+ Closes #3447
+
+- RELEASE-NOTES: synced
+
+- xattr: strip credentials from any URL that is stored
+
+ Both user and password are cleared uncondtitionally.
+
+ Added unit test 1621 to verify.
+
+ Fixes #3423
+ Closes #3433
+
+- cookies: allow secure override when done over HTTPS
+
+ Added test 1562 to verify.
+
+ Reported-by: Jeroen Ooms
+ Fixes #3445
+ Closes #3450
+
+- multi: multiplexing improvements
+
+ Fixes #3436
+ Closes #3448
+
+ Problem 1
+
+ After LOTS of scratching my head, I eventually realized that even when doing
+ 10 uploads in parallel, sometimes the socket callback to the application that
+ tells it what to wait for on the socket, looked like it would reflect the
+ status of just the single transfer that just changed state.
+
+ Digging into the code revealed that this was indeed the truth. When multiple
+ transfers are using the same connection, the application did not correctly get
+ the *combined* flags for all transfers which then could make it switch to READ
+ (only) when in fact most transfers wanted to get told when the socket was
+ WRITEABLE.
+
+ Problem 1b
+
+ A separate but related regression had also been introduced by me when I
+ cleared connection/transfer association better a while ago, as now the logic
+ couldn't find the connection and see if that was marked as used by more
+ transfers and then it would also prematurely remove the socket from the socket
+ hash table even in times other transfers were still using it!
+
+ Fix 1
+
+ Make sure that each socket stored in the socket hash has a "combined" action
+ field of what to ask the application to wait for, that is potentially the ORed
+ action of multiple parallel transfers. And remove that socket hash entry only
+ if there are no transfers left using it.
+
+ Problem 2
+
+ The socket hash entry stored an association to a single transfer using that
+ socket - and when curl_multi_socket_action() was called to tell libcurl about
+ activities on that specific socket only that transfer was "handled".
+
+ This was WRONG, as a single socket/connection can be used by numerous parallel
+ transfers and not necessarily a single one.
+
+ Fix 2
+
+ We now store a list of handles in the socket hashtable entry and when libcurl
+ is told there's traffic for a particular socket, it now iterates over all
+ known transfers using that single socket.
+
+- test1561: improve test name
+
+ [skip ci]
+
+- [Katsuhiko YOSHIDA brought this change]
+
+ cookies: skip custom cookies when redirecting cross-site
+
+ Closes #3417
+
+- THANKS: fixups and a dedupe
+
+ [skip ci]
+
+- timediff: fix math for unsigned time_t
+
+ Bug: https://curl.haxx.se/mail/lib-2018-12/0088.html
+
+ Closes #3449
+
+- [Bernhard M. Wiedemann brought this change]
+
+ tests: allow tests to pass by 2037-02-12
+
+ similar to commit f508d29f3902104018
+
+ Closes #3443
+
+- RELEASE-NOTES: synced
+
+- [Brad Spencer brought this change]
+
+ curl_multi_remove_handle() don't block terminating c-ares requests
+
+ Added Curl_resolver_kill() for all three resolver modes, which only
+ blocks when necessary, along with test 1592 to confirm
+ curl_multi_remove_handle() doesn't block unless it must.
+
+ Closes #3428
+ Fixes #3371
+
+- Revert "http_negotiate: do not close connection until negotiation is completed"
+
+ This reverts commit 07ebaf837843124ee670e5b8c218b80b92e06e47.
+
+ This also reopens PR #3275 which brought the change now reverted.
+
+ Fixes #3384
+ Closes #3439
+
+- curl/urlapi.h: include "curl.h" first
+
+ This allows programs to include curl/urlapi.h directly.
+
+ Reviewed-by: Daniel Gustafsson
+ Reported-by: Ben Kohler
+ Fixes #3438
+ Closes #3441
+
+Marcel Raad (6 Jan 2019)
+- VS projects: fix build warning
+
+ Starting with Visual Studio 2017 Update 9, Visual Studio doesn't like
+ the MinimalRebuild option anymore and warns:
+
+ cl : Command line warning D9035: option 'Gm' has been deprecated and
+ will be removed in a future release
+
+ The option can be safely removed so that the default is used.
+
+ Closes https://github.com/curl/curl/pull/3425
+
+- schannel: fix compiler warning
+
+ When building with Unicode on MSVC, the compiler warns about freeing a
+ pointer to const in Curl_unicodefree. Fix this by declaring it as
+ non-const and casting the argument to Curl_convert_UTF8_to_tchar to
+ non-const too, like we do in all other places.
+
+ Closes https://github.com/curl/curl/pull/3435
+
+Daniel Stenberg (4 Jan 2019)
+- [Rikard Falkeborn brought this change]
+
+ printf: introduce CURL_FORMAT_TIMEDIFF_T
+
+- [Rikard Falkeborn brought this change]
+
+ printf: fix format specifiers
+
+ Closes #3426
+
+- libtest/stub_gssapi: use "real" snprintf
+
+ ... since it doesn't link with libcurl.
+
+ Reverts the commit dcd6f81025 changes from this file.
+
+ Bug: https://curl.haxx.se/mail/lib-2019-01/0000.html
+ Reported-by: Shlomi Fish
+ Reviewed-by: Daniel Gustafsson
+ Reviewed-by: Kamil Dudka
+
+ Closes #3434
+
+- INTERNALS: correct some outdated function names
+
+ Closes #3431
+
+- docs/version.d: mention MultiSSL
+
+ Reviewed-by: Daniel Gustafsson
+ Closes #3432
+
+Daniel Gustafsson (2 Jan 2019)
+- [Rikard Falkeborn brought this change]
+
+ examples: Update .gitignore
+
+ Add a few missing examples to make `make examples` not leave the
+ workspace in a dirty state.
+
+ Closes #3427
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
+
+- THANKS: add more missing names
+
+ Add Adrian Burcea who made the artwork for the curl://up 2018 event
+ which was held in Stockholm, Sweden.
+
+- docs: mention potential leak in curl_slist_append
+
+ When a non-empty list is appended to, and used as the returnvalue,
+ the list pointer can leak in case of an allocation failure in the
+ curl_slist_append() call. This is correctly handled in curl code
+ usage but we weren't explicitly pointing it out in the API call
+ documentation. Fix by extending the RETURNVALUE manpage section
+ and example code.
+
+ Closes #3424
+ Reported-by: dnivras on github
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+
+Marcel Raad (1 Jan 2019)
+- tvnow: silence conversion warnings
+
+ MinGW-w64 defaults to targeting Windows 7 now, so GetTickCount64 is
+ used and the milliseconds are represented as unsigned long long,
+ leading to a compiler warning when implicitly converting them to long.
+
+Daniel Stenberg (1 Jan 2019)
+- THANKS: dedupe more names
+
+ Researched-by: Tae Wong
+
+Marcel Raad (1 Jan 2019)
+- [Markus Moeller brought this change]
+
+ ntlm: update selection of type 3 response
+
+ NTLM2 did not work i.e. no NTLMv2 response was created. Changing the
+ check seems to work.
+
+ Ref: https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-NLMP/[MS-NLMP].pdf
+
+ Fixes https://github.com/curl/curl/issues/3286
+ Closes https://github.com/curl/curl/pull/3287
+ Closes https://github.com/curl/curl/pull/3415
+
+Daniel Stenberg (31 Dec 2018)
+- THANKS: added missing names from year <= 2000
+
+ Due to a report of a missing name in THANKS I manually went through an
+ old CHANGES.0 file and added many previously missing names here.
+
+Daniel Gustafsson (30 Dec 2018)
+- urlapi: fix parsing ipv6 with zone index
+
+ The previous fix for parsing IPv6 URLs with a zone index was a paddle
+ short for URLs without an explicit port. This patch fixes that case
+ and adds a unit test case.
+
+ This bug was highlighted by issue #3408, and while it's not the full
+ fix for the problem there it is an isolated bug that should be fixed
+ regardless.
+
+ Closes #3411
+ Reported-by: GitYuanQu on github
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+
+Daniel Stenberg (30 Dec 2018)
+- THANKS: dedupe Guenter Knauf
+
+ Reported-by: Tae Wong
+
+- THANKS: missing name from the 6.3.1 release!
+
+Daniel Gustafsson (27 Dec 2018)
+- RELEASE-NOTES: synced
+
+- [Claes Jakobsson brought this change]
+
+ hostip: support wildcard hosts
+
+ This adds support for wildcard hosts in CURLOPT_RESOLVE. These are
+ try-last so any non-wildcard entry is resolved first. If specified,
+ any host not matched by another CURLOPT_RESOLVE config will use this
+ as fallback.
+
+ Example send a.com to 10.0.0.1 and everything else to 10.0.0.2:
+ curl --resolve *:443:10.0.0.2 --resolve a.com:443:10.0.0.1 \
+ https://a.com https://b.com
+
+ This is probably quite similar to using:
+ --connect-to a.com:443:10.0.0.1:443 --connect-to :443:10.0.0.2:443
+
+ Closes #3406
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+
+- url: fix incorrect indentation
+
+Patrick Monnerat (26 Dec 2018)
+- os400: upgrade ILE/RPG binding.
+
+ - Trailer function support.
+ - http 0.9 option.
+ - curl_easy_upkeep.
+
+Daniel Gustafsson (25 Dec 2018)
+- FAQ: remove mention of sourceforge for github
+
+ The project bug tracker is no longer hosted at sourceforge but is now
+ hosted on the curl Github page. Update the FAQ to reflect.
+
+ Closes #3410
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+
+- openvms: fix typos in documentation
+
+- openvms: fix OpenSSL discovery on VAX
+
+ The DCL code had a typo in one of the commands which would make the
+ OpenSSL discovery on VAX fail. The correct syntax is F$ENVIRONMENT.
+
+ Closes #3407
+ Reviewed-by: Viktor Szakats <commit@vszakats.net>
+
+Daniel Stenberg (24 Dec 2018)
+- [Ruslan Baratov brought this change]
+
+ cmake: use lowercase for function name like the rest of the code
+
+ Reviewed-by: Sergei Nikulov
+
+ closes #3196
+
+- Revert "libssh: no data pointer == nothing to do"
+
+ This reverts commit c98ee5f67f497195c9 since commit f3ce38739fa fixed the
+ problem in a more generic way.
+
+- disconnect: set conn->data for protocol disconnect
+
+ Follow-up to fb445a1e18d: Set conn->data explicitly to point out the
+ current transfer when invoking the protocol-specific disconnect function
+ so that it can work correctly.
+
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12173
+
+Jay Satiro (23 Dec 2018)
+- [Pavel Pavlov brought this change]
+
+ timeval: Use high resolution timestamps on Windows
+
+ - Use QueryPerformanceCounter on Windows Vista+
+
+ There is confusing info floating around that QueryPerformanceCounter
+ can leap etc, which might have been true long time ago, but no longer
+ the case nowadays (perhaps starting from WinXP?). Also, boost and
+ std::chrono::steady_clock use QueryPerformanceCounter in a similar way.
+
+ Prior to this change GetTickCount or GetTickCount64 was used, which has
+ lower resolution. That is still the case for <= XP.
+
+ Fixes https://github.com/curl/curl/issues/3309
+ Closes https://github.com/curl/curl/pull/3318
+
+Daniel Stenberg (22 Dec 2018)
+- libssh: no data pointer == nothing to do
+
+- conncache_unlock: avoid indirection by changing input argument type
+
+- disconnect: separate connections and easy handles better
+
+ Do not assume/store assocation between a given easy handle and the
+ connection if it can be avoided.
+
+ Long-term, the 'conn->data' pointer should probably be removed as it is a
+ little too error-prone. Still used very widely though.
+
+ Reported-by: masbug on github
+ Fixes #3391
+ Closes #3400
+
+- libssh: free sftp_canonicalize_path() data correctly
+
+ Assisted-by: Harry Sintonen
+
+ Fixes #3402
+ Closes #3403
+
+- RELEASE-NOTES: synced
+
+- http: added options for allowing HTTP/0.9 responses
+
+ Added CURLOPT_HTTP09_ALLOWED and --http0.9 for this purpose.
+
+ For now, both the tool and library allow HTTP/0.9 by default.
+ docs/DEPRECATE.md lays out the plan for when to reverse that default: 6
+ months after the 7.64.0 release. The options are added already now so
+ that applications/scripts can start using them already now.
+
+ Fixes #2873
+ Closes #3383
+
+- if2ip: remove unused function Curl_if_is_interface_name
+
+ Closes #3401
+
+- http2: clear pause stream id if it gets closed
+
+ Reported-by: Florian Pritz
+
+ Fixes #3392
+ Closes #3399
+
+Daniel Gustafsson (20 Dec 2018)
+- [David Garske brought this change]
+
+ wolfssl: Perform cleanup
+
+ This adds a cleanup callback for cyassl. Resolves possible memory leak
+ when using ECC fixed point cache.
+
+ Closes #3395
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
+
+Daniel Stenberg (20 Dec 2018)
+- mbedtls: follow-up VERIFYHOST fix from f097669248
+
+ Fix-by: Eric Rosenquist
+
+ Fixes #3376
+ Closes #3390
+
+- curlver: bump to 7.64.0 for next release
+
+Daniel Gustafsson (19 Dec 2018)
+- cookies: extend domain checks to non psl builds
+
+ Ensure to perform the checks we have to enforce a sane domain in
+ the cookie request. The check for non-PSL enabled builds is quite
+ basic but it's better than nothing.
+
+ Closes #2964
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+
+Daniel Stenberg (19 Dec 2018)
+- [Matus Uzak brought this change]
+
+ smb: fix incorrect path in request if connection reused
+
+ Follow-up to 09e401e01bf9. If connection gets reused, then data member
+ will be copied, but not the proto member. As a result, in smb_do(),
+ path has been set from the original proto.share data.
+
+ Closes #3388
+
+- curl -J: do not append to the destination file
+
+ Reported-by: Kamil Dudka
+ Fixes #3380
+ Closes #3381
+
+- mbedtls: use VERIFYHOST
+
+ Previously, VERIFYPEER would enable/disable all checks.
+
+ Reported-by: Eric Rosenquist
+ Fixes #3376
+ Closes #3380
+
+- pingpong: change default response timeout to 120 seconds
+
+ Previously it was 30 minutes
+
+- pingpong: ignore regular timeout in disconnect phase
+
+ The timeout set with CURLOPT_TIMEOUT is no longer used when
+ disconnecting from one of the pingpong protocols (FTP, IMAP, SMTP,
+ POP3).
+
+ Reported-by: jasal82 on github
+
+ Fixes #3264
+ Closes #3374
+
+- TODO: Windows: set attribute 'archive' for completed downloads
+
+ Closes #3354
+
+- RELEASE-NOTES: synced
+
+- http: minor whitespace cleanup from f464535b
+
+- [Ayoub Boudhar brought this change]
+
+ http: Implement trailing headers for chunked transfers
+
+ This adds the CURLOPT_TRAILERDATA and CURLOPT_TRAILERFUNCTION
+ options that allow a callback based approach to sending trailing headers
+ with chunked transfers.
+
+ The test server (sws) was updated to take into account the detection of the
+ end of transfer in the case of trailing headers presence.
+
+ Test 1591 checks that trailing headers can be sent using libcurl.
+
+ Closes #3350
+
+- darwinssl: accept setting max-tls with default min-tls
+
+ Reported-by: Andrei Neculau
+ Fixes #3367
+ Closes #3373
+
+- gopher: fix memory leak from 9026083ddb2a9
+
+- [Leonardo Taccari brought this change]
+
+ test1201: Add a trailing `?' to the selector
+
+ This verify that the `?' in the selector is kept as is.
+
+ Verifies the fix in #3370
+
+- [Leonardo Taccari brought this change]
+
+ gopher: always include the entire gopher-path in request
+
+ After the migration to URL API all octets in the selector after the
+ first `?' were interpreted as query and accidentally discarded and not
+ passed to the server.
+
+ Add a gopherpath to always concatenate possible path and query URL
+ pieces.
+
+ Fixes #3369
+ Closes #3370
+
+- [Leonardo Taccari brought this change]
+
+ urlapi: distinguish possibly empty query
+
+ If just a `?' to indicate the query is passed always store a zero length
+ query instead of having a NULL query.
+
+ This permits to distinguish URL with trailing `?'.
+
+ Fixes #3369
+ Closes #3370
+
+Daniel Gustafsson (13 Dec 2018)
+- OS400: handle memory error in list conversion
+
+ Curl_slist_append_nodup() returns NULL when it fails to create a new
+ item for the specified list, and since the coding here reassigned the
+ new list on top of the old list it would result in a dangling pointer
+ and lost memory. Also, in case we hit an allocation failure at some
+ point during the conversion, with allocation succeeding again on the
+ subsequent call(s) we will return a truncated list around the malloc
+ failure point. Fix by assigning to a temporary list pointer, which can
+ be checked (which is the common pattern for slist appending), and free
+ all the resources on allocation failure.
+
+ Closes #3372
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+
+- cookies: leave secure cookies alone
+
+ Only allow secure origins to be able to write cookies with the
+ 'secure' flag set. This reduces the risk of non-secure origins
+ to influence the state of secure origins. This implements IETF
+ Internet-Draft draft-ietf-httpbis-cookie-alone-01 which updates
+ RFC6265.
+
+ Closes #2956
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+
+Daniel Stenberg (13 Dec 2018)
+- docs: fix the --tls-max description
+
+ Reported-by: Tobias Lindgren
+ Pointed out in #3367
+
+ Closes #3368
+
+Daniel Gustafsson (12 Dec 2018)
+- urlapi: Fix port parsing of eol colon
+
+ A URL with a single colon without a portnumber should use the default
+ port, discarding the colon. Fix, add a testcase and also do little bit
+ of comment wordsmithing.
+
+ Closes #3365
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+
+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