Commit Graph

27430 Commits

Author SHA1 Message Date
t.artikov 29c7cf79e8 configure: fix nghttp2 library name for static builds
Don't hardcode the nghttp2 library name,
because it can vary, be "nghttp2_static" for example.

Fixes https://github.com/curl/curl/issues/7367
Closes https://github.com/curl/curl/pull/7368
2021-07-16 13:34:39 -04:00
Gisle Vanem bc035f5c9d [PellesC] fix _lseeki64() macro 2021-07-16 07:32:06 +02:00
Gisle Vanem c6fd7cbf10 [SChannel] Use '_tcsncmp()' instead
Revert previous change for PellesC. 

Instead replace all use of `_tcsnccmp()` with `_tcsncmp()`.
2021-07-16 07:30:35 +02:00
Gisle Vanem 3cd9a23e80 [PellesC] missing '_tcsnccmp'
PellesC compiler does not have this macro in it's `<tchar.h>`
2021-07-16 07:30:35 +02:00
Daniel Gustafsson 6c293cfcf0 TODO: add mention of mbedTLS 3 incompatibilities
Wyatt OʼDay reported in #7385 that mbedTLS isn't backwards compatible
and curl no longer builds with it. Document the need to fix our support
until so has been done.

Closes #7390
Fixes #7385
Reported-by: Wyatt OʼDay
Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
2021-07-14 23:54:43 +02:00
Daniel Gustafsson 21ef78b556 docs: fix inconsistencies in EGDSOCKET documentation
Only the OpenSSL backend actually use the EGDSOCKET, and also use
TLS consistently rather than mixing SSL and TLS. While there, also
fix a minor spelling nit.

Closes: #7391
Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
2021-07-14 23:47:37 +02:00
Борис Верховский 60dc3d1a5b docs: document missing arguments to commands
This is a followup to commit f410b9e538 fixing a few
more commands which takes arguments.

Closes #7382
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
2021-07-13 23:49:35 +02:00
Randolf J 0d9de0a09f docs: fix incorrect argument name reference
The documentation for the read callback was erroneously referencing
the nitems argument by nmemb.  The error was introduced in commit
ce0881edee.

Closes #7383
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
2021-07-13 22:04:05 +02:00
Борис Верховский f410b9e538 tool_help: Document that --tlspassword takes a password
Closes #7378
Reviewed-by: Daniel Stenberg <daniel@haxx.se>
2021-07-12 23:22:19 +02:00
Daniel Gustafsson 02dfce1837 scripts: Fix typo in release-notes instructions
The command to run had a typo in the pathname which prevented copy
pasting it to work, which has annoyed me enough to fix this now.
2021-07-10 22:36:26 +02:00
Daniel Gustafsson 2053c00dd5 RELEASE-NOTES: synced 2021-07-10 22:34:55 +02:00
Jay Satiro 5d3c409098 write-out.d: Clarify urlnum is not unique for de-globbed URLs
Reported-by: Коваленко Анатолий Викторович

Fixes https://github.com/curl/curl/issues/7342
Closes https://github.com/curl/curl/pull/7369
2021-07-10 01:18:20 -04:00
William Desportes 4e5a91b6aa docs: Fix typos
Closes: #7370
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
2021-07-03 22:11:26 +02:00
Jonathan Wernberg 9bf79d0a5a
Revert "ftp: Expression 'ftpc->wait_data_conn' is always false"
The reverted commit introduced a logic error in code that was
correct.

The client using libcurl would notice the error since FTP file
uploads in active transfer mode would somtimes complete with
success despite no transfer having been performed and the
"uploaded" file thus not being on the remote server afterwards.

The FTP server would notice the error because it receives a
RST on the data connection it has established with the client
before any data was transferred at all.

The logic error happens if the STOR response from the server have
arrived by the time ftp_multi_statemach() in the affected code path
is called, but the incoming data connection have not arrived yet.
In that case, the processing of the STOR response will cause
'ftpc->wait_data_conn' to be set to TRUE, contradicting the comment
in the code. Since 'complete' will also be set, later logic would
believe the transfer was done.

In most cases, the STOR response will not have arrived yet when
the affected code path is executed, or the incoming connection will
also have arrived, and thus the error would not express itself.
But if the speed difference of the device using libcurl and the
FTP server is exactly right, the error may happen as often as in
one out of hundred file transfers.

This reverts commit 49f3117a23.

Bug: https://curl.se/mail/lib-2021-07/0025.html
Closes #7362
2021-07-08 10:18:25 +02:00
Daniel Stenberg 9053dbbf62
msnprintf: return number of printed characters excluding null byte
... even when the output is "capped" by the maximum length argument.

