]> git.ipfire.org Git - thirdparty/curl.git/log
thirdparty/curl.git
4 years agohostip: fix build with sync resolver
Daniel Stenberg [Thu, 4 Feb 2021 22:40:54 +0000 (23:40 +0100)] 
hostip: fix build with sync resolver

Reported-by: David Goerger
Follow-up from 8335c6417
Fixes #6566
Closes #6568

4 years agomailmap: Jon Rumsey
Daniel Stenberg [Fri, 5 Feb 2021 07:46:11 +0000 (08:46 +0100)] 
mailmap: Jon Rumsey

4 years agogskit: correct the gskit_send() prototype
Jon Rumsey [Thu, 4 Feb 2021 23:02:18 +0000 (23:02 +0000)] 
gskit: correct the gskit_send() prototype

gskit_send() first paramater is a pointer to Curl_easy not connectdata
struct.

Closes #6570
Fixes #6569

4 years agourldata: fix build without HTTP and MQTT
Daniel Stenberg [Thu, 4 Feb 2021 14:04:18 +0000 (15:04 +0100)] 
urldata: fix build without HTTP and MQTT

Reported-by: Joseph Chen
Fixes #6562
Closes #6563

4 years agoftp: avoid SIZE when asking for a TYPE A file
Daniel Stenberg [Thu, 4 Feb 2021 12:05:03 +0000 (13:05 +0100)] 
ftp: avoid SIZE when asking for a TYPE A file

... as we ignore it anyway because servers don't report the correct size
and proftpd even blatantly returns a 550.

Updates a set of tests accordingly.

Reported-by: awesomenode on github
Fixes #6564
Closes #6565

4 years agopingpong: rename the curl_pp_transfer enum to use PP prefix
Daniel Stenberg [Thu, 4 Feb 2021 12:06:17 +0000 (13:06 +0100)] 
pingpong: rename the curl_pp_transfer enum to use PP prefix

Using an FTP prefix for PP provided functionality was misleading.

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Thu, 4 Feb 2021 21:51:26 +0000 (22:51 +0100)] 
RELEASE-NOTES: synced

... and bump pending version to 7.75.1 (for now)

4 years agobuild: fix --disable-http-auth
Jay Satiro [Thu, 4 Feb 2021 19:49:56 +0000 (14:49 -0500)] 
build: fix --disable-http-auth

Broken since 215db08 (precedes 7.75.0).

Reported-by: Benbuck Nason
Fixes https://github.com/curl/curl/issues/6567

4 years agobuild: fix --disable-dateparse
Jay Satiro [Thu, 4 Feb 2021 19:13:00 +0000 (14:13 -0500)] 
build: fix --disable-dateparse

Broken since 215db08 (precedes 7.75.0).

Bug: https://curl.se/mail/lib-2021-02/0008.html
Reported-by: Firefox OS
4 years agoOS400: update for CURLOPT_AWS_SIGV4
jonrumsey [Wed, 3 Feb 2021 20:58:26 +0000 (20:58 +0000)] 
OS400: update for CURLOPT_AWS_SIGV4

chkstrings fails because a new string option that could require codepage
conversion has been added.

Closes #6561
Fixes #6560

4 years agoBUG-BOUNTY: removed the cooperation mention
Daniel Stenberg [Wed, 3 Feb 2021 13:24:09 +0000 (14:24 +0100)] 
BUG-BOUNTY: removed the cooperation mention

4 years agoRELEASE-NOTES: synced curl-7_75_0
Daniel Stenberg [Wed, 3 Feb 2021 07:02:36 +0000 (08:02 +0100)] 
RELEASE-NOTES: synced

4 years agoTHANKS: added contributors from 7.75.0
Daniel Stenberg [Wed, 3 Feb 2021 07:02:36 +0000 (08:02 +0100)] 
THANKS: added contributors from 7.75.0

4 years agocopyright: fix year ranges in need of updates
Daniel Stenberg [Wed, 3 Feb 2021 07:02:36 +0000 (08:02 +0100)] 
copyright: fix year ranges in need of updates

