]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
6 years agocurl: fix -T globbing
Daniel Stenberg [Wed, 13 Nov 2019 10:33:29 +0000 (11:33 +0100)] 
curl: fix -T globbing

Regression from e59371a4936f8 (7.67.0)

Added test 490, 491 and 492 to verify the functionality.

Reported-by: Kamil Dudka
Reported-by: Anderson Sasaki
Fixes #4588
Closes #4591

6 years agoHISTORY: added cmake, HTTP/3 and parallel downloads with curl
Daniel Stenberg [Wed, 13 Nov 2019 09:20:52 +0000 (10:20 +0100)] 
HISTORY: added cmake, HTTP/3 and parallel downloads with curl

6 years agoquiche: reject headers in the wrong order
Daniel Stenberg [Mon, 11 Nov 2019 08:56:23 +0000 (09:56 +0100)] 
quiche: reject headers in the wrong order

Pseudo header MUST come before regular headers or cause an error.

Reported-by: Cynthia Coan
Fixes #4571
Closes #4584

6 years agoopenssl: prevent recursive function calls from ctx callbacks
Daniel Stenberg [Mon, 11 Nov 2019 10:45:12 +0000 (11:45 +0100)] 
openssl: prevent recursive function calls from ctx callbacks

Follow the pattern of many other callbacks.

Ref: #4546
Closes #4585

6 years agoCURL-DISABLE: initial docs for the CURL_DISABLE_* defines
Daniel Stenberg [Mon, 11 Nov 2019 16:16:04 +0000 (17:16 +0100)] 
CURL-DISABLE: initial docs for the CURL_DISABLE_* defines

The disable-scan script used in test 1165 is extended to also verify
that the docs cover all used defines and all defines offered by
configure.

Reported-by: SLDiggie on github
Fixes #4545
Closes #4587

6 years agoremove_handle: clear expire timers after multi_done()
Daniel Stenberg [Sun, 10 Nov 2019 15:23:53 +0000 (16:23 +0100)] 
remove_handle: clear expire timers after multi_done()

Since 59041f0, a new timer might be set in multi_done() so the clearing
of the timers need to happen afterwards!

Reported-by: Max Kellermann
Fixes #4575
Closes #4583

6 years agotest1558: use double slash after file:
Marcel Raad [Sun, 3 Nov 2019 13:48:34 +0000 (14:48 +0100)] 
test1558: use double slash after file:

Classic MinGW / MSYS 1 doesn't support `MSYS2_ARG_CONV_EXCL`, so this
test unnecessarily failed when using `file:/` instead of `file:///`.

Closes https://github.com/curl/curl/pull/4554

6 years agopause: avoid updating socket if done was already called
Daniel Stenberg [Fri, 8 Nov 2019 22:07:55 +0000 (23:07 +0100)] 
pause: avoid updating socket if done was already called

... avoids unnecesary recursive risk when the transfer is already done.

Reported-by: Richard Bowker
Fixes #4563
Closes #4574

6 years agostrerror: Fix an error looking up some Windows error strings
Jay Satiro [Sat, 9 Nov 2019 23:07:59 +0000 (18:07 -0500)] 
strerror: Fix an error looking up some Windows error strings

- Use FORMAT_MESSAGE_IGNORE_INSERTS to ignore format specifiers in
  Windows error strings.

Since we are not in control of the error code we don't know what
information may be needed by the error string's format specifiers.

Prior to this change Windows API error strings which contain specifiers
(think specifiers like similar to printf specifiers) would not be shown.
The FormatMessage Windows API call which turns a Windows error code into
a string could fail and set error ERROR_INVALID_PARAMETER if that error
string contained a format specifier. FormatMessage expects a va_list for
the specifiers, unless inserts are ignored in which case no substitution
is attempted.

Ref: https://devblogs.microsoft.com/oldnewthing/20071128-00/?p=24353

6 years agosystem.h: fix for MCST lcc compiler
r-a-sattarov [Sat, 9 Nov 2019 14:42:47 +0000 (17:42 +0300)] 
system.h: fix for MCST lcc compiler

Fixed build by MCST lcc compiler on MCST Elbrus 2000 architecture and do
some code cleanup.

e2k (Elbrus 2000) - this is VLIW/EPIC architecture, like Intel Itanium
architecture.

Ref: https://en.wikipedia.org/wiki/Elbrus_2000

Closes https://github.com/curl/curl/pull/4576

