                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

                                  Changelog

Version 7.54.1 (14 Jun 2017)

Daniel Stenberg (14 Jun 2017)
- release: 7.54.1

Dan Fandrich (13 Jun 2017)
- mk-lib1521.pl: updated to match the test changes in 916ec30a

Daniel Stenberg (13 Jun 2017)
- [Stuart Henderson brought this change]

  libressl: OCSP and intermediate certs workaround no longer needed
  
  lib/vtls/openssl.c has a workaround for a bug with OCSP responses signed
  by intermediate certs, this was fixed in LibreSSL in
  https://github.com/libressl-portable/openbsd/commit/912c64f68f7ac4f225b7d1fdc8fbd43168912ba0
  
  Bug: https://curl.haxx.se/mail/lib-2017-06/0038.html

- url: fix buffer overwrite with file protocol (CVE-2017-9502)
  
  Bug: https://github.com/curl/curl/issues/1540
  Advisory: https://curl.haxx.se/docs/adv_20170614.html
  
  Assisted-by: Ray Satiro
  Reported-by: Marcel Raad

- urlglob: fix division by zero
  
  The multiply() function that is used to avoid integer overflows, was
  itself reason for a possible division by zero error when passed a
  specially formatted glob.
  
  Reported-by: GwanYeong Kim

- configure: update the copyright year in the output

- [ygrek brought this change]

  BINDINGS: update SP-Forth and OCaml urls

Michael Kaufmann (11 Jun 2017)
- FindWin32CACert: Use a temporary buffer on the stack
  
  Don't malloc() the temporary buffer, and use the correct type:
  SearchPath() works with TCHAR, but SearchPathA() works with char.
  Set the buffer size to MAX_PATH, because the terminating null byte
  is already included in MAX_PATH.
  
  Reviewed-by: Daniel Stenberg
  Reviewed-by: Marcel Raad
  
  Closes #1548

Dan Fandrich (11 Jun 2017)
- test1521: fixed OOM handling

Daniel Stenberg (9 Jun 2017)
- RELEASE-PROCEDURE: updated future release dates

- [Paul Harris brought this change]

  gitignore: ignore all vim swap files
  
  Closes #1561

- lib1521: fix compiler warnings on the use of bad 'long' values
  
  Reported-by: Marcel Raad
  Bug: https://github.com/curl/curl/commit/cccac4fb2b20d6ed87da7978408c3ecacc464fe4#commitcomment-22453387

- setopt: check CURLOPT_ADDRESS_SCOPE option range
  
  ... and return error instead of triggering an assert() when being way
  out of range.

Jay Satiro (8 Jun 2017)
- [TheAssassin brought this change]

  cmake: Fix inconsistency regarding mbed TLS include directory
  
  Previously, one had to set MBEDTLS_INCLUDE_DIR to make CMake find the
  headers, but the system complained that mbed TLS wasn't found due to
  MBEDTLS_INCLUDE_DIRS (note the trailing s) was not set. This commit
  attempts to fix that.
  
  Closes https://github.com/curl/curl/pull/1541

Daniel Stenberg (8 Jun 2017)
- [Ryuichi KAWAMATA brought this change]

  examples/multi-uv.c: fix deprecated symbol
  
  Closes #1557

- asyn-ares: s/Curl_expire_latest/Curl_expire

- expire: remove Curl_expire_latest()
  
  With the introduction of expire IDs and the fact that existing timers
  can be removed now and thus never expire, the concept with adding a
  "latest" timer is not working anymore as it risks to not expire at all.
  
  So, to be certain the timers actually are in line and will expire, the
  plain Curl_expire() needs to be used. The _latest() function was added
  as a sort of shortcut in the past that's quite simply not necessary
  anymore.
  
  Follow-up to 31b39c40cf90
  
  Reported-by: Paul Harris
  
  Closes #1555

- [Chris Carlmar brought this change]

  configure: fix link with librtmp when specifying path
  
  Bug: https://curl.haxx.se/mail/lib-2017-06/0017.html

- file: make speedcheck use current time for checks
  
  ... as it would previously just get the "now" timestamp before the
  transfer starts and then not update it again.
  
  Closes #1550

- metalink: remove unused printf() argument

- travis: let some builds *not* use --enable-debug
  
  typecheck-gcc and other things require optimized builds
  
  Closes #1544

- README.md: show the coverall coverage on github

- lib1521: fix compiler warnings

