]> granicus.if.org Git - curl/log
curl
5 years agoCURLINFO_RETRY_AFTER: parse the Retry-After header value
Daniel Stenberg [Tue, 6 Aug 2019 09:30:08 +0000 (11:30 +0200)]
CURLINFO_RETRY_AFTER: parse the Retry-After header value

This is only the libcurl part that provides the information. There's no
user of the parsed value. This change includes three new tests for the
parser.

Ref: #3794

5 years agodocs/ALTSVC.md: first basic file format description
Daniel Stenberg [Wed, 7 Aug 2019 12:18:42 +0000 (14:18 +0200)]
docs/ALTSVC.md: first basic file format description

5 years agocurl: have -w's 'http_version' show '3' for HTTP/3
Daniel Stenberg [Wed, 7 Aug 2019 07:52:14 +0000 (09:52 +0200)]
curl: have -w's 'http_version' show '3' for HTTP/3

Closes #4196

5 years agocurl.h: add CURL_HTTP_VERSION_3 to the version enum
Daniel Stenberg [Wed, 7 Aug 2019 07:49:18 +0000 (09:49 +0200)]
curl.h: add CURL_HTTP_VERSION_3 to the version enum

It can't be set for CURLOPT_HTTP_VERSION, but it can be extracted with
CURLINFO_HTTP_VERSION.

5 years agoquiche: make use of the connection timeout API properly
Daniel Stenberg [Wed, 7 Aug 2019 10:49:27 +0000 (12:49 +0200)]
quiche: make use of the connection timeout API properly

5 years agoquiche: make POSTFIELDS posts work
Daniel Stenberg [Wed, 7 Aug 2019 09:04:47 +0000 (11:04 +0200)]
quiche: make POSTFIELDS posts work

5 years agoquiche: improved error handling and memory cleanups
Daniel Stenberg [Wed, 7 Aug 2019 06:39:39 +0000 (08:39 +0200)]
quiche: improved error handling and memory cleanups

5 years agoquiche: flush egress in h3_stream_recv() too
Daniel Stenberg [Wed, 7 Aug 2019 05:48:37 +0000 (07:48 +0200)]
quiche: flush egress in h3_stream_recv() too

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 6 Aug 2019 21:11:03 +0000 (23:11 +0200)]
RELEASE-NOTES: synced

5 years agoos400: take care of CURLOPT_SASL_AUTHZID in curl_easy_setopt_ccsid().
Patrick Monnerat [Thu, 23 May 2019 11:24:53 +0000 (13:24 +0200)]
os400: take care of CURLOPT_SASL_AUTHZID in curl_easy_setopt_ccsid().

Ref: https://github.com/curl/curl/issues/3653
Ref: https://github.com/curl/curl/pull/3790

NOTE: This commit was cherry-picked and is part of a series of commits
that added the authzid feature for upcoming 7.66.0. The series was
temporarily reverted in db8ec1f so that it would not ship in a 7.65.x
patch release.

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

5 years agotests: Fix the line endings for the SASL alt-auth tests
Jay Satiro [Thu, 23 May 2019 08:01:09 +0000 (04:01 -0400)]
tests: Fix the line endings for the SASL alt-auth tests

- Change data and protocol sections to CRLF line endings.

Prior to this change the tests would fail or hang, which is because
certain sections such as protocol require CRLF line endings.

Follow-up to grandparent commit which added the tests.

Ref: https://github.com/curl/curl/issues/3653
Ref: https://github.com/curl/curl/pull/3790

NOTE: This commit was cherry-picked and is part of a series of commits
that added the authzid feature for upcoming 7.66.0. The series was
temporarily reverted in db8ec1f so that it would not ship in a 7.65.x
patch release.

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

5 years agoexamples: Added SASL PLAIN authorisation identity (authzid) examples
Steve Holme [Sun, 21 Apr 2019 22:29:57 +0000 (23:29 +0100)]
examples: Added SASL PLAIN authorisation identity (authzid) examples

Ref: https://github.com/curl/curl/issues/3653
Ref: https://github.com/curl/curl/pull/3790