4 years agoTODO: remove items for next SONAME bump etc
Daniel Stenberg [Tue, 2 Feb 2021 07:46:37 +0000 (08:46 +0100)] 
TODO: remove items for next SONAME bump etc

We want to avoid that completely, so we don't plan for things after such
an event.

4 years agongtcp2: Fix build error due to change in ngtcp2_settings
Jay Satiro [Mon, 1 Feb 2021 07:40:42 +0000 (02:40 -0500)] 
ngtcp2: Fix build error due to change in ngtcp2_settings

- Separate ngtcp2_transport_params.

ngtcp2/ngtcp2@05d7adc made ngtcp2_transport_params separate from
ngtcp2_settings.

ngtcp2 master is required to build curl with http3 support.

Closes #6554

4 years agovtls: remove md5sum
Daniel Stenberg [Mon, 1 Feb 2021 22:02:06 +0000 (23:02 +0100)] 
vtls: remove md5sum

As it is not used anymore.

Reported-by: Jacob Hoffman-Andrews
Bug: https://curl.se/mail/lib-2021-02/0000.html

Closes #6557

4 years agoquiche: don't use primary_ip / primary_port
Alessandro Ghedini [Mon, 1 Feb 2021 13:13:37 +0000 (13:13 +0000)] 
quiche: don't use primary_ip / primary_port

Closes #6555

4 years agotravis: enable quiche's FFI feature
Alessandro Ghedini [Mon, 1 Feb 2021 13:13:12 +0000 (13:13 +0000)] 
travis: enable quiche's FFI feature

4 years agohttp: improve AWS HTTP v4 Signature auth
Dmitry Wagin [Mon, 25 Jan 2021 14:02:09 +0000 (17:02 +0300)] 
http: improve AWS HTTP v4 Signature auth

- Add support services without region and service prefixes in
the URL endpoint (ex. Min.IO, GCP, Yandex Cloud, Mail.Ru Cloud Solutions, etc)
by providing region and service parameters via aws-sigv4 option.
- Add [:region[:service]] suffix to aws-sigv4 option;
- Fix memory allocation errors.
- Refactor memory management.
- Use Curl_http_method instead() STRING_CUSTOMREQUEST.
- Refactor canonical headers generating.
- Remove repeated sha256_to_hex() usage.
- Add some docs fixes.
- Add some codestyle fixes.
- Add overloaded strndup() for debug - curl_dbg_strndup().
- Update tests.

Closes #6524

4 years agohyper: fix CONNECT to set 'data' as userdata
Daniel Stenberg [Sat, 30 Jan 2021 16:51:00 +0000 (17:51 +0100)] 
hyper: fix CONNECT to set 'data' as userdata

Follow-up to 14e075d1a7fd

4 years agoconnect: fix compile errors in `Curl_conninfo_local`
Layla [Fri, 29 Jan 2021 19:21:35 +0000 (14:21 -0500)] 
connect: fix compile errors in `Curl_conninfo_local`

.. for the `#else` (`!HAVE_GETSOCKNAME`) case

Fixes https://github.com/curl/curl/issues/6548
Closes #6549

Signed-off-by: Layla <layla@insightfulvr.com>
4 years agotransfer: fix GCC 10 warning with flag '-Wint-in-bool-context'
Michał Antoniak [Fri, 29 Jan 2021 08:20:17 +0000 (09:20 +0100)] 
transfer: fix GCC 10 warning with flag '-Wint-in-bool-context'

... and return the error code from the Curl_mime_rewind call.

Closes #6537

4 years agoavoid warning: enum constant in boolean context
Michał Antoniak [Wed, 27 Jan 2021 13:40:24 +0000 (14:40 +0100)] 
avoid warning: enum constant in boolean context

4 years agocopyright: fix missing year (range) updates
Daniel Stenberg [Fri, 29 Jan 2021 13:35:13 +0000 (14:35 +0100)] 
copyright: fix missing year (range) updates

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Fri, 29 Jan 2021 10:11:35 +0000 (11:11 +0100)] 
RELEASE-NOTES: synced

