Stefan Eissing
70ac27604a
urlapi: handle "redirects" smarter
...
- avoid one malloc when setting a new url via curl_url_set()
and CURLUPART_URL.
- extract common pattern into a new static function.
Closes #8450
2022-02-14 17:56:58 +01:00
Daniel Stenberg
6dd8d7f349
connect: follow-up fix the copyright year
2022-02-13 12:13:45 +01:00
MAntoniak
06eb208126
misc: remove unused data when IPv6 is not supported
...
Closes #8430
2022-02-13 12:08:50 +01:00
Daniel Stenberg
f670665419
quiche: handle stream reset
...
A stream reset now causes a CURLE_PARTIAL_FILE error. I'm not convinced
this is the right action nor the right error code.
Reported-by: Lucas Pardue
Fixes #8437
Closes #8440
2022-02-13 11:48:32 +01:00
Daniel Stenberg
c8e8791d2d
mime: use a define instead of the magic number 24
...
MIME_BOUNDARY_DASHES is now the number of leading dashes in the
generated boundary string.
Closes #8441
2022-02-13 11:46:18 +01:00
Henrik Holst
65c6e37fe3
hostcheck: reduce strlen calls on chained certificates
...
Closes #8428
2022-02-13 11:42:47 +01:00
Patrick Monnerat
0bd50335fe
mime: some more strlen() call removals.
...
Closes #8423
2022-02-13 11:40:40 +01:00
Daniel Stenberg
c3331a029c
url: exclude zonefrom_url when no ipv6 is available
...
Closes #8439
2022-02-11 23:27:47 +01:00
Daniel Stenberg
7e65d91071
if2ip: make Curl_ipv6_scope a blank macro when IPv6-disabled
...
Closes #8439
2022-02-11 23:27:37 +01:00
Henrik Holst
186340c9cd
mprintf: remove strlen calls on empty strings in dprintf_formatf
...
Turns out that in dprintf_formatf we did a strlen on empty strings, a
bit strange is how common this actually is, 24 alone when doing a simple
GET from https://curl.se
Closes #8427
2022-02-11 23:07:34 +01:00
Daniel Stenberg
e1667a61ea
wolfssl: return CURLE_AGAIN for the SSL_ERROR_NONE case
...
Closes #8431
2022-02-11 12:36:52 +01:00
Daniel Stenberg
327ef30530
wolfssl: when SSL_read() returns zero, check the error
...
Returning zero indicates end of connection, so if there's no data read
but the connection is alive, it needs to return -1 with CURLE_AGAIN.
Closes #8431
2022-02-11 10:48:52 +01:00
Daniel Stenberg
96f85a0fef
quiche: after leaving h3_recving state, poll again
...
This could otherwise easily leave libcurl "hanging" after the entire
transfer is done but without noticing the end-of-transfer signal.
Assisted-by: Lucas Pardue
Closes #8436
2022-02-11 10:07:24 +01:00
Daniel Stenberg
6883180fa5
quiche: when *recv_body() returns data, drain it before polling again
...
Assisted-by: Lucas Pardue
Closes #8429
2022-02-11 08:48:30 +01:00
Daniel Stenberg
836d3ccfe4
lib/h2h3: #ifdef on ENABLE_QUIC, not the wrong define
...
Otherwise the build fails when H3 is enabled but the build doesn't
include nghttp2.
Closes #8424
2022-02-10 15:12:02 +01:00
Daniel Stenberg
d15692ebba
hostcheck: pass in pattern length too, to avoid a strlen call
...
Removes one strlen() call per SAN name in a cert-check.
Closes #8418
2022-02-10 08:53:34 +01:00
HenrikHolst
9bc3cebc92
misc: remove strlen for Curl_checkheaders + Curl_checkProxyheaders
...
Closes #8409
2022-02-10 08:51:06 +01:00
Daniel Stenberg
f9d1b25011
mqtt: free 'sendleftovers' in disconnect
...
Fix a memory-leak
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=43646
Closes #8415
2022-02-09 14:43:32 +01:00
Patrick Monnerat
d9c61a9792
openldap: pass string length arguments to client_write()
...
This uses the new STRCONST() macro and saves 2 strlen() calls on short
string constants per LDIF output line.
Closes #8404
2022-02-09 13:57:35 +01:00
HenrikHolst
b807219292
misc: reduce strlen() calls with Curl_dyn_add()
...
Use STRCONST() to switch from Curl_dyn_add() to Curl_dyn_addn() for
string literals.
Closes #8398
2022-02-09 13:52:47 +01:00
Daniel Stenberg
2a1951519e
http2: fix the array copy to nghttp2_nv
...
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44517
Follow-up to 9f985a11e7
Closes #8414
2022-02-09 12:18:50 +01:00
Daniel Stenberg
5c55fe6df6
h2h3: pass correct argument types to infof()
...
Detected by Coverity. CID 1497993
Closes #8401
2022-02-08 10:15:22 +01:00
Daniel Stenberg
93767237c4
lib/Makefile: remove config-tpf.h from the dist
...
Follow-up from da15443ddd . Missed before because the 'distcheck'
CI job was not working as intended.
Reported-by: Marcel Raad
Bug: https://curl.se/mail/lib-2022-02/0070.html
Closes #8403
2022-02-08 10:03:06 +01:00
Daniel Stenberg
ff4bf6bfb5
configure: remove support for "embedded ares"
...
In March 2010 (commit 4259d2df7d ) we removed the embedded 'ares'
directory from the curl source tree but we have since supported
especially detecting and using that build directory. The time has come
to remove that kludge and ask users to specify the c-ares dir correctly
with --enable-ares.
Closes #8397
2022-02-07 23:27:57 +01:00
HenrikHolst
4028892f14
http: make Curl_compareheader() take string length arguments too
...
Also add STRCONST, a macro that returns a string literal and it's length
for functions that take "string,len"
Removes unnecesary calls to strlen().
Closes #8391
2022-02-07 14:37:58 +01:00
Daniel Stenberg
a42677f0d8
vquic/vquic.h: removed the unused H3 psuedo defines
2022-02-07 13:56:06 +01:00
Daniel Stenberg
4ab3ed0729
ngtcp2: use Curl_pseudo_headers
2022-02-07 13:56:06 +01:00
Daniel Stenberg
3fa405bb58
quiche: use Curl_pseudo_headers
2022-02-07 13:56:06 +01:00
Daniel Stenberg
9f985a11e7
http2: use Curl_pseudo_headers
2022-02-07 13:56:06 +01:00
Daniel Stenberg
f8c3724aa9
h2h3: added Curl_pseudo_headers()
...
For use with both http2 and http3 requests.
2022-02-07 13:56:06 +01:00
Daniel Stenberg
79731d1a6c
ngtcp2/quiche: make :scheme possible to set
2022-02-07 13:56:06 +01:00
Daniel Stenberg
c85178a94c
http2: allow CURLOPT_HTTPHEADER change ":scheme"
...
The only h2 psuedo header that wasn't previously possible to change by a
user. This change also makes it impossible to send a HTTP/1 header that
starts with a colon, which I don't think anyone does anyway.
The other pseudo headers are possible to change indirectly by doing the
rightly crafted request.
Reported-by: siddharthchhabrap on github
Fixes #8381
Closes #8393
2022-02-07 13:55:57 +01:00
Daniel Stenberg
136f3e9d68
h2/h3: provide and refer to pseudo headers as defines
...
... and do sizeof() on the defines to use constants better.
Closes #8389
2022-02-05 11:08:43 +01:00
MAntoniak
793614b589
smb: passing a socket for writing and reading data instead of FIRSTSOCKET
...
Closes #8383
2022-02-05 00:15:22 +01:00
Daniel Stenberg
27614355bf
x509asn1: toggle off functions not needed for diff tls backends
...
... and clean the header file from private defines/structs (move to C
file) and unused function prototypes.
Closes #8386
2022-02-05 00:11:34 +01:00
Daniel Stenberg
9478a97035
lib: move hostcheck and x509sn1 sources to vtls/
...
... since they are used strictly by TLS code.
Closes #8386
2022-02-05 00:11:33 +01:00
Marcel Raad
9f1d29ecac
version_win32: fix warning for CURL_WINDOWS_APP
...
The build version is not supported by the UWP code.
Closes https://github.com/curl/curl/pull/8385
2022-02-04 17:34:27 +01:00
Daniel Stenberg
2610142139
lib: remove support for CURL_DOES_CONVERSIONS
...
TPF was the only user and support for that was dropped.
Closes #8378
2022-02-04 08:05:35 +01:00
Daniel Stenberg
da15443ddd
TPF: drop support
...
There has been no TPF related changes done since September 2010 (commit
7e1a45e224 ) and since this is a platform that is relatively different
than many others (== needs attention), I draw the conclusion that this
build is broken since a long time.
Closes #8378
2022-02-04 08:05:35 +01:00
HenrikHolst
a121e8dac6
setopt: do bounds-check before strdup
...
Curl_setstropt() allocated memory for the string before checking if the
string was within bounds. The bounds check should be done first.
Closes #8377
2022-02-03 09:40:03 +01:00
MAntoniak
2cd6d7e462
mbedtls: enable use of mbedtls without filesystem functions support
...
Closes #8376
2022-02-03 09:39:11 +01:00
HenrikHolst
9fe2a20b1c
urlapi: remove an unnecessary call to strlen
...
- Use strcpy instead of strlen+memcpy to copy the url path.
Ref: https://curl.se/mail/lib-2022-02/0006.html
Closes https://github.com/curl/curl/pull/8370
2022-02-01 15:43:45 -05:00
Daniel Stenberg
1bf3643f7b
vxworks: drop support
...
No changes or fixes in vxworks related code since 2009 leads me to
believe that this doesn't work anymore.
Closes #8362
2022-02-01 16:18:39 +01:00
Henrik Holst
0d370ecbfe
base64: remove an unnecessary call to strlen
...
Closes #8369
2022-02-01 16:09:49 +01:00
Sebastian Sterk
c6218f3723
multi: grammar fix in comment
...
After 'must', the verb is used without 'to'. Correct: "must" or "have
to"
Closes #8368
2022-02-01 09:37:26 +01:00
Daniel Stenberg
5236ed0e42
openldap: fix compiler warning when built without SSL support
...
openldap.c:841:52: error: unused parameter ‘data’ [-Werror=unused-parameter]
Closes #8367
2022-02-01 09:14:35 +01:00
Daniel Stenberg
3b16575ae9
netware: remove support
...
There are no current users and no Netware related changes done in the
code for over 13 years is a clear sign this is abandoned.
Closes #8358
2022-01-31 13:40:26 +01:00
luminixinc on github
3c798b1db3
multi: remember connection_id before returning connection to pool
...
Fix a bug that does not require a new CVE as discussed on hackerone.com.
Previously `connection_id` was accessed after returning connection to
the shared pool.
Bug: https://hackerone.com/reports/1463013
Closes #8355
2022-01-31 08:55:22 +01:00
Daniel Stenberg
91e3996aa7
urldata: CONN_IS_PROXIED replaces bits.close when proxy can be disabled
...
To remove run-time checks for such builds.
Closes #8350
2022-01-30 12:01:25 +01:00
Daniel Stenberg
96629ba2c2
setopt: fix the TLSAUTH #ifdefs for proxy-disabled builds
...
Closes #8350
2022-01-30 12:01:16 +01:00