- test1521: make the code < 80 columns wide

- test1121: use stricter types to work with typcheck-gcc

- typecheck-gcc: allow CURLOPT_STDERR to be NULL too

- test1521: test *all* curl_easy_setopt options
  
  mk-lib1521.pl generates a test program (lib1521.c) that calls
  curl_easy_setopt() for every known option with a few typical values to
  make sure they work (ignoring the return codes).
  
  Some small changes were necessary to avoid asserts and NULL accesses
  when doing this.
  
  The perl script needs to be manually rerun when we add new options.
  
  Closes #1543

Dan Fandrich (5 Jun 2017)
- test1538: added "verbose logs" keyword
  
  These error messages are not displayed with --disable-verbose

Daniel Stenberg (5 Jun 2017)
- test1262: verify ftp download with -z for "if older than this"

Marcel Raad (5 Jun 2017)
- curl_ntlm_core: use Curl_raw_toupper instead of toupper
  
  This was the only remaining use of toupper in the entire source code.
  
  Suggested-by: Daniel Stenberg

Daniel Stenberg (4 Jun 2017)
- RELEASE-NOTES: synced with 65ba92650

Marcel Raad (4 Jun 2017)
- curl_ntlm_core: pass unsigned char to toupper
  
  Otherwise, clang on Cygwin64 warns:
  curl_ntlm_core.c:525:35: error: array subscript is of type 'char'
  [-Werror,-Wchar-subscripts]
      dest[2 * i] = (unsigned char)(toupper(src[i]));
                                    ^~~~~~~~~~~~~~~
  /usr/include/ctype.h:152:25: note: expanded from macro 'toupper'
        (void) __CTYPE_PTR[__x]; (toupper) (__x);})
                          ^~~~

Jay Satiro (3 Jun 2017)
- [Mahmoud Samir Fayed brought this change]

  BINDINGS: add Ring binding
  
  Closes https://github.com/curl/curl/pull/1539

Daniel Stenberg (4 Jun 2017)
- CONTRIBUTE.md: mention tests done on pull requests

- travis: add coverage, distcheck and cmake builds
  
  Closes #1534

Marcel Raad (3 Jun 2017)
- libtest: fix int-in-bool-context warnings
  
  GCC 7 complained:
  ‘*’ in boolean context, suggest ‘&&’ instead [-Wint-in-bool-context]

- libtest: fix implicit-fallthrough warnings with GCC 7

- x509asn1: fix implicit-fallthrough warning with GCC 7

- curl_sasl: fix unused-variable warning
  
  This fixes the following warning with CURL_DISABLE_CRYPTO_AUTH,
  as seen in the autobuilds:
  
  curl_sasl.c:417:9: warning: unused variable 'serverdata'
  [-Wunused-variable]

Daniel Stenberg (3 Jun 2017)
- updatemanpages.pl: error out on too old git version

Marcel Raad (3 Jun 2017)
- cyassl: define build macros before including ssl.h
  
  cyassl/ssl.h needs the macros from cyassl/options.h, so define them
  before including cyassl/ssl.h the first time, which happens in
  urldata.h.
  This broke the build on Ubuntu Xenial, which comes with WolfSSL 3.4.8
  and therefore redefines the symbols from cyassl/options.h instead of
  including the header.
  
  Closes https://github.com/curl/curl/pull/1536

Daniel Stenberg (3 Jun 2017)
- tool_util: remove unused tvdiff_secs and remove tool_ prefix
  
  Closes #1532

- dedotdot: fixed output for ".." and "." only input
  
  Found when updating test 1395, which I did to increase test coverage of
  this source file...
  
  Closes #1535

Marcel Raad (2 Jun 2017)
- mbedtls: make TU-local variable static
  
  mbedtls_x509_crt_profile_fr is only used locally.
  This fixes a missing-variable-declarations warning with clang.

- MD(4|5): silence cast-align clang warning
  
  Unaligned access is on purpose here and the warning is harmless on
  affected architectures. GCC knows that, while clang warns on all
  architectures.

Daniel Stenberg (2 Jun 2017)
- test1538: fix typo

- test1538: verify the libcurl strerror API calls

- curl_endian: remove unused functions
  
  Closes #1529

- test1537: dedicated tests of the URL (un)escape API calls
  
  Closes #1530

- coverage: run event tests too
  
  ... the torture ones are commented out only because they are slooooow.

- build: provide easy code coverage measuring
  
  Closes #1528

