Age | Commit message (Collapse) | Author |
|
Closes #4552
|
|
- 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
|
|
... 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
|
|
This allows obtaining upstream builds of curl directly from appveyor for
all the available configurations
Closes #4509
|
|
This is the common pattern used in the code and by a unified approach we
avoid mistakes.
Closes #4534
|
|
Closes #4539
|
|
... or risk DoH memory leaks.
Reported-by: Paul Dreik
Fixes #4463
Closes #4527
|
|
... as really confuses the reader to not know what to believe!
|
|
Closes #4535
|
|
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
|
|
|
|
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
|
|
This would have caught issue #3926.
Also make formatting more consistent.
Closes https://github.com/curl/curl/pull/4526
|
|
... and invoke "curl -V" once done
Co-Authored-By: Jay Satiro
Closes #4523
|
|
Fixes #4518
Closes #4519
|
|
The test never got run because the feature name is `http` in lowercase.
Closes https://github.com/curl/curl/pull/4520
|
|
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
|
|
Added test case 338 to verify.
Reported-by: Daniel Silverstone
Fixes #4499
Closes #4514
|
|
|
|
|
|
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
|
|
These tests try to connect to ports nothing is listening on.
Closes https://github.com/curl/curl/pull/4511
|
|
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
|
|
Closes #4507
|
|
... and thus should return 0, not EAGAIN.
Reported-by: Tom van der Woerdt
Fixes #4496
Closes #4505
|
|
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
|
|
Test 323 is failing for some reason, so disable it there for now.
|
|
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
|
|
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
|
|
This avoids MSYS2 converting the backslasb in the URL to a slash,
causing the test to fail.
|
|
|
|
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
|
|
- 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
|
|
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
|
|
Mark some files as text.
Closes https://github.com/curl/curl/pull/4490
|
|
This makes the tests succeed when using --disable-proxy.
Closes https://github.com/curl/curl/pull/4488
|
|
Python 2's `ConfigParser` module is spelled `configparser` in Python 3.
Closes https://github.com/curl/curl/pull/4484
|
|
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
|
|
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
|
|
Closes #4344
|
|
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.
|
|
Closes #3116
|
|
Closes #4482
|
|
fixed build for systems that need netinet/in.h for IPPROTO_TCP and are
missing INADDR_LOOPBACK
Closes #4480
|
|
Follow-up to bc2dbef0afc08
|
|
|
|
|
|
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
|
|
|
|
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
|