4 years agoopenssl: lowercase the hostname before using it for SNI
Daniel Stenberg [Thu, 28 Jan 2021 19:16:55 +0000 (20:16 +0100)] 
openssl: lowercase the hostname before using it for SNI

... because it turns out several servers out there don't actually behave
correctly otherwise in spite of the fact that the SNI field is
specifically said to be case insensitive in RFC 6066 section 3.

Reported-by: David Earl
Fixes #6540
Closes #6543

4 years agoKNOWN_BUGS: cmake: ExternalProject_Add does not set CURL_CA_PATH
Daniel Stenberg [Thu, 28 Jan 2021 08:27:41 +0000 (09:27 +0100)] 
KNOWN_BUGS: cmake: ExternalProject_Add does not set CURL_CA_PATH

Closes #6313

4 years agoKNOWN_BUGS: Multi perform hangs waiting for threaded resolver
Daniel Stenberg [Thu, 28 Jan 2021 08:22:51 +0000 (09:22 +0100)] 
KNOWN_BUGS: Multi perform hangs waiting for threaded resolver

Closes #4852

4 years agoKNOWN_BUGS: "pulseUI VPN client" is known to be buggy
Daniel Stenberg [Thu, 28 Jan 2021 07:24:13 +0000 (08:24 +0100)] 
KNOWN_BUGS: "pulseUI VPN client" is known to be buggy

First entry in the new section "applications" for known problems in
libcurl using applications.

Closes #6306

4 years agotool_writeout: make %{errormsg} blank for no errors
Daniel Stenberg [Wed, 27 Jan 2021 15:39:24 +0000 (16:39 +0100)] 
tool_writeout: make %{errormsg} blank for no errors

Closes #6539

4 years agobuild: fix djgpp builds
Gisle Vanem [Sun, 27 Dec 2020 10:49:26 +0000 (11:49 +0100)] 
build: fix djgpp builds

- Update build instructions in packages/DOS/README

- Extend 'VPATH' with 'vquic' and 'vssh'.

- Allow 'Makefile.dist' to build both 'lib' and 'src'.

- Allow using the Windows hosted djgpp cross compiler to build for MSDOS
  under Windows.

- 'USE_SSL' -> 'USE_OPENSSL'

- Added a 'link_EXE' macro. Etc, etc.

- Linking 'curl.exe' needs '$(CURLX_CFILES)' too.

- Do not pick-up '../lib/djgpp/*.o' files. Recompile locally.

- Generate a gzipped 'tool_hugehelp.c' if 'USE_ZLIB=1'.

- Remove 'djgpp-clean'

- Adapt to new C-ares directory structure

- Use conditional variable assignments

Clarify the 'conditional variable assignment' in 'common.dj'.

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

4 years agohyper: fix typo in c-hyper.c
Ikko Ashimine [Wed, 27 Jan 2021 14:07:35 +0000 (23:07 +0900)] 
hyper: fix typo in c-hyper.c

settting -> setting

Closes #6538

4 years agolibssh2: fix CURL_LIBSSH2_DEBUG-enabled build
Daniel Stenberg [Wed, 27 Jan 2021 10:43:21 +0000 (11:43 +0100)] 
libssh2: fix CURL_LIBSSH2_DEBUG-enabled build

Follow-up to 2dcc940959772a

Reported-by: Gisle Vanem
Bug: https://github.com/curl/curl/commit/2dcc940959772a652f6813fb6bd3092095a4877b#commitcomment-46420088

4 years agoasyn-thread: fix build for when getaddrinfo missing
Jay Satiro [Tue, 26 Jan 2021 23:57:43 +0000 (18:57 -0500)] 
asyn-thread: fix build for when getaddrinfo missing

This is a follow-up to 8315343 which several days ago moved the resolver
pointer into the async struct but did not update the code that uses it
when getaddrinfo is not present.

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

4 years agourldata: move 'ints' to the end of 'connectdata'
Daniel Stenberg [Tue, 26 Jan 2021 14:09:22 +0000 (15:09 +0100)] 
urldata: move 'ints' to the end of 'connectdata'