NOTE: This commit was cherry-picked and is part of a series of commits
that added the authzid feature for upcoming 7.66.0. The series was
temporarily reverted in db8ec1f so that it would not ship in a 7.65.x
patch release.

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

5 years agocurl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool
Steve Holme [Fri, 19 Apr 2019 13:26:47 +0000 (14:26 +0100)]
curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool

Ref: https://github.com/curl/curl/issues/3653
Ref: https://github.com/curl/curl/pull/3790

NOTE: This commit was cherry-picked and is part of a series of commits
that added the authzid feature for upcoming 7.66.0. The series was
temporarily reverted in db8ec1f so that it would not ship in a 7.65.x
patch release.

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

5 years agosasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID
Steve Holme [Wed, 17 Apr 2019 22:47:51 +0000 (23:47 +0100)]
sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID

Added the ability for the calling program to specify the authorisation
identity (authzid), the identity to act as, in addition to the
authentication identity (authcid) and password when using SASL PLAIN
authentication.

Fixes #3653
Closes #3790

NOTE: This commit was cherry-picked and is part of a series of commits
that added the authzid feature for upcoming 7.66.0. The series was
temporarily reverted in db8ec1f so that it would not ship in a 7.65.x
patch release.

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

5 years agodocs/HTTP3: refreshed as it is now in master and HTTP/3 can be tested
Daniel Stenberg [Tue, 6 Aug 2019 12:44:30 +0000 (14:44 +0200)]
docs/HTTP3: refreshed as it is now in master and HTTP/3 can be tested

5 years agomesalink: implement client authentication
Yiming Jing [Thu, 1 Aug 2019 22:20:30 +0000 (15:20 -0700)]
mesalink: implement client authentication

Closes #4184

5 years agocurl_multi_poll: a sister to curl_multi_wait() that waits more
Daniel Stenberg [Mon, 29 Jul 2019 11:41:00 +0000 (13:41 +0200)]
curl_multi_poll: a sister to curl_multi_wait() that waits more

Repeatedly we see problems where using curl_multi_wait() is difficult or
just awkward because if it has no file descriptor to wait for
internally, it returns immediately and leaves it to the caller to wait
for a small amount of time in order to avoid occasional busy-looping.

This is often missed or misunderstood, leading to underperforming
applications.

This change introduces curl_multi_poll() as a replacement drop-in
function that accepts the exact same set of arguments. This function
works identically to curl_multi_wait() - EXCEPT - for the case when
there's nothing to wait for internally, as then this function will by
itself wait for a "suitable" short time before it returns. This
effectiely avoids all risks of busy-looping and should also make it less
likely that apps "over-wait".

This also changes the curl tool to use this funtion internally when
doing parallel transfers and changes curl_easy_perform() to use it
internally.

Closes #4163

5 years agoquiche:h3_stream_recv return 0 at end of stream
Daniel Stenberg [Tue, 6 Aug 2019 06:06:58 +0000 (08:06 +0200)]
quiche:h3_stream_recv return 0 at end of stream

... and remove some verbose messages we don't need. Made transfers from
facebook.com work better.

5 years agoaltsvc: make quiche use h3-22 now
Daniel Stenberg [Mon, 5 Aug 2019 21:13:17 +0000 (23:13 +0200)]
altsvc: make quiche use h3-22 now

5 years agoquiche: show the actual version number
Daniel Stenberg [Mon, 5 Aug 2019 21:12:59 +0000 (23:12 +0200)]
quiche: show the actual version number

5 years agoquiche: first working HTTP/3 request
Daniel Stenberg [Mon, 5 Aug 2019 13:17:31 +0000 (15:17 +0200)]
quiche: first working HTTP/3 request

 - enable debug log
 - fix use of quiche API
 - use download buffer
 - separate header/body

Closes #4193

5 years agohttp09: disable HTTP/0.9 by default in both tool and library
Daniel Stenberg [Mon, 5 Aug 2019 07:45:23 +0000 (09:45 +0200)]
http09: disable HTTP/0.9 by default in both tool and library

As the plan has been laid out in DEPRECATED. Update docs accordingly and
verify in test 1174. Now requires the option to be set to allow HTTP/0.9
responses.

Closes #4191