6 years agoTODO: curl_multi_unblock
Daniel Stenberg [Fri, 8 Nov 2019 22:31:08 +0000 (23:31 +0100)] 
TODO: curl_multi_unblock

Closes #4418

6 years agoTODO: Run web-platform-tests url tests
Daniel Stenberg [Fri, 8 Nov 2019 22:27:37 +0000 (23:27 +0100)] 
TODO: Run web-platform-tests url tests

Closes #4477

6 years agoTODO: 1.4 alt-svc sharing
Daniel Stenberg [Fri, 8 Nov 2019 22:24:37 +0000 (23:24 +0100)] 
TODO: 1.4 alt-svc sharing

Closes #4476

6 years agotest1560: require IPv6 for IPv6 aware URL parsing
Daniel Stenberg [Fri, 8 Nov 2019 09:34:13 +0000 (10:34 +0100)] 
test1560: require IPv6 for IPv6 aware URL parsing

The URL parser function can't reject a bad IPv6 address properly when
curl was built without IPv6 support.

Reported-by: Marcel Raad
Fixes #4556
Closes #4572

6 years agochecksrc: repair the copyrightyear check
Daniel Stenberg [Fri, 1 Nov 2019 12:58:27 +0000 (13:58 +0100)] 
checksrc: repair the copyrightyear check

- Consider a modified file to be committed this year.

- Make the travis CHECKSRC also do COPYRIGHTYEAR scan in examples and
  includes

- Ignore 0 parents when getting latest commit date of file.

since in the CI we're dealing with a truncated repo of last 50 commits,
the file's most recent commit may not be available. when this happens
git log and rev-list show the initial commit (ie first commit not to be
truncated) but that's incorrect so ignore it.

Ref: https://github.com/curl/curl/pull/4547

Closes https://github.com/curl/curl/pull/4549

Co-authored-by: Jay Satiro
6 years agocopyrights: fix copyright year range
Daniel Stenberg [Sat, 2 Nov 2019 22:41:43 +0000 (23:41 +0100)] 
copyrights: fix copyright year range

.. because checksrc's copyright year check stopped working.

Ref: https://github.com/curl/curl/pull/4547

Closes https://github.com/curl/curl/pull/4549

6 years agoRELEASE-NOTES: synced
Daniel Stenberg [Fri, 8 Nov 2019 08:47:38 +0000 (09:47 +0100)] 
RELEASE-NOTES: synced

6 years agocurlver: bump to 7.67.1
Daniel Stenberg [Fri, 8 Nov 2019 08:47:29 +0000 (09:47 +0100)] 
curlver: bump to 7.67.1

6 years agomailmap: fixup Massimiliano Fantuzzi
Daniel Stenberg [Fri, 8 Nov 2019 08:46:48 +0000 (09:46 +0100)] 
mailmap: fixup Massimiliano Fantuzzi

6 years agoscripts/contributors: make committers get included too
Daniel Stenberg [Fri, 8 Nov 2019 08:45:58 +0000 (09:45 +0100)] 
scripts/contributors: make committers get included too

in addition to authors

6 years agoconfigure: fix typo in help text
Massimiliano Fantuzzi HB9GUS [Fri, 8 Nov 2019 00:10:24 +0000 (01:10 +0100)] 
configure: fix typo in help text

Closes https://github.com/curl/curl/pull/4570

6 years agontlm: USE_WIN32_CRYPTO check removed to get USE_NTLM2SESSION set
Christian Schmitz [Tue, 26 Mar 2019 08:53:03 +0000 (09:53 +0100)] 
ntlm: USE_WIN32_CRYPTO check removed to get USE_NTLM2SESSION set

Closes #3704

6 years agobuild: fix for CURL_DISABLE_DOH
Wyatt O'Day [Wed, 6 Nov 2019 22:39:49 +0000 (17:39 -0500)] 
build: fix for CURL_DISABLE_DOH

Fixes https://github.com/curl/curl/issues/4565
Closes https://github.com/curl/curl/pull/4566

6 years agoconfigure: avoid unportable `==' test(1) operator
Leonardo Taccari [Wed, 6 Nov 2019 22:53:44 +0000 (23:53 +0100)] 
configure: avoid unportable `==' test(1) operator

Closes https://github.com/curl/curl/pull/4567

6 years agoRELEASE-NOTES: synced curl-7_67_0
Daniel Stenberg [Mon, 4 Nov 2019 08:50:04 +0000 (09:50 +0100)] 
RELEASE-NOTES: synced

The 7.67.0 release