To optimize storage slightly.

Closes #6534

4 years agourldata: store ip version in a single byte
Daniel Stenberg [Tue, 26 Jan 2021 13:59:01 +0000 (14:59 +0100)] 
urldata: store ip version in a single byte

Closes #6534

4 years agourldata: remove duplicate 'upkeep_interval_ms' from connectdata
Daniel Stenberg [Tue, 26 Jan 2021 13:23:36 +0000 (14:23 +0100)] 
urldata: remove duplicate 'upkeep_interval_ms' from connectdata

... and rely only on the value already set in Curl_easy.

Closes #6534

4 years agourldata: remove 'local_ip' from the connectdata struct
Daniel Stenberg [Tue, 26 Jan 2021 13:14:06 +0000 (14:14 +0100)] 
urldata: remove 'local_ip' from the connectdata struct

As the info is already stored in the transfer handle anyway, there's no
need to carry around a duplicate buffer for the life-time of the handle.

Closes #6534

4 years agourldata: remove duplicate port number storage
Daniel Stenberg [Tue, 26 Jan 2021 10:04:33 +0000 (11:04 +0100)] 
urldata: remove duplicate port number storage

... and use 'int' for ports. We don't use 'unsigned short' since -1 is
still often used internally to signify "unknown value" and 0 - 65535 are
all valid port numbers.

Closes #6534

4 years agourldata: remove the duplicate 'ip_addr_str' field
Daniel Stenberg [Tue, 26 Jan 2021 09:46:49 +0000 (10:46 +0100)] 
urldata: remove the duplicate 'ip_addr_str' field

... as the numerical IP address is already stored and kept in 'primary_ip'.

Closes #6534

4 years agoselect: convert Curl_select() to private static function
Daniel Stenberg [Tue, 26 Jan 2021 08:32:49 +0000 (09:32 +0100)] 
select: convert Curl_select() to private static function

The old function should not be used anywhere anymore (the only remaining
gskit use has to be fixed to instead use Curl_poll or none at all).

The static function version is now called our_select() and is only built
if necessary.

Closes #6531

4 years agoCurl_chunker: shrink the struct
Daniel Stenberg [Mon, 25 Jan 2021 16:42:59 +0000 (17:42 +0100)] 
Curl_chunker: shrink the struct

... by removing a field, converting the hex index into a byte and
rearranging the order. Cuts it down from 48 bytes to 32 on x86_64.

Closes #6527

4 years agocurl: include the file name in --xattr/--remote-time error msgs
Daniel Stenberg [Tue, 26 Jan 2021 16:02:39 +0000 (17:02 +0100)] 
curl: include the file name in --xattr/--remote-time error msgs

4 years agocurl: s/config->global/global/ in single_transfer()
Daniel Stenberg [Tue, 26 Jan 2021 15:55:50 +0000 (16:55 +0100)] 
curl: s/config->global/global/ in single_transfer()

4 years agocurl: move fprintf outputs to warnf
Daniel Stenberg [Tue, 26 Jan 2021 15:52:03 +0000 (16:52 +0100)] 
curl: move fprintf outputs to warnf

For setting and getting time of the download. To make the outputs
respect --silent etc.

Reported-by: Viktor Szakats
Fixes #6533
Closes #6535

4 years agongtcp2: Fix http3 upload stall
Tatsuhiro Tsujikawa [Mon, 25 Jan 2021 08:59:22 +0000 (17:59 +0900)] 
ngtcp2: Fix http3 upload stall

Closes #6521

4 years agongtcp2: Fix stack buffer overflow
Tatsuhiro Tsujikawa [Mon, 25 Jan 2021 09:39:00 +0000 (18:39 +0900)] 
ngtcp2: Fix stack buffer overflow

Closes #6521

4 years agowarnless.h: remove the prototype for curlx_ultosi
Daniel Stenberg [Tue, 26 Jan 2021 15:32:03 +0000 (16:32 +0100)] 
warnless.h: remove the prototype for curlx_ultosi