Clarified in the docs.

Closes #7361
2021-07-08 10:05:39 +02:00
Daniel Stenberg e7416cfd2b
infof: remove newline from format strings, always append it
- the data needs to be "line-based" anyway since it's also passed to the
  debug callback/application

- it makes infof() work like failf() and consistency is good

- there's an assert that triggers on newlines in the format string

- Also removes a few instances of "..."

- Removes the code that would append "..." to the end of the data *iff*
  it was truncated in infof()

Closes #7357
2021-07-07 22:54:01 +02:00
Daniel Stenberg 1026b36ea0
examples/multi-single: fix scan-build warning
warning: Value stored to 'mc' during its initialization is never read

Follow-up to ae8e11ed5f

Closes #7360
2021-07-07 13:06:18 +02:00
Daniel Stenberg 1e488d38c9
wolfssl: failing to set a session id is not reason to error out
... as it is *probably* just timed out.

Reported-by: Francisco Munoz

Closes #7358
2021-07-07 10:19:28 +02:00
Daniel Stenberg ae8e11ed5f
docs/examples: use curl_multi_poll() in multi examples
The API is soon two years old and deserves being shown as the primary
way to drive multi code as it makes it much easier to write code.

multi-poll: removed

multi-legacy: add to show how we did multi API use before
curl_multi_wait/poll.

Closes #7352
2021-07-07 08:15:09 +02:00
Daniel Stenberg 738fb63e61
KNOWN_BUGS: flaky Windows CI builds
Closes #6972
2021-07-05 23:30:44 +02:00
Daniel Stenberg ff7c775a6d
RELEASE-NOTES: synced 2021-07-05 22:55:14 +02:00
Daniel Stenberg c3d612662d
test1147: hyper doesn't allow "crazy" request headers like built-in
... so strip that from the test.

Closes #7349
2021-07-05 22:51:13 +02:00
Daniel Stenberg a62ece3f57
c-hyper: bail on too long response headers
To match with built-in behaviors. Makes test 1154 work.

Closes #7350
2021-07-05 22:49:12 +02:00
Daniel Stenberg 0965348cd8
test1151: added missing CRLF to work with hyper
Closes #7350
2021-07-05 22:49:02 +02:00
Daniel Stenberg 0b0269341b
c-hyper: add support for transfer-encoding in the request
Closes #7348
2021-07-05 22:46:01 +02:00
Andrea Pappacoda 4f3828d5a2
cmake: remove libssh2 feature checks
libssh2 features are detected based on version since commit
9dbbba9976

Closes #7343
2021-07-05 22:44:00 +02:00
Daniel Stenberg e41feede34
test1116: hyper doesn't pass through "surprise-trailers"
Closes #7344
2021-07-05 22:39:42 +02:00
Daniel Stenberg cffbccd096
socks4: scan for the IPv4 address in resolve results
Follow-up to 84d2839740 which changed the resolving to always resolve
both address families, but since SOCKS4 only supports IPv4 it should
scan for and use the first available IPv4 address.

Reported-by: shithappens2016 on github
Fixes #7345
Closes #7346
2021-07-05 22:38:13 +02:00
Jay Satiro 2b311d369d proto.d: fix formatting for paragraphs after margin changes
Closes https://github.com/curl/curl/pull/7341
2021-07-05 02:55:36 -04:00
Jay Satiro d352a1bb2b pinnedpubkey.d: fix formatting for version support lists
Closes https://github.com/curl/curl/pull/7340
2021-07-05 02:54:54 -04:00
Daniel Stenberg 0a0bc4a077
TODO: "Support in-memory certs/ca certs/keys" done
Has been suppored for a while now with the *BLOB options.
2021-07-02 10:19:21 +02:00
Daniel Stenberg a37fc62e8b
examples: safer and more proper read callback logic
The same callback code is used in:

 imap-append.c
 smtp-authzid.c
 smtp-mail.c
 smtp-multi.c
 smtp-ssl.c
 smtp-tls.c

It should not assume that it can copy full lines into the buffer as it
will encourage sloppy coding practices. Instead use byte-wise logic and
check/acknowledge the buffer size appropriately.

Reported-by: Harry Sintonen
Fixes #7330
Closes #7331
2021-07-01 14:27:12 +02:00
Daniel Stenberg 07fa74d34a
test1519: adjusted to work with hyper
Closes #7333
2021-07-01 14:26:06 +02:00
Daniel Stenberg a80f8ea182
test1518: adjusted to work with hyper
... by making sure the stdout output doesn't look like HTTP headers.