5 years agoquiche: initial h3 request send/receive
Daniel Stenberg [Mon, 5 Aug 2019 08:19:48 +0000 (10:19 +0200)]
quiche: initial h3 request send/receive

5 years agolib/Makefile.am: make checksrc run in vquic too
Daniel Stenberg [Mon, 5 Aug 2019 08:36:29 +0000 (10:36 +0200)]
lib/Makefile.am: make checksrc run in vquic too

5 years agoaltsvc: fix removal of expired cache entry
Daniel Stenberg [Mon, 5 Aug 2019 08:17:10 +0000 (10:17 +0200)]
altsvc: fix removal of expired cache entry

Closes #4192

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Sun, 4 Aug 2019 21:03:57 +0000 (23:03 +0200)]
RELEASE-NOTES: synced

5 years agomd4: Use our own MD4 implementation when no crypto libraries are available
Steve Holme [Sun, 14 Apr 2019 18:24:28 +0000 (19:24 +0100)]
md4: Use our own MD4 implementation when no crypto libraries are available

Closes #3780

5 years agomd4: No need to include Curl_md4.h for each TLS library
Steve Holme [Sun, 14 Apr 2019 09:33:46 +0000 (10:33 +0100)]
md4: No need to include Curl_md4.h for each TLS library

5 years agomd4: No need for the NTLM code to call Curl_md4it() for each TLS library
Steve Holme [Sun, 14 Apr 2019 02:52:16 +0000 (03:52 +0100)]
md4: No need for the NTLM code to call Curl_md4it() for each TLS library

As the NTLM code no longer calls any of TLS libraries' specific MD4
functions, there is no need to call this function for each #ifdef.

5 years agomd4: Move the mbed TLS MD4 implementation out of the NTLM code
Steve Holme [Sun, 14 Apr 2019 02:27:21 +0000 (03:27 +0100)]
md4: Move the mbed TLS MD4 implementation out of the NTLM code

5 years agomd4: Move the WinCrypt implementation out of the NTLM code
Steve Holme [Sun, 14 Apr 2019 02:17:23 +0000 (03:17 +0100)]
md4: Move the WinCrypt implementation out of the NTLM code

5 years agomd4: Move the SecureTransport implementation out of the NTLM code
Steve Holme [Sun, 14 Apr 2019 01:45:02 +0000 (02:45 +0100)]
md4: Move the SecureTransport implementation out of the NTLM code

5 years agomd4: Use the Curl_md4it() function for OpenSSL based NTLM
Steve Holme [Sun, 14 Apr 2019 01:25:50 +0000 (02:25 +0100)]
md4: Use the Curl_md4it() function for OpenSSL based NTLM

5 years agomd4: Move the GNU TLS gcrypt MD4 implementation out of the NTLM code
Steve Holme [Sun, 14 Apr 2019 01:09:52 +0000 (02:09 +0100)]
md4: Move the GNU TLS gcrypt MD4 implementation out of the NTLM code

5 years agomd4: Move the GNU TLS Nettle MD4 implementation out of the NTLM code
Steve Holme [Sun, 14 Apr 2019 00:55:18 +0000 (01:55 +0100)]
md4: Move the GNU TLS Nettle MD4 implementation out of the NTLM code

5 years agoOS400: Add CURLOPT_H3 symbols
Jay Satiro [Fri, 2 Aug 2019 18:37:20 +0000 (14:37 -0400)]
OS400: Add CURLOPT_H3 symbols

Follow-up to 3af0e76 which added experimental H3 support.

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

5 years agourl: make use of new HTTP version if alt-svc has one
Daniel Stenberg [Fri, 2 Aug 2019 12:28:54 +0000 (14:28 +0200)]
url: make use of new HTTP version if alt-svc has one

5 years agourl: set conn->transport to default TCP at init time
Daniel Stenberg [Fri, 2 Aug 2019 12:28:22 +0000 (14:28 +0200)]
url: set conn->transport to default TCP at init time

5 years agoaltsvc: with quiche, use the quiche h3 alpn string
Daniel Stenberg [Fri, 2 Aug 2019 12:27:26 +0000 (14:27 +0200)]
altsvc: with quiche, use the quiche h3 alpn string