Follow-up to 217552503ff3

4 years agowarnless: remove curlx_ultosi
Daniel Stenberg [Tue, 26 Jan 2021 08:26:48 +0000 (09:26 +0100)] 
warnless: remove curlx_ultosi

... not used anywhere

Closes #6530

4 years agolib: remove conn->data uses
Patrick Monnerat [Sun, 24 Jan 2021 17:57:02 +0000 (18:57 +0100)] 
lib: remove conn->data uses

Closes #6515

4 years agopingpong: remove the 'conn' struct member
Daniel Stenberg [Mon, 25 Jan 2021 16:23:33 +0000 (17:23 +0100)] 
pingpong: remove the 'conn' struct member

... as it's superfluous now when Curl_easy is passed in and we can
derive the connection from that instead and avoid the duplicate copy.

Closes #6525

4 years agohostip/proxy: remove conn->data use
Daniel Stenberg [Sun, 24 Jan 2021 22:41:58 +0000 (23:41 +0100)] 
hostip/proxy: remove conn->data use

Closes #6513

4 years agourl: reduce conn->data references
Daniel Stenberg [Sun, 24 Jan 2021 22:32:24 +0000 (23:32 +0100)] 
url: reduce conn->data references

... there are a few left but let's keep them to last

Closes #6512

4 years agoscripts/singleuse: add curl_easy_option*
Daniel Stenberg [Tue, 26 Jan 2021 08:30:30 +0000 (09:30 +0100)] 
scripts/singleuse: add curl_easy_option*

4 years agotest410: fix for windows
Jay Satiro [Mon, 25 Jan 2021 06:06:35 +0000 (01:06 -0500)] 
test410: fix for windows

- Pass the very long request header via file instead of command line.

Prior to this change the 49k very long request header string was passed
via command line and on Windows that is too long so it was truncated and
the test would fail (specifically msys CI).

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

4 years agolibssh2: move data from connection object to transfer object
Daniel Stenberg [Mon, 25 Jan 2021 09:44:30 +0000 (10:44 +0100)] 
libssh2: move data from connection object to transfer object

Readdir data, filenames and attributes are strictly related to the
transfer and not the connection. This also reduces the total size of the
fixed connectdata struct.

Closes #6519

4 years agoRELEASE-NOTES: synced
Daniel Stenberg [Mon, 25 Jan 2021 13:40:17 +0000 (14:40 +0100)] 
RELEASE-NOTES: synced

4 years agolib: remove conn->data uses
Patrick Monnerat [Wed, 20 Jan 2021 23:38:52 +0000 (00:38 +0100)] 
lib: remove conn->data uses

Closes #6499

4 years agohyper: remove the conn->data references
Daniel Stenberg [Thu, 21 Jan 2021 15:49:14 +0000 (16:49 +0100)] 
hyper: remove the conn->data references

Closes #6508

4 years agotravis: build ngtcp2 --with-gnutls
Daniel Stenberg [Thu, 21 Jan 2021 12:32:33 +0000 (13:32 +0100)] 
travis: build ngtcp2 --with-gnutls

... since they disable it by default since a few days back.

Closes #6506
Fixes #6493

4 years agohostip: remove conn->data from resolver functions
Daniel Stenberg [Wed, 20 Jan 2021 09:15:43 +0000 (10:15 +0100)] 
hostip: remove conn->data from resolver functions

This also moves the 'async' struct from the connectdata struct into the
Curl_easy struct, which seems like a better home for it.

Closes #6497

4 years agostrerror: skip errnum >= 0 assertion on windows
Jay Satiro [Thu, 21 Jan 2021 07:46:07 +0000 (02:46 -0500)] 
strerror: skip errnum >= 0 assertion on windows

On Windows an error number may be greater than INT_MAX and negative once
cast to int.

The assertion is checked only in debug builds.

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

4 years agodoh: make Curl_doh_is_resolved survive a NULL pointer
Daniel Stenberg [Thu, 21 Jan 2021 22:31:19 +0000 (23:31 +0100)] 
doh: make Curl_doh_is_resolved survive a NULL pointer

