summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fixup multi.h - reuse the CURLOPT() macro from curl.hbagder/include-curl-prefixedDaniel Stenberg2020-01-092-19/+16
|
* scripts/delta: adapt to new public header layoutDaniel Stenberg2020-01-071-3/+3
|
* test1167: verify global symbols in public headers are curl prefixedDaniel Stenberg2020-01-074-3/+160
| | | | | | | ... using the new badsymbols.pl perl script Fixes #4793 Closes #4794
* libtest/mk-lib1521: adapt to new public header layoutDaniel Stenberg2020-01-071-23/+24
|
* include: remove non-curl prefixed definesDaniel Stenberg2020-01-073-368/+347
| | | | | ...requires some rearranging of the setup of CURLOPT_ and CURLMOPT_ enums.
* curl.h: remove WIN32 defineDaniel Stenberg2020-01-061-10/+1
| | | | | It isn't our job to define this in a public header - and it defines a name outside of our naming scope.
* TrackMemory tests: always remove CR before LFMarcel Raad2020-01-062-0/+2
| | | | | | | | It was removed for output containing ' =' via `s/ =.*//`. With classic MinGW, this made lines with `free()` end with CRLF, but lines with e.g. `malloc()` end with only LF. The tests expect LF only. Closes https://github.com/curl/curl/pull/4788
* multi.h: move INITIAL_MAX_CONCURRENT_STREAMS from public headerDaniel Stenberg2020-01-062-5/+6
| | | | | | | ... to the private multihhandle.h. It is not for public use and it wasn't prefixed correctly anyway! Closes #4790
* file: fix copyright year rangeDaniel Stenberg2020-01-061-1/+1
| | | | Follow-up to 1b71bc532bd
* curl -w: handle a blank input file correctlyDaniel Stenberg2020-01-063-3/+51
| | | | | | | | | | Previously it would end up with an uninitialized memory buffer that would lead to a crash or junk getting output. Added test 1271 to verify. Reported-by: Brian Carpenter Closes #4786
* file: on Windows, refuse paths that start with \\Daniel Stenberg2020-01-061-2/+4
| | | | | | | | | ... 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
* CURLOPT_READFUNCTION.3: fix fopen params in exampleJay Satiro2020-01-061-1/+1
|
* CURLOPT_READFUNCTION.3: fix variable name in exampleJay Satiro2020-01-061-1/+1
| | | | | | Reported-by: Paul Joyce Fixes https://github.com/curl/curl/issues/4787
* curl:getparameter return error for --http3 if libcurl doesn't supportDaniel Stenberg2020-01-051-2/+5
| | | | Closes #4785
* docs: mention CURL_MAX_INPUT_LENGTH restrictionsDaniel Stenberg2020-01-052-2/+10
| | | | | | | | ... for curl_easy_setopt() and curl_url_set(). [skip ci] Closes #4783
* curl: properly free mimepost dataDaniel Stenberg2020-01-043-2/+72
| | | | | | | | | | ... as it could otherwise leak memory when a transfer failed. Added test 1293 to verify. Reported-by: Brian Carpenter Fixes #4781 Closes #4782
* curl: cleanup multi handle on failureDaniel Stenberg2020-01-041-2/+4
| | | | | | | | ... to fix memory leak in error path. Fixes #4772 Closes #4780 Reported-by: Brian Carpenter
* lib: fix compiler warnings with `CURL_DISABLE_VERBOSE_STRINGS`Marcel Raad2020-01-034-10/+15
| | | | Closes https://github.com/curl/curl/pull/4775
* COPYING: it's 2020!Daniel Stenberg2020-01-031-1/+1
| | | | [skip ci]
* tests: Fix bounce requests with truncated writesMarc Aldorasi2020-01-031-0/+2
| | | | | | | | Prior to this change the swsbounce check in service_connection could fail because prevtestno and prevpartno were not set, which would cause the wrong response data to be sent to some tests and cause them to fail. Ref: https://github.com/curl/curl/pull/4717#issuecomment-570240785
* tool: make a few char pointers point to const char insteadMarcel Raad2019-12-313-4/+3
| | | | | | These are read-only. Closes https://github.com/curl/curl/pull/4771
* tests: Change NTLM tests to require SSLJay Satiro2019-12-3148-0/+48
| | | | | | | | | | | | | | | | | | Prior to this change tests that required NTLM feature did not require SSL feature. There are pending changes to cmake builds that will allow enabling NTLM in non-SSL builds in Windows. In that case the NTLM auth strings created are different from what is expected by the NTLM tests and they fail: "The issue with NTLM is that previous non-SSL builds would not enable NTLM and so the NTLM tests would be skipped." Assisted-by: marc-groundctl@users.noreply.github.com Ref: https://github.com/curl/curl/pull/4717#issuecomment-566218729 Closes https://github.com/curl/curl/pull/4768
* bearssl: Improve I/O handlingMichael Forney2019-12-311-85/+77
| | | | | | | | | | | | | | | | | Factor out common I/O loop as bearssl_run_until, which reads/writes TLS records until the desired engine state is reached. This is now used for the handshake, read, write, and close. Match OpenSSL SSL_write behavior, and don't return the number of bytes written until the corresponding records have been completely flushed across the socket. This involves keeping track of the length of data buffered into the TLS engine, and assumes that when CURLE_AGAIN is returned, the write function will be called again with the same data and length arguments. This is the same requirement of SSL_write. Handle TLS close notify as EOF when reading by returning 0. Closes https://github.com/curl/curl/pull/4748
* travis: Fix error detectionJay Satiro2019-12-314-250/+267
| | | | | | | | | | | | | | - Stop using inline shell scripts for before_script and script sections. Prior to this change Travis could ignore errors from commands in inline scripts. I don't understand how or why it happens. This is a workaround. Assisted-by: Simon Warta Ref: https://github.com/travis-ci/travis-ci/issues/1066 Fixes https://github.com/curl/curl/issues/3730 Closes https://github.com/curl/curl/pull/3755
* tool_operate: fix mem leak when failed config parseJay Satiro2019-12-291-1/+3
| | | | | | | | Found by fuzzing the config file. Reported-by: Geeknik Labs Fixes https://github.com/curl/curl/issues/4767
* lib: remove erroneous +x file permission on some c filesXiang Xiao2019-12-272-0/+0
| | | | | | Modified by commit eb9a604 accidentally. Closes https://github.com/curl/curl/pull/4756
* lib: fix warnings found when porting to NuttXXiang Xiao2019-12-273-1/+5
| | | | | | | | | | | | - Undefine DEBUGASSERT in curl_setup_once.h in case it was already defined as a system macro. - Don't compile write32_le in curl_endian unless CURL_SIZEOF_CURL_OFF_T > 4, since it's only used by Curl_write64_le. - Include <arpa/inet.h> in socketpair.c. Closes https://github.com/curl/curl/pull/4756
* os400: Add missing CURLE error constantsJay Satiro2019-12-261-0/+6
| | | | | Bug: https://github.com/curl/curl/pull/4754#issuecomment-569126922 Reported-by: Emil Engler
* CURLOPT_HEADERFUNCTION.3: Document that size is always 1Jay Satiro2019-12-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | For compatibility with `fwrite`, the `CURLOPT_HEADERFUNCTION` callback is passed two `size_t` parameters which, when multiplied, designate the number of bytes of data passed in. In practice, CURL always sets the first parameter (`size`) to 1. This practice is also enshrined in documentation and cannot be changed in future. The documentation states that the default callback is `fwrite`, which means `fwrite` must be a suitable function for this purpose. However, the documentation also states that the callback must return the number of *bytes* it successfully handled, whereas ISO C `fwrite` returns the number of items (each of size `size`) which it wrote. The only way these numbers can be equal is if `size` is 1. Since `size` is 1 and can never be changed in future anyway, document that fact explicitly and let users rely on it. Reported-by: Frank Gevaerts Commit-message-by: Christopher Head Ref: https://github.com/curl/curl/pull/2787 Fixes https://github.com/curl/curl/issues/4758
* examples/postinmemory.c: Call curl_global_cleanup alwaysJay Satiro2019-12-241-3/+2
| | | | | | | | | Prior to this change curl_global_cleanup was not called if curl_easy_init failed. Reported-by: kouzhudong@users.noreply.github.com Fixes https://github.com/curl/curl/issues/4751
* url2file.c: fix copyright yearDaniel Stenberg2019-12-211-1/+1
| | | | Follow-up to 525787269599b5
* examples/url2file.c: corrected a commentRickard Hallerbäck2019-12-201-1/+1
| | | | | | | | The comment was confusing and suggested that setting CURLOPT_NOPROGRESS to 0L would both enable and disable debug output at the same time, like a Schrödinger's cat of CURLOPTs. Closes #4745
* HISTORY: OSS-Fuzz started fuzzing libcurl in 2017Daniel Stenberg2019-12-201-0/+2
|
* RELEASE-NOTES: syncedDaniel Stenberg2019-12-201-13/+58
|
* ngtcp2: Support the latest update key callback typeJay Satiro2019-12-202-33/+1
| | | | | | | | | | | | | | | - Remove our cb_update_key in favor of ngtcp2's new ngtcp2_crypto_update_key_cb which does the same thing. Several days ago the ngtcp2_update_key callback function prototype was changed in ngtcp2/ngtcp2@42ce09c. Though it would be possible to fix up our cb_update_key for that change they also added ngtcp2_crypto_update_key_cb which does the same thing so we'll use that instead. Ref: https://github.com/ngtcp2/ngtcp2/commit/42ce09c Closes https://github.com/curl/curl/pull/4735
* sws: search for "Testno:" header uncondtionally if no testnoDaniel Stenberg2019-12-192-18/+25
| | | | | | | | | Even if the initial request line wasn't found. With the fix to 1455, the test number is now detected correctly. (Problem found when running tests in random order.) Closes #4744
* tests: set LC_ALL in more testsDaniel Stenberg2019-12-193-3/+3
| | | | | | Follow-up to 23208e330ac0c21 Closes #4743
* test165: set LC_ALL=en_US.UTF-8 tooDaniel Stenberg2019-12-191-1/+1
| | | | | | | | | On my current Debian Unstable with libidn2 2.2.0, I get an error if LC_ALL is set to blank. Then curl errors out with: curl: (3) Failed to convert www.åäö.se to ACE; could not convert string to UTF-8 Closes #4738
* curl.h: add two defines for the "pre ISO C" caseDaniel Stenberg2019-12-191-0/+2
| | | | | | | | | Without this fix, this caused a compilation failure on AIX with IBM xlc 13.1.3 compiler. Reported-by: Ram Krushna Mishra Fixes #4739 Closes #4740
* create_conn: prefer multiplexing to using new connectionsDaniel Stenberg2019-12-191-18/+0
| | | | | | | | | | | ... as it would previously prefer new connections rather than multiplexing in most conditions! The (now removed) code was a leftover from the Pipelining code that was translated wrongly into a multiplex-only world. Reported-by: Kunal Ekawde Bug: https://curl.haxx.se/mail/lib-2019-12/0060.html Closes #4732
* test1456: remove the use of a fixed local portDaniel Stenberg2019-12-191-2/+8
| | | | | | | | | Fixup the test to instead not compare the port number. It sometimes caused problems like this: "curl: (45) bind failed with errno 98: Address already in use" Closes #4733
* CURLOPT_QUOTE.3: fix typosJay Satiro2019-12-183-11/+11
| | | | | | | | | Prior to this change the EXAMPLE in the QUOTE/PREQUOTE/POSTQUOTE man pages would not compile because a variable name was incorrect. Reported-by: Bylon2@users.noreply.github.com Fixes https://github.com/curl/curl/issues/4736
* strerror: Fix compiler warning "empty expression"Gisle Vanem2019-12-181-1/+1
| | | | | | | | | | | | | - Remove the final semi-colon in the SEC2TXT() macro definition. Before: #define SEC2TXT(sec) case sec: txt = #sec; break; After: #define SEC2TXT(sec) case sec: txt = #sec; break Prior to this change SEC2TXT(foo); would generate break;; which caused the empty expression warning. Ref: https://github.com/curl/curl/commit/5b22e1a#r36458547
* curl/parseconfig: use curl_free() to free memory allocated by libcurlDaniel Stenberg2019-12-181-2/+2
| | | | | | Reported-by: bxac on github Fixes #4730 Closes #4731
* curl/parseconfig: fix mem-leakDaniel Stenberg2019-12-181-0/+2
| | | | | | | When looping, first trying '.curlrc' and then '_curlrc', the function would not free the first string. Closes #4731
* CURLOPT_URL.3: "curl supports SMB version 1 (only)"Daniel Stenberg2019-12-181-2/+2
| | | | [skip ci]
* test1270: a basic -w redirect_url testDaniel Stenberg2019-12-182-1/+70
| | | | Closes #4728
* HISTORY: the SMB(S) support landed in 2014Daniel Stenberg2019-12-181-0/+2
|
* define: remove HAVE_ENGINE_LOAD_BUILTIN_ENGINES, not used anymoreDaniel Stenberg2019-12-177-38/+2
| | | | | | | | | It is covered by USE_OPENSSL_ENGINE now. Reported-by: Gisle Vanem Bug: https://github.com/curl/curl/commit/87b9337c8f76c21c57b204e88b68c6ecf3bd1ac0#commitcomment-36447951 Closes #4725
* lib: remove ASSIGNWITHINCONDITION exceptions, use our code styleDaniel Stenberg2019-12-172-5/+14
| | | | | | | | | | ... even for macros Reviewed-by: Daniel Gustafsson Reviewed-by: Jay Satiro Reported-by: Jay Satiro Fixes #4683 Closes #4722