6296 lines
185 KiB
Plaintext
6296 lines
185 KiB
Plaintext
_ _ ____ _
|
||
___| | | | _ \| |
|
||
/ __| | | | |_) | |
|
||
| (__| |_| | _ <| |___
|
||
\___|\___/|_| \_\_____|
|
||
|
||
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
|
||
|
||
Closes https://github.com/curl/curl/pull/1452
|
||
|
||
- typecheck-gcc: add missing string options
|
||
|
||
Closes https://github.com/curl/curl/pull/1452
|
||
|
||
Daniel Stenberg (3 May 2017)
|
||
- abstract-unix-socket.d: shorten the help text to fit within 79 cols
|
||
|
||
- RELEASE-NOTES: synced with 862b02f89
|
||
|
||
- [Richard Hsu brought this change]
|
||
|
||
Telnet: Write full buffer instead of byte-by-byte
|
||
|
||
Previous TODO wanting to write in chunks. We should support writing more
|
||
at once since some TELNET servers may respond immediately upon first
|
||
byte written such as WHOIS servers.
|
||
|
||
Closes #1389
|
||
|
||
- curl: non-boolean command line args reject --no- prefixes
|
||
|
||
... and instead properly respond with an error message to the user
|
||
instead of silently ignoring.
|
||
|
||
Fixes #1453
|
||
Closes #1458
|
||
|
||
Marcel Raad (2 May 2017)
|
||
- testpart: remove _MPRINTF_REPLACE
|
||
|
||
Support for _MPRINTF_REPLACE in mprintf.h was removed in
|
||
55452ebdff47f98bf3cc383f1dfc3623fcaefefd, replaced with curl_printf.h.
|
||
|
||
Dan Fandrich (2 May 2017)
|
||
- gtls: fixed a lingering BUFSIZE reference
|
||
|
||
Daniel Stenberg (2 May 2017)
|
||
- ssh: fix compiler warning from e40e9d7f0de
|
||
|
||
- url: let CURLOPT_BUFFERSIZE realloc to smaller sizes too
|
||
|
||
Closes #1449
|
||
|
||
- BUFSIZE: rename to READBUFFER_*, make separate MASTERBUF_SIZE
|
||
|
||
- openssl: use local stack for temp storage
|
||
|
||
- sendf: remove use of BUFSIZE from debug data conversions
|
||
|
||
The buffer can have other sizes.
|
||
|
||
- buffer: use data->set.buffer_size instead of BUFSIZE
|
||
|
||
... to properly use the dynamically set buffer size!
|
||
|
||
- krb5: use private buffer for temp string, not receive buffer
|
||
|
||
- upload: UPLOAD_BUFSIZE is now for the upload buffer
|
||
|
||
- unit1606: do not print/access buffer
|
||
|
||
It was a wrong assumption that it could do that!
|
||
|
||
- http-proxy: use a dedicated CONNECT response buffer
|
||
|
||
To make it suitably independent of the receive buffer and its flexible
|
||
size.
|
||
|
||
- transfer: fix minor buffer_size mistake
|
||
|
||
- failf: use private buffer, don't clobber receive buffer
|
||
|
||
- pingpong: use the set buffer size
|
||
|
||
- http2: use the correct set buffer size
|
||
|
||
- http: don't clobber the receive buffer for timecond
|
||
|
||
- buffer_size: make sure it always has the correct size
|
||
|
||
Removes the need for CURL_BUFSIZE
|
||
|
||
- file: use private buffer for C-L output
|
||
|
||
... instead of clobbering the download buffer.
|
||
|
||
- CURLOPT_BUFFERSIZE: 1024 bytes is now the minimum size
|
||
|
||
The buffer is needed to receive FTP, HTTP CONNECT responses etc so
|
||
already at this size things risk breaking and smaller is certainly not
|
||
wise.
|
||
|
||
- ftp: use private buffer for temp storage, not receive buffer
|
||
|
||
- http: use private user:password output buffer
|
||
|
||
Don't clobber the receive buffer.
|
||
|
||
Marcel Raad (1 May 2017)
|
||
- anyauthput: remove unused code
|
||
|
||
The definition of TRUE was introduced in
|
||
4a728747e6f8845e500910e397dfc99aaf4a7984 and is not used anymore since
|
||
e664cd5826d43930fcc5b5dbaedbec94af33184b.
|
||
The usage of intptr_t was removed in
|
||
32e38b8f42477cf5ce3c3fef2fcc9db82f7fb7be.
|
||
|
||
Jay Satiro (1 May 2017)
|
||
- tool: Fix missing prototype warnings for CURL_DOES_CONVERSIONS
|
||
|
||
- Include tool_convert.h where needed.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1460
|
||
Reported-by: Gisle Vanem
|
||
|
||
- curl_setup: Ensure no more than one IDN lib is enabled
|
||
|
||
Prior to this change it was possible for libcurl to be built with both
|
||
Windows' native IDN lib (normaliz) and libidn2 enabled. It appears that
|
||
doesn't offer any benefit --and could cause a bug-- since libcurl's IDN
|
||
handling is written to use either one but not both.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1441#issuecomment-297689856
|
||
Reported-by: Gisle Vanem
|
||
|
||
Marcel Raad (1 May 2017)
|
||
- getpart: use correct variable type
|
||
|
||
This fixes the following clang warning:
|
||
getpart.c:201:17: warning: cast from function call of type 'CURLcode'
|
||
to non-matching type 'int' [-Wbad-function-cast]
|
||
|
||
- tests: declare TU-local variables static
|
||
|
||
This fixes missing-variable-declarations warnings when building with
|
||
clang.
|
||
|
||
- tool_cb_prg: fix double-promotion warning
|
||
|
||
clang complains:
|
||
tool_cb_prg.c:86:22: error: implicit conversion increases
|
||
floating-point precision: 'float' to 'double'
|
||
[-Werror,-Wdouble-promotion]
|
||
|
||
Fix this by using a double instead of a float constant.
|
||
|
||
Dan Fandrich (1 May 2017)
|
||
- examples: fixed too long line and too long string warnings
|
||
|
||
Marcel Raad (30 Apr 2017)
|
||
- examples: declare TU-local variables static
|
||
|
||
This fixes missing-variable-declarations warnings when building with
|
||
clang.
|
||
|
||
- http2: declare TU-local variables static
|
||
|
||
This fixes the following clang warnings:
|
||
|
||
http2.c:184:27: error: no previous extern declaration for non-static
|
||
variable 'Curl_handler_http2' [-Werror,-Wmissing-variable-declarations]
|
||
http2.c:204:27: error: no previous extern declaration for non-static
|
||
variable 'Curl_handler_http2_ssl'
|
||
[-Werror,-Wmissing-variable-declarations]
|
||
|
||
Dan Fandrich (30 Apr 2017)
|
||
- unit1604: fixed indentation
|
||
|
||
- unit1604: fixed compilation under Windows, broken in the previous commit
|
||
|
||
- tests: fixed OOM handling of unit tests to abort test
|
||
|
||
It's dangerous to continue to run the test when a memory alloc fails.
|
||
|
||
Marcel Raad (29 Apr 2017)
|
||
- curl_rtmp: fix missing-variable-declarations warnings
|
||
|
||
clang complains:
|
||
|
||
curl_rtmp.c:61:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmp' [-Werror,-Wmissing-variable-declarations]
|
||
curl_rtmp.c:81:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpt' [-Werror,-Wmissing-variable-declarations]
|
||
curl_rtmp.c:101:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpe' [-Werror,-Wmissing-variable-declarations]
|
||
curl_rtmp.c:121:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpte' [-Werror,-Wmissing-variable-declarations]
|
||
curl_rtmp.c:141:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmps' [-Werror,-Wmissing-variable-declarations]
|
||
curl_rtmp.c:161:27: error: no previous extern declaration for non-static variable 'Curl_handler_rtmpts' [-Werror,-Wmissing-variable-declarations]
|
||
|
||
Fix this by including the header file.
|
||
|
||
Dan Fandrich (29 Apr 2017)
|
||
- url: fixed a memory leak on OOM while setting CURLOPT_BUFFERSIZE
|
||
|
||
- tests: added --remote-time tests for remaining protocols that support it
|
||
|
||
- runtests.pl: support multiline <postcheck> commands
|
||
|
||
- tool_operate: use utimes instead of obsolescent utime when available
|
||
|
||
- test1443: test --remote-time
|
||
|
||
- http-proxy: removed unused argument in CURL_DISABLE_PROXY case
|
||
|
||
Missed in commit 55c3c02e
|
||
|
||
Daniel Stenberg (27 Apr 2017)
|
||
- cookie_interface.c: changed the other domain to example.com too
|
||
|
||
- cookie_interface.c: fix cookie domain so the example works
|
||
|
||
Dan Fandrich (26 Apr 2017)
|
||
- Makefile: fix make dist
|
||
|
||
Commit 80a87e8a broke 'make dist' as it can't handle installing from
|
||
absolute target names. Rearranged the dependencies so the absolute name
|
||
is used for building but the relative name is use for distributing.
|
||
|
||
Marcel Raad (26 Apr 2017)
|
||
- lib: remove unused code
|
||
|
||
This fixes the following clang warnings:
|
||
macro is not used [-Wunused-macros]
|
||
will never be executed [-Wunreachable-code]
|
||
|
||
Closes https://github.com/curl/curl/pull/1448
|
||
|
||
Daniel Stenberg (26 Apr 2017)
|
||
- http-proxy: remove unused argument from Curl_proxyCONNECT()
|
||
|
||
- [Martin Kepplinger brought this change]
|
||
|
||
url: declare get_protocol_family() static
|
||
|
||
get_protocol_family() is not defined static even though there is a
|
||
static local forward declaration. Let's simply make the definition match
|
||
it's declaration.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-04/0127.html
|
||
|
||
- examples: ftpuploadfrommem.c
|
||
|
||
Uploads data to an FTP site, directly from memory.
|
||
|
||
Closes #1451
|
||
|
||
Kamil Dudka (25 Apr 2017)
|
||
- nss: load libnssckbi.so if no other trust is specified
|
||
|
||
The module contains a more comprehensive set of trust information than
|
||
supported by nss-pem, because libnssckbi.so also includes information
|
||
about distrusted certificates.
|
||
|
||
Reviewed-by: Kai Engert
|
||
Closes #1414
|
||
|
||
- nss: factorize out nss_{un,}load_module to separate fncs
|
||
|
||
No change of behavior is intended by this commit.
|
||
|
||
- nss: do not leak PKCS #11 slot while loading a key
|
||
|
||
It could prevent nss-pem from being unloaded later on.
|
||
|
||
Bug: https://bugzilla.redhat.com/1444860
|
||
|
||
Marcel Raad (25 Apr 2017)
|
||
- typecheck-gcc: fix _curl_is_slist_info
|
||
|
||
Info values starting with CURLINFO_SOCKET expect a curl_socket_t, not a
|
||
curl_slist argument.
|
||
|
||
This fixes the following GCC warning when building the examples with
|
||
--enable-optimize:
|
||
|
||
../../include/curl/typecheck-gcc.h:126:42: warning: call to
|
||
‘_curl_easy_getinfo_err_curl_slist’ declared with attribute warning:
|
||
curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this
|
||
info [enabled by default]
|
||
sendrecv.c:90:11: note: in expansion of macro ‘curl_easy_getinfo’
|
||
res = curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sockfd);
|
||
|
||
Closes https://github.com/curl/curl/pull/1447
|
||
|
||
Daniel Stenberg (25 Apr 2017)
|
||
- curl: set a 100K buffer size by default
|
||
|
||
Test command 'time curl http://localhost/80GB -so /dev/null' on a Debian
|
||
Linux.
|
||
|
||
Before (middle performing run out 9):
|
||
|
||
real 0m28.078s
|
||
user 0m11.240s
|
||
sys 0m12.876s
|
||
|
||
After (middle performing run out 9)
|
||
|
||
real 0m26.356s (93.9%)
|
||
user 0m5.324s (47.4%)
|
||
sys 0m8.368s (65.0%)
|
||
|
||
Also, doing SFTP over a 200 millsecond latency link is now about 6 times
|
||
faster.
|
||
|
||
Closes #1446
|
||
|
||
- transfer: remove 'uploadbuf' pointer and cleanup readwrite_upload()
|
||
|
||
The data->req.uploadbuf struct member served no good purpose, instead we
|
||
use ->state.uploadbuffer directly. It makes it clearer in the code which
|
||
buffer that's being used.
|
||
|
||
Removed the 'SingleRequest *' argument from the readwrite_upload() proto
|
||
as it can be derived from the Curl_easy struct. Also made the code in
|
||
the readwrite_upload() function use the 'k->' shortcut to all references
|
||
to struct fields in 'data->req', which previously was made with a mix of
|
||
both.
|
||
|
||
Jay Satiro (25 Apr 2017)
|
||
- configure: stop prepending to LDFLAGS, CPPFLAGS
|
||
|
||
- Change prepends to appends because user's LDFLAGS and CPPFLAGS should
|
||
always come first so they're searched before ours.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1420
|
||
Reported-by: Helmut K. C. Tessarek
|
||
|
||
Marcel Raad (25 Apr 2017)
|
||
- if2ip: fix -Wcast-align warning
|
||
|
||
Follow-up to 119037325de02579f5c58256ca2ed2a0aa592c86, which fixed the
|
||
warning in the HAVE_GETIFADDRS block, but not in the
|
||
HAVE_IOCTL_SIOCGIFADDR block.
|
||
|
||
Dan Fandrich (24 Apr 2017)
|
||
- Makefile: avoid use of GNU-specific form of $<
|
||
|
||
$< is only allowed in implicit rules in some non-GNU makes (e.g. BSD,
|
||
AIX) so avoid use elsewhere by referencing the dependent curl.1 file
|
||
directly instead. This is somewhat tricky because the file is supplied
|
||
in the packaged tar ball (but not in git) but must still be able to be
|
||
rebuilt when its dependencies change. The right thing must happen in
|
||
both tar ball and git source trees, as well as in both in-tree and
|
||
out-of-tree builds.
|
||
|
||
Kamil Dudka (24 Apr 2017)
|
||
- nss: adapt to the new Curl_llist API
|
||
|
||
This commit fixes compilation failure caused by
|
||
cbae73e1dd95946597ea74ccb580c30f78e3fa73.
|
||
|
||
Marcel Raad (24 Apr 2017)
|
||
- curl-compilers.m4: accept -Og and -Ofast GCC flags
|
||
|
||
-Og, introduced in GCC 4.8, optimizes for debugging experience.
|
||
-Ofast, introduced in GCC 4.7, builds on -O3 and enables further
|
||
optimizations breaking strict standards compliance.
|
||
When specified in CFLAGS, these were always overridden by -O0 or -O2.
|
||
Fix this by adding them to flags_opt_all.
|
||
|
||
Ref: https://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Options.html
|
||
Ref: https://github.com/curl/curl/pull/1404#issuecomment-296401570
|
||
Closes https://github.com/curl/curl/pull/1440
|
||
|
||
Daniel Stenberg (24 Apr 2017)
|
||
- RELEASE-NOTES: synced with c68fed875
|
||
|
||
- configure: fix the -ldl check for openssl, add -lpthread check
|
||
|
||
The check for if -ldl is needed to build with (a statically built)
|
||
openssl was broken. This repairs the check, and adds a check for
|
||
-lpthread as well since OpenSSL 1.1.0+ does in fact require -lpthread so
|
||
only adding -ldl for a static openssl build is no longer enough.
|
||
|
||
Reported-by: Jay Satiro
|
||
Ref: #1426
|
||
Closes #1427
|
||
|
||
- llist: fix a comment after cbae73e1dd9
|
||
|
||
Pointed-it-by: Kevin Ji
|
||
URL: https://github.com/curl/curl/commit/cbae73e1dd95946597ea74ccb580c30f78e3fa73#commitcomment-21872622
|
||
|
||
Jay Satiro (22 Apr 2017)
|
||
- schannel: Don't treat encrypted partial record as pending data
|
||
|
||
- Track when the cached encrypted data contains only a partial record
|
||
that can't be decrypted without more data (SEC_E_INCOMPLETE_MESSAGE).
|
||
|
||
- Change Curl_schannel_data_pending to return false in such a case.
|
||
|
||
Other SSL libraries have pending data functions that behave similarly.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1387
|
||
|
||
Closes https://github.com/curl/curl/pull/1392
|
||
|
||
Daniel Stenberg (22 Apr 2017)
|
||
- [Alan Jenkins brought this change]
|
||
|
||
multi: clarify condition in curl_multi_wait
|
||
|
||
`if(nfds || extra_nfds) {` is followed by `malloc(nfds * ...)`.
|
||
|
||
If `extra_fs` could be non-zero when `nfds` was zero, then we have
|
||
`malloc(0)` which is allowed to return `NULL`. But, malloc returning
|
||
NULL can be confusing. In this code, the next line would treat the NULL
|
||
as an allocation failure.
|
||
|
||
It turns out, if `nfds` is zero then `extra_nfds` must also be zero.
|
||
The final value of `nfds` includes `extra_nfds`. So the test for
|
||
`extra_nfds` is redundant. It can only confuse the reader.
|
||
|
||
Closes #1439
|
||
|
||
Marcel Raad (22 Apr 2017)
|
||
- lib: fix maybe-uninitialized warnings
|
||
|
||
With -Og, GCC complains:
|
||
|
||
easy.c:628:7: error: ‘mcode’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
|
||
|
||
../lib/strcase.h:35:29: error: ‘tok_buf’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
|
||
vauth/digest.c:208:9: note: ‘tok_buf’ was declared here
|
||
|
||
../lib/strcase.h:35:29: error: ‘tok_buf’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
|
||
vauth/digest.c:566:15: note: ‘tok_buf’ was declared here
|
||
|
||
Fix this by initializing the variables.
|
||
|
||
Dan Fandrich (22 Apr 2017)
|
||
- gnutls: removed some code when --disable-verbose is configured
|
||
|
||
This reduces the binary size and fixes a compile warning.
|
||
|
||
Daniel Stenberg (22 Apr 2017)
|
||
- llist: no longer uses malloc
|
||
|
||
The 'list element' struct now has to be within the data that is being
|
||
added to the list. Removes 16.6% (tiny) mallocs from a simple HTTP
|
||
transfer. (96 => 80)
|
||
|
||
Also removed return codes since the llist functions can't fail now.
|
||
|
||
Test 1300 updated accordingly.
|
||
|
||
Closes #1435
|
||
|
||
Marcel Raad (21 Apr 2017)
|
||
- typecheck-gcc: handle function pointers properly
|
||
|
||
All the callbacks passed to curl_easy_setopt are defined as function
|
||
pointers. The possibility to pass both functions and function pointers
|
||
was handled for the callbacks that typecheck-gcc.h defined as
|
||
compatible, but not for the public callback types themselves.
|
||
|
||
This makes all compatible callback types defined in typecheck-gcc.h
|
||
function pointers too and checks all functions uniformly with
|
||
_curl_callback_compatible, which handles both functions and function
|
||
pointers.
|
||
|
||
A symptom of the problem was a warning in tool_operate.c with
|
||
--disable-libcurl-option and without --enable-debug as that file
|
||
passes the callback functions to curl_easy_setopt directly.
|
||
|
||
Fixes https://github.com/curl/curl/issues/1403
|
||
Closes https://github.com/curl/curl/pull/1404
|
||
|
||
Dan Fandrich (21 Apr 2017)
|
||
- mbedtls: enable NTLM (& SMB) even if MD4 support is unavailable
|
||
|
||
In that case, use libcurl's internal MD4 routine. This fixes tests 1013
|
||
and 1014 which were failing due to configure assuming NTLM and SMB were
|
||
always available whenever mbed TLS was in use (which is now true).
|
||
|
||
Daniel Stenberg (21 Apr 2017)
|
||
- tests: remove the html and PDF versions from the tarball
|
||
|
||
- openssl: fix memory leak in servercert
|
||
|
||
... when failing to get the server certificate.
|
||
|
||
- Revert "src/Makefile.am: avoid explicit $<"
|
||
|
||
This reverts commit 5b4cbcf11d5100ff793a8e9edbaa6fe1fc7495f5.
|
||
|
||
Since it broke out-of-tree builds from tarballs. See discussion in #1432
|
||
|
||
- bump: start working on next release
|
||
|
||
- src/Makefile.am: avoid explicit $<
|
||
|
||
... since apparently "BSD make" doesn't support it.
|
||
|
||
Reported-by: Thomas Klausner
|
||
Fixes #1432
|
||
|
||
Version 7.54.0 (19 Apr 2017)
|
||
|
||
Daniel Stenberg (19 Apr 2017)
|
||
- THANKS: add contributors from 7.54.0 release notes
|
||
|
||
- RELEASE-NOTES: curl 7.54.0
|
||
|
||
Marcel Raad (18 Apr 2017)
|
||
- nss: fix MinGW compiler warnings
|
||
|
||
This fixes 3 warnings issued by MinGW:
|
||
1. PR_ImportTCPSocket actually has a paramter of type PROsfd instead of
|
||
PRInt32, which is 64 bits on Windows. Fixed this by including the
|
||
corresponding header file instead of redeclaring the function, which is
|
||
supported even though it is in the private include folder. [1]
|
||
2. In 64-bit mode, size_t is 64 bits while CK_ULONG is 32 bits, so an explicit
|
||
narrowing cast is needed.
|
||
3. Curl_timeleft returns time_t instead of long since commit
|
||
21aa32d30dbf319f2d336e0cb68d3a3235869fbb.
|
||
|
||
[1] https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR/Reference/PR_ImportTCPSocket
|
||
|
||
Closes https://github.com/curl/curl/pull/1393
|
||
|
||
Daniel Stenberg (18 Apr 2017)
|
||
- [Jay Satiro brought this change]
|
||
|
||
TLS: Fix switching off SSL session id when client cert is used
|
||
|
||
Move the sessionid flag to ssl_primary_config so that ssl and proxy_ssl
|
||
will each have their own sessionid flag.
|
||
|
||
Regression since HTTPS-Proxy support was added in cb4e2be. Prior to that
|
||
this issue had been fixed in 247d890, CVE-2016-5419.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1341
|
||
Reported-by: lijian996@users.noreply.github.com
|
||
|
||
The new incarnation of this bug is called CVE-2017-7468 and is documented
|
||
here: https://curl.haxx.se/docs/adv_20170419.html
|
||
|
||
- [David Benjamin brought this change]
|
||
|
||
openssl: don't try to print nonexistant peer private keys
|
||
|
||
X.509 certificates carry public keys, not private keys. Fields
|
||
corresponding to the private half of the key will always be NULL.
|
||
|
||
Closes #1425
|
||
|
||
- [David Benjamin brought this change]
|
||
|
||
openssl: fix thread-safety bugs in error-handling
|
||
|
||
ERR_error_string with NULL parameter is not thread-safe. The library
|
||
writes the string into some static buffer. Two threads doing this at
|
||
once may clobber each other and run into problems. Switch to
|
||
ERR_error_string_n which avoids this problem and is explicitly
|
||
bounds-checked.
|
||
|
||
Also clean up some remnants of OpenSSL 0.9.5 around here. A number of
|
||
comments (fixed buffer size, explaining that ERR_error_string_n was
|
||
added in a particular version) date to when ossl_strerror tried to
|
||
support pre-ERR_error_string_n OpenSSLs.
|
||
|
||
Closes #1424
|
||
|
||
- [David Benjamin brought this change]
|
||
|
||
openssl: make SSL_ERROR_to_str more future-proof
|
||
|
||
Rather than making assumptions about the values, use a switch-case.
|
||
|
||
Closes #1424
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
code: fix typos and style in comments
|
||
|
||
A few random typos, and minor whitespace cleanups, found in comments
|
||
while reading code.
|
||
|
||
Closes #1423
|
||
|
||
Marcel Raad (17 Apr 2017)
|
||
- extern-scan.pl: strip trailing CR
|
||
|
||
This makes test 1135 pass with CRLF checkouts.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1344#issuecomment-289243166
|
||
Closes https://github.com/curl/curl/pull/1422
|
||
|
||
- configure.ac: ignore CR after version numbers
|
||
|
||
Ignore everything after the version numbers in LIBCURL_VERSION and
|
||
LIBCURL_VERSION_NUM to ged rid of the extra CR character.
|
||
This makes tests 1022 and 1023 pass on Linux with a CRLF checkout.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1344#issuecomment-289243166
|
||
Closes https://github.com/curl/curl/pull/1422
|
||
|
||
- .gitattributes: force shell scripts to LF
|
||
|
||
Bash on Linux errors out on CR characters.
|
||
This makes tests 1221 and 1222 pass on Linux with a CRLF checkout.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1344#issuecomment-289243166
|
||
Closes https://github.com/curl/curl/pull/1422
|
||
|
||
- unit1303: fix compiler warning
|
||
|
||
MinGW-w64 complains:
|
||
warning: conversion to 'long int' from 'time_t {aka long long int}' may
|
||
alter its value [-Wconversion]
|
||
Fix this by using the correct type.
|
||
|
||
Daniel Stenberg (16 Apr 2017)
|
||
- RELEASE-NOTES: synced with 1451271e0
|
||
|
||
- [Larry Stefani brought this change]
|
||
|
||
http2: fix handle leak in error path
|
||
|
||
Add missing newhandle free call in push_promise().
|
||
|
||
Closes #1416
|
||
|
||
- [Larry Stefani brought this change]
|
||
|
||
mbedtls: fix memory leak in error path
|
||
|
||
Add missing our_ssl_sessionid free call in mbed_connect_step3().
|
||
|
||
Closes #1417
|
||
|
||
Marcel Raad (15 Apr 2017)
|
||
- curl-compilers.m4: turn implicit function declarations into errors
|
||
|
||
This adds -Werror-implicit-function-declaration for GCC 2.95+ so that
|
||
these errors are visible at the point where they occur instead of only
|
||
at link time.
|
||
Implicit function declarations are illegal in C99 and C++ anyway, and
|
||
the same warning has been turned into an error for ICC in commit
|
||
3072c5b8a127057aa922b7c51051bbb4a630b091.
|
||
|
||
Ref: https://gcc.gnu.org/onlinedocs/gcc-2.95.2/gcc_2.html#SEC8
|
||
Ref: https://curl.haxx.se/mail/lib-2017-04/0001.html
|
||
Closes https://github.com/curl/curl/pull/1419
|
||
|
||
- test1541: also test for CURL_PULL_WS2TCPIP_H
|
||
|
||
Ref: https://github.com/curl/curl/issues/1408
|
||
Closes https://github.com/curl/curl/pull/1412
|
||
|
||
- tests/server/util: prefer <poll.h> over <sys/poll.h>
|
||
|
||
Follow-up to aa573c3c55cda72ec5ef677d87f6f46a53385f0c
|
||
|
||
Ref: https://github.com/curl/curl/pull/1406
|
||
|
||
Daniel Stenberg (11 Apr 2017)
|
||
- Curl_expire_latest: ignore already expired timers
|
||
|
||
If the existing timer is still in there but has expired, the new timer
|
||
should be added.
|
||
|
||
Reported-by: Rainer Canavan
|
||
Bug: https://curl.haxx.se/mail/lib-2017-04/0030.html
|
||
Closes #1407
|
||
|
||
- system.h: fix mingw section
|
||
|
||
Reported-by: Marcel Raad
|
||
Fixes #1408
|
||
Closes #1409
|
||
|
||
Marcel Raad (11 Apr 2017)
|
||
- polarssl: unbreak build with versions < 1.3.8
|
||
|
||
ssl_session_init was only introduced in version 1.3.8, the penultimate
|
||
version. The function only contains a memset, so replace it with that.
|
||
|
||
Suggested-by: Jay Satiro
|
||
Fixes https://github.com/curl/curl/issues/1401
|
||
|
||
- poll: prefer <poll.h> over <sys/poll.h>
|
||
|
||
The POSIX standard location is <poll.h>. Using <sys/poll.h> results in
|
||
warning spam when using the musl standard library.
|
||
|
||
Closes https://github.com/curl/curl/pull/1406
|
||
|
||
Daniel Stenberg (10 Apr 2017)
|
||
- [Alexis La Goutte brought this change]
|
||
|
||
openssl: fix this statement may fall through [-Wimplicit-fallthrough=]
|
||
|
||
Closes #1402
|
||
|
||
Kamil Dudka (10 Apr 2017)
|
||
- nss: load CA certificates even with --insecure
|
||
|
||
... because they may include an intermediate certificate for a client
|
||
certificate and the intermediate certificate needs to be presented to
|
||
the server, no matter if we verify the peer or not.
|
||
|
||
Reported-by: thraidh
|
||
Closes #851
|
||
|
||
Daniel Stenberg (10 Apr 2017)
|
||
- RELEASE-NOTES: synced with f9d1e9a27f7e1
|
||
|
||
Dan Fandrich (10 Apr 2017)
|
||
- libcurl-thread.3: fixed a bad macro that caused test 1140 to fail
|
||
|
||
Daniel Stenberg (9 Apr 2017)
|
||
- libcurl-thread.3: also mention threaded-resolver
|
||
|
||
Reported-by: Alex Bligh
|
||
Bug: https://curl.haxx.se/mail/lib-2017-04/0044.html
|
||
|
||
- .github/stale.yml: enable the stale bot
|
||
|
||
Issues and PRs with no activity for 180 days will get marked as stale,
|
||
and if no further activity happens within 14 more days, the issue gets
|
||
closed.
|
||
|
||
This follows our established policy of not letting stalled bugs "get in
|
||
the way": https://curl.haxx.se/docs/bugs.html#Closing_off_stalled_bugs
|
||
|
||
Closes #1398
|
||
|
||
Jay Satiro (8 Apr 2017)
|
||
- CURLINFO_SCHEME.3: fix variable type
|
||
|
||
- Change documented param type to char ** from incorrect long *.
|
||
|
||
Marcel Raad (8 Apr 2017)
|
||
- INSTALL.md: fix secure transport configure arguments
|
||
|
||
--without-ssl is needed instead of --with-winssl.
|
||
|
||
- vtls: fix unreferenced variable warnings
|
||
|
||
... by moving the variables into the correct #ifdef block.
|
||
|
||
Daniel Stenberg (7 Apr 2017)
|
||
- BUGS: "Bugs in old versions"
|
||
|
||
- system.h: add section for tcc
|
||
|
||
Closes #1397
|
||
|
||
Marcel Raad (7 Apr 2017)
|
||
- schannel: fix compiler warnings
|
||
|
||
When UNICODE is not defined, the Curl_convert_UTF8_to_tchar macro maps
|
||
directly to its argument. As it is declared as a pointer to const and
|
||
InitializeSecurityContext expects a pointer to non-const, both MSVC and MinGW
|
||
issue a warning about implicitly casting away the const. Fix this by declaring
|
||
the variables as pointers to non-const.
|
||
|
||
Closes https://github.com/curl/curl/pull/1394
|
||
|
||
- [Isaac Boukris brought this change]
|
||
|
||
sspi: print out InitializeSecurityContext() error message
|
||
|
||
Reported-by: Carsten (talksinmath)
|
||
|
||
Fixes #1384
|
||
Closes #1395
|
||
|
||
- gtls: fix compiler warning
|
||
|
||
Curl_timeleft returns time_t instead of long since commit
|
||
21aa32d30dbf319f2d336e0cb68d3a3235869fbb.
|
||
|
||
Daniel Stenberg (6 Apr 2017)
|
||
- test1606: verify speedcheck
|
||
|
||
- low_speed_limit: improved function for longer time periods
|
||
|
||
Previously, periods of fast speed between periods of slow speed would
|
||
not count and could still erroneously trigger a timeout.
|
||
|
||
Reported-by: Paul Harris
|
||
Fixes #1345
|
||
Closes #1390
|
||
|
||
- system.h: set sizeof long to 4 on "default 32 bit" systems
|
||
|
||
Triggered a test failure on test 1541 for the build known as
|
||
"Linux 4.4 i686 tcc 0.9.26 glibc 2.20"
|
||
|
||
Marcel Raad (6 Apr 2017)
|
||
- nss: fix build after e60fe20fdf94e829ba5fce33f7a9d6c281149f7d
|
||
|
||
Curl_llist_alloc is now Curl_llist_init.
|
||
|
||
Closes https://github.com/curl/curl/pull/1391
|
||
|
||
Daniel Stenberg (6 Apr 2017)
|
||
- INSTALL.cmake: more problems
|
||
|
||
and mention specific issues where they are discussed
|
||
|
||
- test1541: ignore the curl_off_t variable type name comparison
|
||
|
||
... the sizes and the formatting strings are what's really important and
|
||
avoids problems with int64_t vs "long long".
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-04/0019.html
|
||
|
||
- Revert "configure: prefer 'long long' to int64_t for curl_off_t"
|
||
|
||
This reverts commit 81284374bf3c670d2050f8562edeb69f060b07cc.
|
||
|
||
Due to mingw32 brekage.
|
||
|
||
Marcel Raad (5 Apr 2017)
|
||
- tool_operate: fix MinGW compiler warning
|
||
|
||
MinGW complains:
|
||
tool_operate.c:197:15: error: comparison is always true due to limited range
|
||
of data type [-Werror=type-limits]
|
||
|
||
Fix this by only doing the comparison if 'long' is large enough to hold the
|
||
constant it is compared with.
|
||
|
||
Closes https://github.com/curl/curl/pull/1378
|
||
|
||
- tool_operate: move filetime code to its own function
|
||
|
||
Ref: https://github.com/curl/curl/pull/1378
|
||
|
||
Daniel Stenberg (5 Apr 2017)
|
||
- configure: prefer 'long long' to int64_t for curl_off_t
|
||
|
||
Since it is a native type and it makes it less complicated to find a
|
||
matching one in system.h
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-04/0010.html
|
||
Reported-by: Dan Fandrich
|
||
|
||
Closes #1388
|
||
|
||
- [Dániel Bakai brought this change]
|
||
|
||
tests: added test for Curl_splaygetbest to unit1309
|
||
|
||
This checks the new behavior of Curl_splaygetbest, so that the smallest
|
||
node not larger than the key is removed, and FIFO behavior is kept even
|
||
when there are multiple nodes with the same key.
|
||
|
||
Closes #1358
|
||
|
||
- [Dániel Bakai brought this change]
|
||
|
||
multi: fix queueing of pending easy handles
|
||
|
||
Multi handles repeatedly invert the queue of pending easy handles when
|
||
used with CURLMOPT_MAX_TOTAL_CONNECTIONS. This is caused by a multistep
|
||
process involving Curl_splaygetbest and violates the FIFO property of
|
||
the multi handle.
|
||
This patch fixes this issue by redefining the "best" node in the
|
||
context of timeouts as the "smallest not larger than now", and
|
||
implementing the necessary data structure modifications to do this
|
||
effectively, namely:
|
||
- splay nodes with the same key are now stored in a doubly-linked
|
||
circular list instead of a non-circular one to enable O(1)
|
||
insertion to the tail of the list
|
||
- Curl_splayinsert inserts nodes with the same key to the tail of
|
||
the same list
|
||
- in case of multiple nodes with the same key, the one on the head of
|
||
the list gets selected
|
||
|
||
Marcel Raad (4 Apr 2017)
|
||
- tool: fix Windows Unicode build
|
||
|
||
... by explicitly calling the ANSI versions of Windows API functions where
|
||
required.
|
||
|
||
Daniel Stenberg (4 Apr 2017)
|
||
- [Martin Kepplinger brought this change]
|
||
|
||
curl_sasl: declare mechtable static
|
||
|
||
struct mechtable is only used locally here. It can be declared static.
|
||
|
||
Jay Satiro (4 Apr 2017)
|
||
- [Antti Hätälä brought this change]
|
||
|
||
url: don't free postponed data on connection reuse
|
||
|
||
- Don't free postponed data on a connection that will be reused since
|
||
doing so can cause data loss when pipelining.
|
||
|
||
Only Windows builds are affected by this.
|
||
|
||
Closes https://github.com/curl/curl/issues/1380
|
||
|
||
Daniel Stenberg (4 Apr 2017)
|
||
- RELEASE-NOTES: synced with 4f2e348f9b42c69c480
|
||
|
||
- hash: move key into hash struct to reduce mallocs
|
||
|
||
This removes one tiny malloc for each hash struct allocated. In a simple
|
||
case like "curl localhost", this save three mallocs.
|
||
|
||
Closes #1376
|
||
|
||
- llist: replace Curl_llist_alloc with Curl_llist_init
|
||
|
||
No longer allocate the curl_llist head struct for lists separately.
|
||
|
||
Removes 17 (15%) tiny allocations in a normal "curl localhost" invoke.
|
||
|
||
closes #1381
|
||
|
||
Jay Satiro (4 Apr 2017)
|
||
- easy: silence compiler warning
|
||
|
||
Safe to silence warning adding time delta of poll, which can trigger on
|
||
Windows since sizeof time_t > sizeof long.
|
||
|
||
warning C4244: '+=' : conversion from 'time_t' to 'long', possible loss
|
||
of data
|
||
|
||
Daniel Stenberg (4 Apr 2017)
|
||
- [Richlv brought this change]
|
||
|
||
docs: minor typo in write-out.d
|
||
|
||
Closes #1382
|
||
|
||
- include: curl/system.h is a run-time version of curlbuild.h
|
||
|
||
system.h is aimed to replace curlbuild.h at a later point in time when
|
||
we feel confident system.h works sufficiently well.
|
||
|
||
curl/system.h is currently used in parallel with curl/curlbuild.h
|
||
|
||
curl/system.h determines a data sizes, data types and include file
|
||
status based on available preprocessor defines instead of getting
|
||
generated at build-time. This, in order to avoid relying on a build-time
|
||
generated file that makes it complicated to do 32 and 64 bit bields from
|
||
the same installed set of headers.
|
||
|
||
Test 1541 verifies that system.h comes to the same conclusion that
|
||
curlbuild.h offers.
|
||
|
||
Closes #1373
|
||
|
||
- multi: make curl_multi_wait avoid malloc in the typical case
|
||
|
||
When only a few additional file descriptors are used, avoid the malloc.
|
||
|
||
Closes #1377
|
||
|
||
Marcel Raad (3 Apr 2017)
|
||
- tests/server/util: remove in6addr_any for recent MinGW
|
||
|
||
In ancient MinGW versions, in6addr_any was declared as extern, but not
|
||
defined. Because of that, 22a0c57746ae12506b1ba0f0fafffd26c1907d6a added
|
||
definitions for in6addr_any when compiling with MinGW. The bug was fixed in
|
||
w32api version 3.6 from 2006, so this workaround is not needed anymore for
|
||
recent versions.
|
||
|
||
This fixes the following MinGW-w64 warnings because the MinGW-w64 version of
|
||
IN6ADDR_ANY_INIT has the two additional braces inside the macro:
|
||
util.c:59:14: warning: braces around scalar initializer
|
||
util.c:59:40: warning: excess elements in scalar initializer
|
||
|
||
Ref: https://sourceforge.net/p/mingw/mingw-org-wsl/ci/e4803e0da25c57ae1ad0fa75ae2b7182ff7fa339/tree/w32api/ChangeLog
|
||
Closes https://github.com/curl/curl/pull/1379
|
||
|
||
Daniel Stenberg (3 Apr 2017)
|
||
- docs: added examples for CURLINFO_FILETIME.3 and CURLOPT_FILETIME.3
|
||
|
||
Jay Satiro (31 Mar 2017)
|
||
- fail-early.d: fix typos
|
||
|
||
- docs: Explain --fail-early does not imply --fail
|
||
|
||
Closes https://github.com/curl/curl/pull/1375
|
||
|
||
Daniel Stenberg (1 Apr 2017)
|
||
- telnet: (win32) fix read callback return variable
|
||
|
||
telnet.c(1427,21): warning: comparison of constant 268435456 with
|
||
expression of type 'CURLcode' is always false
|
||
|
||
telnet.c(1433,21): warning: comparison of constant 268435457 with
|
||
expression of type 'CURLcode' is always false
|
||
|
||
Reviewed-by: Jay Satiro
|
||
Reported-by: Gisle Vanem
|
||
Bug: https://github.com/curl/curl/issues/1225#issuecomment-290340890
|
||
|
||
Closes #1374
|
||
|
||
- CTestConfig.cmake: removed, unused
|
||
|
||
- libcurl.def: removed, unused
|
||
|
||
- docs/index.html: removed, was not shipped anyway
|
||
|
||
- dist: add missing files to the tarball
|
||
|
||
Peter Wu (30 Mar 2017)
|
||
- cmake: fix build with cmake 2.8.12.2
|
||
|
||
For some reason, CMake 2.8.12.2 did not expand the list argument in a
|
||
single DEPENDS argument. Remove the quotes, so it gets expanded into
|
||
multiple arguments for add_custom_command and add_custom_target.
|
||
|
||
Fixes https://github.com/curl/curl/issues/1370
|
||
Closes #1372
|
||
|
||
Marcel Raad (30 Mar 2017)
|
||
- ssh: fix narrowing conversion warning
|
||
|
||
'left' is used as time_t but declared as long.
|
||
MinGW complains:
|
||
error: conversion to 'long int' from 'time_t {aka long long int}' may alter
|
||
its value [-Werror=conversion]
|
||
Changed the declaration to time_t.
|
||
|
||
- http2: silence unused parameter warnings
|
||
|
||
In release mode, MinGW complains:
|
||
error: unused parameter 'lib_error_code' [-Werror=unused-parameter]
|
||
|
||
Daniel Stenberg (30 Mar 2017)
|
||
- [Hanno Böck brought this change]
|
||
|
||
curl: fix callback functions to match prototype
|
||
|
||
The function tool_debug_cb doesn't match curl_debug_callback in curl.h
|
||
(unsigned vs. signed char* for 3rd param).
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-03/0120.html
|
||
|
||
- [Alexis La Goutte brought this change]
|
||
|
||
gcc7: fix ‘*’ in boolean context, suggest ‘&&’ instead [-Wint-in-bool-context]
|
||
|
||
Closes #1371
|
||
|
||
Marcel Raad (30 Mar 2017)
|
||
- schannel: fix unused variable warning
|
||
|
||
If CURL_DISABLE_VERBOSE_STRINGS is defined, hostname is not used in
|
||
schannel_connect_step3.
|
||
|
||
- connect: fix unreferenced parameter warning
|
||
|
||
When CURL_DISABLE_VERBOSE_STRINGS is defined, the reason parameter in
|
||
Curl_conncontrol is not used as the infof macro expands to nothing.
|
||
|
||
- select: use correct SIZEOF_ constant
|
||
|
||
At least under Windows, there is no SIZEOF_LONG, so it evaluates to 0 even
|
||
though sizeof(int) == sizeof(long). This should probably have been
|
||
CURL_SIZEOF_LONG, but the type of timeout_ms changed from long to time_t
|
||
anyway.
|
||
This triggered MSVC warning C4668 about implicitly replacing undefined
|
||
macros with '0'.
|
||
|
||
Closes https://github.com/curl/curl/pull/1362
|
||
|
||
Daniel Stenberg (30 Mar 2017)
|
||
- cmake: add cmake file in docs/libcurl/opts/ to dist
|
||
|
||
- cmake: add more missing files to the dist
|
||
|
||
- docs/Makefile.am: include CMakeLists.txt in the dist tarball
|
||
|
||
Marcel Raad (29 Mar 2017)
|
||
- NTLM: check for features with #ifdef instead of #if
|
||
|
||
Feature defines are normally checked with #ifdef instead of #if in the rest of
|
||
the codebase. Additionally, some compilers warn when a macro is implicitly
|
||
evaluated to 0 because it is not defined, which was the case here.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1362#discussion_r108605101
|
||
Closes https://github.com/curl/curl/pull/1367
|
||
|
||
Daniel Stenberg (29 Mar 2017)
|
||
- [Hanno Böck brought this change]
|
||
|
||
curl: fix callback argument inconsistency
|
||
|
||
As you can see the callback definition uses a char* for the first
|
||
argument, while the function uses a void*.
|
||
|
||
URL: https://curl.haxx.se/mail/lib-2017-03/0116.html
|
||
|
||
- RELEASE-NOTES: synced with 556c51a2df
|
||
|
||
- [madblobfish brought this change]
|
||
|
||
KNOWN_BUGS: typo
|
||
|
||
Closes #1364
|
||
|
||
- [Maksim Stsepanenka brought this change]
|
||
|
||
make: use the variable MAKE for recursive calls
|
||
|
||
Closes #1366
|
||
|
||
- conncache: make hashkey avoid malloc
|
||
|
||
... to make it much faster. Idea developed with primepie on IRC.
|
||
|
||
Closes #1365
|
||
|
||
Kamil Dudka (28 Mar 2017)
|
||
- http: do not treat FTPS over CONNECT as HTTPS
|
||
|
||
If we use FTPS over CONNECT, the TLS handshake for the FTPS control
|
||
connection needs to be initiated in the SENDPROTOCONNECT state, not
|
||
the WAITPROXYCONNECT state. Otherwise, if the TLS handshake completed
|
||
without blocking, the information about the completed TLS handshake
|
||
would be saved to a wrong flag. Consequently, the TLS handshake would
|
||
be initiated in the SENDPROTOCONNECT state once again on the same
|
||
connection, resulting in a failure of the TLS handshake. I was able to
|
||
observe the failure with the NSS backend if curl ran through valgrind.
|
||
|
||
Note that this commit partially reverts curl-7_21_6-52-ge34131d.
|
||
|
||
Daniel Stenberg (28 Mar 2017)
|
||
- pause: handle mixed types of data when paused
|
||
|
||
When receiving chunked encoded data with trailers, and the write
|
||
callback returns PAUSE, there might be both body and header to store to
|
||
resend on unpause. Previously libcurl returned error for that case.
|
||
|
||
Added test case 1540 to verify.
|
||
|
||
Reported-by: Stephen Toub
|
||
Fixes #1354
|
||
Closes #1357
|
||
|
||
Jay Satiro (28 Mar 2017)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
http: Fix proxy connection reuse with basic-auth
|
||
|
||
When using basic-auth, connections and proxy connections
|
||
can be re-used with different Authorization headers since
|
||
it does not authenticate the connection (like NTLM does).
|
||
|
||
For instance, the below command should re-use the proxy
|
||
connection, but it currently doesn't:
|
||
curl -v -U alice:a -x http://localhost:8181 http://localhost/
|
||
--next -U bob:b -x http://localhost:8181 http://localhost/
|
||
|
||
This is a regression since refactoring of ConnectionExists()
|
||
as part of: cb4e2be7c6d42ca0780f8e0a747cecf9ba45f151
|
||
|
||
Fix the above by removing the username and password compare
|
||
when re-using proxy connection at proxy_info_matches().
|
||
|
||
However, this fix brings back another bug would make curl
|
||
to re-print the old proxy-authorization header of previous
|
||
proxy basic-auth connection because it wasn't cleared.
|
||
|
||
For instance, in the below command the second request should
|
||
fail if the proxy requires authentication, but would succeed
|
||
after the above fix (and before aforementioned commit):
|
||
curl -v -U alice:a -x http://localhost:8181 http://localhost/
|
||
--next -x http://localhost:8181 http://localhost/
|
||
|
||
Fix this by clearing conn->allocptr.proxyuserpwd after use
|
||
unconditionally, same as we do for conn->allocptr.userpwd.
|
||
|
||
Also fix test 540 to not expect digest auth header to be
|
||
resent when connection is reused.
|
||
|
||
Signed-off-by: Isaac Boukris <iboukris@gmail.com>
|
||
|
||
Closes https://github.com/curl/curl/pull/1350
|
||
|
||
- openssl: exclude DSA code when OPENSSL_NO_DSA is defined
|
||
|
||
- Fix compile errors that occur in openssl.c when OpenSSL lib was
|
||
built without DSA support.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1361
|
||
Reported-by: neheb@users.noreply.github.com
|
||
|
||
- examples/fopen: checksrc compliance
|
||
|
||
Marcel Raad (28 Mar 2017)
|
||
- schannel: fix variable shadowing warning
|
||
|
||
No need to redeclare the variable.
|
||
|
||
- multi: fix MinGW-w64 compiler warnings
|
||
|
||
error: conversion to 'long int' from 'time_t {aka long long int}' may alter
|
||
its value [-Werror=conversion]
|
||
|
||
- .gitattributes: turn off CRLF for *.am
|
||
|
||
If Makefile.am uses CRLF, buildconf in a Windows checkout fails with:
|
||
".ibtoolize: error: AC_CONFIG_MACRO_DIRS([m4]) conflicts with
|
||
ACLOCAL_AMFLAGS=-I m4"
|
||
|
||
Daniel Stenberg (26 Mar 2017)
|
||
- [klemens brought this change]
|
||
|
||
spelling fixes
|
||
|
||
Closes #1356
|
||
|
||
- curl: check for end of input in writeout backslash handling
|
||
|
||
Reported-by: Brian Carpenter
|
||
|
||
Added test 1442 to verify
|
||
|
||
Marcel Raad (24 Mar 2017)
|
||
- tests/README: make "Run" section foolproof
|
||
|
||
curl must be built before building the tests.
|
||
|
||
Closes https://github.com/curl/curl/pull/1352
|
||
|
||
Daniel Stenberg (23 Mar 2017)
|
||
- openssl: fix comparison between signed and unsigned integer expressions
|
||
|
||
Marcel Raad (23 Mar 2017)
|
||
- [Edward Kimmel brought this change]
|
||
|
||
asiohiper: make sure socket is open in event_cb
|
||
|
||
Send curl_socket_t to event_cb and make sure it hasn't been closed yet.
|
||
|
||
Closes https://github.com/curl/curl/pull/1318
|
||
|
||
Dan Fandrich (23 Mar 2017)
|
||
- openssl: made the error table static const
|
||
|
||
Jay Satiro (23 Mar 2017)
|
||
- openssl: fall back on SSL_ERROR_* string when no error detail
|
||
|
||
- If SSL_get_error is called but no extended error detail is available
|
||
then show that SSL_ERROR_* as a string.
|
||
|
||
Prior to this change there was some inconsistency in that case: the
|
||
SSL_ERROR_* code may or may not have been shown, or may have been shown
|
||
as unknown even if it was known.
|
||
|
||
Ref: https://github.com/curl/curl/issues/1300
|
||
|
||
Closes https://github.com/curl/curl/pull/1348
|
||
|
||
Dan Fandrich (23 Mar 2017)
|
||
- mkhelp: disable compression if the perl gzip module is unavailable
|
||
|
||
This is nowadays included with the base perl distribution, but wasn't
|
||
prior to about perl 5.14
|
||
|
||
Daniel Stenberg (23 Mar 2017)
|
||
- [Anders Roxell brought this change]
|
||
|
||
tests/README: mention nroff for --manual tests
|
||
|
||
Signed-off-by: Anders Roxell <anders.roxell@gmail.com>
|
||
|
||
Closes #1342
|
||
|
||
- CURLINFO_PRIMARY_IP.3: add example
|
||
|
||
- travis: run tests-nonflaky instead of tests-full
|
||
|
||
- make: introduce 'test-nonflaky' target
|
||
|
||
Running this in the root build dir will invoke the test suite to only
|
||
run tests not marked as 'flaky'.
|
||
|
||
- test2033: flaky
|
||
|
||
Jay Satiro (21 Mar 2017)
|
||
- [Ales Mlakar brought this change]
|
||
|
||
mbedtls: add support for CURLOPT_SSL_CTX_FUNCTION
|
||
|
||
Ref: https://curl.haxx.se/mail/lib-2017-02/0097.html
|
||
|
||
Closes https://github.com/curl/curl/pull/1272
|
||
|
||
Peter Wu (21 Mar 2017)
|
||
- cmake: add support for building HTML and PDF docs
|
||
|
||
Note that for some reason there is this warning (that also exists with
|
||
autotools, added since curl-7_15_1-94-ga718cb05f):
|
||
|
||
docs/libcurl/curl_multi_socket_all.3:1: can't open `man3/curl_multi_socket.3': No such file or directory
|
||
|
||
Additionally, adjust the roffit --mandir option to support creating
|
||
links when doing out-of-tree builds.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1288
|
||
|
||
- cmake: build manual pages (including curl.1)
|
||
|
||
Also make Perl mandatory to allow building the docs.
|
||
|
||
While CMakeLists.txt could probably read the list of manual pages from
|
||
Makefile.am, actually putting those in CMakeLists.txt is cleaner so that
|
||
is what is done here.
|
||
|
||
Fixes #1230
|
||
Ref: https://github.com/curl/curl/pull/1288
|
||
|
||
- docs: split file lists into Makefile.inc
|
||
|
||
For easier sharing with CMake. The contents were reformatted to use
|
||
two-space indent and expanded tabs (matching lib/Makefile.common).
|
||
|
||
Ref: https://github.com/curl/curl/pull/1288
|
||
|
||
Daniel Stenberg (21 Mar 2017)
|
||
- examples: comment typos in http2 examples
|
||
|
||
- RELEASE-NOTES: typo
|
||
|
||
- RELEASE-NOTES: synced with 6e0f26c8a8c28df
|
||
|
||
- multi: fix streamclose() crash in debug mode
|
||
|
||
The code would refer to the wrong data pointer. Only debug builds do
|
||
this - for verbosity.
|
||
|
||
Reported-by: zelinchen@users.noreply.github.com
|
||
Fixes #1329
|
||
|
||
- CONTRIBUTE: mention referring to github issues in commit msgs
|
||
|
||
Dan Fandrich (20 Mar 2017)
|
||
- runtests.pl: fixed display of the Gopher IPv6 port number
|
||
|
||
- tests: fixed the documented test server port numbers
|
||
|
||
- test714/5: added HTTP as a required feature
|
||
|
||
These tests use an HTTP proxy so require that curl be built with HTTP
|
||
support.
|
||
|
||
- tests: strip more options from non-HTTP --libcurl tests
|
||
|
||
The CURLOPT_USERAGENT and CURLOPT_MAXREDIRS options are only set if HTTP
|
||
support is available, so ignore them in tests where HTTP is not
|
||
guaranteed.
|
||
|
||
Jay Satiro (18 Mar 2017)
|
||
- [Palo Markovic brought this change]
|
||
|
||
darwinssl: fix typo in variable name
|
||
|
||
Broken a week ago in 6448f98.
|
||
|
||
Closes https://github.com/curl/curl/pull/1337
|
||
|
||
- tool_operate: Fix showing HTTPS-Proxy options on CURLE_SSL_CACERT
|
||
|
||
- Show the HTTPS-proxy options on CURLE_SSL_CACERT if libcurl was built
|
||
with HTTPS-proxy support.
|
||
|
||
Prior to this change those options were shown only if an HTTPS-proxy was
|
||
specified by --proxy, but that did not take into account environment
|
||
variables such as http_proxy, https_proxy, etc. Follow-up to e1187c4.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1331
|
||
Reported-by: Nehal J Wani
|
||
|
||
- CURLINFO_LOCAL_PORT.3: fix typo
|
||
|
||
Daniel Stenberg (16 Mar 2017)
|
||
- CURLINFO_LOCAL_PORT.3: added example
|
||
|
||
- SSLCERTS.md: mention HTTPS proxies and their separate options
|
||
|
||
- BINDINGS: a Delphi binding
|
||
|
||
- KNOWN_BUGS: remove libidn related issue
|
||
|
||
... as we no longer use libidn
|
||
|
||
Dan Fandrich (14 Mar 2017)
|
||
- build: removed redundant DEPENDENCIES from makefiles
|
||
|
||
Daniel Stenberg (13 Mar 2017)
|
||
- [Sylvestre Ledru brought this change]
|
||
|
||
Improve code readbility
|
||
|
||
... by removing the else branch after a return, break or continue.
|
||
|
||
Closes #1310
|
||
|
||
Jay Satiro (13 Mar 2017)
|
||
- [Anatol Belski brought this change]
|
||
|
||
winbuild: add basic support for OpenSSL 1.1.x
|
||
|
||
- Auto-detect OpenSSL 1.1 libs
|
||
|
||
Closes https://github.com/curl/curl/pull/1322
|
||
|
||
Daniel Stenberg (13 Mar 2017)
|
||
- RELEASE-NOTES: synced with c25e0761d0fc49c4
|
||
|
||
- make: regenerate docs/curl.1 by runinng make in docs
|
||
|
||
... previously, docs/ was only a dist subdir, now also a build subdir.
|
||
|
||
Reported-by: Dan Fandrich
|
||
Bug: https://curl.haxx.se/mail/lib-2017-03/0017.html
|
||
|
||
Dan Fandrich (12 Mar 2017)
|
||
- test1440/1: depend on well-defined file: behaviour
|
||
|
||
Depend on the known behaviour of URLs for nonexistent files rather than
|
||
the undefined behaviour of URLs for directories (which fails on Windows).
|
||
The test isn't about file: URLs at all, so the URL used doesn't really
|
||
matter.
|
||
|
||
- tests: clear the SSL_CERT_FILE variable on --libcurl tests
|
||
|
||
Otherwise, the contents will end up in the output and fail the
|
||
verification.
|
||
|
||
- test1287: added verbose logs keyword
|
||
|
||
- tool_writeout: fixed a buffer read overrun on --write-out
|
||
|
||
If a % ended the statement, the string's trailing NUL would be skipped
|
||
and memory past the end of the buffer would be accessed and potentially
|
||
displayed as part of the --write-out output. Added tests 1440 and 1441
|
||
to check for this kind of condition.
|
||
|
||
Reported-by: Brian Carpenter
|
||
|
||
Jay Satiro (12 Mar 2017)
|
||
- [Desmond O. Chang brought this change]
|
||
|
||
url: add option CURLOPT_SUPPRESS_CONNECT_HEADERS
|
||
|
||
- Add new option CURLOPT_SUPPRESS_CONNECT_HEADERS to allow suppressing
|
||
proxy CONNECT response headers from the user callback functions
|
||
CURLOPT_HEADERFUNCTION and CURLOPT_WRITEFUNCTION.
|
||
|
||
- Add new tool option --suppress-connect-headers to expose
|
||
CURLOPT_SUPPRESS_CONNECT_HEADERS and allow suppressing proxy CONNECT
|
||
response headers from --dump-header and --include.
|
||
|
||
Assisted-by: Jay Satiro
|
||
Assisted-by: CarloCannas@users.noreply.github.com
|
||
Closes https://github.com/curl/curl/pull/783
|
||
|
||
- http_proxy: Ignore TE and CL in CONNECT 2xx responses
|
||
|
||
A client MUST ignore any Content-Length or Transfer-Encoding header
|
||
fields received in a successful response to CONNECT.
|
||
"Successful" described as: 2xx (Successful). RFC 7231 4.3.6
|
||
|
||
Prior to this change such a case would cause an error.
|
||
|
||
In some ways this bug appears to be a regression since c50b878. Prior to
|
||
that libcurl may have appeared to function correctly in such cases by
|
||
acting on those headers instead of causing an error. But that behavior
|
||
was also incorrect.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1317
|
||
Reported-by: mkzero@users.noreply.github.com
|
||
|
||
- [Thomas Glanzmann brought this change]
|
||
|
||
mbedtls: fix typo in variable name
|
||
|
||
Broken a few days ago in 6448f98.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-03/0015.html
|
||
|
||
Michael Kaufmann (11 Mar 2017)
|
||
- tests: fix the authretry tests
|
||
|
||
Do not call curl_easy_reset() between the requests, because the
|
||
auth state must be preserved for these tests.
|
||
|
||
Follow-up to 0afbcfd
|
||
|
||
- proxy: skip SSL initialization for closed connections
|
||
|
||
This prevents a "Descriptor is not a socket" error for WinSSL.
|
||
|
||
Reported-by: Antony74@users.noreply.github.com
|
||
Reviewed-by: Jay Satiro
|
||
|
||
Fixes https://github.com/curl/curl/issues/1239
|
||
|
||
- curl_easy_reset: Also reset the authentication state
|
||
|
||
Follow-up to 5278462
|
||
See https://github.com/curl/curl/issues/1095
|
||
|
||
- [Isaac Boukris brought this change]
|
||
|
||
authneg: clear auth.multi flag at http_done
|
||
|
||
This flag is meant for the current request based on authentication
|
||
state, once the request is done we can clear the flag.
|
||
|
||
Also change auth.multi to auth.multipass for better readability.
|
||
|
||
Fixes https://github.com/curl/curl/issues/1095
|
||
Closes https://github.com/curl/curl/pull/1326
|
||
|
||
Signed-off-by: Isaac Boukris <iboukris@gmail.com>
|
||
Reported-by: Michael Kaufmann
|
||
|
||
Dan Fandrich (11 Mar 2017)
|
||
- url: don't compile detect_proxy if HTTP support is disabled
|
||
|
||
- cmdline-opts: fixed a few typos
|
||
|
||
Daniel Stenberg (10 Mar 2017)
|
||
- README.md: add coverity and travis badges
|
||
|
||
- ISSUE_TEMPLATE: for bugs, ask questions on the mailing list
|
||
|
||
and try to add the top comment within an HTML comment in the hope
|
||
that it might get hidden if the text is kept
|
||
|
||
- openssl: add two /* FALLTHROUGH */ to satisfy coverity
|
||
|
||
CID 1402159 and 1402158
|
||
|
||
- tests: disabled 1903 now
|
||
|
||
Test 1903 is doing HTTP pipelining, and that is a timing and ordering
|
||
sensitive operation and this fails far too often on the Travis CI
|
||
leading to people more or less ignoring test failures there. Not good.
|
||
|
||
The end of pipelning is probably coming sooner rather than later
|
||
anyway...
|
||
|
||
Dan Fandrich (9 Mar 2017)
|
||
- tls-max.d: added to the makefile
|
||
|
||
- build: fixed making man page in out-of-tree tarball builds
|
||
|
||
The man page taken from the release package is found in a different
|
||
location than if it's built from source. It must be referenced as $< in
|
||
the rule to get its correct location in the VPATH.
|
||
|
||
- mkhelp: simplified the gzip code
|
||
|
||
This eliminates the need for an external gzip program, which wasn't
|
||
working with Busybox's gzip, anyway. It now compresses using perl's
|
||
IO::Compress::Gzip
|
||
|
||
- polarssl: fixed compile errors introduced in 6448f98c
|
||
|
||
Daniel Stenberg (8 Mar 2017)
|
||
- bump: next release will be known as 7.54.0
|
||
|
||
...due to the newly added CURL_SSLVERSION_MAX_* functionality
|
||
|
||
- openssl: unbreak the build after 6448f98c1857de
|
||
|
||
Verified with OpenSSL 1.1.0e and OpenSSL master (1.1.1)
|
||
|
||
Kamil Dudka (8 Mar 2017)
|
||
- [Jozef Kralik brought this change]
|
||
|
||
vtls: add options to specify range of enabled TLS versions
|
||
|
||
This commit introduces the CURL_SSLVERSION_MAX_* constants as well as
|
||
the --tls-max option of the curl tool.
|
||
|
||
Closes https://github.com/curl/curl/pull/1166
|
||
|
||
Daniel Stenberg (8 Mar 2017)
|
||
- RELEASE-NOTES: synced with 6888a670aa01
|
||
|
||
- MANPAGE: clarify the dash situation in meta data
|
||
|
||
- insecure.d: clarify that this is for server connections
|
||
|
||
Assisted-by: Ray Satiro
|
||
Bug: https://curl.haxx.se/mail/lib-2017-03/0002.html
|
||
|
||
Dan Fandrich (8 Mar 2017)
|
||
- test1260: added http as a required feature
|
||
|
||
Daniel Stenberg (7 Mar 2017)
|
||
- [Steve Brokenshire brought this change]
|
||
|
||
maketgz: Run updatemanpages.pl to update man pages
|
||
|
||
maketgz now runs scripts/updatemanpages.pl to update the man pages .TH
|
||
section to use the current date and curl/libcurl version.
|
||
|
||
(TODO Section 3.1)
|
||
|
||
Closes #1058
|
||
|
||
- [Steve Brokenshire brought this change]
|
||
|
||
gitignore: Ignore man page dist files
|
||
|
||
Ignore man page dist files generated by scripts/updatemanpages.pl
|
||
|
||
- [Steve Brokenshire brought this change]
|
||
|
||
Makefile.am: Remove distribution man pages when running 'make clean'
|
||
|
||
- [Steve Brokenshire brought this change]
|
||
|
||
Makefile.am: Added scripts/updatemanpages.pl to EXTRA_DIST
|
||
|
||
- [Steve Brokenshire brought this change]
|
||
|
||
updatemanpages.pl: Update man pages to use current date and versions
|
||
|
||
Added script to update man pages to use the current date and
|
||
curl/libcurl versions.
|
||
|
||
updatemanpages.pl has three arrays: list of directories to look in,
|
||
list of extensions to process, list of files to exclude from
|
||
processing.
|
||
|
||
Check man page in git repoistory using the date from the existing man
|
||
page before updating to avoid updating the man page if no change is
|
||
made.
|
||
|
||
If data is received from the git command then update the man page with
|
||
the current date and version otherwise leave alone.
|
||
|
||
Applied patch from badger to make the date argument optional, change the
|
||
git command used, added date argument to processfile subroutine and
|
||
print to STDERR if no date is found in a man page.
|
||
|
||
Added code to process the changed man page into a new man page with
|
||
.dist added to the filename to keep the original source files unchanged.
|
||
Updated POD documentation to reflect that the date argument optional.
|
||
|
||
Code style is in line with CODE_STYLE.md.
|
||
|
||
Directories: docs/ docs/libcurl/ docs/libcurl/opts/ tests/
|
||
Extensions: .1 .3
|
||
Excluded files: mk-ca-bundle.1 template.3
|
||
|
||
(TODO Section 3.1)
|
||
|
||
- [Tatsuhiro Tsujikawa brought this change]
|
||
|
||
http2: Fix assertion error on redirect with CL=0
|
||
|
||
This fixes assertion error which occurs when redirect is done with 0
|
||
length body via HTTP/2, and the easy handle is reused, but new
|
||
connection is established due to hostname change:
|
||
|
||
curl: http2.c:1572: ssize_t http2_recv(struct connectdata *,
|
||
int, char *, size_t, CURLcode *):
|
||
Assertion `httpc->drain_total >= data->state.drain' failed.
|
||
|
||
To fix this bug, ensure that http2_handle_stream is called.
|
||
|
||
Fixes #1286
|
||
Closes #1302
|
||
|
||
- ares: Curl_resolver_wait_resolv: clear *entry first in function
|
||
|
||
- ares: better error return on timeouts
|
||
|
||
Assisted-by: Ray Satiro
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-03/0009.html
|
||
|
||
Jay Satiro (6 Mar 2017)
|
||
- KNOWN_BUGS: Add DarwinSSL won't import PKCS#12 without a password
|
||
|
||
Bug: https://github.com/curl/curl/issues/1308
|
||
Reported-by: Justin Clift
|
||
|
||
Dan Fandrich (6 Mar 2017)
|
||
- test1260: removed errant XML tag
|
||
|
||
Daniel Stenberg (6 Mar 2017)
|
||
- URL: return error on malformed URLs with junk after port number
|
||
|
||
... because it causes confusion with users. Example URLs:
|
||
|
||
"http://[127.0.0.1]:11211:80" which a lot of languages' URL parsers will
|
||
parse and claim uses port number 80, while libcurl would use port number
|
||
11211.
|
||
|
||
"http://user@example.com:80@localhost" which by the WHATWG URL spec will
|
||
be treated to contain user name 'user@example.com' but according to
|
||
RFC3986 is user name 'user' for the host 'example.com' and then port 80
|
||
is followed by "@localhost"
|
||
|
||
Both these formats are now rejected, and verified so in test 1260.
|
||
|
||
Reported-by: Orange Tsai
|
||
|
||
- BINDINGS: update the Lua-cURL URL
|
||
|
||
- [Sylvestre Ledru brought this change]
|
||
|
||
BINDINGS: add Scilab binding
|
||
|
||
Closes #1312
|
||
|
||
- BINDINGS: add go-curl and perl6-net-curl
|
||
|
||
Reported-by: Peter Pentchev
|
||
|
||
- BINDINGS: add misssing C++ bindings
|
||
|
||
Reported-by: Giuseppe Persico
|
||
|
||
- ares: return error at once if timed out before name resolve starts
|
||
|
||
Pointed-out-by: Ray Satiro
|
||
Bug: https://curl.haxx.se/mail/lib-2017-03/0004.html
|
||
|
||
Peter Wu (5 Mar 2017)
|
||
- [Michael Maltese brought this change]
|
||
|
||
CMake: Set at most one SSL library
|
||
|
||
Ref: https://github.com/curl/curl/pull/1228
|
||
|
||
- [Michael Maltese brought this change]
|
||
|
||
CMake: Add mbedTLS support
|
||
|
||
Ref: https://github.com/curl/curl/pull/1228
|
||
|
||
- [Michael Maltese brought this change]
|
||
|
||
CMake: Add DarwinSSL support
|
||
|
||
Assisted-by: Simon Warta <simon@kullo.net>
|
||
Ref: https://github.com/curl/curl/pull/1228
|
||
|
||
- [Michael Maltese brought this change]
|
||
|
||
CMake: Reorganize SSL support, separate WinSSL and SSPI
|
||
|
||
This is closer to how configure.ac does it
|
||
|
||
Ref: https://github.com/curl/curl/pull/1228
|
||
|
||
Jay Satiro (4 Mar 2017)
|
||
- CURLOPT_SSL_CTX_FUNCTION.3: Fix EXAMPLE formatting errors
|
||
|
||
.. also document that CURLE_NOT_BUILT_IN is a RETURN VALUE.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1290
|
||
|
||
Daniel Stenberg (4 Mar 2017)
|
||
- [Andrew Krieger brought this change]
|
||
|
||
fix potential use of uninitialized variables
|
||
|
||
MSVC with LTCG detects this at warning level 4.
|
||
|
||
Closes #1304
|
||
|
||
Dan Fandrich (4 Mar 2017)
|
||
- [Sylvestre Ledru brought this change]
|
||
|
||
fix some typos in the doc (#1306)
|
||
|
||
- tests: fixed a typo in some comments
|
||
|
||
Jay Satiro (3 Mar 2017)
|
||
- url: split off proxy init and parsing from create_conn
|
||
|
||
Move the proxy parse/init into helper create_conn_helper_init_proxy to
|
||
mitigate the chances some non-proxy code will be mistakenly added to it.
|
||
|
||
Ref: https://github.com/curl/curl/issues/1274#issuecomment-281556510
|
||
Ref: https://github.com/curl/curl/pull/1293
|
||
|
||
Closes https://github.com/curl/curl/pull/1298
|
||
|
||
- [Alexis La Goutte brought this change]
|
||
|
||
build: fix gcc7 implicit fallthrough warnings
|
||
|
||
Mark intended fallthroughs with /* FALLTHROUGH */ so that gcc will know
|
||
it's expected and won't warn on [-Wimplicit-fallthrough=].
|
||
|
||
Closes https://github.com/curl/curl/pull/1297
|
||
|
||
- [Greg Rowe brought this change]
|
||
|
||
configure: fix --with-zlib when a path is specified
|
||
|
||
Prior to this change if you attempted to configure curl using
|
||
--wtih-zlib and specified a path the path would be ignored if you also
|
||
had pkg-config installed on your system. This situation can easily
|
||
arise when you are cross compiling. This change moves the test for
|
||
detecting zlib settings via pkg-config only if OPT_ZLIB is not set.
|
||
|
||
Closes https://github.com/curl/curl/pull/1292
|
||
|
||
- [c4rlo brought this change]
|
||
|
||
no-keepalive.d: fix typo
|
||
|
||
Closes https://github.com/curl/curl/pull/1301
|
||
|
||
- checksrc.bat: Ignore curl_config.h.in, curl_config.h
|
||
|
||
- configure: fix for --enable-pthreads
|
||
|
||
Better handle options conflicts that can occur if --enable-pthreads.
|
||
|
||
Bug: https://github.com/curl/curl/pull/1295
|
||
Reported-by: Marc-Antoine Perennou
|
||
|
||
- [JDepooter brought this change]
|
||
|
||
darwinssl: Warn that disabling host verify also disables SNI
|
||
|
||
In DarwinSSL the SSLSetPeerDomainName function is used to enable both
|
||
sending SNI and verifying the host. When host verification is disabled
|
||
the function cannot be called, therefore SNI is disabled as well.
|
||
|
||
Closes https://github.com/curl/curl/pull/1240
|
||
|
||
Marcel Raad (28 Feb 2017)
|
||
- warnless: suppress compiler warning
|
||
|
||
If size_t is 32 bits, MSVC warns:
|
||
warning C4310: cast truncates constant value
|
||
The warning is harmless as CURL_MASK_SCOFFT gets
|
||
truncated to the maximum value of size_t.
|
||
|
||
Dan Fandrich (27 Feb 2017)
|
||
- tests: enable HTTP/2 tests to run with non-default port numbers
|
||
|
||
Marcel Raad (27 Feb 2017)
|
||
- digest_sspi: fix compilation warning
|
||
|
||
MSVC complains:
|
||
warning C4701: potentially uninitialized local variable 'output_token_len' used
|
||
|
||
Jay Satiro (26 Feb 2017)
|
||
- cyassl: get library version string at runtime
|
||
|
||
wolfSSL >= 3.6.0 supports getting its library version string at runtime.
|
||
|
||
Dan Fandrich (26 Feb 2017)
|
||
- test1139: allow for the possibility that the man page is not rebuilt
|
||
|
||
This is likely to be the case when building from a tar ball release
|
||
package which includes a prebuilt man page. In that case, test the
|
||
packaged man page instead. This only makes a difference when building
|
||
out-of-tree (in-tree, the location in both cases is identical).
|
||
|
||
Jay Satiro (25 Feb 2017)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
url: fix unix-socket support for proxy-disabled builds
|
||
|
||
Prior to this change if curl was built with Unix Socket support
|
||
(--enable-unix-sockets) and without Proxy support (--disable-proxy) then
|
||
unix socket options would erroneously be ignored.
|
||
|
||
Regression introduced in:
|
||
0b8d682f81ee9acb763dd4c9ad805fe08d1227c0
|
||
|
||
Bug: https://github.com/curl/curl/issues/1274
|
||
Reported-by: mccormickt12@users.noreply.github.com
|
||
|
||
Closes https://github.com/curl/curl/pull/1289
|
||
|
||
Dan Fandrich (26 Feb 2017)
|
||
- gopher: fixed detection of an error condition from Curl_urldecode
|
||
|
||
- ftp: fixed a NULL pointer dereference on OOM
|
||
|
||
Jay Satiro (25 Feb 2017)
|
||
- [Peter Wu brought this change]
|
||
|
||
docs: de-duplicate file lists in the Makefiles
|
||
|
||
Make use of macro substitution of suffix patterns to remove duplication
|
||
of manual names. This approach is portable according to
|
||
http://pubs.opengroup.org/onlinepubs/009695399/utilities/make.html
|
||
|
||
Closes https://github.com/curl/curl/pull/1287
|
||
|
||
Dan Fandrich (25 Feb 2017)
|
||
- ftp: removed an erroneous free in an OOM path
|
||
|
||
- proxy: fixed a memory leak on OOM
|
||
|
||
- tests: use consistent environment variables for setting charset
|
||
|
||
The character set in POSIX is set by the locale defined by (in
|
||
decreasing order of precedence) the LC_ALL, LC_CTYPE and LANG
|
||
environment variables (CHARSET was used by libidn but not libidn2).
|
||
LC_ALL is cleared to ensure that LC_CTYPE takes effect, but LC_ALL is
|
||
not used to set the locale to ensure that other parts of the locale
|
||
aren't overridden. Since there doesn't seem to be a cross-platform way
|
||
of specifying a UTF-8 locale, and not all systems may support UTF-8, a
|
||
<precheck> is used to skip the test if UTF-8 can't be verified to be
|
||
available. Test 1035 was also converted to UTF-8 for consistency, as
|
||
the actual character set used there is irrelevant to the test.
|
||
|
||
This patch uses a different UTF-8 locale than the last attempt, namely
|
||
en_US.UTF-8. This one has been verified on 7 different Linux and BSD
|
||
distributions and is more complete and usable than the locale UTF-8 (on
|
||
at least some systems).
|
||
|
||
- test557: explicitly use the C locale so the numeric output is as expected
|
||
|
||
Jay Satiro (25 Feb 2017)
|
||
- [Simon Warta brought this change]
|
||
|
||
cmake: Replace invalid UTF-8 byte sequence
|
||
|
||
- Change the encoding of the regex temp placeholder token to UTF-8.
|
||
|
||
Prior to this change the file contained special chars in a different
|
||
encoding than ASCII or UTF-8 making text editors and Python complain
|
||
when reading the file.
|
||
|
||
Closes https://github.com/curl/curl/pull/1271
|
||
Closes https://github.com/curl/curl/pull/1275
|
||
|
||
Daniel Stenberg (24 Feb 2017)
|
||
- bump: work on the next release
|
||
|
||
Version 7.53.1 (24 Feb 2017)
|
||
|
||
Daniel Stenberg (24 Feb 2017)
|
||
- release: 7.53.1
|
||
|
||
- Revert "tests: use consistent environment variables for setting charset"
|
||
|
||
This reverts commit ecd1d020abdae3c3ce3643ddab3106501e62e7c0.
|
||
|
||
That commit caused test failures on my Debian Linux machine for all
|
||
changed test cases. We need to reconsider how that should get done.
|
||
|
||
Dan Fandrich (23 Feb 2017)
|
||
- tests: use consistent environment variables for setting charset
|
||
|
||
Character set in POSIX is set by the locale defined (in decreasing order
|
||
of precedence) by the LC_ALL, LC_CTYPE and LANG environment variables (I
|
||
believe CHARSET is only historic). LC_ALL is cleared to ensure that
|
||
LC_CTYPE takes effect, but LC_ALL is not used to set the locale to
|
||
ensure that other parts of the locale aren't overriden, if set. Since
|
||
there doesn't seem to be a cross-platform way of specifying a UTF-8
|
||
locale, and not all systems may support UTF-8, a <precheck> is used
|
||
(where relevant) to skip the test if UTF-8 isn't in use. Test 1035 was
|
||
also converted to UTF-8 for consistency, as the actual character set
|
||
used there is irrelevant to the test.
|
||
|
||
Jay Satiro (23 Feb 2017)
|
||
- url: Default the CA proxy bundle location to CURL_CA_BUNDLE
|
||
|
||
If the compile-time CURL_CA_BUNDLE location is defined use it as the
|
||
default value for the proxy CA bundle location, which is the same as
|
||
what we already do for the regular CA bundle location.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1257
|
||
|
||
Daniel Stenberg (23 Feb 2017)
|
||
- [Sergii Pylypenko brought this change]
|
||
|
||
rand: added missing #ifdef HAVE_FCNTL_H around fcntl.h header
|
||
|
||
Closes #1285
|
||
|
||
- TODO: "OPTIONS *"
|
||
|
||
Closes #1280
|
||
|
||
- RELEASE-NOTES: synced with 443e5b03a7d441
|
||
|
||
- THANKS-filter: shachaf
|
||
|
||
- [İsmail Dönmez brought this change]
|
||
|
||
tests: Set CHARSET & LANG to UTF-8 in 1035, 2046 and 2047
|
||
|
||
Closes #1283
|
||
Fixes #1277
|
||
|
||
- bump: 7.53.1 coming up
|
||
|
||
synced with df665f4df0f7a352
|
||
|
||
- formdata: check for EOF when reading from stdin
|
||
|
||
Reported-by: shachaf@users.noreply.github.com
|
||
|
||
Fixes #1281
|
||
|
||
Jay Satiro (22 Feb 2017)
|
||
- docs: gitignore curl.1
|
||
|
||
curl.1 is generated by the cmdline-opts script since 4c49b83.
|
||
|
||
Daniel Stenberg (22 Feb 2017)
|
||
- TODO: HTTP Digest using SHA-256
|
||
|
||
- TODO: brotli is deployed widely now
|
||
|
||
Jay Satiro (21 Feb 2017)
|
||
- [Viktor Szakats brought this change]
|
||
|
||
urldata: include curl_sspi.h when Windows SSPI is enabled
|
||
|
||
f77dabe broke builds in Windows using Windows SSPI but not Windows SSL.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1276
|
||
Reported-by: jveazey@users.noreply.github.com
|
||
|
||
- url: Improve CURLOPT_PROXY_CAPATH error handling
|
||
|
||
- Change CURLOPT_PROXY_CAPATH to return CURLE_NOT_BUILT_IN if the option
|
||
is not supported, which is the same as what we already do for
|
||
CURLOPT_CAPATH.
|
||
|
||
- Change the curl tool to handle CURLOPT_PROXY_CAPATH error
|
||
CURLE_NOT_BUILT_IN as a warning instead of as an error, which is the
|
||
same as what we already do for CURLOPT_CAPATH.
|
||
|
||
- Fix CAPATH docs to show that CURLE_NOT_BUILT_IN is returned when the
|
||
respective CAPATH option is not supported by the SSL library.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1257
|
||
|
||
- cyassl: fix typo
|
||
|
||
Version 7.53.0 (22 Feb 2017)
|
||
|
||
Daniel Stenberg (22 Feb 2017)
|
||
- release: 7.53.0
|
||
|
||
- cookie: fix declaration of 'dup' shadows a global declaration
|
||
|
||
- TLS: make SSL_VERIFYSTATUS work again
|
||
|
||
The CURLOPT_SSL_VERIFYSTATUS option was not properly handled by libcurl
|
||
and thus even if the status couldn't be verified, the connection would
|
||
be allowed and the user would not be told about the failed verification.
|
||
|
||
Regression since cb4e2be7c6d42ca
|
||
|
||
CVE-2017-2629
|
||
Bug: https://curl.haxx.se/docs/adv_20170222.html
|
||
|
||
Reported-by: Marcus Hoffmann
|
||
|
||
Jay Satiro (21 Feb 2017)
|
||
- digest_sspi: Handle 'stale=TRUE' directive in HTTP digest
|
||
|
||
- If the server has provided another challenge use it as the replacement
|
||
input token if stale=TRUE. Otherwise previous credentials have failed
|
||
so return CURLE_LOGIN_DENIED.
|
||
|
||
Prior to this change the stale directive was ignored and if another
|
||
challenge was received it would cause error CURLE_BAD_CONTENT_ENCODING.
|
||
|
||
Ref: https://tools.ietf.org/html/rfc2617#page-10
|
||
|
||
Bug: https://github.com/curl/curl/issues/928
|
||
Reported-by: tarek112@users.noreply.github.com
|
||
|
||
Daniel Stenberg (20 Feb 2017)
|
||
- smb: use getpid replacement for windows UWP builds
|
||
|
||
Source: https://github.com/Microsoft/vcpkg/blob/7676b8780db1e1e591c4fc7eba4f96f73c428cb4/ports/curl/0002_fix_uwp.patch
|
||
|
||
- TODO: CURLOPT_RESOLVE for any port number
|
||
|
||
Closes #1264
|
||
|
||
- RELEASE-NOTES: synced with af30f1152d43dcdb
|
||
|
||
- [Jean Gressmann brought this change]
|
||
|
||
sftp: improved checks for create dir failures
|
||
|
||
Since negative values are errors and not only -1. This makes SFTP upload
|
||
with --create-dirs work (again).
|
||
|
||
Closes #1269
|
||
|
||
Jay Satiro (20 Feb 2017)
|
||
- [Max Khon brought this change]
|
||
|
||
digest_sspi: Fix nonce-count generation in HTTP digest
|
||
|
||
- on the first invocation: keep security context returned by
|
||
InitializeSecurityContext()
|
||
|
||
- on subsequent invocations: use MakeSignature() instead of
|
||
InitializeSecurityContext() to generate HTTP digest response
|
||
|
||
Bug: https://github.com/curl/curl/issues/870
|
||
Reported-by: Andreas Roth
|
||
|
||
Closes https://github.com/curl/curl/pull/1251
|
||
|
||
- examples/multi-uv: checksrc compliance
|
||
|
||
Michael Kaufmann (19 Feb 2017)
|
||
- string formatting: fix 4 printf-style format strings
|
||
|
||
Dan Fandrich (18 Feb 2017)
|
||
- tests: removed the obsolete name parameter
|
||
|
||
Michael Kaufmann (18 Feb 2017)
|
||
- speed caps: update the timeouts if the speed is too low/high
|
||
|
||
Follow-up to 4b86113
|
||
|
||
Fixes https://github.com/curl/curl/issues/793
|
||
Fixes https://github.com/curl/curl/issues/942
|
||
|
||
- docs: fix timeout handling in multi-uv example
|
||
|
||
- proxy: fix hostname resolution and IDN conversion
|
||
|
||
Properly resolve, convert and log the proxy host names.
|
||
Support the "--connect-to" feature for SOCKS proxies and for passive FTP
|
||
data transfers.
|
||
|
||
Follow-up to cb4e2be
|
||
|
||
Reported-by: Jay Satiro
|
||
Fixes https://github.com/curl/curl/issues/1248
|
||
|
||
Jay Satiro (17 Feb 2017)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
http: fix missing 'Content-Length: 0' while negotiating auth
|
||
|
||
- While negotiating auth during PUT/POST if a user-specified
|
||
Content-Length header is set send 'Content-Length: 0'.
|
||
|
||
This is what we do already in HTTPREQ_POST_FORM and what we did in the
|
||
HTTPREQ_POST case (regression since afd288b).
|
||
|
||
Prior to this change no Content-Length header would be sent in such a
|
||
case.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-02/0006.html
|
||
Reported-by: Dominik Hölzl
|
||
|
||
Closes https://github.com/curl/curl/pull/1242
|
||
|
||
Daniel Stenberg (16 Feb 2017)
|
||
- [Simon Warta brought this change]
|
||
|
||
winbuild: add note on auto-detection of MACHINE in Makefile.vc
|
||
|
||
Closes #1265
|
||
|
||
- RELEASE-PROCEDURE: update the upcoming release calendar
|
||
|
||
- TODO: consider file name from the redirected URL with -O ?
|
||
|
||
It isn't easily solved, but with some thinking someone could probably
|
||
come up with a working approach?
|
||
|
||
Closes #1241
|
||
|
||
Jay Satiro (15 Feb 2017)
|
||
- tool_urlglob: Allow a glob range with the same start and stop
|
||
|
||
For example allow ranges like [1-1] and [a-a] etc.
|
||
|
||
Regression since 5ca96cb.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1238
|
||
Reported-by: R. Dennis Steed
|
||
|
||
Daniel Stenberg (15 Feb 2017)
|
||
- axtls: adapt to API changes
|
||
|
||
Builds with axTLS 2.1.2. This then also breaks compatibility with axTLS
|
||
< 2.1.0 (the older API)
|
||
|
||
... and fix the session_id mixup brought in 04b4ee549
|
||
|
||
Fixes #1220
|
||
|
||
- RELEASE-NOTES: synced with 690935390c29c
|
||
|
||
- [Nick Draffen brought this change]
|
||
|
||
curl: fix typo in time condition warning message
|
||
|
||
The warning message had a typo. The argument long form is --time-cond
|
||
not --timecond
|
||
|
||
Closes #1263
|
||
|
||
- smb: code indent
|
||
|
||
Jay Satiro (14 Feb 2017)
|
||
- configure: Allow disabling pthreads, fall back on Win32 threads
|
||
|
||
When the threaded resolver option is specified for configure the default
|
||
thread library is pthreads. This change makes it possible to
|
||
--disable-pthreads and then configure can fall back on Win32 threads for
|
||
native Windows builds.
|
||
|
||
Closes https://github.com/curl/curl/pull/1260
|
||
|
||
Daniel Stenberg (13 Feb 2017)
|
||
- http2: fix memory-leak when denying push streams
|
||
|
||
Reported-by: zelinchen@users.noreply.github.com
|
||
Fixes #1229
|
||
|
||
Jay Satiro (11 Feb 2017)
|
||
- tool_operate: Show HTTPS-Proxy options on CURLE_SSL_CACERT
|
||
|
||
When CURLE_SSL_CACERT occurs the tool shows a lengthy error message to
|
||
the user explaining possible solutions such as --cacert and --insecure.
|
||
|
||
This change appends to that message similar options --proxy-cacert and
|
||
--proxy-insecure when there's a specified HTTPS proxy.
|
||
|
||
Closes https://github.com/curl/curl/issues/1258
|
||
|
||
Daniel Stenberg (10 Feb 2017)
|
||
- cmdline-opts/page-footer: ftp.sunet.se is no longer an FTP mirror
|
||
|
||
- URL: only accept ";options" in SMTP/POP3/IMAP URL schemes
|
||
|
||
Fixes #1252
|
||
|
||
Jay Satiro (9 Feb 2017)
|
||
- cmdline-opts/socks*: Mention --preproxy in --socks* opts
|
||
|
||
- Document in --socks* opts they're still mutually exclusive of --proxy.
|
||
|
||
Partial revert of 423a93c; I had misinterpreted the SOCKS proxy +
|
||
HTTP/HTTPS proxy combination.
|
||
|
||
- Document in --socks* opts that --preproxy can be used to specify a
|
||
SOCKS proxy at the same time --proxy is used with an HTTP/HTTPS proxy.
|
||
|
||
Daniel Stenberg (9 Feb 2017)
|
||
- CURLOPT_SSL_VERIFYPEER.3: also the https proxy version
|
||
|
||
Kamil Dudka (9 Feb 2017)
|
||
- nss: make FTPS work with --proxytunnel
|
||
|
||
If the NSS code was in the middle of a non-blocking handshake and it
|
||
was asked to finish the handshake in blocking mode, it unexpectedly
|
||
continued in the non-blocking mode, which caused a FTPS connection
|
||
over CONNECT to fail with "(81) Socket not ready for send/recv".
|
||
|
||
Bug: https://bugzilla.redhat.com/1420327
|
||
|
||
Daniel Stenberg (9 Feb 2017)
|
||
- examples/multithread.c: link to our multi-thread docs
|
||
|
||
... instead of the OpenSSL mutex page.
|
||
|
||
- http_proxy: avoid freeing static memory
|
||
|
||
Follow up to 7fe81ec298e0: make sure 'host' is either NULL or malloced.
|
||
|
||
- [Cameron MacMinn brought this change]
|
||
|
||
http_proxy: Fix tiny memory leak upon edge case connecting to proxy
|
||
|
||
Fixes #1255
|
||
|
||
Michael Kaufmann (8 Feb 2017)
|
||
- polarssl, mbedtls: Fix detection of pending data
|
||
|
||
Reported-by: Dan Fandrich
|
||
Bug: https://curl.haxx.se/mail/lib-2017-02/0032.html
|
||
|
||
Dan Fandrich (7 Feb 2017)
|
||
- test1139: Added the --manual keyword since the manual is required
|
||
|
||
Daniel Stenberg (7 Feb 2017)
|
||
- RELEASE-NOTES: synced with 102454459dd688c
|
||
|
||
- THANKS-filter: polish some recent contributors
|
||
|
||
- http2: reset push header counter fixes crash
|
||
|
||
When removing an easy handler from a multi before it completed its
|
||
transfer, and it had pushed streams, it would segfault due to the pushed
|
||
counted not being cleared.
|
||
|
||
Fixed-by: zelinchen@users.noreply.github.com
|
||
Fixes #1249
|
||
|
||
- [Markus Westerlind brought this change]
|
||
|
||
transfer: only retry nobody-requests for HTTP
|
||
|
||
Using sftp to delete a file with CURLOPT_NOBODY set with a reused
|
||
connection would fail as curl expected to get some data. Thus it would
|
||
retry the command again which fails as the file has already been
|
||
deleted.
|
||
|
||
Fixes #1243
|
||
|
||
Jay Satiro (7 Feb 2017)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
telnet: Fix typos
|
||
|
||
Ref: https://github.com/curl/curl/pull/1245
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
test552: Fix typos
|
||
|
||
Closes https://github.com/curl/curl/pull/1245
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
darwinssl: Avoid parsing certificates when not in verbose mode
|
||
|
||
The information extracted from the server certificates in step 3 is only
|
||
used when in verbose mode, and there is no error handling or validation
|
||
performed as that has already been done. Only run the certificate
|
||
information extraction when in verbose mode and libcurl was built with
|
||
verbose strings.
|
||
|
||
Closes https://github.com/curl/curl/pull/1246
|
||
|
||
- [JDepooter brought this change]
|
||
|
||
schannel: Remove incorrect SNI disabled message
|
||
|
||
- Remove the SNI disabled when host verification disabled message
|
||
since that is incorrect.
|
||
|
||
- Show a message for legacy versions of Windows <= XP that connections
|
||
may fail since those versions of WinSSL lack SNI, algorithms, etc.
|
||
|
||
Bug: https://github.com/curl/curl/pull/1240
|
||
|
||
Daniel Stenberg (7 Feb 2017)
|
||
- CHANGES: spell fix, use correct path to script
|
||
|
||
- CHANGES.0: removed
|
||
|
||
This is the previously manually edited changelog, not touched since Aug
|
||
2015. Still present in git for those who wants it.
|
||
|
||
Dan Fandrich (6 Feb 2017)
|
||
- cmdline-opts: Fixed build and test in out of source tree builds
|
||
|
||
Viktor Szakats (6 Feb 2017)
|
||
- use *.sourceforge.io and misc URL updates
|
||
|
||
Ref: https://sourceforge.net/blog/introducing-https-for-project-websites/
|
||
Closes: https://github.com/curl/curl/pull/1247
|
||
|
||
Jay Satiro (6 Feb 2017)
|
||
- docs: Add more HTTPS proxy documentation
|
||
|
||
- Document HTTPS proxy type.
|
||
|
||
- Document --write-out %{proxy_ssl_verify_result}.
|
||
|
||
- Document SOCKS proxy + HTTP/HTTPS proxy combination.
|
||
|
||
HTTPS proxy support was added in 7.52.0 for OpenSSL, GnuTLS and NSS.
|
||
|
||
Ref: https://github.com/curl/curl/commit/cb4e2be
|
||
|
||
- OS400: Fix symbols
|
||
|
||
- s/CURLOPT_SOCKS_PROXY/CURLOPT_PRE_PROXY
|
||
Follow-up to 7907a2b and 845522c.
|
||
|
||
- Fix incorrect id for CURLOPT_PROXY_PINNEDPUBLICKEY.
|
||
|
||
- Add id for CURLOPT_ABSTRACT_UNIX_SOCKET.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1237
|
||
Reported-by: jonrumsey@users.noreply.github.com
|
||
|
||
- [Sean Burford brought this change]
|
||
|
||
cmake: Support curl --xattr when built with cmake
|
||
|
||
- Test for and set HAVE_FSETXATTR when support for extended file
|
||
attributes is present.
|
||
|
||
Closes https://github.com/curl/curl/pull/1176
|
||
|
||
- [Adam Langley brought this change]
|
||
|
||
openssl: Don't use certificate after transferring ownership
|
||
|
||
SSL_CTX_add_extra_chain_cert takes ownership of the given certificate
|
||
while, despite the similar name, SSL_CTX_add_client_CA does not. Thus
|
||
it's best to call SSL_CTX_add_client_CA before
|
||
SSL_CTX_add_extra_chain_cert, while the code still has ownership of the
|
||
argument.
|
||
|
||
Closes https://github.com/curl/curl/pull/1236
|
||
|
||
Daniel Stenberg (29 Jan 2017)
|
||
- [Antoine Aubert brought this change]
|
||
|
||
mbedtls: implement CTR-DRBG and HAVEGE random generators
|
||
|
||
closes #1227
|
||
|
||
- docs: we no longer ship HTML versions of man pages
|
||
|
||
... refer to the web site for the web versions.
|
||
|
||
- [railsnewbie257 brought this change]
|
||
|
||
docs: proofread README.netware README.win32
|
||
|
||
Closes #1231
|
||
|
||
- RELEASE-NOTES; synced with ab08d82648
|
||
|
||
Michael Kaufmann (28 Jan 2017)
|
||
- mbedtls: disable TLS session tickets
|
||
|
||
SSL session reuse with TLS session tickets is not supported yet.
|
||
Use SSL session IDs instead.
|
||
|
||
See https://github.com/curl/curl/issues/1109
|
||
|
||
- gnutls: disable TLS session tickets
|
||
|
||
SSL session reuse with TLS session tickets is not supported yet.
|
||
Use SSL session IDs instead.
|
||
|
||
Fixes https://github.com/curl/curl/issues/1109
|
||
|
||
- polarssl: fix hangs
|
||
|
||
This bugfix is similar to commit c111178bd4.
|
||
|
||
Daniel Stenberg (27 Jan 2017)
|
||
- cookies: do not assume a valid domain has a dot
|
||
|
||
This repairs cookies for localhost.
|
||
|
||
Non-PSL builds will now only accept "localhost" without dots, while PSL
|
||
builds okeys everything not listed as PSL.
|
||
|
||
Added test 1258 to verify.
|
||
|
||
This was a regression brought in a76825a5efa6b4
|
||
|
||
- TODO: remove "Support TLS v1.3"
|
||
|
||
Support is trickling in already.
|
||
|
||
- [railsnewbie257 brought this change]
|
||
|
||
INTERNALS.md: language improvements
|
||
|
||
Closes #1226
|
||
|
||
- telnet: fix windows compiler warnings
|
||
|
||
Thumbs-up-by: Jay Satiro
|
||
|
||
Closes #1225
|
||
|
||
- VC: remove the makefile.vc6 build infra
|
||
|
||
The winbuild/ build files is now the single MSVC makefile build choice.
|
||
|
||
Closes #1215
|
||
|
||
- [Jay Satiro brought this change]
|
||
|
||
cmdline-opts/gen.pl: Open input files in CRLF mode
|
||
|
||
On Windows it's possible to have input files with CRLF line endings and
|
||
a perl that defaults to LF line endings (eg msysgit). Currently that
|
||
results in generator output of mixed line endings of CR, LF and CRLF.
|
||
|
||
This change fixes that issue in the most succinct way by opening the
|
||
files in :crlf text mode even when the perl being used does not default
|
||
to that mode. (On operating systems that don't have a separate text mode
|
||
it's essentially a no-op.) The output continues to be in the perl's
|
||
native line ending.
|
||
|
||
- docs/curl.1: generate from the cmdline-opts script
|
||
|
||
- vtls: source indentation fix
|
||
|
||
- contri*.sh: cut off parentheses from names too
|
||
|
||
- RELEASE-NOTES: synced with 01ab7c30bba6f
|
||
|
||
- vtls: fix PolarSSL non-blocking handling
|
||
|
||
A regression brought in cb4e2be
|
||
|
||
Reported-by: Michael Kaufmann
|
||
Bug: https://github.com/curl/curl/issues/1174#issuecomment-274018791
|
||
|
||
- [Antoine Aubert brought this change]
|
||
|
||
vtls: fix mbedtls multi non blocking handshake.
|
||
|
||
When using multi, mbedtls handshake is in non blocking mode. vtls must
|
||
set wait for read/write flags for the socket.
|
||
|
||
Closes #1223
|
||
|
||
- [Richy Kim brought this change]
|
||
|
||
CURLOPT_BUFFERSIZE: support enlarging receive buffer
|
||
|
||
Replace use of fixed macro BUFSIZE to define the size of the receive
|
||
buffer. Reappropriate CURLOPT_BUFFERSIZE to include enlarging receive
|
||
buffer size. Upon setting, resize buffer if larger than the current
|
||
default size up to a MAX_BUFSIZE (512KB). This can benefit protocols
|
||
like SFTP.
|
||
|
||
Closes #1222
|
||
|
||
- sws: use SOCKERRNO, not errno
|
||
|
||
Reported-by: Gisle Vanem
|
||
|
||
Michael Kaufmann (19 Jan 2017)
|
||
- KNOWN_BUGS: HTTP/2 server push enabled when no pushes can be accepted
|
||
|
||
This has been implemented with commit 9ad034e.
|
||
|
||
Viktor Szakats (19 Jan 2017)
|
||
- *.rc: escape non-ASCII/non-UTF-8 character for clarity
|
||
|
||
Closes https://github.com/curl/curl/pull/1217
|
||
|
||
Kamil Dudka (19 Jan 2017)
|
||
- docs: non-blocking SSL handshake is now supported with NSS
|
||
|
||
Implemented since curl-7_36_0-130-g8868a22
|
||
|
||
Reported-by: Fahim Chandurwala
|
||
|
||
Michael Kaufmann (18 Jan 2017)
|
||
- CURLOPT_CONNECT_TO: Fix compile warnings
|
||
|
||
Fix compile warnings that appeared only when curl has been configured
|
||
with '--disable-verbose'.
|
||
|
||
Daniel Stenberg (18 Jan 2017)
|
||
- usercertinmem.c: improve the short description
|
||
|
||
- parseurl: move back buffer to function scope
|
||
|
||
Regression since 1d4202ad, which moved the buffer into a more narrow
|
||
scope, but the data in that buffer was used outside of that more narrow
|
||
scope.
|
||
|
||
Reported-by: Dan Fandrich
|
||
Bug: https://curl.haxx.se/mail/lib-2017-01/0093.html
|
||
|
||
Jay Satiro (17 Jan 2017)
|
||
- openssl: Fix random generation
|
||
|
||
- Fix logic error in Curl_ossl_random.
|
||
|
||
Broken a few days ago in 807698d.
|
||
|
||
Daniel Stenberg (17 Jan 2017)
|
||
- TODO: share OpenSSL contexts
|
||
|
||
By supporting this, subsequent connects would load a lot less data from
|
||
disk.
|
||
|
||
Closes #1110
|
||
|
||
- bump: next release will be 7.53.0
|
||
|
||
Kamil Dudka (15 Jan 2017)
|
||
- nss: use the correct lock in nss_find_slot_by_name()
|
||
|
||
Alessandro Ghedini (15 Jan 2017)
|
||
- http2: disable server push if not requested
|
||
|
||
Ref: https://github.com/curl/curl/pull/1160
|
||
|
||
Daniel Stenberg (14 Jan 2017)
|
||
- [railsnewbie257 brought this change]
|
||
|
||
docs: improved language in README.md HISTORY.md CONTRIBUTE.md
|
||
|
||
Closes #1211
|
||
|
||
Alessandro Ghedini (14 Jan 2017)
|
||
- http: print correct HTTP string in verbose output when using HTTP/2
|
||
|
||
Before:
|
||
```
|
||
% src/curl https://sigsegv.ninja/ -v --http2
|
||
...
|
||
> GET / HTTP/1.1
|
||
> Host: sigsegv.ninja
|
||
> User-Agent: curl/7.52.2-DEV
|
||
> Accept: */*
|
||
>
|
||
...
|
||
```
|
||
|
||
After:
|
||
```
|
||
% src/curl https://sigsegv.ninja/ -v --http2
|
||
...
|
||
> GET / HTTP/2
|
||
> Host: sigsegv.ninja
|
||
> User-Agent: curl/7.52.2-DEV
|
||
> Accept: */*
|
||
>
|
||
```
|
||
|
||
Daniel Stenberg (14 Jan 2017)
|
||
- TODO: send only part of --data
|
||
|
||
Closes #1200
|
||
|
||
- TODO: implemened "--fail-fast to exit on first transfer fail"
|
||
|
||
Even though it is called --fail-early
|
||
|
||
- TODO: Chunked transfer multipart formpost
|
||
|
||
Closes #1139
|
||
|
||
- TODO: Improve formpost API, not just add an easy argument
|
||
|
||
- addrinfo: fix compiler warning on offsetof() use
|
||
|
||
curl_addrinfo.c:519:20: error: conversion to ‘curl_socklen_t {aka
|
||
unsigned int}’ from ‘long unsigned int’ may alter its value
|
||
[-Werror=conversion]
|
||
|
||
Follow-up to 1d786faee1046f
|
||
|
||
- THANKS-filter: Jiri Malak
|
||
|
||
- RELEASE-NOTES: synced with a7c73ae309c
|
||
|
||
Peter Wu (13 Jan 2017)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
unix_socket: add support for abstract unix domain socket
|
||
|
||
In addition to unix domain sockets, Linux also supports an
|
||
abstract namespace which is independent of the filesystem.
|
||
|
||
In order to support it, add new CURLOPT_ABSTRACT_UNIX_SOCKET
|
||
option which uses the same storage as CURLOPT_UNIX_SOCKET_PATH
|
||
internally, along with a flag to specify abstract socket.
|
||
|
||
On non-supporting platforms, the abstract address will be
|
||
interpreted as an empty string and fail gracefully.
|
||
|
||
Also add new --abstract-unix-socket tool parameter.
|
||
|
||
Signed-off-by: Isaac Boukris <iboukris@gmail.com>
|
||
Reported-by: Chungtsun Li (typeless)
|
||
Reviewed-by: Daniel Stenberg
|
||
Reviewed-by: Peter Wu
|
||
Closes #1197
|
||
Fixes #1061
|
||
|
||
Daniel Stenberg (13 Jan 2017)
|
||
- write-out.d: 'time_total' is not always shown with ms precision
|
||
|
||
We have higher resolution since 7.52.0
|
||
|
||
- next.d: --trace and --trace-ascii are also global
|
||
|
||
- [Isaac Boukris brought this change]
|
||
|
||
curl: reset the easy handle at --next
|
||
|
||
So that only "global" options (verbose mostly) survive into the next
|
||
transfer, and the others have to be set again unless default is fine.
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
docs: Add note about libcurl copying strings to CURLOPT_* manpages
|
||
|
||
Closes #1169
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
CURLOPT_PREQUOTE.3: takes a struct curl_slist*, not a char*
|
||
|
||
- IDN: Use TR46 non-transitional
|
||
|
||
Assisted-by: Tim Rühsen
|
||
|
||
- IDN: revert use of the transitional option
|
||
|
||
It made the german ß get converted to ss, IDNA2003 style, and we can't
|
||
have that for the .de TLD - a primary reason for our switch to IDNA2008.
|
||
|
||
Test 165 verifies.
|
||
|
||
- [Tim Rühsen brought this change]
|
||
|
||
IDN: Fix compile time detection of linidn2 TR46
|
||
|
||
Follow-up to f30cbcac1
|
||
|
||
Closes #1207
|
||
|
||
- [ERAMOTO Masaya brought this change]
|
||
|
||
url: --noproxy option overrides NO_PROXY environment variable
|
||
|
||
Under condition using http_proxy env var, noproxy list was the
|
||
combination of --noproxy option and NO_PROXY env var previously. Since
|
||
this commit, --noproxy option overrides NO_PROXY environment variable
|
||
even if use http_proxy env var.
|
||
|
||
Closes #1140
|
||
|
||
- [ERAMOTO Masaya brought this change]
|
||
|
||
url: Refactor detect_proxy()
|
||
|
||
If defined CURL_DISABLE_HTTP, detect_proxy() returned NULL. If not
|
||
defined CURL_DISABLE_HTTP, detect_proxy() checked noproxy list.
|
||
|
||
Thus refactor to set proxy to NULL instead of calling detect_proxy() if
|
||
define CURL_DISABLE_HTTP, and refactor to call detect_proxy() if not
|
||
define CURL_DISABLE_HTTP and the host is not in the noproxy list.
|
||
|
||
- [ERAMOTO Masaya brought this change]
|
||
|
||
url: Fix NO_PROXY env var to work properly with --proxy option.
|
||
|
||
The combination of --noproxy option and http_proxy env var works well
|
||
both for proxied hosts and non-proxied hosts.
|
||
|
||
However, when combining NO_PROXY env var with --proxy option,
|
||
non-proxied hosts are not reachable while proxied host is OK.
|
||
|
||
This patch allows us to access non-proxied hosts even if using NO_PROXY
|
||
env var with --proxy option.
|
||
|
||
- [Tim Rühsen brought this change]
|
||
|
||
IDN: Use TR46 'transitional' for toASCII translations
|
||
|
||
References: http://unicode.org/faq/idn.html
|
||
http://unicode.org/reports/tr46
|
||
|
||
Closes #1206
|
||
|
||
- [railsnewbie257 brought this change]
|
||
|
||
docs: FAQ MAIL-ETIQUETTE language fixes
|
||
|
||
Closes #1194
|
||
|
||
- [Marcus Hoffmann brought this change]
|
||
|
||
gnutls: check for alpn and ocsp in configure
|
||
|
||
Check for presence of gnutls_alpn_* and gnutls_ocsp_* functions during
|
||
configure instead of relying on the version number. GnuTLS has options
|
||
to turn these features off and we ca just work with with such builds
|
||
like we work with older versions.
|
||
|
||
Signed-off-by: Marcus Hoffmann <m.hoffmann@cartelsol.com>
|
||
|
||
Closes #1204
|
||
|
||
Jay Satiro (12 Jan 2017)
|
||
- url: Fix parsing for when 'file' is the default protocol
|
||
|
||
Follow-up to 3463408.
|
||
|
||
Prior to 3463408 file:// hostnames were silently stripped.
|
||
|
||
Prior to this commit it did not work when a schemeless url was used with
|
||
file as the default protocol.
|
||
|
||
Ref: https://curl.haxx.se/mail/lib-2016-11/0081.html
|
||
Closes https://github.com/curl/curl/pull/1124
|
||
|
||
Also fix for drive letters:
|
||
|
||
- Support --proto-default file c:/foo/bar.txt
|
||
|
||
- Support file://c:/foo/bar.txt
|
||
|
||
- Fail when a file:// drive letter is detected and not MSDOS/Windows.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1187
|
||
Reported-by: Anatol Belski
|
||
Assisted-by: Anatol Belski
|
||
|
||
Daniel Stenberg (12 Jan 2017)
|
||
- rand: make it work without TLS backing
|
||
|
||
Regression introduced in commit f682156a4fc6c4
|
||
|
||
Reported-by: John Kohl
|
||
Bug: https://curl.haxx.se/mail/lib-2017-01/0055.html
|
||
|
||
Jay Satiro (12 Jan 2017)
|
||
- STARTTLS: Don't print response character in denied messages
|
||
|
||
Both IMAP and POP3 response characters are used internally, but when
|
||
appended to the STARTTLS denial message likely could confuse the user.
|
||
|
||
Closes https://github.com/curl/curl/pull/1203
|
||
|
||
- smtp: Fix STARTTLS denied error message
|
||
|
||
- Format the numeric denial code as an integer instead of a character.
|
||
|
||
Daniel Stenberg (11 Jan 2017)
|
||
- http2_send: avoid unsigned integer wrap around
|
||
|
||
... when checking for a too large request.
|
||
|
||
Jay Satiro (9 Jan 2017)
|
||
- [Jiri Malak brought this change]
|
||
|
||
cmake: Fix passing _WINSOCKAPI_ macro to compiler
|
||
|
||
Define _WINSOCKAPI_ blank rather than to 1 in order to match the value
|
||
used by Microsoft's winsock header files.
|
||
|
||
Closes https://github.com/curl/curl/pull/1195
|
||
|
||
Daniel Stenberg (9 Jan 2017)
|
||
- sws: retry send() on EWOULDBLOCK
|
||
|
||
Fixes spurious test 1060 and 1061 failures on OpenBSD, Solaris and more.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-01/0009.html
|
||
Reported-by: Christian Weisgerber
|
||
|
||
- RELEASE-NOTES: synced with a41e8592d6b3e58
|
||
|
||
- examples: make the C++ examples follow our code style too
|
||
|
||
At least mostly, not counting // comments.
|
||
|
||
- [Aulddays brought this change]
|
||
|
||
asiohiper: improved socket handling
|
||
|
||
libcurl requires CURLMOPT_SOCKETFUNCTION to KEEP watching socket events
|
||
and notify back. Modify event_cb() to continue watching events when
|
||
fired.
|
||
|
||
Fixes #1191
|
||
Closes #1192
|
||
Fixed-by: Mingliang Zhu
|
||
|
||
- [Jiří Malák brought this change]
|
||
|
||
lib506: fix build for Open Watcom
|
||
|
||
Rename symbol lock to locks to not clash with OW CRTL function name.
|
||
|
||
Closes #1196
|
||
|
||
- ROADMAP: 2017 cleanup
|
||
|
||
Removed items already fixed, clarified a few others.
|
||
|
||
- COPYING: update the generic copyright year range
|
||
|
||
- docs/silent: mention --show-error in --silent description
|
||
|
||
Reported in #1190
|
||
Reported-by: Dan Jacobson
|
||
|
||
- docs/page-header: mention how to disable the progress meter
|
||
|
||
curl.1 is regenerated
|
||
|
||
Fixes #1190
|
||
|
||
Dan Fandrich (7 Jan 2017)
|
||
- wolfssl: display negotiated SSL version and cipher
|
||
|
||
- wolfssl: support setting cipher list
|
||
|
||
Patrick Monnerat (6 Jan 2017)
|
||
- CIPHERS.md: document GSKit ciphers
|
||
|
||
Jay Satiro (5 Jan 2017)
|
||
- [peterpih brought this change]
|
||
|
||
TheArtOfHttpScripting: grammar
|
||
|
||
Nick Zitzmann (3 Jan 2017)
|
||
- darwinssl: --insecure overrides --cacert if both settings are in use
|
||
|
||
Fixes #1184
|
||
|
||
Jay Satiro (2 Jan 2017)
|
||
- docs/libcurl: TCP_KEEPALIVE start and interval default to 60
|
||
|
||
Since the TCP keep-alive options were added in 705f0f7 the start and
|
||
interval default values have been 60, but that wasn't documented.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2017-01/0000.html
|
||
Reported-by: Praveen Pvs
|
||
|
||
Daniel Stenberg (29 Dec 2016)
|
||
- curl.h: CURLE_FUNCTION_NOT_FOUND is no longer in use
|
||
|
||
This error code was once introduced when some library was dynamically
|
||
loaded and a funciton within said library couldn't be found.
|
||
|
||
- content_encoding: change return code on a failure
|
||
|
||
Failure to decompress is now a write error instead of the weird
|
||
"function not found".
|
||
|
||
- page-footer: error 36 is protocol agnostic!
|
||
|
||
Jay Satiro (28 Dec 2016)
|
||
- tool_operate: Fix --remote-time incorrect times on Windows
|
||
|
||
- Use Windows API SetFileTime to set the file time instead of utime.
|
||
|
||
Avoid utime on Windows if possible because it may apply a daylight
|
||
saving time offset to our UTC file time.
|
||
|
||
Bug: https://curl.haxx.se/mail/archive-2016-11/0033.html
|
||
Reported-by: Tim
|
||
|
||
Closes https://github.com/curl/curl/pull/1121
|
||
|
||
Daniel Stenberg (29 Dec 2016)
|
||
- [Max Khon brought this change]
|
||
|
||
digest_sspi: copy terminating NUL as well
|
||
|
||
Curl_auth_decode_digest_http_message(): copy terminating NUL as later
|
||
Curl_override_sspi_http_realm() expects a NUL-terminated string.
|
||
|
||
Fixes #1180
|
||
|
||
- curl_formadd.3: CURLFORM_CONTENTSLENGTH not needed when chunked
|
||
|
||
Mentioned in #1013
|
||
|
||
- [Kyselgov E.N brought this change]
|
||
|
||
cmake: use crypt32.lib when building with OpenSSL on windows
|
||
|
||
Reviewed-by: Peter Wu
|
||
Closes #1149
|
||
Fixes #1147
|
||
|
||
- [Chris Araman brought this change]
|
||
|
||
darwinssl: fix CFArrayRef leak
|
||
|
||
Reviewed-by: Nick Zitzmann
|
||
Closes #1173
|
||
|
||
- [Chris Araman brought this change]
|
||
|
||
darwinssl: fix iOS build
|
||
|
||
Reviewed-by: Nick Zitzmann
|
||
Fixes #1172
|
||
|
||
- curl: remove superfluous include file
|
||
|
||
The <netinet/tcp.h> is a leftover from the past when TCP socket options
|
||
were set in this file. This include causes build issues on AIX 4.3.
|
||
|
||
Reported-by: Kim Minjoong
|
||
|
||
Closes #1178
|
||
|
||
- RELEASE-NOTES: synced with a7b38c9dc98481e
|
||
|
||
- vtls: s/SSLEAY/OPENSSL
|
||
|
||
Fixed an old leftover use of the USE_SSLEAY define which would make a
|
||
socket get removed from the applications sockets to monitor when the
|
||
multi_socket API was used, leading to timeouts.
|
||
|
||
Bug: #1174
|
||
|
||
- docs/ciphers: link to our own new page about ciphers
|
||
|
||
... as the former ones always go stale!
|
||
|
||
- cmdline-opts/page-footer: add three more exit codes
|
||
|
||
... and regenerated curl.1
|
||
|
||
- formdata: use NULL, not 0, when returning pointers
|
||
|
||
- ftp: failure to resolve proxy should return that error code
|
||
|
||
- configure: accept --with-libidn2 instead
|
||
|
||
... which the help text already implied since we switched to libidn2
|
||
from libidn in commit 9c91ec778104ae3b back in October 2016.
|
||
|
||
Reported-by: Christian Weisgerber
|
||
Bug: https://curl.haxx.se/mail/lib-2016-12/0110.html
|
||
|
||
- test1282: verify the ftp-gss check
|
||
|
||
- ftp-gss: check for init before use
|
||
|
||
To avoid dereferencing a NULL pointer.
|
||
|
||
Reported-by: Daniel Romero
|
||
|
||
Jay Satiro (24 Dec 2016)
|
||
- build-wolfssl: Sync config with wolfSSL 3.10
|
||
|
||
wolfSSL configure script relevant changes from 3.9 to 3.10:
|
||
|
||
- DES3 no longer enabled by default
|
||
- Shamir no longer enabled by default
|
||
- Extended master secret enabled by default
|
||
- RSA and ECC timing protections enabled by default
|
||
|
||
For backwards compatibility I enabled DES3 and ECC shamir config options
|
||
(ie no change from 3.9), and the other changes are included.
|
||
|
||
- cyassl: use time_t instead of long for timeout
|
||
|
||
Daniel Stenberg (23 Dec 2016)
|
||
- bump: toward next release
|
||
|
||
- http: remove "Curl_http_done: called premature" message
|
||
|
||
... it only confuses people.
|
||
|
||
- openssl-random: check return code when asking for random
|
||
|
||
and fail appropriately if it returns error
|
||
|
||
- gnutls-random: check return code for failed random
|
||
|
||
Version 7.52.1 (22 Dec 2016)
|
||
|
||
Daniel Stenberg (22 Dec 2016)
|
||
- RELEASE-NOTES: curl 7.52.1
|
||
|
||
- lib557.c: use a shorter MAXIMIZE representation
|
||
|
||
Since several compilers had problems with the previous one
|
||
|
||
Reported-by: Ray Satiro
|
||
Bug: https://curl.haxx.se/mail/lib-2016-12/0098.html
|
||
|
||
- runtests: remove the valgrind parser
|
||
|
||
Old legacy parsing that 1) hid problems for us and 2) probably isn't
|
||
needed anymore.
|
||
|
||
- [Kamil Dudka brought this change]
|
||
|
||
randit: store the value in the buffer
|
||
|
||
- tests/Makefile: run checksrc on debug builds
|
||
|
||
... just like we already do in src/ and lib/
|
||
|
||
- lib557: move the "enable LONGLINE" to allow more long lines
|
||
|
||
This file is riddled with them...
|
||
|
||
- bump: toward next release
|
||
|
||
Marcel Raad (21 Dec 2016)
|
||
- lib: fix MSVC compiler warnings
|
||
|
||
Visual C++ complained:
|
||
warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data
|
||
warning C4701: potentially uninitialized local variable 'path' used
|
||
|
||
Version 7.52.0 (20 Dec 2016)
|
||
|
||
Daniel Stenberg (20 Dec 2016)
|
||
- THANKS: 13 new contributors from 7.52.0
|
||
|
||
- RELEASE-NOTES: 7.52.0
|
||
|
||
- ssh: inhibit coverity warning with (void)
|
||
|
||
CID 1397391 (#1 of 1): Unchecked return value (CHECKED_RETURN)
|
||
|
||
- Curl_recv_has_postponed_data: silence compiler warnings
|
||
|
||
Follow-up to d00f2a8f2
|
||
|
||
Jay Satiro (19 Dec 2016)
|
||
- tests: checksrc compliance
|
||
|
||
- http_proxy: Fix proxy CONNECT hang on pending data
|
||
|
||
- Check for pending data before waiting on the socket.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1156
|
||
Reported-by: Adam Langley
|
||
|
||
Daniel Stenberg (19 Dec 2016)
|
||
- cmdline-opts/tlsv1.d: rephrased
|
||
|
||
- [Dan McNulty brought this change]
|
||
|
||
schannel: fix wildcard cert name validation on Win CE
|
||
|
||
Fixes a few issues in manual wildcard cert name validation in
|
||
schannel support code for Win32 CE:
|
||
- when comparing the wildcard name to the hostname, the wildcard
|
||
character was removed from the cert name and the hostname
|
||
was checked to see if it ended with the modified cert name.
|
||
This allowed cert names like *.com to match the connection
|
||
hostname. This violates recommendations from RFC 6125.
|
||
- when the wildcard name in the certificate is longer than the
|
||
connection hostname, a buffer overread of the connection
|
||
hostname buffer would occur during the comparison of the
|
||
certificate name and the connection hostname.
|
||
|
||
- printf: fix floating point buffer overflow issues
|
||
|
||
... and add a bunch of floating point printf tests
|
||
|
||
- config-amigaos.h: (embarrassed) made the line shorter
|
||
|
||
- config-amigaos.h: fix bug report email reference
|
||
|
||
- RELEASE-NOTES: synced with 4517158abfeba
|
||
|
||
- CIPHERS.md: backtick the names to show underscores fine
|
||
|
||
- form-string.d: fix format mistake
|
||
|
||
and regenerated curl.1
|
||
|
||
Reported-by: Gisle Vanem
|
||
|
||
Michael Kaufmann (18 Dec 2016)
|
||
- openssl: simplify expression in Curl_ossl_version
|
||
|
||
- curl_easy_recv: Improve documentation and example program
|
||
|
||
Follow-up to 82245ea: Fix the example program sendrecv.c (handle
|
||
CURLE_AGAIN, handle incomplete send). Improve the documentation
|
||
for curl_easy_recv() and curl_easy_send().
|
||
|
||
Reviewed-by: Frank Meier
|
||
Assisted-by: Jay Satiro
|
||
|
||
See https://github.com/curl/curl/pull/1134
|
||
|
||
- [Isaac Boukris brought this change]
|
||
|
||
Curl_getconnectinfo: avoid checking if the connection is closed
|
||
|
||
It doesn't benefit us much as the connection could get closed at
|
||
any time, and also by checking we lose the ability to determine
|
||
if the socket was closed by reading zero bytes.
|
||
|
||
Reported-by: Michael Kaufmann
|
||
|
||
Closes https://github.com/curl/curl/pull/1134
|
||
|
||
Daniel Stenberg (18 Dec 2016)
|
||
- CIPHERS.md: attempt to document TLS cipher names
|
||
|
||
As the official docs seems really hard to keep track of and link to over
|
||
time
|
||
|
||
- curl.1: generated after 6cce4dbf830
|
||
|
||
- cmdline-opts/post30X.d: fix the RFC references
|
||
|
||
- curl.1: regenerated
|
||
|
||
Fixed trailing whitespace and numerous formatting glitches
|
||
|
||
- cmdline-opts: formatting fixes
|
||
|
||
- curl_easy_setopt.3: removed CURLOPT_SOCKS_PROXYTYPE
|
||
|
||
- tool_getparam.c: make comments use the up-to-date option names
|
||
|
||
- manpage-scan.pl: allow deprecated options to get removed from curl.1
|
||
|
||
--krb4, --ftp-ssl and --ftp-ssl-reqd no longer need to be documented in the
|
||
man page
|
||
|
||
- cmdline-opts/gen.pl: trim off trailing spaces
|
||
|
||
- cmdline-opts/proxy-tlsuser.d: remove trailing .d
|
||
|
||
- curl_easy_setopt.3: CURLOPT_PRE_PROXY instead of CURLOPT_SOCKS_PROXY
|
||
|
||
- symbols: removed two, added one
|
||
|
||
- cmdline-opts: include the man page split up files in the dist
|
||
|
||
- curl.1: generated with gen.pl
|
||
|
||
This is the first time we replace the manually edited curt.1 with the
|
||
generated one created by gen.pl and the individual option documentation
|
||
pages.
|
||
|
||
Do not edit this file, edit the individual pages and regenerate this
|
||
output.
|
||
|
||
This file will be generated by the build system soon and then removed
|
||
from git.
|
||
|
||
- cmdline-opts: added some missing info
|
||
|
||
- CURLINFO_SSL_VERIFYRESULT.3: language
|
||
|
||
- HTTPS-PROXY docs: update/polish
|
||
|
||
- cmdline-opts/page-header: mention it is generated
|
||
|
||
... to avoid people from trying to edit the pending curl.1 version that
|
||
gets generated by gen.pl
|
||
|
||
- preproxy: renamed what was added as SOCKS_PROXY
|
||
|
||
CURLOPT_SOCKS_PROXY -> CURLOPT_PRE_PROXY
|
||
|
||
Added the corresponding --preroxy command line option. Sets a SOCKS
|
||
proxy to connect to _before_ connecting to a HTTP(S) proxy.
|
||
|
||
- curl: normal socks proxies still use CURLOPT_PROXY
|
||
|
||
... the newly introduced CURLOPT_SOCKS_PROXY is special and should be
|
||
asked for specially. (Needs new code.)
|
||
|
||
Unified proxy type to a single variable in the config struct.
|
||
|
||
- CURLOPT_SOCKS_PROXYTYPE: removed
|
||
|
||
This was added as part of the SOCKS+HTTPS proxy merge but there's no
|
||
need to support this as we prefer to have the protocol specified as a
|
||
prefix instead.
|
||
|
||
- curl_multi_socket.3: fix typo
|
||
|
||
- checksrc: warn for assignments within if() expressions
|
||
|
||
... they're already frowned upon in our source code style guide, this
|
||
now enforces the rule harder.
|
||
|
||
- checksrc: stricter no-space-before-paren enforcement
|
||
|
||
In order to make the code style more uniform everywhere
|
||
|
||
- ISSUE_TEMPLATE: try mentioning known bugs/todo in new issue template
|
||
|
||
- RELEASE-NOTES: synced with 71a55534fa6
|
||
|
||
- [Adam Langley brought this change]
|
||
|
||
openssl: don't use OpenSSL's ERR_PACK.
|
||
|
||
ERR_PACK is an internal detail of OpenSSL. Also, when using it, a
|
||
function name must be specified which is overly specific: the test will
|
||
break whenever OpenSSL internally change things so that a different
|
||
function creates the error.
|
||
|
||
Closes #1157
|
||
|
||
Dan Fandrich (5 Dec 2016)
|
||
- test2032: Mark test as flaky
|
||
|
||
Jay Satiro (3 Dec 2016)
|
||
- [Jeremy Pearson brought this change]
|
||
|
||
libcurl-multi.3: typo
|
||
|
||
Closes https://github.com/curl/curl/pull/1153
|
||
|
||
Dan Fandrich (2 Dec 2016)
|
||
- test1281: added http as a required feature
|
||
|
||
Daniel Stenberg (2 Dec 2016)
|
||
- curl: support zero-length argument strings in config files
|
||
|
||
... like 'user-agent = ""'
|
||
|
||
Adjusted test 71 to verify.
|
||
|
||
- http_proxy: simplify CONNECT response reading
|
||
|
||
Since it now reads responses one byte a time, a loop could be removed
|
||
and it is no longer limited to get the whole response within 16K, it is
|
||
now instead only limited to 16K maximum header line lengths.
|
||
|
||
- tests: fix CONNECT test cases to be more strict
|
||
|
||
... as they broke with the cleaned up CONNECT handling
|
||
|
||
- CONNECT: read responses one byte at a time
|
||
|
||
... so that it doesn't read data that is actually coming from the
|
||
remote. 2xx responses have no body from the proxy, that data is from the
|
||
peer.
|
||
|
||
Fixes #1132
|
||
|
||
- CONNECT: reject TE or CL in 2xx responses
|
||
|
||
A server MUST NOT send any Transfer-Encoding or Content-Length header
|
||
fields in a 2xx (Successful) response to CONNECT. (RFC 7231 section
|
||
4.3.6)
|
||
|
||
Also fixes the three test cases that did this.
|
||
|
||
- URL parser: reject non-numerical port numbers
|
||
|
||
Test 1281 added to verify
|
||
|
||
Dan Fandrich (30 Nov 2016)
|
||
- runtests: made Servers: output be more consistent by removing OFF
|
||
|
||
- cyassl: fixed typo introduced in 4f8b1774
|
||
|
||
Michael Kaufmann (30 Nov 2016)
|
||
- CURLOPT_CONNECT_TO: Skip non-matching "connect-to" entries properly
|
||
|
||
If a port number in a "connect-to" entry does not match, skip this
|
||
entry instead of connecting to port 0.
|
||
|
||
If a port number in a "connect-to" entry matches, use this entry
|
||
and look no further.
|
||
|
||
Reported-by: Jay Satiro
|
||
Assisted-by: Jay Satiro, Daniel Stenberg
|
||
|
||
Closes #1148
|
||
|
||
Daniel Stenberg (29 Nov 2016)
|
||
- BUGS: describe bug handling process
|
||
|
||
- RELEASE-NOTES: synced with 19613fb3
|
||
|
||
Jay Satiro (28 Nov 2016)
|
||
- http2: check nghttp2_session_set_local_window_size exists
|
||
|
||
The function only exists since nghttp2 1.12.0.
|
||
|
||
Bug: https://github.com/curl/curl/commit/a4d8888#commitcomment-19985676
|
||
Reported-by: Michael Kaufmann
|
||
|
||
Daniel Stenberg (28 Nov 2016)
|
||
- [Anders Bakken brought this change]
|
||
|
||
http2: Fix crashes when parent stream gets aborted
|
||
|
||
Closes #1125
|
||
|
||
- cmdline-docs: more options converted and fixed
|
||
|
||
Now all options are in the new system.
|
||
|
||
- gen: include footer in mainpage output
|
||
|
||
Jay Satiro (28 Nov 2016)
|
||
- lib1536: checksrc compliance
|
||
|
||
Daniel Stenberg (28 Nov 2016)
|
||
- cmdline-opts: more command line options documented
|
||
|
||
Moved over to the new format
|
||
|
||
- curl: remove --proxy-ssl* options
|
||
|
||
There's mostly likely no need to allow setting SSLv2/3 version for HTTPS
|
||
proxy. Those protocols are insecure by design and deprecated.
|
||
|
||
- CURLOPT_PROXY_*.3: polished some proxy option man pages
|
||
|
||
Patrick Monnerat (26 Nov 2016)
|
||
- os400: support CURLOPT_PROXY_PINNEDPUBLICKEY
|
||
|
||
Also define it in ILE/RPG binding.
|
||
|
||
Daniel Stenberg (26 Nov 2016)
|
||
- [Okhin Vasilij brought this change]
|
||
|
||
curl_version_info: add CURL_VERSION_HTTPS_PROXY
|
||
|
||
Closes #1142
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
tests: Add some testcases for recent new features.
|
||
|
||
Add missing tests for CURLINFO_SCHEME, CURLINFO_PROTOCOL, %{scheme},
|
||
and %{http_version}
|
||
|
||
closes #1143
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
curl_easy_reset: clear info for CULRINFO_PROTOCOL and CURLINFO_SCHEME
|
||
|
||
- CURLOPT_PROXY_CAINFO.3: clarify proxy use
|
||
|
||
- CURLOPT_PROXY_CRLFILE.3: clarify https proxy and availability
|
||
|
||
- curl_easy_setopt.3: add CURLOPT_PROXY_PINNEDPUBLICKEY
|
||
|
||
Follow-up to 4f8b17743d7c55a
|
||
|
||
- docs: include all opts man pages in dist
|
||
|
||
Sorted the lists too.
|
||
|
||
... and include the new ones in the PDF and HTML generation targets
|
||
|
||
- [Thomas Glanzmann brought this change]
|
||
|
||
HTTPS Proxy: Implement CURLOPT_PROXY_PINNEDPUBLICKEY
|
||
|
||
- [Thomas Glanzmann brought this change]
|
||
|
||
url: proxy: Use 443 as default port for https proxies
|
||
|
||
- TODO: removed "HTTPS proxy"
|
||
|
||
- [Jan-E brought this change]
|
||
|
||
winbuild: add config option ENABLE_NGHTTP2
|
||
|
||
Closes #1141
|
||
|
||
Jay Satiro (24 Nov 2016)
|
||
- tool_urlglob: Improve sanity check in glob_range
|
||
|
||
Prior to this change we depended on errno if strtol could not perform a
|
||
conversion. POSIX says EINVAL *may* be set. Some implementations like
|
||
Microsoft's will not set it if there's no conversion.
|
||
|
||
Ref: https://github.com/curl/curl/commit/ee4f7660#commitcomment-19658189
|
||
|
||
- tool_help: Change description for --retry-connrefused
|
||
|
||
Ref: https://github.com/curl/curl/pull/1064#issuecomment-260052409
|
||
|
||
Patrick Monnerat (25 Nov 2016)
|
||
- os400: sync ILE/RPG binding
|
||
|
||
Jay Satiro (24 Nov 2016)
|
||
- test1135: Fix curl_easy_duphandle prototype for code style
|
||
|
||
Follow-up to dbadaeb which changed the style.
|
||
|
||
- x509asn1: Restore the parameter check in Curl_getASN1Element
|
||
|
||
- Restore the removed parts of the parameter check.
|
||
|
||
Follow-up to 945f60e which altered the parameter check.
|
||
|
||
Daniel Stenberg (25 Nov 2016)
|
||
- RELEASE-NOTES: update option counters
|
||
|
||
- [Frank Gevaerts brought this change]
|
||
|
||
add CURLINFO_SCHEME, CURLINFO_PROTOCOL, and %{scheme}
|
||
|
||
Adds access to the effectively used protocol/scheme to both libcurl and
|
||
curl, both in string and numeric (CURLPROTO_*) form.
|
||
|
||
Note that the string form will be uppercase, as it is just the internal
|
||
string.
|
||
|
||
As these strings are declared internally as const, and all other strings
|
||
returned by curl_easy_getinfo() are de-facto const as well, string
|
||
handling in getinfo.c got const-ified.
|
||
|
||
Closes #1137
|
||
|
||
- RELEASE-NOTES: synced with 63198a4750aeb
|
||
|
||
- curl.1: the new --proxy options ship in 7.52.0
|
||
|
||
- checksrc: move open braces to comply with function declaration style
|
||
|
||
- checksrc: detect wrongly placed open braces in func declarations
|
||
|
||
- checksrc: white space edits to comply to stricter checksrc
|
||
|
||
- checksrc: verify ASTERISKNOSPACE
|
||
|
||
Detects (char*) and 'char*foo' uses.
|
||
|
||
- checksrc: code style: use 'char *name' style
|
||
|
||
- checksrc: add ASTERISKSPACE
|
||
|
||
Verifies a 'char *name' style, with no space after the asterisk.
|
||
|
||
- openssl: remove dead code
|
||
|
||
Coverity CID 1394666
|
||
|
||
- [Okhin Vasilij brought this change]
|
||
|
||
HTTPS-proxy: fixed mbedtls and polishing
|
||
|
||
- darwinssl: adopted to the HTTPS proxy changes
|
||
|
||
It builds and runs all test cases. No adaptations for actual HTTPS proxy
|
||
support has been made.
|
||
|
||
- gtls: fix indent to silence compiler warning
|
||
|
||
vtls/gtls.c: In function ‘Curl_gtls_data_pending’:
|
||
vtls/gtls.c:1429:3: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
|
||
if(conn->proxy_ssl[connindex].session &&
|
||
^~
|
||
vtls/gtls.c:1433:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
|
||
return res;
|
||
|
||
- [Thomas Glanzmann brought this change]
|
||
|
||
mbedtls: Fix compile errors
|
||
|
||
- [Alex Rousskov brought this change]
|
||
|
||
proxy: Support HTTPS proxy and SOCKS+HTTP(s)
|
||
|
||
* HTTPS proxies:
|
||
|
||
An HTTPS proxy receives all transactions over an SSL/TLS connection.
|
||
Once a secure connection with the proxy is established, the user agent
|
||
uses the proxy as usual, including sending CONNECT requests to instruct
|
||
the proxy to establish a [usually secure] TCP tunnel with an origin
|
||
server. HTTPS proxies protect nearly all aspects of user-proxy
|
||
communications as opposed to HTTP proxies that receive all requests
|
||
(including CONNECT requests) in vulnerable clear text.
|
||
|
||
With HTTPS proxies, it is possible to have two concurrent _nested_
|
||
SSL/TLS sessions: the "outer" one between the user agent and the proxy
|
||
and the "inner" one between the user agent and the origin server
|
||
(through the proxy). This change adds supports for such nested sessions
|
||
as well.
|
||
|
||
A secure connection with a proxy requires its own set of the usual SSL
|
||
options (their actual descriptions differ and need polishing, see TODO):
|
||
|
||
--proxy-cacert FILE CA certificate to verify peer against
|
||
--proxy-capath DIR CA directory to verify peer against
|
||
--proxy-cert CERT[:PASSWD] Client certificate file and password
|
||
--proxy-cert-type TYPE Certificate file type (DER/PEM/ENG)
|
||
--proxy-ciphers LIST SSL ciphers to use
|
||
--proxy-crlfile FILE Get a CRL list in PEM format from the file
|
||
--proxy-insecure Allow connections to proxies with bad certs
|
||
--proxy-key KEY Private key file name
|
||
--proxy-key-type TYPE Private key file type (DER/PEM/ENG)
|
||
--proxy-pass PASS Pass phrase for the private key
|
||
--proxy-ssl-allow-beast Allow security flaw to improve interop
|
||
--proxy-sslv2 Use SSLv2
|
||
--proxy-sslv3 Use SSLv3
|
||
--proxy-tlsv1 Use TLSv1
|
||
--proxy-tlsuser USER TLS username
|
||
--proxy-tlspassword STRING TLS password
|
||
--proxy-tlsauthtype STRING TLS authentication type (default SRP)
|
||
|
||
All --proxy-foo options are independent from their --foo counterparts,
|
||
except --proxy-crlfile which defaults to --crlfile and --proxy-capath
|
||
which defaults to --capath.
|
||
|
||
Curl now also supports %{proxy_ssl_verify_result} --write-out variable,
|
||
similar to the existing %{ssl_verify_result} variable.
|
||
|
||
Supported backends: OpenSSL, GnuTLS, and NSS.
|
||
|
||
* A SOCKS proxy + HTTP/HTTPS proxy combination:
|
||
|
||
If both --socks* and --proxy options are given, Curl first connects to
|
||
the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS
|
||
proxy.
|
||
|
||
TODO: Update documentation for the new APIs and --proxy-* options.
|
||
Look for "Added in 7.XXX" marks.
|
||
|
||
Patrick Monnerat (24 Nov 2016)
|
||
- Declare endian read functions argument as a const pointer.
|
||
This is done for all functions of the form Curl_read[136][624]_[lb]e.
|
||
|
||
- Limit ASN.1 structure sizes to 256K. Prevent some allocation size overflows.
|
||
See CRL-01-006.
|
||
|
||
Jay Satiro (22 Nov 2016)
|
||
- url: Fix conn reuse for local ports and interfaces
|
||
|
||
- Fix connection reuse for when the proposed new conn 'needle' has a
|
||
specified local port but does not have a specified device interface.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-11/0137.html
|
||
Reported-by: bjt3[at]hotmail.com
|
||
|
||
Daniel Stenberg (21 Nov 2016)
|
||
- rand: pass in number of randoms as an unsigned argument
|
||
|
||
Jay Satiro (20 Nov 2016)
|
||
- rand: Fix potentially uninitialized result warning
|
||
|
||
Marcel Raad (19 Nov 2016)
|
||
- vtls: fix build warnings
|
||
|
||
Fix warnings about conversions from long to time_t in openssl.c and
|
||
schannel.c.
|
||
|
||
Follow-up to de4de4e3c7c
|
||
|
||
Daniel Stenberg (18 Nov 2016)
|
||
- [Marcel Raad brought this change]
|
||
|
||
lib: fix compiler warnings after de4de4e3c7c
|
||
|
||
Visual C++ now complains about implicitly casting time_t (64-bit) to
|
||
long (32-bit). Fix this by changing some variables from long to time_t,
|
||
or explicitly casting to long where the public interface would be
|
||
affected.
|
||
|
||
Closes #1131
|
||
|
||
Peter Wu (17 Nov 2016)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
Don't mix unix domain sockets with regular ones
|
||
|
||
When reusing a connection, make sure the unix domain
|
||
socket option matches.
|
||
|
||
Jay Satiro (17 Nov 2016)
|
||
- tests: Fix HTTP2-Settings header for huge window size
|
||
|
||
Follow-up to a4d8888. Changing the window size in that commit resulted
|
||
in a different HTTP2-Settings upgrade header, causing test 1800 to fail.
|
||
|
||
- http2: Use huge HTTP/2 windows
|
||
|
||
- Improve performance by using a huge HTTP/2 window size.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1102
|
||
Reported-by: afrind@users.noreply.github.com
|
||
Assisted-by: Tatsuhiro Tsujikawa
|
||
|
||
Daniel Stenberg (16 Nov 2016)
|
||
- cmdline-docs: more conversion
|
||
|
||
- gen: support 'protos'
|
||
|
||
and warn on unrecognized lines
|
||
|
||
- gen: support 'single' to make an individual page man page
|
||
|
||
- cmdline-docs: more options converted over
|
||
|
||
- gen: support 'redirect'
|
||
|
||
... and warn for too long --help lines
|
||
|
||
- cmdline/gen: replace options in texts better
|
||
|
||
Jay Satiro (16 Nov 2016)
|
||
- http2: Fix address sanitizer memcpy warning
|
||
|
||
- In Curl_http2_switched don't call memcpy when src is NULL.
|
||
|
||
Curl_http2_switched can be called like:
|
||
|
||
Curl_http2_switched(conn, NULL, 0);
|
||
|
||
.. and prior to this change memcpy was then called like:
|
||
|
||
memcpy(dest, NULL, 0)
|
||
|
||
.. causing address sanitizer to warn:
|
||
|
||
http2.c:2057:3: runtime error: null pointer passed as argument 2, which
|
||
is declared to never be null
|
||
|
||
- tool_help: Clarify --dump-header only writes received headers
|
||
|
||
- curl.1: Clarify --dump-header only writes received headers
|
||
|
||
Daniel Stenberg (15 Nov 2016)
|
||
- [Alex Chan brought this change]
|
||
|
||
docs: Spelling fixes
|
||
|
||
Kamil Dudka (15 Nov 2016)
|
||
- docs: the next release will be 7.52.0
|
||
|
||
Daniel Stenberg (15 Nov 2016)
|
||
- cmdline-opts: support generating the --help output
|
||
|
||
- [David Schweikert brought this change]
|
||
|
||
darwinssl: fix SSL client certificate not found on MacOS Sierra
|
||
|
||
Reviewed-by: Nick Zitzmann
|
||
|
||
Closes #1105
|
||
|
||
- curl: add --fail-early to help output
|
||
|
||
Fixes test 1139 failures
|
||
|
||
Follow-up to f82bbe01c8835
|
||
|
||
- glob: fix [a-c] globbing regression
|
||
|
||
Brought in ee4f76606cf
|
||
|
||
Added test case 1280 to verify
|
||
|
||
Reported-by: Dave Reisner
|
||
|
||
Bug: https://github.com/curl/curl/commit/ee4f76606cfa4ee068bf28edd37c8dae7e8db317#commitcomment-19823146
|
||
|
||
- curl: add --fail-early
|
||
|
||
Exit with an error on the first transfer error instead of continuing to
|
||
do the rest of the URLs.
|
||
|
||
Discussion: https://curl.haxx.se/mail/archive-2016-11/0038.html
|
||
|
||
- Curl_rand: fixed and moved to rand.c
|
||
|
||
Now Curl_rand() is made to fail if it cannot get the necessary random
|
||
level.
|
||
|
||
Changed the proto of Curl_rand() slightly to provide a number of ints at
|
||
once.
|
||
|
||
Moved out from vtls, since it isn't a TLS function and vtls provides
|
||
Curl_ssl_random() for this to use.
|
||
|
||
Discussion: https://curl.haxx.se/mail/lib-2016-11/0119.html
|
||
|
||
- cmdline-opts: first test version of a new man page generator kit
|
||
|
||
See MANPAGE.md for the description of how this works. Each command line
|
||
option is now described in a separate .d file.
|
||
|
||
- time_t fix: follow-up to de4de4e3c7c
|
||
|
||
Blah, I accidentally wrote size_t instead of time_t for two variables.
|
||
|
||
Reported-by: Dave Reisner
|
||
|
||
- timeval: prefer time_t to hold seconds instead of long
|
||
|
||
... as long is still 32bit on modern 64bit windows machines, while
|
||
time_t is generally 64bit.
|
||
|
||
Dan Fandrich (12 Nov 2016)
|
||
- tests: fixed variable might be clobbered warning
|
||
|
||
This stops the compiler from potentially making invalid assumptions
|
||
about the immutability of sdp and sap across the longjmp boundary.
|
||
|
||
Daniel Stenberg (12 Nov 2016)
|
||
- RELEASE-NOTES: synced with 346340808c
|
||
|
||
- URL-parser: for file://[host]/ URLs, the [host] must be localhost
|
||
|
||
Previously, the [host] part was just ignored which made libcurl accept
|
||
strange URLs misleading users. like "file://etc/passwd" which might've
|
||
looked like it refers to "/etc/passwd" but is just "/passwd" since the
|
||
"etc" is an ignored host name.
|
||
|
||
Reported-by: Mike Crowe
|
||
Assisted-by: Kamil Dudka
|
||
|
||
- test558: adapt to 0649433da
|
||
|
||
- openssl: make sure to fail in the unlikely event that PRNG seeding fails
|
||
|
||
- openssl: avoid unnecessary seeding if already done
|
||
|
||
1.1.0+ does more of this by itself so we can avoid extra processing this
|
||
way.
|
||
|
||
- openssl: RAND_status always exists in OpenSSL >= 0.9.7
|
||
|
||
and remove RAND_screen from configure since nothing is using that
|
||
function
|
||
|
||
- Curl_pgrsUpdate: use dedicated function for time passed
|
||
|
||
- realloc: use Curl_saferealloc to avoid common mistakes
|
||
|
||
Discussed: https://curl.haxx.se/mail/lib-2016-11/0087.html
|
||
|
||
- [Daniel Hwang brought this change]
|
||
|
||
curl: Add --retry-connrefused
|
||
|
||
to consider ECONNREFUSED as a transient error.
|
||
|
||
Closes #1064
|
||
|
||
- openssl: raise the max_version to 1.3 if asked for
|
||
|
||
Now I've managed to negotiate TLS 1.3 with https://enabled.tls13.com/ when
|
||
using boringssl.
|
||
|
||
Jay Satiro (9 Nov 2016)
|
||
- vtls: Fail on unrecognized param for CURLOPT_SSLVERSION
|
||
|
||
- Fix GnuTLS code for CURL_SSLVERSION_TLSv1_2 that broke when the
|
||
TLS 1.3 support was added in 6ad3add.
|
||
|
||
- Homogenize across code for all backends the error message when TLS 1.3
|
||
is not available to "<backend>: TLS 1.3 is not yet supported".
|
||
|
||
- Return an error when a user-specified ssl version is unrecognized.
|
||
|
||
---
|
||
|
||
Prior to this change our code for some of the backends used the
|
||
'default' label in the switch statement (ie ver unrecognized) for
|
||
ssl.version and treated it the same as CURL_SSLVERSION_DEFAULT.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-11/0048.html
|
||
Reported-by: Kamil Dudka
|
||
|
||
Daniel Stenberg (9 Nov 2016)
|
||
- [Isaac Boukris brought this change]
|
||
|
||
SPNEGO: Fix memory leak when authentication fails
|
||
|
||
If SPNEGO fails, cleanup the negotiate handle right away.
|
||
|
||
Fixes #1115
|
||
|
||
Signed-off-by: Isaac Boukris <iboukris@gmail.com>
|
||
Reported-by: ashman-p
|
||
|
||
- CODE_STYLE.md: link to INTERNALS.md correctly
|
||
|
||
- bump: next version will be 7.52.0
|
||
|
||
- RELEASE-NOTES: synced with dfcdaaba371e9a3
|
||
|
||
- examples/fileupload.c: fclose the file as well
|
||
|
||
- printf: fix ".*f" handling
|
||
|
||
It would always use precision 1 instead of reading it from the argument
|
||
list as intended.
|
||
|
||
Reported-by: Ray Satiro
|
||
|
||
Bug: #1113
|
||
|
||
- curl_formadd.3: *_FILECONTENT and *_FILE need the file to be kept
|
||
|
||
Reported-by: Frank Gevaerts
|
||
|
||
Kamil Dudka (7 Nov 2016)
|
||
- nss: silence warning 'SSL_NEXT_PROTO_EARLY_VALUE not handled in switch'
|
||
|
||
... with nss-3.26.0 and newer
|
||
|
||
Reported-by: Daniel Stenberg
|
||
|
||
Daniel Stenberg (7 Nov 2016)
|
||
- openssl: initial TLS 1.3 adaptions
|
||
|
||
BoringSSL supports TLSv1.3 already, but these changes don't seem to be anough
|
||
to get it working.
|
||
|
||
- ssh: check md5 fingerprints case insensitively (regression)
|
||
|
||
Revert the change from ce8d09483eea but use the new function
|
||
|
||
Reported-by: Kamil Dudka
|
||
Bug: https://github.com/curl/curl/commit/ce8d09483eea2fcb1b50e323e1a8ed1f3613b2e3#commitcomment-19666146
|
||
|
||
Kamil Dudka (7 Nov 2016)
|
||
- curl: introduce the --tlsv1.3 option to force TLS 1.3
|
||
|
||
Fully implemented with the NSS backend only for now.
|
||
|
||
Reviewed-by: Ray Satiro
|
||
|
||
- vtls: support TLS 1.3 via CURL_SSLVERSION_TLSv1_3
|
||
|
||
Fully implemented with the NSS backend only for now.
|
||
|
||
Reviewed-by: Ray Satiro
|
||
|
||
- nss: map CURL_SSLVERSION_DEFAULT to NSS default
|
||
|
||
... but make sure we use at least TLSv1.0 according to libcurl API
|
||
|
||
Reported-by: Cure53
|
||
Reviewed-by: Ray Satiro
|
||
|
||
Daniel Stenberg (7 Nov 2016)
|
||
- s/cURL/curl
|
||
|
||
We're mostly saying just "curl" in lower case these days so here's a big
|
||
cleanup to adapt to this reality. A few instances are left as the
|
||
project could still formally be considered called cURL.
|
||
|
||
Jay Satiro (7 Nov 2016)
|
||
- [Tatsuhiro Tsujikawa brought this change]
|
||
|
||
http2: Don't send header fields prohibited by HTTP/2 spec
|
||
|
||
Previously, we just ignored "Connection" header field. But HTTP/2
|
||
specification actually prohibits few more header fields. This commit
|
||
ignores all of them so that we don't send these bad header fields.
|
||
|
||
Bug: https://curl.haxx.se/mail/archive-2016-10/0033.html
|
||
Reported-by: Ricki Hirner
|
||
|
||
Closes https://github.com/curl/curl/pull/1092
|
||
|
||
Daniel Stenberg (7 Nov 2016)
|
||
- curl.1: explain the SMTP data expected for -T
|
||
|
||
Fixes #1107
|
||
|
||
Reported-by: Adam Piggott
|
||
|
||
Peter Wu (6 Nov 2016)
|
||
- cmake: disable poll for macOS
|
||
|
||
Mirrors the autotools behavior introduced with curl-7_50_3-83-ga34c7ce.
|
||
|
||
Fixes #1089
|
||
|
||
Jay Satiro (5 Nov 2016)
|
||
- easy: Initialize info variables on easy init and duphandle
|
||
|
||
- Call Curl_initinfo on init and duphandle.
|
||
|
||
Prior to this change the statistical and informational variables were
|
||
simply zeroed by calloc on easy init and duphandle. While zero is the
|
||
correct default value for almost all info variables, there is one where
|
||
it isn't (filetime initializes to -1).
|
||
|
||
Bug: https://github.com/curl/curl/issues/1103
|
||
Reported-by: Neal Poole
|
||
|
||
Daniel Stenberg (5 Nov 2016)
|
||
- [Mauro Rappa brought this change]
|
||
|
||
curl -w: added more decimal digits to timing counters
|
||
|
||
Now showing microsecond resolution.
|
||
|
||
Closes #1106
|
||
|
||
Jakub Zakrzewski (4 Nov 2016)
|
||
- dist: add CMakeLists.txt to the tarball
|
||
|
||
Daniel Stenberg (4 Nov 2016)
|
||
- mbedtls: fix build with mbedtls versions < 2.4.0
|
||
|
||
Regression added in 62a8095e714
|
||
|
||
Reported-by: Tony Kelman
|
||
|
||
Discussed in #1087
|
||
|
||
- configure: verify that compiler groks -Werror=partial-availability
|
||
|
||
Reported-by: bemoody
|
||
|
||
Fixes #1104
|
||
|
||
- docs: shorten and simplify the top comment in multi-uv.c
|
||
|
||
and change URL to use https
|
||
|
||
- [Andrei Sedoi brought this change]
|
||
|
||
docs: handle CURL_POLL_INOUT in multi-uv example
|
||
|
||
- [Andrei Sedoi brought this change]
|
||
|
||
docs: multi-uv: don't use CURLMsg after cleanup
|
||
|
||
- [Andrei Sedoi brought this change]
|
||
|
||
docs: remove unused variables in multi-uv example
|
||
|
||
- bump: start working on 7.51.1
|
||
|
||
- winbuild: remove strcase.obj from curl build
|
||
|
||
Reported-by: Bruce Stephens
|
||
|
||
Fixes #1098
|
||
|
||
Dan Fandrich (2 Nov 2016)
|
||
- msvc: removed a straggling reference to strequal.c
|
||
|
||
Follow-up to 502acba2
|
||
|
||
Version 7.51.0 (2 Nov 2016)
|
||
|
||
Daniel Stenberg (2 Nov 2016)
|
||
- THANKS: synced with 7.51.0
|
||
|
||
- RELEASE-NOTES: 7.51.0
|
||
|
||
- ftp_done: don't clobber the passed in error code
|
||
|
||
Coverity CID 1374359 pointed out the unused result value.
|
||
|
||
- ftp: remove dead code in ftp_done
|
||
|
||
Coverity CID 1374358
|
||
|
||
Jay Satiro (1 Nov 2016)
|
||
- generate.bat: Include include/curl in libcurl VS projects
|
||
|
||
.. because including those headers helps Visual Studio's Intellisense.
|
||
|
||
- generate.bat: Remove strcase.[ch] from curl tool VS projects
|
||
|
||
..because they're no longer needed in the tool build. strcase is still
|
||
built by the libcurl project and exports curl_str(n)equal which is used
|
||
by the curl tool.
|
||
|
||
Bug: https://github.com/curl/curl/commit/9363f1a#all_commit_comments
|
||
|
||
Daniel Stenberg (2 Nov 2016)
|
||
- metalink: simplify the hex parsing function
|
||
|
||
... and now it avoids using the libcurl toupper() function
|
||
|
||
Michael Kaufmann (1 Nov 2016)
|
||
- file: fix compiler warning
|
||
|
||
follow-up to 46133aa5
|
||
|
||
Dan Fandrich (1 Nov 2016)
|
||
- strcase: fixed Metalink builds by redefining checkprefix()
|
||
|
||
...to use the public function curl_strnequal(). This isn't ideal because
|
||
it adds extra overhead to any internal calls to checkprefix.
|
||
|
||
follow-up to 95bd2b3e
|
||
|
||
Daniel Stenberg (1 Nov 2016)
|
||
- curl.1: typo
|
||
|
||
- curl.1: expand on how multiple uses of -o looks
|
||
|
||
Suggested-by: Dan Jacobson
|
||
Issue: https://github.com/curl/curl/issues/1097
|
||
|
||
- tests/util: get a private strncasecompare clone
|
||
|
||
... since the curlx_* code no longer provides one and we don't link
|
||
libcurl to these test servers.
|
||
|
||
- strcase: make the tool use curl_str[n]equal instead
|
||
|
||
As they are after all part of the public API. Saves space and reduces
|
||
complexity. Remove the strcase defines from the curlx_ family.
|
||
|
||
Suggested-by: Dan Fandrich
|
||
Idea: https://curl.haxx.se/mail/lib-2016-10/0136.html
|
||
|
||
Kamil Dudka (31 Oct 2016)
|
||
- gskit, nss: do not include strequal.h
|
||
|
||
follow-up to 811a693b80
|
||
|
||
Dan Fandrich (31 Oct 2016)
|
||
- strcasecompare: include curl.h in strcase.c
|
||
|
||
This should fix the "warning: 'curl_strequal' redeclared without
|
||
dllimport attribute: previous dllimport ignored" message and subsequent
|
||
link error on Windows because of the missing CURL_EXTERN on the
|
||
prototype.
|
||
|
||
Daniel Stenberg (31 Oct 2016)
|
||
- strcase: fix the remaining rawstr users
|
||
|
||
- msvc builds: s/rawstr/strcase
|
||
|
||
Follow-up to 811a693b
|
||
|
||
Dan Fandrich (31 Oct 2016)
|
||
- strcasecompare: replaced remaining rawstr.h with strcase.h
|
||
|
||
This is a followup to commit 811a693b
|
||
|
||
Marcel Raad (31 Oct 2016)
|
||
- digest_sspi: fix include
|
||
|
||
Fix compile break from 811a693b80
|
||
|
||
Dan Fandrich (31 Oct 2016)
|
||
- libauthretry: use the external function curl_strequal
|
||
|
||
The internal version strcasecompare isn't available outside libcurl
|
||
|
||
Daniel Stenberg (31 Oct 2016)
|
||
- RELEASE-NOTES: synced with d14538d2501ef0da
|
||
|
||
- configure: raise the default minimum version for macos to 10.8
|
||
|
||
follow-up to 4f8d0b6f02aa7043. Since the darwinssl code breaks
|
||
otherwise. If you build without darwinssl 10.5 works fine.
|
||
|
||
- unit1301: keep testing curl_strequal
|
||
|
||
as that is still part of the API, fix from 8fe4bd084412f30
|
||
|
||
- ldap: fix include
|
||
|
||
Fix bug from 811a693b80
|
||
|
||
- url: remove unconditional idn2.h include
|
||
|
||
Mistake brought by 9c91ec778104a
|
||
|
||
- curl_strequal: part of public API/ABI, needs to be kept
|
||
|
||
These two public functions have been mentioned as deprecated since a
|
||
very long time but since they are still part of the API and ABI we need
|
||
to keep them around.
|
||
|
||
- strcase: s/strequal/strcasecompare
|
||
|
||
some more follow-ups to 811a693b80
|
||
|
||
- ldap: fix strcase use
|
||
|
||
follow-up to 811a693b80
|
||
|
||
- test165: adapted to the libidn2 use and IDNA2008 fix
|
||
|
||
- cookie: replace use of fgets() with custom version
|
||
|
||
... that will ignore lines that are too long to fit in the buffer.
|
||
|
||
CVE-2016-8615
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102A.html
|
||
Reported-by: Cure53
|
||
|
||
- strcasecompare: all case insensitive string compares ignore locale now
|
||
|
||
We had some confusions on when each function was used. We should not act
|
||
differently on different locales anyway.
|
||
|
||
- strcasecompare: is the new name for strequal()
|
||
|
||
... to make it less likely that we forget that the function actually
|
||
does case insentive compares. Also replaced several invokes of the
|
||
function with a plain strcmp when case sensitivity is not an issue (like
|
||
comparing with "-").
|
||
|
||
- ftp: check for previous patch must be case sensitive!
|
||
|
||
... otherwise example.com/PATH and example.com/path would be assumed to
|
||
be the same and they usually aren't!
|
||
|
||
- SSH: check md5 fingerprint case sensitively
|
||
|
||
- connectionexists: use case sensitive user/password comparisons
|
||
|
||
CVE-2016-8616
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102B.html
|
||
Reported-by: Cure53
|
||
|
||
- base64: check for integer overflow on large input
|
||
|
||
CVE-2016-8617
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102C.html
|
||
Reported-by: Cure53
|
||
|
||
- krb5: avoid realloc(0)
|
||
|
||
If the requested size is zero, bail out with error instead of doing a
|
||
realloc() that would cause a double-free: realloc(0) acts as a free()
|
||
and then there's a second free in the cleanup path.
|
||
|
||
CVE-2016-8619
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102E.html
|
||
Reported-by: Cure53
|
||
|
||
- aprintf: detect wrap-around when growing allocation
|
||
|
||
On 32bit systems we could otherwise wrap around after 2GB and allocate 0
|
||
bytes and crash.
|
||
|
||
CVE-2016-8618
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102D.html
|
||
Reported-by: Cure53
|
||
|
||
- range: reject char globs with missing end like '[L-]'
|
||
|
||
... which previously would lead to out of boundary reads.
|
||
|
||
Reported-by: Luật Nguyễn
|
||
|
||
- glob_next_url: make sure to stay within the given output buffer
|
||
|
||
- range: prevent negative end number in a glob range
|
||
|
||
CVE-2016-8620
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102F.html
|
||
Reported-by: Luật Nguyễn
|
||
|
||
- parsedate: handle cut off numbers better
|
||
|
||
... and don't read outside of the given buffer!
|
||
|
||
CVE-2016-8621
|
||
|
||
bug: https://curl.haxx.se/docs/adv_20161102G.html
|
||
Reported-by: Luật Nguyễn
|
||
|
||
- escape: avoid using curl_easy_unescape() internally
|
||
|
||
Since the internal Curl_urldecode() function has a better API.
|
||
|
||
- unescape: avoid integer overflow
|
||
|
||
CVE-2016-8622
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102H.html
|
||
Reported-by: Cure53
|
||
|
||
- cookies: getlist() now holds deep copies of all cookies
|
||
|
||
Previously it only held references to them, which was reckless as the
|
||
thread lock was released so the cookies could get modified by other
|
||
handles that share the same cookie jar over the share interface.
|
||
|
||
CVE-2016-8623
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102I.html
|
||
Reported-by: Cure53
|
||
|
||
- TODO: remove IDNA2008
|
||
|
||
- idn: switch to libidn2 use and IDNA2008 support
|
||
|
||
CVE-2016-8625
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102K.html
|
||
Reported-by: Christian Heimes
|
||
|
||
- test1246: verify URL parsing with host name ending with '#'
|
||
|
||
- urlparse: accept '#' as end of host name
|
||
|
||
'http://example.com#@127.0.0.1/x.txt' equals a request to example.com
|
||
for the '/' document with the rest of the URL being a fragment.
|
||
|
||
CVE-2016-8624
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20161102J.html
|
||
Reported-by: Fernando Muñoz
|
||
|
||
Jay Satiro (31 Oct 2016)
|
||
- INTERNALS: better markdown (follow-up)
|
||
|
||
- Wrap more words with underscores in backticks.
|
||
|
||
Follow-up to 13f4913.
|
||
|
||
Daniel Stenberg (30 Oct 2016)
|
||
- INTERNALS: better markdown
|
||
|
||
words with underscore need to be within `these`
|
||
|
||
Bug: https://github.com/curl/curl-www/issues/19
|
||
Reported-by : Jay Satiro
|
||
|
||
Jay Satiro (30 Oct 2016)
|
||
- mk-ca-bundle.vbs: Fix UTF-8 output
|
||
|
||
- Change initial message box to mention delay when downloading/parsing.
|
||
|
||
Since there is no progress meter it was somewhat unexpected that after
|
||
choosing a filename nothing appears to happen, when actually the cert
|
||
data is in the process of being downloaded and parsed.
|
||
|
||
- Warn if OpenSSL is not present.
|
||
|
||
- Use a UTF-8 stream to make the ca-bundle data.
|
||
|
||
- Save the UTF-8 ca-bundle stream as binary so that no BOM is added.
|
||
|
||
---
|
||
|
||
This is a follow-up to d2c6d15 which switched mk-ca-bundle.vbs output to
|
||
ANSI due to corrupt UTF-8 output, now fixed.
|
||
|
||
This change completes making the default certificate bundle output of
|
||
mk-ca-bundle.vbs as close as possible to that of mk-ca-bundle.pl, which
|
||
should make it easier to review any difference between their output.
|
||
|
||
Ref: https://github.com/curl/curl/pull/1012
|
||
|
||
Daniel Stenberg (28 Oct 2016)
|
||
- BINDINGS: converted to markdown
|
||
|
||
To make it render better on the web site, at the price of it becoming
|
||
slightly less readable as text.
|
||
|
||
Jay Satiro (27 Oct 2016)
|
||
- CURLMOPT_MAX_PIPELINE_LENGTH.3: Clarify it's not for HTTP/2
|
||
|
||
- Clarify that this option is only for HTTP/1.1 pipelining.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1059
|
||
Reported-by: Jeroen Ooms
|
||
|
||
Assisted-by: Daniel Stenberg
|
||
|
||
Daniel Stenberg (27 Oct 2016)
|
||
- KNOWN_BUGS: HTTP/2 server push enabled when no pushes can be accepted
|
||
|
||
Closes #927
|
||
|
||
- KNOWN_BUGS: c-ares deviates from stock resolver on http://1346569778
|
||
|
||
Closes #893
|
||
|
||
Michael Osipov (27 Oct 2016)
|
||
- configure.in: Fix test syntax
|
||
|
||
Some versions of test allow == for equality, but others (such as the HP-UX
|
||
version) do not. Use a single = for correctness.
|
||
|
||
Error output:
|
||
checking for monotonic clock_gettime... ./configure[20445]: ==: A test command parameter is not valid.
|
||
|
||
Daniel Stenberg (27 Oct 2016)
|
||
- SECURITY: minor updates
|
||
|
||
- we allow the security push up to 48 hours before the release
|
||
|
||
- add a mention about possible pre-notifications
|
||
|
||
- lower case the 'curl-security' title
|
||
|
||
- [Andrei Sedoi brought this change]
|
||
|
||
docs: fix req->data in multi-uv example
|
||
|
||
Closes #1088
|
||
|
||
- mbedtls: stop using deprecated include file
|
||
|
||
Reported-by: wyattoday
|
||
Fixes #1087
|
||
|
||
Kamil Dudka (25 Oct 2016)
|
||
- [Martin Frodl brought this change]
|
||
|
||
nss: fix tight loop in non-blocking TLS handhsake over proxy
|
||
|
||
... in case the handshake completes before entering
|
||
CURLM_STATE_PROTOCONNECT
|
||
|
||
Bug: https://bugzilla.redhat.com/1388162
|
||
|
||
Jay Satiro (25 Oct 2016)
|
||
- mk-ca-bundle: Update the vbscript version
|
||
|
||
Bring the VBScript version more in line with the perl version:
|
||
|
||
- Change timestamp to UTC.
|
||
|
||
- Change URL retrieval to HTTPS-only by default.
|
||
|
||
- Comment out the options that disabled SSL cert checking by default.
|
||
|
||
- Assume OpenSSL is present, get SHA256. And add a flag to toggle it.
|
||
|
||
- Fix cert issuer name output.
|
||
|
||
The cert issuer output is now ansi, converted from UTF-8. Prior to this
|
||
it was corrupt UTF-8. It turns out though we can work with UTF-8 the
|
||
FSO object that writes ca-bundle can't write UTF-8, so there will have
|
||
to be some alternative if UTF-8 is needed (like an ADODB.Stream).
|
||
|
||
- Disable the certificate text info feature.
|
||
|
||
The certificate text info doesn't work properly with any recent OpenSSL.
|
||
|
||
Daniel Stenberg (24 Oct 2016)
|
||
- TODO: indent code to make it render properly
|
||
|
||
- TODO: Remove the generated include file
|
||
|
||
- TODO: add "--retry should resume"
|
||
|
||
See #1084
|
||
|
||
- mk-ca-bundle.1: document -k
|
||
|
||
Brought in 1ad2bdcf110266c. Now does HTTPS by default and needs -k to
|
||
fall back to plain HTTP.
|
||
|
||
- [Jay Satiro brought this change]
|
||
|
||
mk-ca-bundle: Change URL retrieval to HTTPS-only by default
|
||
|
||
- Change all predefined Mozilla URLs to HTTPS (Gregory Szorc).
|
||
|
||
- New option -k to allow URLs other than HTTPS and enable HTTP fallback.
|
||
|
||
Prior to this change the default URL retrieval mode was to fall back to
|
||
HTTP if HTTPS didn't work.
|
||
|
||
Reported-by: Gregory Szorc
|
||
|
||
Closes #1012
|
||
|
||
- RELEASE-NOTES: synced with 50ee3aaf1a9b22d
|
||
|
||
Dan Fandrich (23 Oct 2016)
|
||
- INSTALL.md: Updated minimum file sizes for 7.50.3
|
||
|
||
Daniel Stenberg (22 Oct 2016)
|
||
- multi: force connections to get closed in close_all_connections
|
||
|
||
Several independent reports on infinite loops hanging in the
|
||
close_all_connections() function when closing a multi handle, can be
|
||
fixed by first marking the connection to get closed before calling
|
||
Curl_disconnect.
|
||
|
||
This is more fixing-the-symptom rather than the underlying problem
|
||
though.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-10/0011.html
|
||
Bug: https://curl.haxx.se/mail/lib-2016-10/0059.html
|
||
|
||
Reported-by: Dan Fandrich, Valentin David, Miloš Ljumović
|
||
|
||
- [Anders Bakken brought this change]
|
||
|
||
curl_multi_remove_handle: fix a double-free
|
||
|
||
In short the easy handle needs to be disconnected from its connection at
|
||
this point since the connection still is serving other easy handles.
|
||
|
||
In our app we can reliably reproduce a crash in our http2 stress test
|
||
that is fixed by this change. I can't easily reproduce the same test in
|
||
a small example.
|
||
|
||
This is the gdb/asan output:
|
||
|
||
==11785==ERROR: AddressSanitizer: heap-use-after-free on address 0xe9f4fb80 at pc 0x09f41f19 bp 0xf27be688 sp 0xf27be67c
|
||
READ of size 4 at 0xe9f4fb80 thread T13 (RESOURCE_HTTP)
|
||
#0 0x9f41f18 in curl_multi_remove_handle /path/to/source/3rdparty/curl/lib/multi.c:666
|
||
|
||
0xe9f4fb80 is located 0 bytes inside of 1128-byte region [0xe9f4fb80,0xe9f4ffe8)
|
||
freed by thread T13 (RESOURCE_HTTP) here:
|
||
#0 0xf7b1b5c2 in __interceptor_free /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_malloc_linux.cc:45
|
||
#1 0x9f7862d in conn_free /path/to/source/3rdparty/curl/lib/url.c:2808
|
||
#2 0x9f78c6a in Curl_disconnect /path/to/source/3rdparty/curl/lib/url.c:2876
|
||
#3 0x9f41b09 in multi_done /path/to/source/3rdparty/curl/lib/multi.c:615
|
||
#4 0x9f48017 in multi_runsingle /path/to/source/3rdparty/curl/lib/multi.c:1896
|
||
#5 0x9f490f1 in curl_multi_perform /path/to/source/3rdparty/curl/lib/multi.c:2123
|
||
#6 0x9c4443c in perform /path/to/source/src/net/resourcemanager/ResourceManagerCurlThread.cpp:854
|
||
#7 0x9c445e0 in ...
|
||
#8 0x9c4cf1d in ...
|
||
#9 0xa2be6b5 in ...
|
||
#10 0xf7aa5780 in asan_thread_start /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:226
|
||
#11 0xf4d3a16d in __clone (/lib/i386-linux-gnu/libc.so.6+0xe716d)
|
||
|
||
previously allocated by thread T13 (RESOURCE_HTTP) here:
|
||
#0 0xf7b1ba27 in __interceptor_calloc /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_malloc_linux.cc:70
|
||
#1 0x9f7dfa6 in allocate_conn /path/to/source/3rdparty/curl/lib/url.c:3904
|
||
#2 0x9f88ca0 in create_conn /path/to/source/3rdparty/curl/lib/url.c:5797
|
||
#3 0x9f8c928 in Curl_connect /path/to/source/3rdparty/curl/lib/url.c:6438
|
||
#4 0x9f45a8c in multi_runsingle /path/to/source/3rdparty/curl/lib/multi.c:1411
|
||
#5 0x9f490f1 in curl_multi_perform /path/to/source/3rdparty/curl/lib/multi.c:2123
|
||
#6 0x9c4443c in perform /path/to/source/src/net/resourcemanager/ResourceManagerCurlThread.cpp:854
|
||
#7 0x9c445e0 in ...
|
||
#8 0x9c4cf1d in ...
|
||
#9 0xa2be6b5 in ...
|
||
#10 0xf7aa5780 in asan_thread_start /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:226
|
||
#11 0xf4d3a16d in __clone (/lib/i386-linux-gnu/libc.so.6+0xe716d)
|
||
|
||
SUMMARY: AddressSanitizer: heap-use-after-free /path/to/source/3rdparty/curl/lib/multi.c:666 in curl_multi_remove_handle
|
||
Shadow bytes around the buggy address:
|
||
0x3d3e9f20: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9f30: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9f40: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9f50: fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa
|
||
0x3d3e9f60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
|
||
=>0x3d3e9f70:[fd]fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9f80: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9f90: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9fa0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9fb0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
0x3d3e9fc0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
|
||
Shadow byte legend (one shadow byte represents 8 application bytes):
|
||
Addressable: 00
|
||
Partially addressable: 01 02 03 04 05 06 07
|
||
Heap left redzone: fa
|
||
Heap right redzone: fb
|
||
Freed heap region: fd
|
||
Stack left redzone: f1
|
||
Stack mid redzone: f2
|
||
Stack right redzone: f3
|
||
Stack partial redzone: f4
|
||
Stack after return: f5
|
||
Stack use after scope: f8
|
||
Global redzone: f9
|
||
Global init order: f6
|
||
Poisoned by user: f7
|
||
Container overflow: fc
|
||
Array cookie: ac
|
||
Intra object redzone: bb
|
||
ASan internal: fe
|
||
Left alloca redzone: ca
|
||
Right alloca redzone: cb
|
||
==11785==ABORTING
|
||
|
||
Thread 14 "RESOURCE_HTTP" received signal SIGABRT, Aborted.
|
||
[Switching to Thread 0xf27bfb40 (LWP 12324)]
|
||
0xf7fd8be9 in __kernel_vsyscall ()
|
||
(gdb) bt
|
||
#0 0xf7fd8be9 in __kernel_vsyscall ()
|
||
#1 0xf4c7ee89 in __GI_raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:54
|
||
#2 0xf4c803e7 in __GI_abort () at abort.c:89
|
||
#3 0xf7b2ef2e in __sanitizer::Abort () at /opt/toolchain/src/gcc-6.2.0/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc:122
|
||
#4 0xf7b262fa in __sanitizer::Die () at /opt/toolchain/src/gcc-6.2.0/libsanitizer/sanitizer_common/sanitizer_common.cc:145
|
||
#5 0xf7b21ab3 in __asan::ScopedInErrorReport::~ScopedInErrorReport (this=0xf27be171, __in_chrg=<optimized out>) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_report.cc:689
|
||
#6 0xf7b214a5 in __asan::ReportGenericError (pc=166993689, bp=4068206216, sp=4068206204, addr=3925146496, is_write=false, access_size=4, exp=0, fatal=true) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_report.cc:1074
|
||
#7 0xf7b21fce in __asan::__asan_report_load4 (addr=3925146496) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_rtl.cc:129
|
||
#8 0x09f41f19 in curl_multi_remove_handle (multi=0xf3406080, data=0xde582400) at /path/to/source3rdparty/curl/lib/multi.c:666
|
||
#9 0x09f6b277 in Curl_close (data=0xde582400) at /path/to/source3rdparty/curl/lib/url.c:415
|
||
#10 0x09f3354e in curl_easy_cleanup (data=0xde582400) at /path/to/source3rdparty/curl/lib/easy.c:860
|
||
#11 0x09c6de3f in ...
|
||
#12 0x09c378c5 in ...
|
||
#13 0x09c48133 in ...
|
||
#14 0x09c4d092 in ...
|
||
#15 0x0a2be6b6 in ...
|
||
#16 0xf7aa5781 in asan_thread_start (arg=0xf2d22938) at /opt/toolchain/src/gcc-6.2.0/libsanitizer/asan/asan_interceptors.cc:226
|
||
#17 0xf5de52b5 in start_thread (arg=0xf27bfb40) at pthread_create.c:333
|
||
#18 0xf4d3a16e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:114
|
||
|
||
Fixes #1083
|
||
|
||
- testcurl.1: fix the URL to the autobuild summary
|
||
|
||
- testcurl.1: update URLs
|
||
|
||
- INSTALL: converted to markdown => INSTALL.md
|
||
|
||
Also heavily edited for content. Removed lots of old cruft that we added
|
||
like 10+ years ago that is likely incorrect by now.
|
||
|
||
Also removed INSTALL.devcpp for same reason.
|
||
|
||
- [Martin Storsjo brought this change]
|
||
|
||
configure: Check for other variants of the -m*os*-version-min flags
|
||
|
||
In addition to -miphoneos-version-min, the same version can be set
|
||
using -mios-version-min. And for WatchOS and TvOS, there's
|
||
-mwatchos-version-min and -mtvos-version-min.
|
||
|
||
- configure: set min version flags for builds on mac
|
||
|
||
This helps building binaries that can work on multiple macOS versions.
|
||
|
||
Help-by: Martin Storsjö
|
||
|
||
Fixes #1069
|
||
|
||
- curl_multi_add_handle: set timeouts in closure handles
|
||
|
||
The closure handle only ever has default timeouts set. To improve the
|
||
state somewhat we clone the timeouts from each added handle so that the
|
||
closure handle always has the same timeouts as the most recently added
|
||
easy handle.
|
||
|
||
Fixes #739
|
||
|
||
- configure/CURL_CHECK_FUNC_POLL: disable poll completely on mac
|
||
|
||
... so that the same libcurl build easier can run on any version.
|
||
|
||
Follow-up to issue #1057
|
||
|
||
- RELEASE-NOTES: synced with f36f8c14551efc6772
|
||
|
||
- test14xx: fixed --libcurl output tests again after 8e8afa82cbb
|
||
|
||
- s/cURL/curl
|
||
|
||
The tool was never called cURL, only the project. But even so, we have
|
||
more and more over time switched to just use lower case.
|
||
|
||
- polarssl: indented code, removed unused variables
|
||
|
||
- polarssl: reduce #ifdef madness with a macro
|
||
|
||
- polarssl: fix unaligned SSL session-id lock
|
||
|
||
- Curl_polarsslthreadlock_thread_setup: clear array at init
|
||
|
||
... since if it fails to init the entire array and then tries to clean
|
||
it up, it would attempt to work on an uninitialized pointer.
|
||
|
||
- curl: set INTERLEAVEDATA too
|
||
|
||
As otherwise the callback could be called with a NULL pointer when RTSP
|
||
data is provided.
|
||
|
||
- gopher: properly return error for poll failures
|
||
|
||
- select: switch to macros in uppercase
|
||
|
||
Curl_select_ready() was the former API that was replaced with
|
||
Curl_select_check() a while back and the former arg setup was provided
|
||
with a define (in order to leave existing code unmodified).
|
||
|
||
Now we instead offer SOCKET_READABLE and SOCKET_WRITABLE for the most
|
||
common shortcuts where only one socket is checked. They're also more
|
||
visibly macros.
|
||
|
||
- select: use more proper macro-looking names
|
||
|
||
... so that it becomes more obvious in the code what is what. Also added
|
||
a typecast for one of the calculations.
|
||
|
||
- Curl_socket_check: add extra check to avoid integer overflow
|
||
|
||
- maketgz: make it support "only" generating version info
|
||
|
||
... to allow you to update the local repository with the given version
|
||
number data.
|
||
|
||
Jay Satiro (17 Oct 2016)
|
||
- url: skip to-be-closed connections when pipelining (follow-up)
|
||
|
||
- Change back behavior so that pipelining is considered possible for
|
||
connections that have not yet reached the protocol level.
|
||
|
||
This is a follow-up to e5f0b1a which had changed the behavior of
|
||
checking if pipelining is possible to ignore connections that had
|
||
'bits.close' set. Connections that have not yet reached the protocol
|
||
level also have that bit set, and we need to consider pipelining
|
||
possible on those connections.
|
||
|
||
Daniel Stenberg (17 Oct 2016)
|
||
- HTTP2: mention the tool's limited support
|
||
|
||
- RELEASE-NOTES: synced with a1a5cd04877fd6fd
|
||
|
||
- [David Woodhouse brought this change]
|
||
|
||
curl: do not set CURLOPT_SSLENGINEDEFAULT automatically
|
||
|
||
There were bugs in the PKCS#11 engine, and fixing them triggers bugs in
|
||
OpenSSL. Just don't get involved; there's no need to be making the
|
||
engine methods the default anyway.
|
||
|
||
https://github.com/OpenSC/libp11/pull/108
|
||
https://github.com/openssl/openssl/pull/1639
|
||
|
||
Merges #1042
|
||
|
||
- KNOWN_BUGS: two more existing problems
|
||
|
||
Marcel Raad (16 Oct 2016)
|
||
- win: fix Universal Windows Platform build
|
||
|
||
This fixes a merge error in commit 7f3df80 caused by commit 332e8d6.
|
||
|
||
Additionally, this changes Curl_verify_windows_version for Windows App
|
||
builds to assume to always be running on the target Windows version.
|
||
There seems to be no way to determine the Windows version from a
|
||
UWP app. Neither GetVersion(Ex), nor VerifyVersionInfo, nor the
|
||
Version Helper functions are supported.
|
||
|
||
Bug: https://github.com/curl/curl/pull/820#issuecomment-250889878
|
||
Reported-by: Paul Joyce
|
||
|
||
Closes https://github.com/curl/curl/pull/1048
|
||
|
||
Daniel Stenberg (16 Oct 2016)
|
||
- KNOWN_BUGS: minor formatting edit
|
||
|
||
Jay Satiro (14 Oct 2016)
|
||
- [Rider Linden brought this change]
|
||
|
||
url: skip to-be-closed connections when pipelining
|
||
|
||
No longer attempt to use "doomed" to-be-closed connections when
|
||
pipelining. Prior to this change connections marked for deletion (e.g.
|
||
timeout) would be erroneously used, resulting in sporadic crashes.
|
||
|
||
As originally reported and fixed by Carlo Wood (origin unknown).
|
||
|
||
Bug: https://github.com/curl/curl/issues/627
|
||
Reported-by: Rider Linden
|
||
|
||
Closes https://github.com/curl/curl/pull/1075
|
||
Participation-by: nopjmp@users.noreply.github.com
|
||
|
||
Daniel Stenberg (13 Oct 2016)
|
||
- vtls: only re-use session-ids using the same scheme
|
||
|
||
To make it harder to do cross-protocol mistakes
|
||
|
||
Jay Satiro (11 Oct 2016)
|
||
- [Torben Dannhauer brought this change]
|
||
|
||
dist: add missing cmake modules to the tarball
|
||
|
||
Closes https://github.com/curl/curl/pull/1070
|
||
|
||
Daniel Stenberg (11 Oct 2016)
|
||
- configure: detect the broken poll() in macOS 10.12
|
||
|
||
Fixes #1057
|
||
|
||
- dist: remove PDF and HTML converted docs from the releases
|
||
|
||
- [Remo E brought this change]
|
||
|
||
cmake: add nghttp2 support
|
||
|
||
Closes #922
|
||
|
||
- [Andreas Streichardt brought this change]
|
||
|
||
resolve: add error message when resolving using SIGALRM
|
||
|
||
Closes #1066
|
||
|
||
- GIT-INFO: remove the Mac 10.1-specific details
|
||
|
||
There shouldn't be many devs out there anymore using such outdated macOS
|
||
versions. And it removes the dead link.
|
||
|
||
Closes #1049
|
||
|
||
- RELEASE-NOTES: spellfix
|
||
|
||
- RELEASE-NOTES: synced with 82720490628cb53a
|
||
|
||
5 more fixes, 2 more contributors
|
||
|
||
- [Tobias Stoeckmann brought this change]
|
||
|
||
smb: properly check incoming packet boundaries
|
||
|
||
Not all reply messages were properly checked for their lengths, which
|
||
made it possible to access uninitialized memory (but this does not lead
|
||
to out of boundary accesses).
|
||
|
||
Closes #1052
|
||
|
||
- test557: verify printf() with 128 and 129 arguments
|
||
|
||
- mprintf: return error on too many arguments
|
||
|
||
128 arguments should be enough for everyone
|
||
|
||
- ftp: fix Curl_ftpsendf()
|
||
|
||
... it no longer takes printf() arguments since it was only really taken
|
||
advantage by one user and it was not written and used in a safe
|
||
way. Thus the 'f' is removed from the function name and the proto is
|
||
changed.
|
||
|
||
Although the current code wouldn't end up in badness, it was a risk that
|
||
future changes could end up springf()ing too large data or passing in a
|
||
format string inadvertently.
|
||
|
||
- formpost: avoid silent snprintf() truncation
|
||
|
||
The previous use of snprintf() could make libcurl silently truncate some
|
||
input data and not report that back on overly large input, which could
|
||
make data get sent over the network in a bad format.
|
||
|
||
Example:
|
||
|
||
$ curl --form 'a=b' -H "Content-Type: $(perl -e 'print "A"x4100')"
|
||
|
||
- TODO: build: Enable PIE and RELRO by default
|
||
|
||
- TODO: Support better than MD5 hostkey hash (for ssh)
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
tests: Fix a small typo in the tests README (#1060)
|
||
|
||
The subdirectory for logs in tests/ is named log/ without an 's'
|
||
at the end.
|
||
|
||
- TODO: Introduce --fail-fast to exit on first transfer fail
|
||
|
||
See #1054
|
||
|
||
- TODO: Leave secure cookies alone
|
||
|
||
- [Rainer Müller brought this change]
|
||
|
||
CURLOPT_DEBUGFUNCTION.3: unused argument warning (#1056)
|
||
|
||
The 'userp' argument is unused in this example code.
|
||
|
||
- TODO: TCP Fast Open for windows
|
||
|
||
- RELEASE-NOTES: synced with 8fd2a754f0de
|
||
|
||
- CURLOPT_KEEP_SENDING_ON_ERROR.3: mention when it is added
|
||
|
||
- memdup: use 'void *' as return and source type
|
||
|
||
- TODO: Add easy argument to formpost functions
|
||
|
||
- formpost: trying to attach a directory no longer crashes
|
||
|
||
The error path would previously add a freed entry to the linked list.
|
||
|
||
Reported-by: Toby Peterson
|
||
|
||
Fixes #1053
|
||
|
||
- [Sergei Kuzmin brought this change]
|
||
|
||
cookies: same domain handling changed to match browser behavior
|
||
|
||
Cokie with the same domain but different tailmatching property are now
|
||
considered different and do not replace each other. If header contains
|
||
following lines then two cookies will be set: Set-Cookie: foo=bar;
|
||
domain=.foo.com; expires=Thu Mar 3 GMT 8:56:27 2033 Set-Cookie: foo=baz;
|
||
domain=foo.com; expires=Thu Mar 3 GMT 8:56:27 2033
|
||
|
||
This matches Chrome, Opera, Safari, and Firefox behavior. When sending
|
||
stored tokens to foo.com Chrome, Opera, Firefox store send them in the
|
||
stored order, while Safari pre-sort the cookies.
|
||
|
||
Closes #1050
|
||
|
||
- [Stephen Brokenshire brought this change]
|
||
|
||
FAQ: Fix typos in section 5.14 (#1047)
|
||
|
||
Type required for YourClass::func C++ function (using size_t in line
|
||
with the documentation for CURLOPT_WRITEFUNCTION) and missing second
|
||
colon when specifying the static function for CURLOPT_WRITEFUNCTION.
|
||
|
||
- [Sebastian Mundry brought this change]
|
||
|
||
KNOWN_BUGS: Fix typos in section 5.8.
|
||
|
||
Closes #1046
|
||
|
||
- [mundry brought this change]
|
||
|
||
CONTRIBUTE.md: Fix typo in 'About pull requests' section. (#1045)
|
||
|
||
- curl.1: --trace supports % for sending to stderr!
|
||
|
||
- KNOWN_BUGS: 5.8 configure finding libs in wrong directory
|
||
|
||
Dan Fandrich (24 Sep 2016)
|
||
- configure: Fixed builds with libssh2 in a custom location
|
||
|
||
A libssh2 library in the standard system location was being used in
|
||
preference to the desired one while linking.
|
||
|
||
Daniel Stenberg (23 Sep 2016)
|
||
- SECURITY: remove the top ascii logo
|
||
|
||
Michael Kaufmann (22 Sep 2016)
|
||
- New libcurl option to keep sending on error
|
||
|
||
Add the new option CURLOPT_KEEP_SENDING_ON_ERROR to control whether
|
||
sending the request body shall be completed when the server responds
|
||
early with an error status code.
|
||
|
||
This is suitable for manual NTLM authentication.
|
||
|
||
Reviewed-by: Jay Satiro
|
||
|
||
Closes https://github.com/curl/curl/pull/904
|
||
|
||
Kamil Dudka (22 Sep 2016)
|
||
- nss: add chacha20-poly1305 cipher suites if supported by NSS
|
||
|
||
- nss: add cipher suites using SHA384 if supported by NSS
|
||
|
||
- nss: fix typo in ecdhe_rsa_null cipher suite string
|
||
|
||
As it seems to be a rarely used cipher suite (for securely established
|
||
but _unencrypted_ connections), I believe it is fine not to provide an
|
||
alias for the misspelled variant.
|
||
|
||
Jay Satiro (21 Sep 2016)
|
||
- docs: Remove that --proto is just used for initial retrieval
|
||
|
||
.. and add that --proto-redir and CURLOPT_REDIR_PROTOCOLS do not
|
||
override protocols denied by --proto and CURLOPT_PROTOCOLS.
|
||
|
||
- Add a test to enforce: --proto deny must override --proto-redir allow
|
||
|
||
Closes https://github.com/curl/curl/pull/1031
|
||
|
||
Daniel Stenberg (21 Sep 2016)
|
||
- dist: add CurlSymbolHiding.cmake to the tarball
|
||
|
||
Follow-up to 6140dfcf3e784
|
||
|
||
Reported-by: Alexander Sinditskiy
|
||
|
||
- curl_global_cleanup.3: don't unload the lib with sub threads running
|
||
|
||
Discussed in #997
|
||
|
||
Assisted-by: Jay Satiro
|
||
|
||
- MAIL-ETIQUETTE: language
|
||
|
||
Jay Satiro (20 Sep 2016)
|
||
- easy: Reset all statistical session info in curl_easy_reset
|
||
|
||
Bug: https://github.com/curl/curl/issues/1017
|
||
Reported-by: Jeroen Ooms
|
||
|
||
Daniel Stenberg (19 Sep 2016)
|
||
- RELEASE-NOTES: synced with 79607eec51055
|
||
|
||
Jay Satiro (19 Sep 2016)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
darwinssl: Fix typo in comment
|
||
|
||
Closes https://github.com/curl/curl/pull/1028
|
||
|
||
Daniel Stenberg (19 Sep 2016)
|
||
- [Bernard Spil brought this change]
|
||
|
||
libressl: fix version output
|
||
|
||
LibreSSL defines `OPENSSL_VERSION_NUMBER` as `0x20000000L` for all
|
||
versions returning `LibreSSL/2.0.0` for any LibreSSL version.
|
||
|
||
This change provides a local OpenSSL_version_num function replacement
|
||
returning LIBRESSL_VERSION_NUMBER instead.
|
||
|
||
Closes #1029
|
||
|
||
- [rugk brought this change]
|
||
|
||
TODO: Add PINNEDPUBLICKEY - HPKP compatibility, HSTS & HPKP
|
||
|
||
Closes #1025
|
||
Closes #1026
|
||
Closes #1027
|
||
|
||
- openssl: don't call ERR_remote_thread_state on >= 1.1.0
|
||
|
||
Follow-up fix to d9321562
|
||
|
||
- openssl: don’t call CRYTPO_cleanup_all_ex_data
|
||
|
||
The OpenSSL function CRYTPO_cleanup_all_ex_data() cannot be called
|
||
multiple times without crashing - and other libs might call it! We
|
||
basically cannot call it without risking a crash. The function is a
|
||
no-op since OpenSSL 1.1.0.
|
||
|
||
Not calling this function only risks a small memory leak with OpenSSL <
|
||
1.1.0.
|
||
|
||
Bug: https://curl.haxx.se/mail/lib-2016-09/0045.html
|
||
Reported-by: Todd Short
|
||
|
||
- TODO: Support SSLKEYLOGFILE
|
||
|
||
Jay Satiro (18 Sep 2016)
|
||
- CURLOPT_PINNEDPUBLICKEY.3: fix the AVAILABILITY formatting
|
||
|
||
Nick Zitzmann (18 Sep 2016)
|
||
- darwinssl: disable RC4 cipher-suite support
|
||
|
||
RC4 was a nice alternative to CBC back in the days of BEAST, but it's insecure and obsolete now.
|
||
|
||
- configure: change "iOS/Mac OS X native" to "Apple OS native"
|
||
|
||
Since I first wrote that text, Apple introduced tvOS and watchOS, and renamed "Mac OS X" to "macOS." Let's make the text a little more inclusive, since curl can be built for all four operating systems.
|
||
|
||
Jay Satiro (18 Sep 2016)
|
||
- test2048: fix url
|
||
|
||
- examples/imap-append: Set size of data to be uploaded
|
||
|
||
Prior to this commit this example failed with error
|
||
'Cannot APPEND with unknown input file size'.
|
||
|
||
Bug: https://github.com/curl/curl/issues/1008
|
||
Reported-by: lukaszgn@users.noreply.github.com
|
||
|
||
Closes https://github.com/curl/curl/pull/1011
|
||
|
||
Daniel Stenberg (16 Sep 2016)
|
||
- [Tony Kelman brought this change]
|
||
|
||
LICENSE-MIXING.md: update with mbedTLS dual licensing
|
||
|
||
Recent versions of mbedTLS are available under either Apache 2.0 or GPL
|
||
2.0, see https://tls.mbed.org/how-to-get
|
||
|
||
Closes #1019
|
||
|
||
- KNOWN_BUGS: chunked-encoded requests with HTTP/2 is fixed
|
||
|
||
- http2: debug ouput sent HTTP/2 request headers
|
||
|
||
- http: accept "Transfer-Encoding: chunked" for HTTP/2 as well
|
||
|
||
... but don't send the actual header over the wire as it isn't accepted.
|
||
Chunked uploading is still triggered using this method.
|
||
|
||
Fixes #1013
|
||
Fixes #662
|
||
|
||
- openssl: fix per-thread memory leak usiong 1.0.1 or 1.0.2
|
||
|
||
OpenSSL 1.0.1 and 1.0.2 build an error queue that is stored per-thread
|
||
so we need to clean it when easy handles are freed, in case the thread
|
||
will be killed in which the easy handle was used. All OpenSSL code in
|
||
libcurl should extract the error in association with the error already
|
||
so clearing this queue here should be harmless at worst.
|
||
|
||
Fixes #964
|
||
|
||
- RELEASE-NOTES: reset and go toward 7.51.0 (again)
|
||
|
||
Version 7.50.3 (14 Sep 2016)
|
||
|
||
Daniel Stenberg (14 Sep 2016)
|
||
- THANKS: updated with curl 7.50.3 contributors
|
||
|
||
- RELEASE-NOTES: curl 7.50.3
|
||
|
||
- test1605: verify negative input lengths to (un)escape functions
|
||
|
||
- curl_easy_unescape: deny negative string lengths as input
|
||
|
||
CVE-2016-7167
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20160914.html
|
||
|
||
- curl_easy_escape: deny negative string lengths as input
|
||
|
||
CVE-2016-7167
|
||
|
||
Bug: https://curl.haxx.se/docs/adv_20160914.html
|
||
|
||
- curl: make --create-dirs on windows grok both forward and backward slashes
|
||
|
||
Reported-by: Ryan Scott
|
||
|
||
Fixes #1007
|
||
|
||
- RELEASE-NOTES: synced with 665694979b6
|
||
|
||
- [Tony Kelman brought this change]
|
||
|
||
mbedtls: switch off NTLM in build if md4 isn't available
|
||
|
||
NTLM support with mbedTLS was added in 497e7c9 but requires that mbedTLS
|
||
is built with the MD4 functions available, which it isn't in default
|
||
builds. This now adapts if the funtion isn't there and builds libcurl
|
||
without NTLM support if so.
|
||
|
||
Fixes #1004
|
||
|
||
Jay Satiro (12 Sep 2016)
|
||
- CODE_STYLE: fix long-line guideline
|
||
|
||
- Change maximum allowed line length from 80 to 79.
|
||
|
||
- CODE_STYLE: add column alignment section
|
||
|
||
Note that since the added examples are for column alignment I had to
|
||
encapsulate with ~~~c markdown to preserve their alignment.
|
||
|
||
Peter Wu (11 Sep 2016)
|
||
- cmake: fix curl-config --static-libs
|
||
|
||
The `curl-config --static-libs` command should not output paths like
|
||
-l/usr/lib/libssl.so, instead print the absolute path without `-l`.
|
||
|
||
This also removes the confusing message "Static linking is broken" which
|
||
was printed because curl-config --static-libs was disfunctional even
|
||
though the static libcurl.a library works properly.
|
||
|
||
Fixes https://github.com/curl/curl/issues/841
|
||
|
||
Daniel Stenberg (11 Sep 2016)
|
||
- http: refuse to pass on response body with NO_NODY was set
|
||
|
||
... like when a HTTP/0.9 response comes back without any headers at all
|
||
and just a body this now prevents that body from being sent to the
|
||
callback etc.
|
||
|
||
Adapted test 1144 to verify.
|
||
|
||
Fixes #973
|
||
|
||
Assisted-by: Ray Satiro
|
||
|
||
- RELEASE-NOTES: synced with 257bf3ac67eb6
|
||
|
||
Jakub Zakrzewski (10 Sep 2016)
|
||
- CMake: Don't build unit tests if private symbols are hidden
|
||
|
||
This only excludes building unit tests from default build ( 'all' Make
|
||
target or "Build Solution" in VisualStudio). The projects and Make
|
||
targets will still be generated and shown in supporting IDEs.
|
||
|
||
Fixes https://github.com/curl/curl/issues/981
|
||
Reported-by: Randy Armstrong
|
||
|
||
Closes https://github.com/curl/curl/pull/990
|
||
|
||
- CMake: Try to (un-)hide private library symbols
|
||
|
||
Detect support for compiler symbol visibility flags and apply those
|
||
according to CURL_HIDDEN_SYMBOLS option.
|
||
It should work true to the autotools build except it tries to unhide
|
||
symbols on Windows when requested and prints warning if it fails.
|
||
|
||
Ref: https://github.com/curl/curl/issues/981#issuecomment-242665951
|
||
Reported-by: Daniel Stenberg
|
||
|
||
Daniel Stenberg (9 Sep 2016)
|
||
- openssl: fix bad memory free (regression)
|
||
|
||
... by partially reverting f975f06033b1. The allocation could be made by
|
||
OpenSSL so the free must be made with OPENSSL_free() to avoid problems.
|
||
|
||
Reported-by: Harold Stuart
|
||
Fixes #1005
|
||
|
||
- http2: support > 64bit sized uploads
|
||
|
||
... by making sure we don't count down the "upload left" counter when the
|
||
uploaded size is unknown and then it can be allowed to continue forever.
|
||
|
||
Fixes #996
|
||
|
||
Jay Satiro (7 Sep 2016)
|
||
- errors: new alias CURLE_WEIRD_SERVER_REPLY (8)
|
||
|
||
Since we're using CURLE_FTP_WEIRD_SERVER_REPLY in imap, pop3 and smtp as
|
||
more of a generic "failed to parse" introduce an alias without FTP in
|
||
the name.
|
||
|
||
Closes https://github.com/curl/curl/pull/975
|
||
|
||
Daniel Stenberg (7 Sep 2016)
|
||
- bump: toward 7.51.0
|
||
|
||
- HISTORY: remove ascii logo to render nicer on web
|
||
|
||
- curl: whitelist use of strtok() in non-threaded context
|
||
|
||
- checksrc: detect strtok() use
|
||
|
||
... as that function slipped through once before.
|
||
|
||
GitHub (7 Sep 2016)
|
||
- [Viktor Szakats brought this change]
|
||
|
||
mk-ca-bundle.pl: use SHA256 instead of SHA1
|
||
|
||
This hash is used to verify the original downloaded certificate bundle
|
||
and also included in the generated bundle's comment header. Also
|
||
rename related internal symbols to algorithm-agnostic names.
|
||
|
||
Version 7.50.2 (7 Sep 2016)
|
||
|
||
Daniel Stenberg (7 Sep 2016)
|
||
- RELEASE-NOTES: curl 7.50.2 release
|
||
|
||
- THANKS: updated for 7.50.2
|
||
|
||
Jay Satiro (6 Sep 2016)
|
||
- [Gaurav Malhotra brought this change]
|
||
|
||
openssl: fix CURLINFO_SSL_VERIFYRESULT
|
||
|
||
CURLINFO_SSL_VERIFYRESULT does not get the certificate verification
|
||
result when SSL_connect fails because of a certificate verification
|
||
error.
|
||
|
||
This fix saves the result of SSL_get_verify_result so that it is
|
||
returned by CURLINFO_SSL_VERIFYRESULT.
|
||
|
||
Closes https://github.com/curl/curl/pull/995
|
||
|
||
Daniel Stenberg (6 Sep 2016)
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
darwinssl: test for errSecSuccess in PKCS12 import rather than noErr (#993)
|
||
|
||
While noErr and errSecSuccess are defined as the same value, the API
|
||
documentation states that SecPKCS12Import() returns errSecSuccess if
|
||
there were no errors in importing. Ensure that a future change of the
|
||
defined value doesn't break (however unlikely) and be consistent with
|
||
the API docs.
|
||
|
||
- [Daniel Gustafsson brought this change]
|
||
|
||
docs: Fix link to CONTRIBUTE in Github contribution guidelines (#994)
|
||
|
||
- [Marcel Raad brought this change]
|
||
|
||
openssl: Fix compilation with OPENSSL_API_COMPAT=0x10100000L
|
||
|
||
With OPENSSL_API_COMPAT=0x10100000L (OpenSSL 1.1 API), the cleanup
|
||
functions are unavailable (they're no-ops anyway in OpenSSL 1.1). The
|
||
replacements for SSL_load_error_strings, SSLeay_add_ssl_algorithms, and
|
||
OpenSSL_add_all_algorithms are called automatically [1][2]. SSLeay() is
|
||
now called OpenSSL_version_num().
|
||
|
||
[1]: https://www.openssl.org/docs/man1.1.0/ssl/OPENSSL_init_ssl.html
|
||
[2]: https://www.openssl.org/docs/man1.1.0/crypto/OPENSSL_init_crypto.html
|
||
|
||
Closes #992
|
||
|
||
- RELEASE-NOTES: synced with 3d4c0c8b9bc1d
|
||
|
||
- http2: return EOF when done uploading without known size
|
||
|
||
Fixes #982
|
||
|
||
- http2: skip the content-length parsing, detect unknown size
|
||
|
||
- http2: minor white space edit
|