Closes #4183

5 years agoalt-svc: more liberal ALPN name parsing
Daniel Stenberg [Fri, 2 Aug 2019 11:46:49 +0000 (13:46 +0200)]
alt-svc: more liberal ALPN name parsing

Allow pretty much anything to be part of the ALPN identifier. In
particular minus, which is used for "h3-20" (in-progress HTTP/3
versions) etc.

Updated test 356.
Closes #4182

5 years agoquiche: use the proper HTTP/3 ALPN
Daniel Stenberg [Fri, 2 Aug 2019 11:22:26 +0000 (13:22 +0200)]
quiche: use the proper HTTP/3 ALPN

5 years agoquiche: add failf() calls for two error cases
Daniel Stenberg [Fri, 2 Aug 2019 09:25:40 +0000 (11:25 +0200)]
quiche: add failf() calls for two error cases

To aid debugging

Closes #4181

5 years agomailmap: added Kyohei Kadota
Daniel Stenberg [Fri, 2 Aug 2019 05:56:07 +0000 (07:56 +0200)]
mailmap: added Kyohei Kadota

5 years agohttp_negotiate: improve handling of gss_init_sec_context() failures
Kamil Dudka [Tue, 30 Jul 2019 10:59:35 +0000 (12:59 +0200)]
http_negotiate: improve handling of gss_init_sec_context() failures

If HTTPAUTH_GSSNEGOTIATE was used for a POST request and
gss_init_sec_context() failed, the POST request was sent
with empty body.  This commit also restores the original
behavior of `curl --fail --negotiate`, which was changed
by commit 6c6035532383e300c712e4c1cd9fdd749ed5cf59.

Add regression tests 2077 and 2078 to cover this.

Fixes #3992
Closes #4171

5 years agomailmap: added 4 more names
Daniel Stenberg [Thu, 1 Aug 2019 07:13:38 +0000 (09:13 +0200)]
mailmap: added 4 more names

Evgeny Grin, Peter Pih, Anton Malov and Marquis de Muesli

5 years agomailmap: add Giorgos Oikonomou
Daniel Stenberg [Thu, 1 Aug 2019 07:07:30 +0000 (09:07 +0200)]
mailmap: add Giorgos Oikonomou

5 years agosrc/makefile: fix uncompressed hugehelp.c generation
Daniel Stenberg [Wed, 31 Jul 2019 20:40:24 +0000 (22:40 +0200)]
src/makefile: fix uncompressed hugehelp.c generation

Regression from 5cf5d57ab9 (7.64.1)

Fixed-by: Lance Ware
Fixes #4176
Closes #4177

5 years agoappveyor: pass on -k to make
Daniel Stenberg [Wed, 31 Jul 2019 15:17:52 +0000 (17:17 +0200)]
appveyor: pass on -k to make

5 years agotimediff: make it 64 bit (if possible) even with 32 bit time_t
Daniel Stenberg [Wed, 31 Jul 2019 13:30:31 +0000 (15:30 +0200)]
timediff: make it 64 bit (if possible) even with 32 bit time_t

... to make it hold microseconds too.

Fixes #4165
Closes #4168

5 years agoROADMAP: parallel transfers are merged now
Daniel Stenberg [Wed, 31 Jul 2019 14:47:23 +0000 (16:47 +0200)]
ROADMAP: parallel transfers are merged now

5 years agogetenv: support up to 4K environment variable contents on windows
Daniel Stenberg [Tue, 30 Jul 2019 18:26:59 +0000 (20:26 +0200)]
getenv: support up to 4K environment variable contents on windows

Reported-by: Michal Čaplygin
Fixes #4174
Closes #4175

5 years agoplan9: add support for running on Plan 9
lufia [Tue, 26 Mar 2019 13:26:05 +0000 (22:26 +0900)]
plan9: add support for running on Plan 9

Closes #3701

5 years agontlm: explicit type casting
lufia [Tue, 26 Mar 2019 13:23:28 +0000 (22:23 +0900)]
ntlm: explicit type casting