6 years agoTHANKS: add new names from 7.67.0
Daniel Stenberg [Mon, 4 Nov 2019 08:51:27 +0000 (09:51 +0100)] 
THANKS: add new names from 7.67.0

6 years agoconfigure: only say ipv6 enabled when the variable is set
Daniel Stenberg [Mon, 4 Nov 2019 12:59:35 +0000 (13:59 +0100)] 
configure: only say ipv6 enabled when the variable is set

Previously it could say "IPv6: enabled" at the end of the configure run
but the define wasn't set because of a missing getaddrinfo().

Reported-by: Marcel Raad
Fixes #4555
Closes #4560

6 years agocerts/Server-localhost-lastSAN-sv: regenerate with sha256
Marcel Raad [Sat, 2 Nov 2019 13:04:28 +0000 (14:04 +0100)] 
certs/Server-localhost-lastSAN-sv: regenerate with sha256

All other certificates were regenerated in commit ba782baac30, but
this one was missed.
Fixes test3001 on modern systems.

Closes https://github.com/curl/curl/pull/4551

6 years agocopyrights: update all copyright notices to 2019 on files changed this year
Vilhelm Prytz [Thu, 31 Oct 2019 20:06:19 +0000 (21:06 +0100)] 
copyrights: update all copyright notices to 2019 on files changed this year

Closes #4547

6 years agombedtls: add error message for cert validity starting in the future
Bastien Bouclet [Sat, 2 Nov 2019 13:15:18 +0000 (14:15 +0100)] 
mbedtls: add error message for cert validity starting in the future

Closes #4552

6 years agoschannel_verify: Fix concurrent openings of CA file
Jay Satiro [Fri, 1 Nov 2019 22:02:59 +0000 (18:02 -0400)] 
schannel_verify: Fix concurrent openings of CA file

- Open the CA file using FILE_SHARE_READ mode so that others can read
  from it as well.

Prior to this change our schannel code opened the CA file without
sharing which meant concurrent openings (eg an attempt from another
thread or process) would fail during the time it was open without
sharing, which in curl's case would cause error:
"schannel: failed to open CA file".

Bug: https://curl.haxx.se/mail/lib-2019-10/0104.html
Reported-by: Richard Alcock
6 years agogtls: make gnutls_bye() not wait for response on shutdown
Daniel Stenberg [Wed, 30 Oct 2019 08:44:30 +0000 (09:44 +0100)] 
gtls: make gnutls_bye() not wait for response on shutdown

... as it can make it wait there for a long time for no good purpose.

Patched-by: Jay Satiro
Reported-by: Bylon2 on github
Adviced-by: Nikos Mavrogiannopoulos
Fixes #4487
Closes #4541

6 years agoappveyor: publish artifacts on appveyor
Michał Janiszewski [Sat, 19 Oct 2019 18:37:06 +0000 (20:37 +0200)] 
appveyor: publish artifacts on appveyor

This allows obtaining upstream builds of curl directly from appveyor for
all the available configurations

Closes #4509

6 years agourl: make Curl_close() NULLify the pointer too
Daniel Stenberg [Mon, 28 Oct 2019 08:28:05 +0000 (09:28 +0100)] 
url: make Curl_close() NULLify the pointer too

This is the common pattern used in the code and by a unified approach we
avoid mistakes.

Closes #4534

6 years agoINSTALL: add missing space for configure commands
Trivikram Kamat [Tue, 29 Oct 2019 15:20:14 +0000 (08:20 -0700)] 
INSTALL: add missing space for configure commands

Closes #4539

6 years agourl: Curl_free_request_state() should also free doh handles
Daniel Stenberg [Sun, 27 Oct 2019 21:20:02 +0000 (22:20 +0100)] 
url: Curl_free_request_state() should also free doh handles

... or risk DoH memory leaks.

Reported-by: Paul Dreik
Fixes #4463
Closes #4527

6 years agoexamples: remove the "this exact code has not been verified"
Daniel Stenberg [Tue, 29 Oct 2019 08:48:49 +0000 (09:48 +0100)] 
examples: remove the "this exact code has not been verified"

... as really confuses the reader to not know what to believe!

6 years agoHTTP3: fix typo somehere1 > somewhere1
Trivikram Kamat [Tue, 29 Oct 2019 02:05:44 +0000 (19:05 -0700)] 
HTTP3: fix typo somehere1 > somewhere1

Closes #4535