- typecheck-gcc.h: check CURLINFO_CERTINFO
  
  ... and update the certinfo.c example accordingly.
  
  Fixes https://github.com/curl/curl/issues/846

- typecheck-gcc.h: check CURLINFO_TLS_SSL_PTR and CURLINFO_TLS_SESSION
  
  ... so that they get the required "struct curl_tlssessioninfo **"
  arguments.

- typecheck-gcc.h: separate getinfo slist checks from other pointers
  
  Fixes #1524

Marcel Raad (1 Jun 2017)
- curl-compilers.m4: escape square brackets in regex
  
  Otherwise, they are removed in the final configure file.
  Also changed sed to "$SED" like in most other calls in this file.

- curl-compilers.m4: fix compiler_num for clang
  
  "clang -dumpversion" always returns "4.2.1", the GCC version that clang
  was initially compatible to. Use "clang -v" instead, which returns the
  actual clang version.
  
  Fixes https://github.com/curl/curl/issues/1522
  Closes https://github.com/curl/curl/pull/1523

Daniel Stenberg (31 May 2017)
- examples/externalsocket.c: s/closesocket/closecb
  
  ... since closesocket is a function in WinSock.
  
  Reported-by: Marcel Raad
  Bug: https://github.com/curl/curl/commit/55fcb8485914700132fd1854c9509b66c955efbe#co
  mmitcomment-22347818

Marcel Raad (31 May 2017)
- lib583: fix compiler warning
  
  Use CURLMcode for variable 'res' and cast to int where necessary
  instead of the other way around. Other tests do the same.
  
  This fixes the following clang warning:
  lib583.c:68:15: warning: cast from function call of type 'CURLMcode' to
  non-matching type 'int' [-Wbad-function-cast]

Daniel Stenberg (31 May 2017)
- CURLOPT_SSH_KEY*.3: typos
  
  Reported-by: Gisle Vanem

- CURLOPT_STREAM_DEPENDS.3: typo

- CURLOPT_FNMATCH_FUNCTION.3: also modified example to avoid fcpp issues

- CURLOPT_FNMATCH_DATA.3: modified example to avoid fcpp issues

- opts: more than 100 more examples for man pages...

- libtest/lib574.c: use correct callback proto

- examples/sampleconv.c: indent changes, made callbacks static

- example/externalsocket.c: make it use CLOSESOCKETFUNCTION too

Marcel Raad (31 May 2017)
- curl-compilers.m4: enable -Wshift-sign-overflow for clang
  
  clang 2.9+ supports -Wshift-sign-overflow, which warns about undefined
  behavior on signed left shifts when shifting by too many places.
  
  Ref: https://github.com/curl/curl/issues/1516
  Closes https://github.com/curl/curl/pull/1517

Daniel Stenberg (31 May 2017)
- CURLOPT_PROXY.3: fix test 1140 breakage

Jay Satiro (31 May 2017)
- build-wolfssl: Sync config with wolfSSL 3.11
  
  wolfSSL configure script relevant changes from 3.10 to 3.11:
  
  - Async threading support added; disabled by default without async
    crypto, which continues to be disabled by default.
  
  wolfSSL configure script relevant changes from 3.11 to 3.11.1 (beta):
  
  - TLS 1.3 beta support added; disabled by default.
  
  For experimenting I put in a comment block the defines needed to enable
  TLS 1.3 support (ie the equivalent of --enable-tls13).

Daniel Stenberg (30 May 2017)
- opts: more examples added to man pages

- docs: clarify NO_PROXY further
  
  Fixes #1208

- CURLOPT_PROXY.3: describe the environment variables more

- transfer: init the infilesize from the postfields...
  
  ... with a strlen() if no size was set, and do this in the pretransfer
  function so that the info is set early. Otherwise, the default strlen()
  done on the POSTFIELDS data never sets state.infilesize.
  
  Reported-by: Vincas Razma
  Bug: #1294

Jay Satiro (29 May 2017)
- test557: fix ubsan runtime error due to int left shift
  
  - Test curl_msnprintf negative int width arg using INT_MIN instead of
    1 << 31 which is undefined behavior.
  
  Closes https://github.com/curl/curl/issues/1516