5 years agocurl.h: fix outdated comment
Justin [Tue, 30 Jul 2019 02:52:09 +0000 (22:52 -0400)]
curl.h: fix outdated comment

Closes #4167

5 years agocurl: remove outdated comment
Daniel Stenberg [Tue, 30 Jul 2019 15:48:10 +0000 (17:48 +0200)]
curl: remove outdated comment

Turned bad with commit b8894085000

Reported-by: niallor on github
Fixes #4172
Closes #4173

5 years agocleanup: remove the 'numsocks' argument used in many places
Daniel Stenberg [Tue, 30 Jul 2019 09:02:03 +0000 (11:02 +0200)]
cleanup: remove the 'numsocks' argument used in many places

It was used (intended) to pass in the size of the 'socks' array that is
also passed to these functions, but was rarely actually checked/used and
the array is defined to a fixed size of MAX_SOCKSPEREASYHANDLE entries
that should be used instead.

Closes #4169

5 years agoreadwrite_data: repair setting the TIMER_STARTTRANSFER stamp
Daniel Stenberg [Mon, 29 Jul 2019 10:49:05 +0000 (12:49 +0200)]
readwrite_data: repair setting the TIMER_STARTTRANSFER stamp

Regression, broken in commit 65eb65fde64bd5f (curl 7.64.1)

Reported-by: Jonathan Cardoso Machado
Assisted-by: Jay Satiro
Fixes #4136
Closes #4162

5 years agomailmap: Amit Katyal
Daniel Stenberg [Tue, 30 Jul 2019 10:51:55 +0000 (12:51 +0200)]
mailmap: Amit Katyal

5 years agoasyn-thread: removed unused variable
Daniel Stenberg [Tue, 30 Jul 2019 08:29:54 +0000 (10:29 +0200)]
asyn-thread: removed unused variable

Follow-up to eb9a604f. Mistake caused by me when I edited the commit
before push...

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Tue, 30 Jul 2019 07:28:44 +0000 (09:28 +0200)]
RELEASE-NOTES: synced

5 years agoasyn-thread: create a socketpair to wait on
amkatyal [Fri, 26 Jul 2019 15:58:41 +0000 (21:28 +0530)]
asyn-thread: create a socketpair to wait on

Closes #4157

5 years agocurl: cap the maximum allowed values for retry time arguments
Daniel Stenberg [Mon, 29 Jul 2019 20:10:13 +0000 (22:10 +0200)]
curl: cap the maximum allowed values for retry time arguments

... to avoid integer overflows later when multiplying with 1000 to
convert seconds to milliseconds.

Added test 1269 to verify.

Reported-by: Jason Lee
Closes #4166

5 years agoprogress: reset download/uploaded counter
Daniel Stenberg [Mon, 29 Jul 2019 10:16:43 +0000 (12:16 +0200)]
progress: reset download/uploaded counter

... to make CURLOPT_MAX_RECV_SPEED_LARGE and
CURLOPT_MAX_SEND_SPEED_LARGE work correctly on subsequent transfers that
reuse the same handle.

Fixed-by: Ironbars13 on github
Fixes #4084
Closes #4161

5 years agohttp2_recv: trigger another read when the last data is returned
Daniel Stenberg [Mon, 29 Jul 2019 09:15:33 +0000 (11:15 +0200)]
http2_recv: trigger another read when the last data is returned

... so that end-of-stream is detected properly.

Reported-by: Tom van der Woerdt
Fixes #4043
Closes #4160

5 years agocurl: avoid uncessary libcurl timeouts (in parallel mode)
Daniel Stenberg [Mon, 29 Jul 2019 06:50:25 +0000 (08:50 +0200)]
curl: avoid uncessary libcurl timeouts (in parallel mode)

When curl_multi_wait() returns OK without file descriptors to wait for,
it might already have done a long timeout.

Closes #4159

5 years agoHTTP: use chunked Transfer-Encoding for HTTP_POST if size unknown
Balazs Kovacsics [Mon, 22 Jul 2019 12:37:37 +0000 (14:37 +0200)]
HTTP: use chunked Transfer-Encoding for HTTP_POST if size unknown