6 years agoHTTP3: fix invalid use of sendto for connected UDP socket
Javier Blazquez [Mon, 28 Oct 2019 00:16:24 +0000 (17:16 -0700)] 
HTTP3: fix invalid use of sendto for connected UDP socket

On macOS/BSD, trying to call sendto on a connected UDP socket fails
with a EISCONN error. Because the singleipconnect has already called
connect on the socket when we're trying to use it for QUIC transfers
we need to use plain send instead.

Fixes #4529
Closes https://github.com/curl/curl/pull/4533

6 years agoRELEASE-NOTES: synced
Daniel Stenberg [Mon, 28 Oct 2019 13:49:11 +0000 (14:49 +0100)] 
RELEASE-NOTES: synced

6 years agoHTTP3: fix Windows build
Javier Blazquez [Sun, 27 Oct 2019 22:48:43 +0000 (15:48 -0700)] 
HTTP3: fix Windows build

The ngtcp2 QUIC backend was using the MSG_DONTWAIT flag for send/recv
in order to perform nonblocking operations. On Windows this flag does
not exist. Instead, the socket must be set to nonblocking mode via
ioctlsocket.

This change sets the nonblocking flag on UDP sockets used for QUIC on
all platforms so the use of MSG_DONTWAIT is not needed.

Fixes #4531
Closes #4532

6 years agoappveyor: add --disable-proxy autotools build
Marcel Raad [Sat, 12 Oct 2019 11:27:51 +0000 (13:27 +0200)] 
appveyor: add --disable-proxy autotools build

This would have caught issue #3926.

Also make formatting more consistent.

Closes https://github.com/curl/curl/pull/4526

6 years agoappveyor: make winbuilds with DEBUG=no/yes and VS 2015/2017
Daniel Stenberg [Thu, 24 Oct 2019 14:23:45 +0000 (16:23 +0200)] 
appveyor: make winbuilds with DEBUG=no/yes and VS 2015/2017

... and invoke "curl -V" once done

Co-Authored-By: Jay Satiro
Closes #4523

6 years agoschannel: reverse the order of certinfo insertions
Francois Rivard [Wed, 23 Oct 2019 14:04:09 +0000 (10:04 -0400)] 
schannel: reverse the order of certinfo insertions

Fixes #4518
Closes #4519

6 years agotest1591: fix spelling of http feature
Marcel Raad [Wed, 23 Oct 2019 17:29:25 +0000 (19:29 +0200)] 
test1591: fix spelling of http feature

The test never got run because the feature name is `http` in lowercase.

Closes https://github.com/curl/curl/pull/4520

6 years agoappveyor: Use two parallel compilation on appveyor with CMake
Michał Janiszewski [Sat, 19 Oct 2019 18:09:55 +0000 (20:09 +0200)] 
appveyor: Use two parallel compilation on appveyor with CMake

Appveyor provides 2 CPUs for each builder[1], make sure to use parallel
compilation, when running with CMake. CMake learned this new option in
version 3.12[2] and the version provided by appveyor is fresh enough.

Curl doesn't really take that long to build and it is using the slowest
builder available, msbuild, so expect only a moderate improvement in
build times.

[1] https://www.appveyor.com/docs/build-environment/
[2] https://cmake.org/cmake/help/v3.12/release/3.12.html

Closes #4508

6 years agoconn-reuse: requests wanting NTLM can reuse non-NTLM connections
Daniel Stenberg [Mon, 21 Oct 2019 08:43:03 +0000 (10:43 +0200)] 
conn-reuse: requests wanting NTLM can reuse non-NTLM connections

Added test case 338 to verify.

Reported-by: Daniel Silverstone
Fixes #4499
Closes #4514

6 years agotests: add missing proxy features
Marcel Raad [Tue, 22 Oct 2019 21:26:17 +0000 (23:26 +0200)] 
tests: add missing proxy features

6 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 22 Oct 2019 13:06:35 +0000 (15:06 +0200)] 
RELEASE-NOTES: synced

6 years agotests: use %FILE_PWD for file:// URLs
Marcel Raad [Sun, 20 Oct 2019 19:16:50 +0000 (21:16 +0200)] 
tests: use %FILE_PWD for file:// URLs

This way, we always have exactly one slash after the host name, making
the tests pass when curl is compiled with the MSYS GCC.

Closes https://github.com/curl/curl/pull/4512

6 years agotests: add `connect to non-listen` keywords
Marcel Raad [Sun, 20 Oct 2019 18:12:52 +0000 (20:12 +0200)] 
tests: add `connect to non-listen` keywords