... if Curl_doh() returned a NULL, this function gets called anyway as
in a asynch procedure. Then the doh struct pointer is NULL and signifies
an OOM situation.

Follow-up to 6246a1d8c6776

4 years agowolfssh: remove conn->data references
Daniel Stenberg [Thu, 21 Jan 2021 12:46:59 +0000 (13:46 +0100)] 
wolfssh: remove conn->data references

... and repair recent build breakage

Closes #6507

4 years agohttp: empty reply connection are not left intact
Daniel Stenberg [Thu, 21 Jan 2021 06:58:36 +0000 (07:58 +0100)] 
http: empty reply connection are not left intact

... so mark the connection as closed in this condition to prevent that
verbose message to wrongly appear.

Reported-by: Matt Holt
Bug: https://twitter.com/mholt6/status/1352130240265375744
Closes #6503

4 years agochunk/encoding: remove conn->data references
Daniel Stenberg [Wed, 20 Jan 2021 09:58:12 +0000 (10:58 +0100)] 
chunk/encoding: remove conn->data references

... by anchoring more functions on Curl_easy instead of connectdata

Closes #6498

4 years agolib: save a bit of space with some structure packing
Erik Olsson [Sat, 16 Jan 2021 21:17:51 +0000 (22:17 +0100)] 
lib: save a bit of space with some structure packing

- Reorder some internal struct members so that less padding is used.

This is an attempt at saving a bit of space by packing some structs
(using pahole to find the holes) where it might make sense to do
so without losing readability.

I.e., I tried to avoid separating fields that seem grouped
together (like the cwd... fields in struct ftp_conn for instance).
Also abstained from touching fields behind conditional macros as
that quickly can get complicated.

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

4 years agoINSTALL.md: fix typo
Daniel Stenberg [Wed, 20 Jan 2021 21:45:12 +0000 (22:45 +0100)] 
INSTALL.md: fix typo

Found-by: Marcel Raad
4 years agohttp: get CURLOPT_REQUEST_TARGET working with a HTTP proxy
Fabian Keil [Tue, 19 Jan 2021 10:13:41 +0000 (11:13 +0100)] 
http: get CURLOPT_REQUEST_TARGET working with a HTTP proxy

Added test 1613 to verify.

Closes #6490

4 years agoMerge branch 'bagder/curl_range-data-conn'
Daniel Stenberg [Wed, 20 Jan 2021 13:59:24 +0000 (14:59 +0100)] 
Merge branch 'bagder/curl_range-data-conn'

4 years agoftp: remove conn->data leftover
Daniel Stenberg [Wed, 20 Jan 2021 08:30:10 +0000 (09:30 +0100)] 
ftp: remove conn->data leftover

4 years agocurl_range: remove conn->data
Daniel Stenberg [Wed, 20 Jan 2021 08:29:45 +0000 (09:29 +0100)] 
curl_range: remove conn->data

Closes #6496

4 years agoINSTALL: now at 85 operating systems
Daniel Stenberg [Wed, 20 Jan 2021 13:58:05 +0000 (14:58 +0100)] 
INSTALL: now at 85 operating systems

4 years agoquiche: fix unused parameter ‘conn’
Daniel Stenberg [Wed, 20 Jan 2021 08:16:12 +0000 (09:16 +0100)] 
quiche: fix unused parameter ‘conn’

Follow-up to 2bdec0b3

4 years agotransfer: fix ‘conn’ undeclared mistake for iconv build
Daniel Stenberg [Wed, 20 Jan 2021 08:13:14 +0000 (09:13 +0100)] 
transfer: fix ‘conn’ undeclared mistake for iconv build

Follow-up to 219d9f8620d

4 years agodoh: allocate state struct on demand
Daniel Stenberg [Tue, 19 Jan 2021 14:57:24 +0000 (15:57 +0100)] 
doh: allocate state struct on demand

