Age | Commit message (Collapse) | Author | Files | Lines |
|
Even if debug option is disabled, app can see the logs using VERBOSE option.
* !!! WARNING !!!
* This is a debug build of libcurl, do not use in production.
Change-Id: I779c9dde8cc949a192313e2510b01c50dc789448
|
|
Change-Id: I9773f5e3878434ceab19ddd0cc4231bb67cfe4c2
|
|
Change-Id: I8f77c680623836749aba616cecd0390fc34b0c3c
|
|
Backported from https://github.com/icing/curl/commit/41e5345fe9689cc2c1c2a92ecd77d2bd0f3f2411
(curl 8.2.0)
Change-Id: Iff4afe448bf7602a43ef033441a5a2b004ff3fe3
|
|
This reverts commit cabfc984c506eca0ad8cab01ec3150cbf5c5cc14.
Change-Id: Ic94b9e9a9a533cc3847df420448349d2988e4b5f
|
|
Change-Id: If48529b01315aeea8ff7e68f16eaa23081f80315
|
|
Change-Id: Id402ba007051792ef0aaab3e1d5b6f8713f88a83
|
|
Change-Id: I0dd7ee047eef3a9ea4f3ba3b3b6b2fb5d6ad3b79
|
|
Change-Id: I69742b17b658f837c72674c476b7a93c6965b2dc
|
|
Ideally, Curl_ssl_getsessionid should not be called unless sessionid
caching is enabled. There is a debug assertion in the function to help
ensure that. Therefore, the pattern in all vtls is basically:
if(primary.sessionid) {lock(); Curl_ssl_getsessionid(...); unlock();}
There was one instance in openssl.c where sessionid was not checked
beforehand and this change fixes that.
Prior to this change an assertion would occur in openssl debug builds
during connection stage if session caching was disabled.
Reported-by: Jim Beveridge
Fixes https://github.com/curl/curl/issues/8472
Closes https://github.com/curl/curl/pull/8484
Change-Id: I720345c0c456f7375b5b842846061c043e236a57
|
|
Change-Id: I35149a0021e31cf82608541b37f3a4212c22747f
|
|
Change-Id: Ibe8b1de1691e326fbd2a8133470758ab942cbd97
|
|
... and not in the connection setup, as for multiplexed transfers the
connection setup might be skipped and then the transfer would end up
without the set user-agent!
Reported-by: Flameborn on github
Assisted-by: Andrey Gursky
Assisted-by: Jay Satiro
Assisted-by: Mike Gelfand
Fixes #6312
Closes #6417
https://github.com/curl/curl/issues/6312
https://github.com/curl/curl/pull/6417
Change-Id: I91d196cf08bd96c0534621ad7eae9eb73a004f21
|
|
Change-Id: I052852341a8dacc6f100b7f999db5589902127d5
|
|
The 'datalen' value should be 64 bit, not size_t!
https://github.com/curl/curl/pull/7027
Change-Id: I0fd8041840734d387be09a820bc6ae9d28a0b7e3
|
|
Change-Id: I88d5ab0d7262f6eaf4fcc637c788079f9fc5af32
|
|
conn->ip_addr points to a struct within the DNS cache, so this pointer
is only valid as long as the DNS cache entry remains locked.
Whereas conn->ip_addr_str is available while using the connection.
Change-Id: I8cf239dda0b0d504427afe9809c0f0dcd2264f8d
|
|
Change-Id: I4c535d1876d38b460f88f41c168fc5ad7f1235de
|
|
EVP_MD_CTX_create will allocate memory for the context and returns
NULL in case the allocation fails. Make sure to catch any allocation
failures and exit early if so.
In passing, also move to EVP_DigestInit rather than EVP_DigestInit_ex
as the latter is intended for ENGINE selection which we don't do.
Closes #6224
Backported: https://github.com/curl/curl/pull/6224
Change-Id: Ibcd3a0782405d3db6aa08d65892af15c3ea8431b
|
|
To fix a memory-leak.
Closes #6267
- backported: https://github.com/curl/curl/pull/6267
Change-Id: I225c540015370218f9a249d8feb05dda20c41529
|
|
Change-Id: Ia04bed727b7a36262539f5eb5b3866064da63f5e
|
|
Change-Id: I2ec6e2708d8245d75f7f5d0d289830840ab9ff9d
|
|
Change-Id: I954089d7d9d6e75726df6981c8222403ae83facc
|
|
... since the current transfer is being killed. Setting to NULL is
wrong, leaving it pointing to 'data' is wrong since that handle might be
about to get freed.
Fixes #4845
Closes #4858
Reported-by: dmitrmax on github
https://github.com/curl/curl/issues/4845
Change-Id: I597f1538c7ff646a13d24ab547437fd2dc037f00
|
|
This reverts commit 44b97d568351daa1741b591bf0c3ab754ad07060.
|
|
... since the current transfer is being killed. Setting to NULL is
wrong, leaving it pointing to 'data' is wrong since that handle might be
about to get freed.
Fixes #4845
Closes #4858
Reported-by: dmitrmax on github
Change-Id: Ic03d65132e8116b0423d8b6715207d2dd04c7c5b
|
|
SSL_ERROR_SYSCALL has been handled little stricter since curl 7.67.
(For example, 56 error occurs when server clase the connection abruptly
without a close_notify alert.)
The change is applied only in debug build for compatibility with older
peers.
However, Curl in Tizen is built with debug option.
So, Unexpected 56 error can occurs.
To avoid it, This patch creates new option and disable it.
Change-Id: I6d2b493aa1ce1ea2ce7fe1151f8948537e52c332
|
|
New test 669 checks this fix is effective.
Fixes #5256
Reported-by: thanhchungbtc on github
https://github.com/curl/curl/pull/5258/commits/96819869a975277308ef88b256f9ab9b788091f5
Change-Id: Icc77c1f01a859cb821dccc5a9cb1003e4e166117
|
|
Change-Id: Ifa484ccc2d444376bfa8c21ca8d9b63d8f48bf05
|
|
Change-Id: I37422e43c2c4c25904a4fc2a391c4a32ba3b9f5c
|
|
Change-Id: I465e6d39e1e167784bc79989c4b039721f61adc1
|
|
- bug: https://github.com/curl/curl/issues/4043
- fix: https://github.com/curl/curl/commit/c0c40ab075cdf86424dfe346a70a31b08dc651da
Change-Id: I90808233da69e8fc3d03189f8514bca1f73d90ee
|
|
The crash is observed after below patches are applied:-
Crash in upstream libcurl: https://github.com/curl/curl/commit/fb445a1e18d12f577964c9347bc5bca74b37cd08
Crash in Tizen: https://review.tizen.org/gerrit/#/c/platform/upstream/curl/+/220576
The same crash has been reported in upstream libcurl package.
Issue #1: https://github.com/curl/curl/issues/3463
Issue #2: https://github.com/curl/curl/issues/3541
Below are the solution patches are used for creating this fix
Patch #1: https://github.com/curl/curl/commit/54b201b48c90a2fb03c2baf90837c6b63adbc344
Patch #2: https://github.com/curl/curl/commit/f1af63149389cab2519b39b8056df68f5df36b91
Patch #3: https://github.com/curl/curl/commit/4015fae044ce52a639c9358e22a9e948f287c89f
Change-Id: Iaa4a05feb6a66d9781d4e7ae07297ce369744d3d
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
|
|
This is the common pattern used in the code and by a unified approach we
avoid mistakes.
Backported patch details:
https://github.com/curl/curl/commit/dcd7e37c3a0ce108635b89cacc1e3425e57bd3bc
Change-Id: I453175ca40d8e8dfa7611f026ec7513dc230d16f
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Follow-up to fb445a1e18d: Set conn->data explicitly to point out the
current transfer when invoking the protocol-specific disconnect function
so that it can work correctly.
Backported patch details:
https://github.com/curl/curl/commit/f3ce38739fa49008e36959aa8189c01ab1bad5b5
Change-Id: I0f86f4f9e086ebc0954f0d9935830bb93acb4090
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Do not assume/store assocation between a given easy handle and the
connection if it can be avoided.
Long-term, the 'conn->data' pointer should probably be removed as it is a
little too error-prone. Still used very widely though.
Backported patch details:
https://github.com/curl/curl/pull/3400/commits/fb445a1e18d12f577964c9347bc5bca74b37cd08
Change-Id: I18aa2cb7097b8598c90ddf8c8c68a9fecd86e295
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
ares: remove fd from multi fd set when ares is about to close the fd
8dfb92873af9de5d883e191e0097be32c78a7d0f
Change-Id: Ic6ce203ae3609a539f70c5ae4cb1d4b3812ae80d
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Change-Id: I8f29a511322905036005cf8df13640518c6be7bc
|
|
Change-Id: Ic067a067b2562a1b2b4f978f32f20b269abd0886
|
|
Added Curl_resolver_kill() for all three resolver modes, which only
blocks when necessary, along with test 1592 to confirm
curl_multi_remove_handle() doesn't block unless it must.
Backported patch details:
https://github.com/curl/curl/commit/84a30d0a419ad95c53cbdfc76eb2eb75d2e51835
Change-Id: I40917dbf8262249250942c9dcb71a31e6cf0df90
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
When using c-ares for asyn dns, the dns socket fd was silently closed
by c-ares without curl being aware. curl would then 'realize' the fd
has been removed at next call of Curl_resolver_getsock, and only then
notify the CURLMOPT_SOCKETFUNCTION to remove fd from its poll set with
CURL_POLL_REMOVE. At this point the fd is already closed.
By using ares socket state callback (ARES_OPT_SOCK_STATE_CB), this
patch allows curl to be notified that the fd is not longer needed
for neither for write nor read. At this point by calling
Curl_multi_closed we are able to notify multi with CURL_POLL_REMOVE
before the fd is actually closed by ares.
In asyn-ares.c Curl_resolver_duphandle we can't use ares_dup anymore
since it does not allow passing a different sock_state_cb_data
Backported patch details:
https://github.com/curl/curl/commit/6765e6d9e6a32bb4fc666d744cb57e2d55d4e13b
Change-Id: I62b2d244cb0f38a4c4a76ad804c7fd69f9222484
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Backported Patch link:
https://github.com/curl/curl/pull/4307
Change-Id: I5b695b661cf946b74e065d1a65697e74d7ef8af6
|
|
This reverts commit 6b333876d2db240bd01e0dcec950b2d12dc8eae5.
Change-Id: Ia687599375fb2953e9df43f7195877726c5ffa29
|
|
Various functions called within Curl_http2_done() can have the
side-effect of setting the Easy connection into drain mode (by calling
drain_this()). However, the last time we unset this for a transfer (by
calling drained_transfer()) is at the beginning of Curl_http2_done().
If the Curl_easy is reused for another transfer, it is then stuck in
drain mode permanently, which in practice makes it unable to write any
data in the new transfer.
This fix moves the last call to drained_transfer() to later in
Curl_http2_done(), after the functions that could potentially call for a
drain.
Fixes #3966
Reported-by: Josie-H
Change-Id: I83ee02bf9017c9aa3d27d50580a0f89b8ec1d05d
|
|
... that could end up a double-free
CVE-2019-5481
Bug: https://curl.haxx.se/docs/CVE-2019-5481.html
Change-Id: I4eab9aceba3ad01607eb4f302200e9f949ea4312
|
|
Fixes potential buffer overflow from 'recvfrom()', should the server
return an OACK without blksize.
Bug: https://curl.haxx.se/docs/CVE-2019-5482.html
CVE-2019-5482
Change-Id: I6c63f958f4b49aa214ea4adb55c8f85a4b1606cc
|
|
bug: https://curl.haxx.se/docs/CVE-2019-5436.html
Reported-by: l00p3r on hackerone
CVE-2019-5436
Backported patch link: https://github.com/curl/curl/commit/2576003415625d7b5f0e390902f8097830b82275.patch
Change-Id: Ic6093d1d475ed9ba87e41cff315befdc3aca9c1d
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
|
|
|
|
curl_multi_wait() was erroneously used from within
curl_easy_perform(). It could lead to it believing there was no socket
to wait for and then instead sleep for a while instead of monitoring the
socket and then miss acting on that activity as swiftly as it should
(causing an up to 1000 ms delay).
Reported-by: Antoni Villalonga
Fixes #3305
Clodes #3306
Backported patch details:
https://github.com/curl/curl/commit/d04cef9ce1d710902d90b62de01115b9bbe958bf.patch
Change-Id: I08d95e996dd9bab5d9fd7c7fe581fdb40c8a0de8
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
This limits all accepted input strings passed to libcurl to be less than
CURL_MAX_INPUT_LENGTH (8000000) bytes, for these API calls:
curl_easy_setopt() and curl_url_set().
The 8000000 number is arbitrary picked and is meant to detect mistakes
or abuse, not to limit actual practical use cases. By limiting the
acceptable string lengths we also reduce the risk of integer overflows
all over.
NOTE: This does not apply to `CURLOPT_POSTFIELDS`.
Test 1559 verifies.
ClosesThis commit closes pull request #3805. #3805
CVE-2019-5435
Change-Id: I0a6d76769e1471352a477a8b1160672757a2de54
|