These tests try to connect to ports nothing is listening on.

Closes https://github.com/curl/curl/pull/4511

6 years agoruntests: get textaware info from curl instead of perl
Marcel Raad [Fri, 18 Oct 2019 21:22:04 +0000 (23:22 +0200)] 
runtests: get textaware info from curl instead of perl

The MSYS system on Windows can run the test suite for curl built with
any toolset. When built with the MSYS GCC, curl uses Unix line endings,
while it uses Windows line endings when built with the MinGW GCC, and
`^O` reports 'msys' in both cases. Use the curl executable itself to
determine the line endings instead, which reports 'x86_64-pc-msys' when
built with the MSYS GCC.

Closes https://github.com/curl/curl/pull/4506

6 years agoappveyor: Add MSVC ARM64 build
Michał Janiszewski [Sat, 19 Oct 2019 17:58:34 +0000 (19:58 +0200)] 
appveyor: Add MSVC ARM64 build

Closes #4507

6 years agohttp2_recv: a closed stream trumps pause state
Daniel Stenberg [Fri, 18 Oct 2019 15:27:21 +0000 (17:27 +0200)] 
http2_recv: a closed stream trumps pause state

... and thus should return 0, not EAGAIN.

Reported-by: Tom van der Woerdt
Fixes #4496
Closes #4505

6 years agohttp2: expire a timeout at end of stream
Daniel Stenberg [Thu, 17 Oct 2019 12:25:45 +0000 (14:25 +0200)] 
http2: expire a timeout at end of stream

To make sure that transfer is being dealt with. Streams without
Content-Length need a final read to notice the end-of-stream state.

Reported-by: Tom van der Woerdt
Fixes #4496

6 years agotravis: Add an ARM64 build
Dan Fandrich [Thu, 17 Oct 2019 08:24:28 +0000 (10:24 +0200)] 
travis: Add an ARM64 build

Test 323 is failing for some reason, so disable it there for now.

6 years agoexamples/sslbackend: fix -Wchar-subscripts warning
Marcel Raad [Fri, 18 Oct 2019 06:19:47 +0000 (08:19 +0200)] 
examples/sslbackend: fix -Wchar-subscripts warning

With the `isdigit` implementation that comes with MSYS2, the argument
is used as an array subscript, resulting in a -Wchar-subscripts
warning. `isdigit`'s behavior is undefined if the argument is negative
and not EOF [0]. As done in lib/curl_ctype.h, cast the `char` variable
to `unsigned char` to avoid that.

[0] https://en.cppreference.com/w/c/string/byte/isdigit

Closes https://github.com/curl/curl/pull/4503

6 years agoconfigure: remove all cyassl references
Daniel Stenberg [Thu, 17 Oct 2019 21:47:10 +0000 (23:47 +0200)] 
configure: remove all cyassl references

In particular, this removes the case where configure would find an old
cyall installation rather than a wolfssl one if present. The library is
named wolfssl in modern days so there's no real need to keep support for
the former.

Reported-by: Jacob Barthelmeh
Closes #4502

6 years agotest1162: disable MSYS2's POSIX path conversion
Marcel Raad [Thu, 17 Oct 2019 18:40:54 +0000 (20:40 +0200)] 
test1162: disable MSYS2's POSIX path conversion

This avoids MSYS2 converting the backslasb in the URL to a slash,
causing the test to fail.

6 years agoRELEASE-NOTES: synced
Daniel Stenberg [Thu, 17 Oct 2019 12:21:45 +0000 (14:21 +0200)] 
RELEASE-NOTES: synced

6 years agoCURLOPT_TIMEOUT.3: Clarify transfer timeout time includes queue time
Jay Satiro [Tue, 15 Oct 2019 19:12:31 +0000 (15:12 -0400)] 
CURLOPT_TIMEOUT.3: Clarify transfer timeout time includes queue time

Prior to this change some users did not understand that the "request"
starts when the handle is added to the multi handle, or probably they
did not understand that some of those transfers may be queued and that
time is included in timeout.

Reported-by: Jeroen Ooms
Fixes https://github.com/curl/curl/issues/4486
Closes https://github.com/curl/curl/pull/4489

6 years agotool_operate: Fix retry sleep time shown to user when Retry-After
Stian Soiland-Reyes [Wed, 16 Oct 2019 13:35:56 +0000 (14:35 +0100)] 
tool_operate: Fix retry sleep time shown to user when Retry-After