... instead of having it static within the Curl_easy struct. This takes
away 1176 bytes (18%) from the Curl_easy struct that aren't used very
often and instead makes the code allocate it when needed.

Closes #6492

4 years agosocks: use the download buffer instead
Daniel Stenberg [Tue, 19 Jan 2021 14:30:59 +0000 (15:30 +0100)] 
socks: use the download buffer instead

The SOCKS code now uses the generic download buffer for temporary
storage during the connection procedure, instead of having its own
private 600 byte buffer that adds to the connectdata struct size. This
works fine because this point the buffer is allocated but is not use for
download yet since the connection hasn't completed.

This reduces the connection struct size by 22% on a 64bit arch!

The SOCKS buffer needs to be at least 600 bytes, and the download buffer
is guaranteed to never be smaller than 1000 bytes.

Closes #6491

4 years agourldata: make magic be the first struct field
Daniel Stenberg [Tue, 19 Jan 2021 07:23:52 +0000 (08:23 +0100)] 
urldata: make magic be the first struct field

By making the `magic` identifier the same size and at the same place
within the structs (easy, multi, share), libcurl will be able to more
reliably detect and safely error out if an application passes in the
wrong handle to APIs. Easier to detect and less likely to cause crashes
if done.

Such mixups can't be detected at compile-time due to them being
typedefed void pointers - unless `CURL_STRICTER` is defined.

Closes #6484

4 years agohttp_chunks: correct and clarify a comment on hexnumber length
Daniel Stenberg [Tue, 19 Jan 2021 13:23:11 +0000 (14:23 +0100)] 
http_chunks: correct and clarify a comment on hexnumber length

... and also rename the define for max length.

Closes #6489

4 years agocurl_path: remove conn->data use
Daniel Stenberg [Tue, 19 Jan 2021 09:43:44 +0000 (10:43 +0100)] 
curl_path: remove conn->data use

Closes #6487

4 years agotransfer: remove conn->data use
Daniel Stenberg [Tue, 19 Jan 2021 09:24:35 +0000 (10:24 +0100)] 
transfer: remove conn->data use

Closes #6486

4 years agoquic: remove conn->data use
Daniel Stenberg [Tue, 19 Jan 2021 08:48:40 +0000 (09:48 +0100)] 
quic: remove conn->data use

Closes #6485

4 years agoAdd test1181: Proxy request with --proxy-header "Connection: Keep-Alive"
Fabian Keil [Sat, 16 Jan 2021 14:55:08 +0000 (15:55 +0100)] 
Add test1181: Proxy request with --proxy-header "Connection: Keep-Alive"

4 years agoAdd test1180: Proxy request with -H "Proxy-Connection: Keep-Alive"
Fabian Keil [Sat, 16 Jan 2021 14:45:28 +0000 (15:45 +0100)] 
Add test1180: Proxy request with -H "Proxy-Connection: Keep-Alive"

At the moment the test fails as curl sends two Proxy-Connection
headers.

4 years agoc-hyper: avoid duplicated Proxy-Connection headers
Daniel Stenberg [Mon, 18 Jan 2021 09:35:47 +0000 (10:35 +0100)] 
c-hyper: avoid duplicated Proxy-Connection headers

4 years agohttp: make providing Proxy-Connection header not cause duplicated headers
Daniel Stenberg [Sun, 17 Jan 2021 17:20:06 +0000 (18:20 +0100)] 
http: make providing Proxy-Connection header not cause duplicated headers

Fixes test 1180

Bug: https://curl.se/mail/lib-2021-01/0095.html
Reported-by: Fabian Keil
Closes #6472

4 years agoruntests: preprocess DISABLED to allow conditionals
Daniel Stenberg [Mon, 18 Jan 2021 08:35:29 +0000 (09:35 +0100)] 
runtests: preprocess DISABLED to allow conditionals

... with this function provided, we can disable tests for specific
environments and setups directly within this file.

Closes #6477

4 years agoruntests: turn preprocessing into a separate function
Daniel Stenberg [Mon, 18 Jan 2021 08:16:41 +0000 (09:16 +0100)] 
runtests: turn preprocessing into a separate function