Closes #7333
2021-07-01 14:25:57 +02:00
Daniel Stenberg 7f11282d5f
test1514: add a CRLF to the response to make it correct
Makes hyper accept it fine instead returning HYPERE_UNEXPECTED_EOF on
us.

Closes #7334
2021-07-01 14:19:55 +02:00
Daniel Stenberg e081048c44
formdata: avoid "Argument cannot be negative" warning
... when converting a curl_off_t to size_t, by using
CURL_ZERO_TERMINATED before passing the argument to the function.

Detected by Coverity CID 1486590.

Closes #7328
Assisted-by: Daniel Gustafsson
2021-07-01 14:15:16 +02:00
Daniel Stenberg 1ff1d9e179
lib: more %u for port and int for %*s fixes
Detected by Coverity

Closes #7329
2021-07-01 09:12:58 +02:00
Daniel Stenberg 6a40e6f8be
doh: (void)-prefix call to curl_easy_setopt 2021-07-01 00:06:27 +02:00
Daniel Stenberg 78fc6522c2
lib: fix type of len passed to *printf's %*s
... it needs to be 'int'. Detected by Coverity CID 1486611 (etc)

Closes #7326
2021-06-30 23:53:58 +02:00
Daniel Stenberg d696ee00ee
lib: use %u instead of %ld for port number printf
Follow-up to 764c6bd3bf which changed the type of some port number
fields. Detected by Coverity (CID 1486624) etc.

Closes #7325
2021-06-30 23:25:35 +02:00
Daniel Stenberg 63c7668182
version: turn version number functions into returning void
... as we never use the return codes from them.

Reviewed-by: Daniel Gustafsson
Closes #7319
2021-06-30 23:23:34 +02:00
Daniel Stenberg 5372ee37d3
mqtt: extend the error message for no topic
... and mention that it needs URL encoding.

Reported-by: Peter Körner
Fixes #7316
Closes #7317
2021-06-30 15:02:24 +02:00
Daniel Stenberg e6caaa41b0
formdata: correct typecast in curl_mime_data call
Coverity pointed out it the mismatch. CID 1486590

Closes #7327
2021-06-30 15:00:00 +02:00
Daniel Stenberg 81cc2e48da
url: (void)-prefix a curl_url_get() call
Coverity (CID 1486645) pointed out a use of curl_url_get() in the
parse_proxy function where the return code wasn't checked. A
(void)-prefix makes the intention obvious.

Closes #7320
2021-06-30 14:58:47 +02:00
Daniel Stenberg 8feeafc61a
glob: pass an 'int' as len when using printf's %*s
Detected by Coverity CID 1486629.

Closes #7324
2021-06-30 14:05:56 +02:00
Daniel Stenberg 97fa671a73
vtls: use free() not curl_free()
curl_free() is provided for users of the API to free returned data,
there's no need to use it internally.

Closes #7318
2021-06-30 13:50:18 +02:00
Daniel Stenberg 8ccc066b45
zuul: use the new rustls directory name
Follow-up to 6d972c8b1c which missed updating this directory name.

Also no longer call it crustls in the docs and bump to rusttls-ffi 0.7.1

Closes #7311
2021-06-30 08:19:31 +02:00
Jay Satiro ca8893468f http: fix crash in rate-limited upload
- Don't set the size of the piece of data to send to the rate limit if
  that limit is larger than the buffer size that will hold the piece.

Prior to this change if CURLOPT_MAX_SEND_SPEED_LARGE
(curl tool: --limit-rate) was set then it was possible that a temporary
buffer used for uploading could be written to out of bounds. A likely
scenario for this would be a non-trivial amount of post data combined
with a rate limit larger than CURLOPT_UPLOAD_BUFFERSIZE (default 64k).

The bug was introduced in 24e469f which is in releases since 7.76.0.

perl -e "print '0' x 200000" > tmp
curl --limit-rate 128k -d @tmp httpbin.org/post

Reported-by: Richard Marion

Fixes https://github.com/curl/curl/issues/7308
Closes https://github.com/curl/curl/pull/7315
2021-06-29 15:18:08 -04:00
Daniel Stenberg 2631722319
copyright: add boiler-plate headers to CI config files
And whitelist .zuul.ignore

Closes #7314
2021-06-29 17:44:03 +02:00
Daniel Stenberg b7ca0cfec0
CI: remove travis details
Rename still used leftovers to "zuul" as that's now the CI using them.

Closes #7313
2021-06-29 17:42:57 +02:00