- If server header Retry-After is being used for retry sleep time then
  show that value to the user instead of the normal retry sleep time.

This is a follow-up to 640b973 (7.66.0) which changed curl tool so that
the value from Retry-After header overrides other retry timing options.

Closes https://github.com/curl/curl/pull/4498

6 years agourl: normalize CURLINFO_EFFECTIVE_URL
Daniel Stenberg [Wed, 16 Oct 2019 07:57:33 +0000 (09:57 +0200)] 
url: normalize CURLINFO_EFFECTIVE_URL

The URL extracted with CURLINFO_EFFECTIVE_URL was returned as given as
input in most cases, which made it not get a scheme prefixed like before
if the URL was given without one, and it didn't remove dotdot sequences
etc.

Added test case 1907 to verify that this now works as intended and as
before 7.62.0.

Regression introduced in 7.62.0

Reported-by: Christophe Dervieux
Fixes #4491
Closes #4493

6 years agotests: line ending fixes for Windows
Marcel Raad [Tue, 15 Oct 2019 21:37:20 +0000 (23:37 +0200)] 
tests: line ending fixes for Windows

Mark some files as text.

Closes https://github.com/curl/curl/pull/4490

6 years agotests: use proxy feature 4488/head
Marcel Raad [Mon, 14 Oct 2019 20:29:19 +0000 (22:29 +0200)] 
tests: use proxy feature

This makes the tests succeed when using --disable-proxy.

Closes https://github.com/curl/curl/pull/4488

6 years agosmbserver: fix Python 3 compatibility
Marcel Raad [Sun, 13 Oct 2019 19:35:56 +0000 (21:35 +0200)] 
smbserver: fix Python 3 compatibility

Python 2's `ConfigParser` module is spelled `configparser` in Python 3.

Closes https://github.com/curl/curl/pull/4484

6 years agosecurity: silence conversion warning
Marcel Raad [Sun, 13 Oct 2019 17:14:39 +0000 (19:14 +0200)] 
security: silence conversion warning

With MinGW-w64, `curl_socket_t` is is a 32 or 64 bit unsigned integer,
while `read` expects a 32 bit signed integer.
Use `sread` instead of `read` to use the correct parameter type.

Closes https://github.com/curl/curl/pull/4483

6 years agoconnect: silence sign-compare warning
Marcel Raad [Sun, 13 Oct 2019 09:13:34 +0000 (11:13 +0200)] 
connect: silence sign-compare warning

With MinGW-w64 using WinSock, `curl_socklen_t` is signed, while the
result of `sizeof` is unsigned.

Closes https://github.com/curl/curl/pull/4483

6 years agoTODO: Handle growing SFTP files
Daniel Stenberg [Sun, 13 Oct 2019 09:57:56 +0000 (11:57 +0200)] 
TODO: Handle growing SFTP files

Closes #4344

6 years agoKNOWN_BUGS: remove "CURLFORM_CONTENTLEN in an array"
Daniel Stenberg [Sun, 13 Oct 2019 09:35:57 +0000 (11:35 +0200)] 
KNOWN_BUGS: remove "CURLFORM_CONTENTLEN in an array"

The curl_formadd() function is deprecated and shouldn't be used so the
real fix for applications is to switch to the curl_mime_* API.

6 years agoKNOWN_BUGS: "LDAP on Windows does authentication wrong"
Daniel Stenberg [Sat, 12 Oct 2019 20:45:13 +0000 (22:45 +0200)] 
KNOWN_BUGS: "LDAP on Windows does authentication wrong"

Closes #3116

6 years agoappveyor: add a winbuild that uses VS2017
Daniel Stenberg [Sat, 12 Oct 2019 14:33:30 +0000 (16:33 +0200)] 
appveyor: add a winbuild that uses VS2017

Closes #4482

6 years agosocketpair: fix include and define for older TCP header systems
Harry Sintonen [Thu, 10 Oct 2019 09:52:51 +0000 (12:52 +0300)] 
socketpair: fix include and define for older TCP header systems

fixed build for systems that need netinet/in.h for IPPROTO_TCP and are
missing INADDR_LOOPBACK

Closes #4480

6 years agosocketpair: fix double-close in error case
Daniel Stenberg [Thu, 10 Oct 2019 09:18:21 +0000 (11:18 +0200)] 
socketpair: fix double-close in error case

Follow-up to bc2dbef0afc08

6 years agogskit: use the generic Curl_socketpair
Daniel Stenberg [Mon, 7 Oct 2019 06:25:53 +0000 (08:25 +0200)] 
gskit: use the generic Curl_socketpair