- mbedtls: fix variable shadow warning
  
  vtls/mbedtls.c:804:69: warning: declaration of 'entropy' shadows a global declaration [-Wshadow]
   CURLcode Curl_mbedtls_random(struct Curl_easy *data, unsigned char *entropy,
                                                                       ^~~~~~~

Daniel Stenberg (29 May 2017)
- RELEASE-NOTES: synced with 3aaac8c2f

Dan Fandrich (28 May 2017)
- tests: removed some redundant empty <stdout> sections

- runtests.pl: removed <precommand> feature
  
  This hasn't been used in over a decade. <precheck> can still be used to
  run commands before the main test.

Daniel Stenberg (27 May 2017)
- opts: more examples added in option man pages

Dan Fandrich (27 May 2017)
- runtests.pl: removed unused arguments to valgrindparse

Daniel Stenberg (25 May 2017)
- TODO: 6.4 is done, send telnet data in chunks

- [Phil Crump brought this change]

  docs/CURLOPT_SSLVERSION.3: Correct define name in example
  
  Closes #1509

- ssh: fix 'left' may be used uninitialized
  
  follow-up to f31760e63b4e
  
  Reported-by: Michael Kaufmann
  Bug: https://github.com/curl/curl/pull/1495#issuecomment-303982793

Michael Kaufmann (24 May 2017)
- time: fix type conversions and compiler warnings
  
  Fix bugs and compiler warnings on systems with 32-bit long and
  64-bit time_t.
  
  Reviewed-by: Daniel Stenberg
  
  Closes #1499

Marcel Raad (24 May 2017)
- examples: fix Wimplicit-fallthrough warnings
  
  This is contained in -Wextra with GCC 7.

Daniel Stenberg (24 May 2017)
- [Anatol Belski brought this change]

  winbuild: fix the nghttp2 build
  
  Closes #1321

GitHub (24 May 2017)
- [Sergei Nikulov brought this change]

  LDAP: documentation update per #878 changes (#1506)

Daniel Stenberg (23 May 2017)
- redirect: store the "would redirect to" URL when max redirs is reached
  
  Test 1261 added to verify.
  
  Reported-by: Lloyd Fournier
  
  Fixes #1489
  Closes #1497

GitHub (24 May 2017)
- [Sergei Nikulov brought this change]

  LDAP: fixed checksrc issue

- [Sergei Nikulov brought this change]

  LDAP: using ldap_bind_s on Windows with methods (#878)
  
  * LDAP: using ldap_bind_s on Windows with methods(BASIC/DIGEST/NTLM/AUTONEG)
  
  * ldap: updated per build options handling
  
  * ldap: fixed logic for auth selection

Daniel Stenberg (23 May 2017)
- [Akhil Kedia brought this change]

  cmake: fix build on Ubuntu 14.04
  
  Fixed a syntax error with setting cache variables (The type and
  docstring were missing), resulting in build errors.  Quoted the
  CURL_CA_PATH and CURL_CA_BUNDLE otherwise the path was written without
  quotes in C code, resulting in build errors.
  
  Closes #1503
  
  Signed-off-by: Akhil <akhil.kedia@samsung.com>

- url: fix declaration of 'pipe' shadows a global declaration
  
  follow-up to 4cdb1be8246c

Kamil Dudka (22 May 2017)
- memdebug: fix compilation failure
  
  .... caused by a typo in the last commit (fixing issue #1504):
  
  memdebug.c: In function ‘curl_fclose’:
  memdebug.c:444:3: error: implicit declaration of function
  ‘DEBUGDEBUGASSERT’ [-Werror=implicit-function-declaration]

Daniel Stenberg (22 May 2017)
- assert: avoid, use DEBUGASSERT instead!
  
  ... as it does extra checks to actually work.
  
  Reported-by: jonrumsey at github
  Fixes #1504

- [Simon Warta brought this change]

  cmake: remove unused variables: GNUTLS_ENABLED, NSS_ENABLED

- [Simon Warta brought this change]

  cmake: remove CURL_CA_BUNDLE from cmake TODO

- [Simon Warta brought this change]

  cmake: auto detection of CURL_CA_BUNDLE/CURL_CA_PATH
  
  Closes #1461

- [Simon Warta brought this change]

  cmake: add CURL_CA_BUNDLE/CURL_CA_FALLBACK/CURL_CA_PATH options

- [Simon Warta brought this change]

  cmake: Add CURL_CA_FALLBACK to curl_config.h.cmake
  
  This is for symmetry with the autoconf generated curl_config.h.in

- RELEASE-NOTES: synced with 052a14e3c

Michael Kaufmann (20 May 2017)
- tests: stabilize test 1034
  
  Pass the invalid domain name on stdin. On some systems, the test
  framework cannot pass invalid UTF-8 sequences on the command line.
  
  Closes #1488

Daniel Stenberg (20 May 2017)
- ssh: ignore timeouts during disconnect
  
  ... as otherwise it risks not cleaning up the libssh2 handle properly
  which leads to memory leak!
  
  Assisted-by: Joel Depooter
  
  Closes #1495
  Closes #1479
  
  Bug: https://curl.haxx.se/mail/lib-2017-04/0024.html

- ghiper.c/hiperfifo.c: add comment about missing timer functionality
  
  It takes someone to read up on the APIs of these libraries to figure out
  how to do this correctly.
  
  Reported-by: Michael Kaufmann
  
  Closes #1253

- asiohiper.cpp / evhiperfifo.c: deal with negative timerfunction input
  
  That means delete the timer.
  
  Reported-by: Michael Kaufmann
  Ref: #1253

- cmdline-opts/write-out.d: s/-L/--location
  
  Since the man page generator wants the long option name version to
  generate the proper output.

- [Bernhard M. Wiedemann brought this change]

  mkhelp.pl: do not add current time into curl binary
  
  ... as part of hugehelpgz rodata to make build reproducible.
  
  See https://reproducible-builds.org/ for why this is good
  
  Closes #1490

- oauth2-bearer.d: mention the <token> argument

Nick Zitzmann (16 May 2017)
- darwinssl: Fix exception when processing a client-side certificate file
  if no error was raised by the API but the SecIdentityRef was null
  
  Fixes #1450

Daniel Stenberg (16 May 2017)
- curl_sasl: fix build error with CURL_DISABLE_CRYPTO_AUTH + USE_NTLM
  
  Reported-by: wyattoday at github
  Fixes #1487

- docs/cmdline-opts/config.d: edit for language

- RELEASE-NOTES: synced with eb16305e6

- [moparisthebest brought this change]

  SecureTransport/DarwinSSL: Implement public key pinning
  
  Closes #1400

- man pages: fix example syntax errors
  
  follow-up to 5ddad099b42b50

- docs/libcurl/opts: added more examples in man pages

- CURLOPT_HTTPPROXYTUNNEL: clarify, add example

- curl: show the libcurl release date in --version output
  
  ... and support and additional "security patched" date for those who
  enhance older versions that way. Pass on the define CURL_PATCHSTAMP with
  a date for that.
  
  Building with non-release headers shows the date as [unreleased].
  
  Also: this changes the date format generated in the curlver.h file to be
  "YYYY-MM-DD" (no name of the day or month, no time, no time zone) to
  make it easier on the eye and easier to parse. Example (new) date
  string: 2017-05-09
  
  Suggested-by: Brian Childs
  
  Closes #1474

Dan Fandrich (13 May 2017)
- url.c: add a compile-time check that CURL_MAX_WRITE_SIZE is large enough
  
  Some code (e.g. Curl_fillreadbuffer) assumes that this buffer is not
  exceedingly tiny and will break if it is. This same check is already
  done at run time in the CURLOPT_BUFFERSIZE option.

- lib510: don't write past the end of the buffer if it's too small

- tests: added missing keywords "chunked Transfer-Encoding"

Daniel Stenberg (13 May 2017)
- THANKS: add a few missing names
  
  ... I found them in the commit logs from the early years

Dan Fandrich (13 May 2017)
- tests: made a couple of prechecks consistent with others
  
  Also removed a TODO suggesting caching the precheck results. Tests
  showed this would save about 0.1 sec on the total test run time on a
  relatively modern system, an unnoticeable gain at the cost of longer and
  more complicated code. There would also be a danger that a cached test
  result would be inappropriately returned, such as when other test
  dependencies (like environment variables) are different or when the
  precheck causes side effects (like filesystem changes).

Daniel Stenberg (12 May 2017)
- FAQ: add 7.4 to toc
  
  ... and delete trailing whitespace
  
  Fixes #1484

- multi: remove leftover debug infof() calls from e9fd794a6

- pipeline: fix mistakenly trying to pipeline POSTs
  
  The function IsPipeliningPossible() would return TRUE if either
  pipelining OR HTTP/2 were possible on a connection, which would lead to
  it returning TRUE even for POSTs on HTTP/1 connections.
  
  It now returns a bitmask so that the caller can differentiate which kind
  the connection allows.
  
  Fixes #1481
  Closes #1483
  Reported-by: stootill at github

Jay Satiro (12 May 2017)
- [Ron Eldor brought this change]

  mbedtls: Support server renegotiation request
  
  Tested with servers: IIS 7.5; OpenSSL 1.0.2.
  
  Closes https://github.com/curl/curl/pull/1475

Marcel Raad (11 May 2017)
- cookie_interface: fix -Wcomma warning
  
  clang 5.0 complains:
  possible misuse of comma operator here [-Wcomma]

- formdata: fix -Wcomma warning
  
  clang 5.0 complains:
  possible misuse of comma operator here [-Wcomma]
  
  Change the comma to a semicolon to fix that.

Daniel Stenberg (10 May 2017)
- multi: use a fixed array of timers instead of malloc
  
  ... since the total amount is low this is faster, easier and reduces
  memory overhead.
  
  Also, Curl_expire_done() can now mark an expire timeout as done so that
  it never times out.
  
  Closes #1472

- multi: assign IDs to all timers and make each timer singleton
  
   A) reduces the timeout lists drastically
  
   B) prevents a lot of superfluous loops for timers that expires "in vain"
      when it has actually already been extended to fire later on

- [Richard Hsu brought this change]

  tests: remove superfluous test 1399
  
  @MarcelRaad noted that `test1399` causes infinite loop on MinGW.
  Looking into this, seems like it is related to how Windows handles
  CRLF. See https://github.com/curl/curl/commit/9e093f by @mback2k.
  Removing `test1399` as it's identical to `test1326` then with such a
  fix.
  
  Test 1399 was broughy by commit 862b02f8947039e
  
  Closes #1478

Dan Fandrich (9 May 2017)
- tests: make test file names more unique
  
  Include the test number in the names of files written out by tests to
  reduce the chance of accidental duplication and to make it more clear
  which test is associated with which file.

- tests: removed redundant --trace-ascii arguments
  
  This is already added by the test suite; it's not clear why all these
  tests had it, unless it's cargo-culting.

Marcel Raad (9 May 2017)
- tool: fix remaining -Wcast-qual warnings
  
  Avoid casting away low-level const.

Daniel Stenberg (9 May 2017)
- formboundary: convert assert into run-time check
  
  ... to really make sure the boundary fits in the target buffer.
  
  Fixes unused parameter 'buflen' warning.
  
  Reported-by: Michael Kaufmann
  Bug: https://github.com/curl/curl/pull/1468#issuecomment-300078754

Dan Fandrich (9 May 2017)
- tests: list the primary server first in the server section

Daniel Stenberg (8 May 2017)
- curl: generate the --help output
  
  ... using the docs/cmdline-opts/gen.pl script, so that we get all the
  command line option documentation from the same source.
  
  The generation of the list has to be done manually and pasted into the
  source code.
  
  Closes #1465

- tests: updated for modified fake random

- [Jay Satiro brought this change]

  rand: treat fake entropy the same regardless of endianness
  
  When the random seed is purposely made predictable for testing purposes
  by using the CURL_ENTROPY environment variable, process that data in an
  endian agnostic way so the the initial random seed is the same
  regardless of endianness.
  
  - Change Curl_rand to write to a char array instead of int array.
  
  - Add Curl_rand_hex to write random hex characters to a buffer.
  
  Fixes #1315
  Closes #1468
  
  Co-authored-by: Daniel Stenberg
  Reported-by: Michael Kaufmann

Dan Fandrich (8 May 2017)
- tests: give each stunnel.conf file a unique name
  
  Otherwise, subsequent uses of stunnel overwrite the configuration file
  of previous invocations so they can no longer be inspected.

Marcel Raad (8 May 2017)
- tool_msgs: remove wrong cast
  
  Commit 481e0de00a9003b9c5220b120e3fc302d9b0932d changed the variable
  type from int to size_t, so don't cast the result of strlen to int
  anymore.

- tftpd: fix signed/unsigned mismatch warnings
  
  alarm's argument is unsigned.

- libtest: fix MinGW-w64 warnings
  
  long is 32 bits while size_t is 64 bits on MinGW-w64, so
  typecheck-gcc.h complains when using size_t for a long option.
  Also, curl_socket_t is unsigned long long rather than int.

Daniel Stenberg (8 May 2017)
- curl.1: depend the build on the Makefile.inc too
  
  ... to also make it update when we remove files, like we did for
  --environment in commit a8e388dd1095.

- RELEASE-NOTES: synced with e3f84efc32d6b01a

- runtests: fix "use of undefined value" warning in -R handling

Marcel Raad (8 May 2017)
- test537: use correct variable type
  
  Avoids narrowing conversion warnings because rlim_t is usually
  unsigned long.
  
  Closes https://github.com/curl/curl/pull/1469

- sendrecv: fix MinGW-w64 warning
  
  The first argument to select is an int, while curl_socket_t is
  unsigned long long when using WinSock. It's ignored anyway [1].
  
  [1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms740141.aspx

- tool_parsecfg: fix -Wcast-qual warning
  
  Don't convert string literal to char * before assigning it to
  const char *.

- asyn-thread: fix unused macro warnings
  
  Don't do anything in this file if CURLRES_THREADED is not defined.

- tftp: silence bad-function-cast warning
  
  The cases this warns about are handled elsewhere, so just use an
  intermediate variable to silence the warning.

Daniel Stenberg (7 May 2017)
- [canavan at github brought this change]

  buildconf: fix hang on IRIX
  
  Apparently, /usr/bin/m4 ignores the --version parameter and waits for
  input from stdin.
  
  Fixes #1471

- opts: fix bad example formatting \n => \\n
  
  ...to render properly nroff.

- opts: examples added to 8 more libcurl option man pages

- curl: remove tool_writeenv.[ch]
  
  ... and USE_ENVIRONMENT and --environment. It was once added for RISC OS
  support and its platform specific behavior has been annoying ever
  since. Added in commit c3c8bbd3b2688da8e, mostly unchanged since
  then. Most probably not actually used for years.
  
  Closes #1463

Dan Fandrich (6 May 2017)
- runtests.pl: simplify the datacheck read section
  
  Also, document that numbered datacheck sections are possible.

Marcel Raad (5 May 2017)
- tests: fix -Wcast-qual warnings
  
  Avoid casting string literals to non-const char *.

Daniel Stenberg (5 May 2017)
- docs/opts: 24 more man pages now have examples

- docs/opts: 23 more man pages now have examples

- tests/server: run checksrc by default in debug-builds

- curl_slist_append.3: clarify a NULL input creates a new list

Marcel Raad (5 May 2017)
- unit1305: fix compiler warning
  
  calloc and ai_addrlen expect different (usually unsigned) types.

Daniel Stenberg (5 May 2017)
- runtests: use -R for random order
  
  Suggested-by: Dan Fandrich

- runtests: add -o to run test cases in scrambled order
  
  ... instead of numerical order.
  
  Closes #1466

Dan Fandrich (4 May 2017)
- sockfilt.c: shortened too long line

Marcel Raad (4 May 2017)
- tests/server: make string literals const
  
  assign string literals to const char * instead of char * in order to
  avoid a lot of these warnings:
  cast from 'const char *' to 'char *' drops const qualifier
  [-Wcast-qual]

Dan Fandrich (4 May 2017)
- schannel: return a more specific error code for SEC_E_UNTRUSTED_ROOT

- test557: set a known good numeric locale
  
  Windows does not allow setting the locale with environment variables (as
  the test attempted to do), so the test failed when run with a user
  locale that has a comma as radixchar. Changed the test to call
  setlocale() explicitly to ensure that a known working locale is set even
  on Windows.

Daniel Stenberg (4 May 2017)
- curl: fix warning "comma at end of enumerator list"

- test559: verify use of minimum CURLOPT_BUFFERSIZE

Marcel Raad (4 May 2017)
- curl_setup_once: use SEND_QUAL_ARG2 for swrite
  
  SEND_QUAL_ARG2 had to be set, but was never used. Use it in swrite to
  avoid warnings about casting away low-level const.
  
  Closes https://github.com/curl/curl/pull/1464

Daniel Stenberg (4 May 2017)
- CURLINFO_REDIRECT_URL.3: add example

- CURLINFO_EFFECTIVE_URL.3: add example

Marcel Raad (3 May 2017)
- lib: fix compiler warnings
  
  Fix the following warnings when building the tests by using the correct
  types:
  cast from 'const char *' to 'void *' drops const qualifier
  [-Wcast-qual]
  implicit conversion changes signedness [-Wsign-conversion]

- typecheck-gcc: add support for CURLINFO_SOCKET
  
