summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* configure: make --disable-macidn switch off USE_MACIDNbagder/configure-macidnDaniel Stenberg2020-05-111-0/+21
|
* KNOWN_BUGS: Build with staticly built dependencyDaniel Stenberg2020-05-111-3/+21
| | | | I rewrote the item 5.4 to be more generic about static dependencies.
* ROADMAP: remove old entriesDaniel Stenberg2020-05-111-20/+0
| | | | | | | | MQTT - the start has already landed tiny-curl - also mostly landed and is a continuous work make menuconfig - basically no interest from users, not pushing there
* travis: Add ngtcp2 and quiche tests for CMakePeter Wu2020-05-102-9/+11
| | | | | | To avoid an explosion of jobs, extend the existing CMake tests with ngtcp2 and quiche support. macOS was previously moved to GitHub actions, so the non-Linux case can be dropped.
* CMake: add ENABLE_ALT_SVC optionPeter Wu2020-05-102-0/+8
| | | | | Tested alt-svc with quiche. While at it, add missing MultiSSL reporting (not tested).
* CMake: add HTTP/3 support (ngtcp2+nghttp3, quiche)Peter Wu2020-05-106-0/+323
| | | | | | | | | | | | | | | | | | | | | | Add three new CMake Find modules (using the curl license, but I grant others the right to apply the CMake BSD license instead). This CMake config is simpler than the autotools one because it assumes ngtcp2 and nghttp3 to be used together. Another difference is that this CMake config checks whether QUIC is actually supported by the TLS library (patched OpenSSL or boringssl) since this can be a common configuration mistake that could result in build errors later. Unlike autotools, CMake does not warn you that the features are experimental. The user is supposed to already know that and read the documentation. It requires a very special build environment anyway. Tested with ngtcp2+OpenSSL+nghttp3 and quiche+boringssl, both built from current git master. Use `LD_DEBUG=files src/curl |& grep need` to figure out which features (libldap-2.4, libssh2) to disable due to conflicts with boringssl. Closes #5359
* tests/server/tftpd.c: fix include and enhance debug loggingMarc Hoersken2020-05-101-3/+11
| | | | | | | | | | setjmp.h should only be included if HAVE_SETJMP_H is defined. Add additional log statements to see wether reads and writes are blocking or finishing before an alarm signal is received. Assisted-by: Peter Wu Part of #5364
* tool_operate: only set CURLOPT_SSL_OPTIONS if SSL support is presentDaniel Stenberg2020-05-101-17/+18
| | | | | | | Reported-by: Marcel Raad Follow-up to 148534db5 Fixes #5367 Closes #5369
* appveyor: update comments to be clear about toolchainMarc Hoersken2020-05-091-2/+2
| | | | | | | | | | | - CMake-based MSYS builds use mingw-w64 to cross-compile. - autotools-based builds are compiled using msys2-devel. The difference is that the later ones are not cross-compiled to Windows and instead require the msys2 runtime to be present. At the moment only the Azure Pipelines CI builds actually run autotools-based cross-compilation builds for Windows.
* TODO: update regarding missing Schannel featuresMarc Hoersken2020-05-091-20/+12
| | | | | | | | | | | | | | | | Some aspects have already been implemented over the years. 15.1 Client certificates are now supported: - System stores via e35b0256eb34f1fe562e3e2a2615beb50a391c52 - PKCS#12 files via 0fdf96512613574591f501d63fe49495ba40e1d5 15.2 Ciphers can now be specified through: - Algorithms via 9aefbff30d280c60fc9d8cc3e0b2f19fc70a2f28 Reviewed-by: Daniel Stenberg and Marcel Raad Closes #5358
* checksrc: close the .checksrc file handle when done readingDaniel Stenberg2020-05-081-0/+1
|
* RELEASE-NOTES: syncedDaniel Stenberg2020-05-082-10/+19
| | | | And bumped next version to 7.71.0
* CURLOPT_SSL_OPTIONS: add *_NATIVE_CA to use Windows CA store (with openssl)Gilles Vollant2020-05-089-19/+203
| | | | Closes #4346
* TODO: native IDN support on macOSDaniel Stenberg2020-05-081-0/+9
|
* urlapi: accept :: as a valid IPv6 addressDaniel Stenberg2020-05-082-1/+10
| | | | | | | | Text 1560 is extended to verify. Reported-by: Pavel Volgarev Fixes #5344 Closes #5351
* THANKS-filter: Peter WangDaniel Stenberg2020-05-081-0/+1
|
* *_sspi: fix bad uses of CURLE_NOT_BUILT_INPeter Wang2020-05-083-6/+12
| | | | | | | | Return CURLE_AUTH_ERROR instead of CURLE_NOT_BUILT_IN for other instances of QuerySecurityPackageInfo failing, as in commit 2a81439553286f12cd04a4bdcdf66d8e026d8201. Closes #5355
* docs/HTTP3: add qlog to the quiche build instructionDaniel Stenberg2020-05-071-1/+1
|
* ngtcp2: introduce qlog supportDaniel Stenberg2020-05-076-41/+157
| | | | | | | | | If the QLOGDIR environment variable is set, enable qlogging. ... and create Curl_qlogdir() in the new generic vquic/vquic.c file for QUIC functions that are backend independent. Closes #5353
* ntlm_sspi: fix bad use of CURLE_NOT_BUILT_INDaniel Stenberg2020-05-071-3/+5
| | | | | | | | | That return code is reserved for build-time conditional code not being present while this was a regular run-time error from a Windows API. Reported-by: wangp on github Fixes #5349 Closes #5350
* runtests: show elapsed test time with higher precision (ms)Daniel Stenberg2020-05-071-1/+1
|
* RELEASE-NOTES: syncedDaniel Stenberg2020-05-071-3/+28
|
* http2: simplify and clean up trailer handlingDaniel Stenberg2020-05-073-44/+12
| | | | | | | | | | | | Triggered by a crash detected by OSS-Fuzz after the dynbuf introduction in ed35d6590e72. This should make the trailer handling more straight forward and hopefully less error-prone. Deliver the trailer header to the callback already at receive-time. No longer caches the trailers to get delivered at end of stream. Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22030 Closes #5348
* appveyor: disable test 1139 instead of ignoring itMarc Hoersken2020-05-071-8/+8
| | | | | Spending time on manpage checking makes no sense for these builds due to lacking manpage support.
* appveyor: disable flaky test 1501 and ignore broken 1056Marc Hoersken2020-05-071-10/+10
| | | | | | | | | Test 1501 is flaky on Windows CI due to being time sensitive and the testsuite relying on taskkill.exe to check for the existance of processes which can take to much time itself. Test 1056 is broken in autotools-based Windows builds due to scope ID support missing in these builds at the moment.
* test613.pl: make tests 613 and 614 work with OpenSSH for WindowsMarc Hoersken2020-05-063-7/+17
| | | | | | | | | OpenSSH for Windows shows group and other/world permissions as *, because those concepts do not exist on Windows. It also does not show the current or parent directory, so we just ignore those. Reviewed-by: Daniel Stenberg Closes #5328
* runtests: set +x mode againDaniel Stenberg2020-05-061-0/+0
|
* libssh2: convert over to use dynbufDaniel Stenberg2020-05-052-78/+56
| | | | | | | | In my very basic test that lists sftp://127.0.0.1/tmp/, this patched code makes 161 allocations compared to 194 in git master. A 17% reduction. Closes #5336
* travis: add "qlog" as feature in the quiche buildDaniel Stenberg2020-05-051-1/+1
|
* quiche: enable qlog outputDaniel Stenberg2020-05-053-2/+44
| | | | | | | | | | | | | | | quiche has the potential to log qlog files. To enable this, you must build quiche with the qlog feature enabled `cargo build --features qlog`. curl then passes a file descriptor to quiche, which takes ownership of the file. The FD transfer only works on UNIX. The convention is to enable logging when the QLOGDIR environment is set. This should be a path to a folder where files are written with the naming template <SCID>.qlog. Co-authored-by: Lucas Pardue Replaces #5337 Closes #5341
* urldata.h: remove #define HEADERSIZE, not used anymoreDaniel Stenberg2020-05-041-4/+0
| | | | Follow-up to ed35d6590e72c
* ngtcp2: convert to dynbufDaniel Stenberg2020-05-044-90/+23
| | | | Closes #5335
* connect: make happy eyeballs work for QUIC (again)Daniel Stenberg2020-05-041-1/+9
| | | | | | Follow-up from dbd16c3e256c6c (regression in 7.70.0) Closes #5334
* connect: add two asserts to clue code analyzers in a littleDaniel Stenberg2020-05-041-0/+2
|
* http_proxy: ported to use dynbuf instead of a static size bufferDaniel Stenberg2020-05-044-73/+60
| | | | Removes a 16K static buffer from the easy handle. Simplifies the code.
* dynbuf: introduce internal generic dynamic buffer functionsDaniel Stenberg2020-05-0427-862/+881
| | | | | | | | | | | | | A common set of functions instead of many separate implementations for creating buffers that can grow when appending data to them. Existing functionality has been ported over. In my early basic testing, the total number of allocations seem at roughly the same amount as before, possibly a few less. See docs/DYNBUF.md for a description of the API. Closes #5300
* runtests: remove sleep callsDaniel Stenberg2020-05-031-19/+0
| | | | | | | | Remove many one second sleeps that were done *after* each newly started test server already has been verified. They should not have any purpose there. Closes #5323
* asyn-*: remove support for never-used NULL entry pointersDaniel Stenberg2020-05-032-18/+18
| | | | | | | ... and instead convert those to asserts to make sure they are truly never NULL. Closes #5324
* doc: Rename VERSIONS to VERSIONS.md as it already has Markdown syntaxEmil Engler2020-05-023-2/+2
| | | | Closes #5325
* asyn-thread: fix cppcheck warningJay Satiro2020-05-021-2/+4
| | | | | | | | | | | | | | | - Check for NULL entry parameter before attempting to deref entry in Curl_resolver_is_resolved, like is already done in asyn-ares. This is to silence cppcheck which does not seem to understand that asyn-ares and asyn-thread have separate Curl_resolver_is_resolved and those units are mutually exclusive. Prior to this change it warned of a scenario where asyn-thread's Curl_resolver_is_resolved is called with a NULL entry from asyn-ares, but that couldn't happen. Reported-by: rl1987@users.noreply.github.com Fixes https://github.com/curl/curl/issues/5326
* select: fix overflow protection in Curl_socket_checkJay Satiro2020-05-021-3/+10
| | | | | | | | | Follow-up to a96c752 which changed the timeout_ms type from time_t to timediff_t. Ref: https://github.com/curl/curl/pull/5240 Closes https://github.com/curl/curl/pull/5286
* sockfilt: make select_ws stop waiting on exit signal eventMarc Hoersken2020-05-021-2/+12
| | | | | | | | | | | This makes sure that select_ws behaves similar to real select which stops waiting on a signal handler being triggered. This makes it possible to gracefully stop sockfilt.exe on Windows with taskkill /IM sockfilt.exe (without /F force flag). Reviewed-by: Jay Satiro Part of #5260
* tests/server/util.[ch]: add exit event to stop waiting on WindowsMarc Hoersken2020-05-022-0/+24
| | | | | | | | | | | | This commit adds a global exit event to the test servers that Windows-specific wait routines can use to get triggered if the program was signaled to be terminated, eg. select_ws in sockfilt.c The exit event will be managed by the signal handling code and is set to not reset automatically to support multiple wait routines. Reviewed-by: Jay Satiro Closes #5260
* tests/server/util.c: fix thread handle not being closedMarc Hoersken2020-05-021-2/+9
| | | | | Reviewed-by: Jay Satiro Part of #5260
* tests/server/util.c: use raise instead of calling signal handlerMarc Hoersken2020-05-021-2/+2
| | | | | | | | Use raise to trigger signal handler instead of calling it directly and causing potential unexpected control flow. Reviewed-by: Jay Satiro Part of #5260
* tests: add support for SSH server variant specific transfer pathsMarc Hoersken2020-05-0251-49/+61
| | | | | | | | OpenSSH for Windows requires paths in the format of /C:/ instead of the pseudo-POSIX paths /cygdrive/c/ or just /c/ Reviewed-by: Daniel Stenberg Closes #5298
* RELEASE-NOTES: syncedDaniel Stenberg2020-05-021-4/+25
|
* libssh2: set the expected total size in SCP upload initDaniel Stenberg2020-05-021-1/+3
| | | | | | | | | ... as otherwise the progress callback gets called without that information, making the progress meter have less info. Reported-by: Murugan Balraj Bug: https://curl.haxx.se/mail/archive-2020-05/0000.html Closes #5317
* runtests: make the logmsg from the ssh server only show in verboseDaniel Stenberg2020-05-021-1/+1
|
* tests: make test 1248 + 1249 use %NOLISTENPORTDaniel Stenberg2020-05-022-2/+2
| | | | | | | ... instead of a port of a non-running server so that it works stand-alone. Closes #5318