6 years agoasyn-thread: make use of Curl_socketpair() where available
Daniel Stenberg [Sat, 5 Oct 2019 13:41:09 +0000 (15:41 +0200)] 
asyn-thread: make use of Curl_socketpair() where available

6 years agosocketpair: an implemention for Windows and more
Daniel Stenberg [Fri, 4 Oct 2019 21:59:29 +0000 (23:59 +0200)] 
socketpair: an implemention for Windows and more

Curl_socketpair() is designed to be used and work everywhere if there's
no native version or the native version isn't good enough.

Closes #4466

6 years agoRELEASE-NOTES: synced
Daniel Stenberg [Wed, 9 Oct 2019 12:24:52 +0000 (14:24 +0200)] 
RELEASE-NOTES: synced

6 years agoconnect: return CURLE_OPERATION_TIMEDOUT for errno == ETIMEDOUT
Daniel Stenberg [Fri, 4 Oct 2019 11:29:04 +0000 (13:29 +0200)] 
connect: return CURLE_OPERATION_TIMEDOUT for errno == ETIMEDOUT

Previosly all connect() failures would return CURLE_COULDNT_CONNECT, no
matter what errno said.

This makes for example --retry work on these transfer failures.

Reported-by: Nathaniel J. Smith
Fixes #4461
Clsoes #4462

6 years agocirrus: switch off blackhole status on the freebsd CI machines
Daniel Stenberg [Wed, 9 Oct 2019 07:20:29 +0000 (09:20 +0200)] 
cirrus: switch off blackhole status on the freebsd CI machines

6 years agotests: use port 2 instead of 60000 for a safer non-listening port
Daniel Stenberg [Tue, 8 Oct 2019 08:11:35 +0000 (10:11 +0200)] 
tests: use port 2 instead of 60000 for a safer non-listening port

... when the tests want "connection refused".

6 years agoKNOWN_BUGS: IDN tests failing on Windows
Daniel Stenberg [Wed, 9 Oct 2019 11:05:32 +0000 (13:05 +0200)] 
KNOWN_BUGS: IDN tests failing on Windows

Closes #3747

6 years agocirrus: Increase the git clone depth.
Dan Fandrich [Wed, 9 Oct 2019 08:55:06 +0000 (10:55 +0200)] 
cirrus: Increase the git clone depth.

If more commits are submitted to master between the time of triggering
the first Cirrus build and the time the final build gets started, the
desired commit is no longer at HEAD and the build will error out.
[skip ci]

6 years agodocs: make sure the --no-progress-meter docs file is in dist too
Daniel Stenberg [Wed, 9 Oct 2019 08:10:05 +0000 (10:10 +0200)] 
docs: make sure the --no-progress-meter docs file is in dist too

6 years agodocs: document it as --no-progress-meter instead of the reverse
Daniel Stenberg [Tue, 8 Oct 2019 21:05:35 +0000 (23:05 +0200)] 
docs: document it as --no-progress-meter instead of the reverse

Follow-up to 93373a960c3bb4

Reported-by: infinnovation-dev on github
Fixes #4474
Closes #4475

6 years agocirrus: Switch the FreeBSD 11.x build to 11.3 and add a 13.0 build.
Dan Fandrich [Tue, 8 Oct 2019 09:14:38 +0000 (11:14 +0200)] 
cirrus: Switch the FreeBSD 11.x build to 11.3 and add a 13.0 build.

Also, select the images using image_family to get the latest snapshots
automatically.
[skip ci]

6 years agocurl: --no-progress-meter
Daniel Stenberg [Mon, 7 Oct 2019 12:54:35 +0000 (14:54 +0200)] 
curl: --no-progress-meter

New option that allows a user to ONLY switch off curl's progress meter
and leave everything else in "talkative" mode.

Reported-by: Piotr Komborski
Fixes #4422
Closes #4470

6 years agoTODO: Consult %APPDATA% also for .netrc
Daniel Stenberg [Tue, 8 Oct 2019 18:45:02 +0000 (20:45 +0200)] 
TODO: Consult %APPDATA% also for .netrc

Closes #4016

6 years agoCURLOPT_TIMEOUT.3: remove the mention of "minutes"
Daniel Stenberg [Mon, 7 Oct 2019 12:22:23 +0000 (14:22 +0200)] 
CURLOPT_TIMEOUT.3: remove the mention of "minutes"

