| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
The libssh2 backend has SSH session associated with the connection but
the callback context is the easy handle, so when a connection gets
attached to a transfer, the protocol handler now allows for a custom
function to get used to set things up correctly.
Reported-by: Michael O'Farrell
Fixes #6898
Closes #7078
|
|
|
|
|
|
|
| |
At all call sites with an explicit 0 len, pass an appropriate nonzero
len.
Closes #6954
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After 957bc1881e686f9714c4e6a01bf33535091f0e21, we no longer compute an
expected_size for directories. This has the upshot that when we compare
even an empty Range with the available size, we fail.
This brings back the previous behaviour, which was to succeed, but with
empty content. This also removes the "Accept-ranges: bytes" header,
which is nonsensical on directories.
Adds test 3016
Fixes #6845
Closes #6846
|
|
|
|
| |
Closes #6496
|
|
|
|
| |
Closes #6486
|
|
|
|
| |
Closes #6479
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... 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
|
|
|
|
|
|
|
| |
... as it is misleading.
Ref #6379
Closes #6421
|
|
|
|
|
|
|
|
|
| |
file_disconnect() is identical with file_do() except the function header
but as the arguments are unused anyway so why not just return file_do()
directly!
Reviewed-by: Daniel Stenberg
Closes #6249
|
|
|
|
|
|
|
| |
... to avoid the use of 'void *' for the protocol specific structs done
per transfer.
Closes #6238
|
|
|
|
| |
Closes #6172
|
|
|
|
|
|
|
|
|
| |
The OS is deprecated. I see no traces of anyone having actually built
curl for Symbian after 2012.
The public headers are unmodified.
Closes #5989
|
|
|
|
|
|
|
| |
Makes get_protocol_family() faster and it moves the knowledge about the
"families" to each protocol handler, where it belongs.
Closes #5986
|
|
|
|
|
|
| |
... or all "control codes" or nothing.
Assisted-by: Nicolas Sterchele
|
|
|
|
|
|
|
|
|
| |
This reverts commit 1b71bc532bde8621fd3260843f8197182a467ff2.
Reminded-by: Chris Roberts
Bug: https://curl.haxx.se/mail/archive-2020-04/0013.html
Closes #5215
|
|
|
|
| |
Follow-up to 1b71bc532bd
|
|
|
|
|
|
|
|
|
| |
... as that might cause an unexpected SMB connection to a given host
name.
Reported-by: Fernando Muñoz
CVE-2019-15601
Bug: https://curl.haxx.se/docs/CVE-2019-15601.html
|
|
|
|
|
|
| |
Pointed out by codacy
Closes #3672
|
|
|
|
|
|
|
|
|
|
|
| |
The function does not return the same value as snprintf() normally does,
so readers may be mislead into thinking the code works differently than
it actually does. A different function name makes this easier to detect.
Reported-by: Tomas Hoger
Assisted-by: Daniel Gustafsson
Fixes #3296
Closes #3297
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now FILE transfers send headers to the header callback like HTTP and
other protocols. Also made curl_easy_getinfo(...CURLINFO_PROTOCOL...)
work for FILE in the callbacks.
Makes "curl -i file://.." and "curl -I file://.." work like before
again. Applied the bold header logic to them too.
Regression from c1c2762 (7.61.0)
Reported-by: Shaun Jackman
Fixes #3083
Closes #3101
|
|
|
|
|
|
| |
... to make it a truly unified URL parser.
Closes #3017
|
|
|
|
|
|
|
| |
This is step 3 of #2888.
Fixes #2888
Closes #2896
|
|
|
|
|
|
| |
Assisted-by: Rikard Falkeborn
Closes #2922
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Get rid of variable that was generating false positive warning
(unitialized)
- Fix issues in tests
- Reduce scope of several variables all over
etc
Closes #2631
|
|
|
|
|
|
| |
Detected using the `codespell` tool (version 1.13.0).
Also secure and fix an URL.
|
|
|
|
|
|
|
|
| |
They're now wrong.
Reported-by: Michael Kaufmann
Closes #2277
|
| |
|
|
|
|
| |
Closes #2205
|
|
|
|
|
|
|
|
|
|
| |
... since the 'tv' stood for timeval and this function does not return a
timeval struct anymore.
Also, cleaned up the Curl_timediff*() functions to avoid typecasts and
clean up the descriptive comments.
Closes #2011
|
|
|
|
|
|
|
|
|
|
|
| |
When trying to bump the value with one and the value is already at max,
it causes an integer overflow.
Closes #1908
Detected by oss-fuzz:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3465
Assisted-by: Max Dymond
|
| |
|
| |
|
|
|
|
|
|
|
| |
... make sure we bail out on overflows.
Reported-by: Brian Carpenter
Closes #1758
|
|
|
|
|
|
|
|
|
|
| |
Regression brought by 7c312f84ea930d8 (April 2017)
CVE-2017-1000099
Bug: https://curl.haxx.se/docs/adv_20170809C.html
Credit to OSS-Fuzz for the discovery
|
|
|
|
|
|
| |
Add a new type of callback to Curl_handler which performs checks on
the connection. Alter RTSP so that it uses this callback to do its
own check on connection health.
|
|
|
|
|
|
|
| |
... as it would previously just get the "now" timestamp before the
transfer starts and then not update it again.
Closes #1550
|
|
|
|
| |
... to properly use the dynamically set buffer size!
|
| |
|
|
|
|
| |
... instead of clobbering the download buffer.
|
|
|
|
|
|
| |
... by removing the else branch after a return, break or continue.
Closes #1310
|
|
|
|
|
|
|
|
|
|
| |
Replace use of fixed macro BUFSIZE to define the size of the receive
buffer. Reappropriate CURLOPT_BUFFERSIZE to include enlarging receive
buffer size. Upon setting, resize buffer if larger than the current
default size up to a MAX_BUFSIZE (512KB). This can benefit protocols
like SFTP.
Closes #1222
|
| |
|
|
|
|
| |
follow-up to 46133aa5
|
|
|
|
| |
Since the internal Curl_urldecode() function has a better API.
|
|
|
|
| |
Closes https://github.com/curl/curl/pull/913
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
curl_printf.h defines printf to curl_mprintf, etc. This can cause
problems with external headers which may use
__attribute__((format(printf, ...))) markers etc.
To avoid that they cause problems with system includes, we include
curl_printf.h after any system headers. That makes the three last
headers to always be, and we keep them in this order:
curl_printf.h
curl_memory.h
memdebug.h
None of them include system headers, they all do funny #defines.
Reported-by: David Benjamin
Fixes #743
|
| |
|
|
|
|
|
|
| |
... as it doesn't change in between. Deteced by PVS Studio.
Reported-by: Alexis La Goutte
|
|
|
|
|
|
|
|
|
|
|
| |
Some systems have special files that report as 0 bytes big, but still
contain data that can be read (for example /proc/cpuinfo on
Linux). Starting now, a zero byte size is considered "unknown" size and
will be read as far as possible anyway.
Reported-by: Jesse Tan
Closes #681
|