If using the read callback for HTTP_POST, and POSTFIELDSIZE is not set,
automatically add a Transfer-Encoding: chunked header, same as it is
already done for HTTP_PUT, HTTP_POST_FORM and HTTP_POST_MIME.  Update
test 1514 according to the new behaviour.

Closes #4138

5 years agowinbuild: add vquic to list of build directories
Daniel Stenberg [Mon, 29 Jul 2019 05:49:08 +0000 (01:49 -0400)]
winbuild: add vquic to list of build directories

This fixes the winbuild build method which broke several days ago
when experimental quic support was added in 3af0e76.

Reported-by: Michael Lee
Fixes https://github.com/curl/curl/issues/4158

5 years agoeasy: resize receive buffer on easy handle reset
Jay Satiro [Tue, 23 Jul 2019 21:59:18 +0000 (17:59 -0400)]
easy: resize receive buffer on easy handle reset

- In curl_easy_reset attempt to resize the receive buffer to its default
  size. If realloc fails then continue using the previous size.

Prior to this change curl_easy_reset did not properly handle resetting
the receive buffer (data->state.buffer). It reset the variable holding
its size (data->set.buffer_size) to the default size (READBUFFER_SIZE)
but then did not actually resize the buffer. If a user resized the
buffer by using CURLOPT_BUFFERSIZE to set the size smaller than the
default, later called curl_easy_reset and attempted to reuse the handle
then a heap overflow would very likely occur during that handle's next
transfer.

Reported-by: Felix Hädicke
Fixes https://github.com/curl/curl/issues/4143
Closes https://github.com/curl/curl/pull/4145

5 years agoexamples: Avoid reserved names in hiperfifo examples
Brad Spencer [Thu, 18 Jul 2019 18:25:25 +0000 (15:25 -0300)]
examples: Avoid reserved names in hiperfifo examples

- Trade in __attribute__((unused)) for the classic (void)x to silence
  unused symbols.

Because the classic way is not gcc specific. Also because the prior
method mapped to symbol _Unused, which starts with _ and a capital
letter which is reserved.

Assisted-by: The Infinnovation team
Bug: https://github.com/curl/curl/issues/4120#issuecomment-512542108

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

5 years agoRELEASE-NOTES: synced
Daniel Stenberg [Thu, 25 Jul 2019 21:49:16 +0000 (23:49 +0200)]
RELEASE-NOTES: synced

5 years agossh-libssh: do not specify O_APPEND when not in append mode
Felix Hädicke [Wed, 24 Jul 2019 09:47:51 +0000 (11:47 +0200)]
ssh-libssh: do not specify O_APPEND when not in append mode

Specifying O_APPEND in conjunction with O_TRUNC and O_CREAT does not
make much sense. And this combination of flags is not accepted by all
SFTP servers (at least not Apache SSHD).

Fixes #4147
Closes #4148

5 years agomulti: call detach_connection before Curl_disconnect
Gergely Nagy [Thu, 25 Jul 2019 08:26:16 +0000 (10:26 +0200)]
multi: call detach_connection before Curl_disconnect

Curl_disconnect bails out if conn->easyq is not empty, detach_connection
needs to be called first to remove the current easy from the queue.

Fixes #4144
Closes #4151

5 years agotool_operate: fix implicit call to easysrc_cleanup
Jay Satiro [Mon, 22 Jul 2019 19:43:41 +0000 (15:43 -0400)]
tool_operate: fix implicit call to easysrc_cleanup

easysrc_cleanup is only defined when CURL_DISABLE_LIBCURL_OPTION is not
defined, and prior to this change would be called regardless.

Bug: https://github.com/curl/curl/pull/3804#issuecomment-513922637
Reported-by: Marcel Raad
Closes https://github.com/curl/curl/pull/4142

5 years agocurl:create_transfers check return code from curl_easy_setopt
Daniel Stenberg [Sun, 21 Jul 2019 11:21:13 +0000 (13:21 +0200)]
curl:create_transfers check return code from curl_easy_setopt

From commit b8894085

Pointed out by Coverity CID 1451703

Closes #4134

5 years agoHTTP3: initial (experimental) support
Daniel Stenberg [Sun, 21 Jul 2019 21:48:58 +0000 (23:48 +0200)]
HTTP3: initial (experimental) support