... just say that limiting operations risk aborting otherwise fine
working transfers. If that means seconds, minutes or hours, we leave to
the user.

Reported-by: Martin Gartner
Closes #4469

6 years agodocs: added multi-event.c example
Andrei Valeriu BICA [Mon, 7 Oct 2019 13:19:02 +0000 (16:19 +0300)] 
docs: added multi-event.c example

Similar to multi-uv.c but using libevent 2. This is a simpler libevent
integration example then hiperfifo.c.

Closes #4471

6 years agoldap: fix OOM error on missing query string
Nicolas [Sat, 5 Oct 2019 01:49:43 +0000 (22:49 -0300)] 
ldap: fix OOM error on missing query string

- Allow missing queries, don't return NO_MEMORY error in such a case.

It is acceptable for there to be no specified query string, for example:

curl ldap://ldap.forumsys.com

A regression bug in 1b443a7 caused this issue.

This is a partial fix for #4261.

Bug: https://github.com/curl/curl/issues/4261#issuecomment-525543077
Reported-by: Jojojov@users.noreply.github.com
Analyzed-by: Samuel Surtees
Closes https://github.com/curl/curl/pull/4467

6 years agobuild: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines
Paul B. Omta [Fri, 4 Oct 2019 07:55:54 +0000 (09:55 +0200)] 
build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines

Closes https://github.com/curl/curl/pull/4460

6 years agoRELEASE-NOTES: synced
Daniel Stenberg [Sat, 5 Oct 2019 09:46:48 +0000 (11:46 +0200)] 
RELEASE-NOTES: synced

6 years agocurl: ensure HTTP 429 triggers --retry
Stian Soiland-Reyes [Fri, 4 Oct 2019 15:18:23 +0000 (16:18 +0100)] 
curl: ensure HTTP 429 triggers --retry

This completes #3794.

Also make sure the new tests from #4195 are enabled

Closes #4465

6 years agowinbuild: add ENABLE_UNICODE option
apique [Mon, 9 Sep 2019 15:06:15 +0000 (17:06 +0200)] 
winbuild: add ENABLE_UNICODE option

Fixes https://github.com/curl/curl/issues/4308
Closes https://github.com/curl/curl/pull/4309

6 years agongtcp2: adapt to API change
Daniel Stenberg [Thu, 3 Oct 2019 21:08:45 +0000 (23:08 +0200)] 
ngtcp2: adapt to API change

Closes #4457

6 years agocookies: change argument type for Curl_flush_cookies
Daniel Stenberg [Thu, 3 Oct 2019 12:29:57 +0000 (14:29 +0200)] 
cookies: change argument type for Curl_flush_cookies

The second argument is really a 'bool' so use that and pass in TRUE/FALSE
to make it clear.

Closes #4455

6 years agohttp2: move state-init from creation to pre-transfer
Daniel Stenberg [Mon, 30 Sep 2019 07:30:58 +0000 (09:30 +0200)] 
http2: move state-init from creation to pre-transfer

To make sure that the HTTP/2 state is initialized correctly for
duplicated handles. It would otherwise easily generate "spurious"
PRIORITY frames to get sent over HTTP/2 connections when duplicated easy
handles were used.

Reported-by: Daniel Silverstone
Fixes #4303
Closes #4442

6 years agourlapi: fix use-after-free bug
Daniel Stenberg [Thu, 3 Oct 2019 11:24:43 +0000 (13:24 +0200)] 
urlapi: fix use-after-free bug

Follow-up from 2c20109a9b5d04

Added test 663 to verify.

Reported by OSS-Fuzz
Bug: https://crbug.com/oss-fuzz/17954

Closes #4453

6 years agocookie: avoid harmless use after free
Paul Dreik [Thu, 3 Oct 2019 08:57:09 +0000 (10:57 +0200)] 
cookie: avoid harmless use after free

This fix removes a use after free which can be triggered by
the internal cookie fuzzer, but otherwise is probably
impossible to trigger from an ordinary application.

The following program reproduces it:

        curl_global_init(CURL_GLOBAL_DEFAULT);
        CURL*  handle=curl_easy_init();
        CookieInfo* info=Curl_cookie_init(handle,NULL,NULL,false);
        curl_easy_setopt(handle, CURLOPT_COOKIEJAR, "/dev/null");
        Curl_flush_cookies(handle, true);
        Curl_cookie_cleanup(info);
        curl_easy_cleanup(handle);
        curl_global_cleanup();

This was found through fuzzing.

Closes #4454