... and remove all other variable substitutions as they're now done once
and for all in the preprocessor.

4 years agolib/Makefile.inc: convert to listing each file on its own line
Daniel Stenberg [Thu, 14 Jan 2021 07:46:11 +0000 (08:46 +0100)] 
lib/Makefile.inc: convert to listing each file on its own line

... to make it diff friendlier and easier to read.

Closes #6448

4 years agoftplistparser: remove use of conn->data
Daniel Stenberg [Mon, 18 Jan 2021 21:59:25 +0000 (22:59 +0100)] 
ftplistparser: remove use of conn->data

Closes #6482

4 years agolib: more conn->data cleanups
Daniel Stenberg [Mon, 18 Jan 2021 10:56:50 +0000 (11:56 +0100)] 
lib: more conn->data cleanups

Closes #6479

4 years agovtls: reduce conn->data use
Patrick Monnerat [Wed, 13 Jan 2021 16:01:31 +0000 (17:01 +0100)] 
vtls: reduce conn->data use

Closes #6474

4 years agohyper: deliver data to application with Curl_client_write
Daniel Stenberg [Sun, 17 Jan 2021 22:49:15 +0000 (23:49 +0100)] 
hyper: deliver data to application with Curl_client_write

... just as the native code path does. Avoids sending too large data
chunks in the callback and more.

Reported-by: Gisle Vanem
Fixes #6462
Closes #6473

4 years agogopher: remove accidental conn->data leftover
Daniel Stenberg [Mon, 18 Jan 2021 21:57:56 +0000 (22:57 +0100)] 
gopher: remove accidental conn->data leftover

4 years agolibssh: avoid plain free() of libssh-memory
Daniel Stenberg [Mon, 18 Jan 2021 15:40:39 +0000 (16:40 +0100)] 
libssh: avoid plain free() of libssh-memory

Since curl's own memory debugging system redefines free() calls to track
and fiddle with memory, it cannot be used on memory allocated by 3rd
party libraries.

Third party libraries SHOULD NOT require free() to release allocated
resources for this reason - and libs can use separate healp allocators
on some systems (like Windows) so free() doesn't necessarily work
anyway.

Filed as an issue with libssh: https://bugs.libssh.org/T268

Closes #6481

4 years agosend: assert that Curl_write_plain() has a ->conn when called
Daniel Stenberg [Mon, 18 Jan 2021 07:55:13 +0000 (08:55 +0100)] 
send: assert that Curl_write_plain() has a ->conn when called

To help catch bad invokes.

Closes #6476

4 years agotest410: verify HTTPS GET with a 49K request header
Daniel Stenberg [Sat, 16 Jan 2021 22:22:04 +0000 (23:22 +0100)] 
test410: verify HTTPS GET with a 49K request header

skip test 410 for mesalink in the CI as it otherwise hangs "forever"

4 years agolib: pass in 'struct Curl_easy *' to most functions
Daniel Stenberg [Fri, 8 Jan 2021 16:58:15 +0000 (17:58 +0100)] 
lib: pass in 'struct Curl_easy *' to most functions

... in most cases instead of 'struct connectdata *' but in some cases in
addition to.

- We mostly operate on transfers and not connections.

- We need the transfer handle to log, store data and more. Everything in
  libcurl is driven by a transfer (the CURL * in the public API).

- This work clarifies and separates the transfers from the connections
  better.

- We should avoid "conn->data". Since individual connections can be used
  by many transfers when multiplexing, making sure that conn->data
  points to the current and correct transfer at all times is difficult
  and has been notoriously error-prone over the years. The goal is to
  ultimately remove the conn->data pointer for this reason.

Closes #6425

4 years agodocs: fix typos in NEW-PROTOCOL.md 6471/head
Emil Engler [Sun, 17 Jan 2021 11:54:34 +0000 (12:54 +0100)] 
docs: fix typos in NEW-PROTOCOL.md

This fixes a misspelled "it" and a grammatically wrong "-ing" suffix.

Closes #6471