USe configure --with-ngtcp2 or --with-quiche

Using either option will enable a HTTP3 build.
Co-authored-by: Alessandro Ghedini <alessandro@ghedini.me>
Closes #3500

5 years agocurl: remove dead code
Daniel Stenberg [Sun, 21 Jul 2019 11:11:23 +0000 (13:11 +0200)]
curl: remove dead code

The loop never loops (since b889408500), pointed out by Coverity (CID
1451702)

Closes #4133

5 years agodocs/PARALLEL-TRANSFERS: correct the version number
Daniel Stenberg [Sat, 20 Jul 2019 17:19:56 +0000 (19:19 +0200)]
docs/PARALLEL-TRANSFERS: correct the version number

5 years agodocs/PARALLEL-TRANSFERS: added
Daniel Stenberg [Sat, 20 Jul 2019 17:14:00 +0000 (19:14 +0200)]
docs/PARALLEL-TRANSFERS: added

5 years agocurl: support parallel transfers
Daniel Stenberg [Sat, 20 Jul 2019 17:14:00 +0000 (19:14 +0200)]
curl: support parallel transfers

This is done by making sure each individual transfer is first added to a
linked list as then they can be performed serially, or at will, in
parallel.

Closes #3804

5 years agodocs/MANUAL.md: converted to markdown from plain text
Daniel Stenberg [Sat, 20 Jul 2019 11:13:37 +0000 (13:13 +0200)]
docs/MANUAL.md: converted to markdown from plain text

... will make it render as a nicer web page.

Closes #4131

5 years agocurl_version_info: provide nghttp2 details
Daniel Stenberg [Thu, 18 Jul 2019 08:43:16 +0000 (10:43 +0200)]
curl_version_info: provide nghttp2 details

Introducing CURLVERSION_SIXTH with nghttp2 info.

Closes #4121

5 years agobump: start working on 7.66.0
Daniel Stenberg [Fri, 19 Jul 2019 21:52:34 +0000 (23:52 +0200)]
bump: start working on 7.66.0

5 years agosource: remove names from source comments
Daniel Stenberg [Fri, 19 Jul 2019 10:05:05 +0000 (12:05 +0200)]
source: remove names from source comments

Several reasons:

- we can't add everyone who's helping out so its unfair to just a few
selected ones.
- we already list all helpers in THANKS and in RELEASE-NOTES for each
release
- we don't want to give the impression that some parts of the code is
"owned" or "controlled" by specific persons

Assisted-by: Daniel Gustafsson
Closes #4129

5 years agoRELEASE-NOTES: 7.65.3 curl-7_65_3
Daniel Stenberg [Fri, 19 Jul 2019 09:32:23 +0000 (11:32 +0200)]
RELEASE-NOTES: 7.65.3

5 years agoTHANKS: 7.65.3 status
Daniel Stenberg [Fri, 19 Jul 2019 09:32:15 +0000 (11:32 +0200)]
THANKS: 7.65.3 status

5 years agoprogress: make the progress meter appear again
Daniel Stenberg [Thu, 18 Jul 2019 21:23:35 +0000 (23:23 +0200)]
progress: make the progress meter appear again

Fix regression caused by 21080e1

Reported-by: Chih-Hsuan Yen
Fixes #4122
Closes #4124

5 years agoversion: bump to 7.65.3
Daniel Stenberg [Thu, 18 Jul 2019 22:40:51 +0000 (00:40 +0200)]
version: bump to 7.65.3

5 years agoRELEASE-NOTES: Contributors or now 1990
Daniel Stenberg [Wed, 17 Jul 2019 07:34:49 +0000 (09:34 +0200)]
RELEASE-NOTES: Contributors or now 1990

5 years agoRELEASE-NOTES: 7.65.2 curl-7_65_2
Daniel Stenberg [Sun, 14 Jul 2019 22:59:09 +0000 (00:59 +0200)]
RELEASE-NOTES: 7.65.2

5 years agoTHANKS: add contributors from 7.65.2
Daniel Stenberg [Tue, 16 Jul 2019 09:48:41 +0000 (11:48 +0200)]
THANKS: add contributors from 7.65.2

5 years agocmake: Fix finding Brotli on case-sensitive file systems
aasivov [Wed, 17 Jul 2019 06:01:45 +0000 (02:01 -0400)]
cmake: Fix finding Brotli on case-sensitive file systems

- Find package "Brotli" instead of "BROTLI" since the former is the
  casing used for CMake/FindBrotli.cmake, and otherwise find_package
  may fail on a case-sensitive file system.

Fixes https://github.com/curl/curl/issues/4117

5 years agoCURLOPT_RANGE.3: Caution against using it for HTTP PUT
Jay Satiro [Wed, 17 Jul 2019 05:45:26 +0000 (01:45 -0400)]
CURLOPT_RANGE.3: Caution against using it for HTTP PUT

AFAICT CURLOPT_RANGE does not support ranged HTTP PUT uploads so I've
cautioned against using it for that purpose and included a workaround.

Bug: https://curl.haxx.se/mail/lib-2019-04/0075.html
Reported-by: Christopher Head
Closes https://github.com/curl/curl/issues/3814

5 years agoCURLOPT_SEEKDATA.3: fix variable name
Stefano Simonelli [Tue, 16 Jul 2019 14:34:09 +0000 (16:34 +0200)]
CURLOPT_SEEKDATA.3: fix variable name

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

5 years agoCIPHERS.md: Explain Schannel error SEC_E_ALGORITHM_MISMATCH
georgeok [Wed, 10 Jul 2019 11:34:17 +0000 (14:34 +0300)]
CIPHERS.md: Explain Schannel error SEC_E_ALGORITHM_MISMATCH

If the SSL backend is Schannel and the user specifies an Schannel CALG_
that is not supported by the protocol or the server then curl returns
CURLE_SSL_CONNECT_ERROR (35) SEC_E_ALGORITHM_MISMATCH.

Fixes https://github.com/curl/curl/issues/3389
Closes https://github.com/curl/curl/pull/4106

5 years agonss: inspect returnvalue of token check
Daniel Gustafsson [Fri, 12 Jul 2019 14:13:31 +0000 (16:13 +0200)]
nss: inspect returnvalue of token check

PK11_IsPresent() checks for the token for the given slot is available,
and sets needlogin flags for the PK11_Authenticate() call.  Should it
return false, we should however treat it as an error and bail out.

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

5 years agodocs: Explain behavior change in --tlsv1. options since 7.54
Jay Satiro [Tue, 16 Jul 2019 16:27:35 +0000 (12:27 -0400)]
docs: Explain behavior change in --tlsv1. options since 7.54

Since 7.54 --tlsv1. options use the specified version or later, however
older versions of curl documented it as using just the specified version
which may or may not have happened depending on the TLS library.
Document this discrepancy to allay confusion for users familiar with the
old documentation that expect just the specified version.

Fixes https://github.com/curl/curl/issues/4097
Closes https://github.com/curl/curl/pull/4119

5 years agolibcurl: Restrict redirect schemes (follow-up)
Jay Satiro [Tue, 16 Jul 2019 07:35:54 +0000 (03:35 -0400)]
libcurl: Restrict redirect schemes (follow-up)

- Allow FTPS on redirect.

- Update default allowed redirect protocols in documentation.

Follow-up to 6080ea0.

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

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

5 years agotest1173: make it also check all libcurl option man pages
Daniel Stenberg [Tue, 16 Jul 2019 09:23:59 +0000 (11:23 +0200)]
test1173: make it also check all libcurl option man pages

... and adjust those that cause errors

Closes #4116

5 years agocurl: only accept COLUMNS less than 10000
Daniel Stenberg [Mon, 15 Jul 2019 21:52:43 +0000 (23:52 +0200)]
curl: only accept COLUMNS less than 10000

... as larger values would rather indicate something silly (and could
potentially cause buffer problems).

Reported-by: pendrek at hackerone
Closes #4114

5 years agodist: add manpage-syntax.pl
Daniel Stenberg [Mon, 15 Jul 2019 13:24:25 +0000 (15:24 +0200)]
dist: add manpage-syntax.pl

follow-up to 7fb66c403