summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* pingpong: use a dynbuf for the *_pp_sendf() functionbagder/pingpong-dynbufDaniel Stenberg2020-09-236-31/+32
| | | | | ... reuses the same dynamic buffer instead of doing repeated malloc/free cycles.
* dynbuf: offer Curl_dyn_vaddfDaniel Stenberg2020-09-233-8/+30
|
* dynbuf: make *addf() not require extra mallocsDaniel Stenberg2020-09-234-18/+45
| | | | | | | | | | | | ... by introducing a printf() function that appends directly into a dynbuf: Curl_dyn_vprintf(). This avoids the mandatory extra malloc so if the buffer is already big enough it can just printf directly into it. Since this less-malloc version requires tthe use of a library internal printf function, we only provide this version when building libcurl and not for the dynbuf code that is used when building the curl tool. Closes #5998
* KNOWN_BUGS: Unable to use PKCS12 certificate with Secure TransportDaniel Stenberg2020-09-231-0/+5
| | | | Closes #5403
* pingpong: remove a malloc per Curl_pp_vsendf callDaniel Stenberg2020-09-221-9/+11
| | | | | | This typically makes 7-9 fewer mallocs per FTP transfer. Closes #5997
* symbian: drop supportDaniel Stenberg2020-09-2228-1318/+18
| | | | | | | | | 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
* RELEASE-NOTES: syncedDaniel Stenberg2020-09-221-2/+16
|
* curl_krb5.h: rename from krb5.hDaniel Stenberg2020-09-224-6/+6
| | | | | | | | | Follow-up from f4873ebd0be32cf Turns out some older openssl installations go bananas otherwise. Reported-by: Tom van der Woerdt Fixes #5995 Closes #5996
* test1297: verify GOT_NOTHING with http proxy tunnelDaniel Stenberg2020-09-222-35/+97
|
* http_proxy: do not count proxy headers in the header bytecountDaniel Stenberg2020-09-221-1/+0
| | | | | | | | | | ... as that counter is subsequently used to detect if nothing was returned from the peer. This made curl return CURLE_OK when it should have returned CURLE_GOT_NOTHING. Fixes #5992 Reported-by: Tom van der Woerdt Closes #5994
* setopt: return CURLE_BAD_FUNCTION_ARGUMENT on bad argumentDaniel Stenberg2020-09-222-17/+12
| | | | | | | Fixed two return code mixups. CURLE_UNKNOWN_OPTION is saved for when the option is, yeah, not known. Clarified this in the setopt man page too. Closes #5993
* krb5: merged security.c and krb specific FTP functions in hereDaniel Stenberg2020-09-219-682/+595
| | | | | | | | | | | These two files were always tightly connected and it was hard to understand what went into which. This also allows us to make the ftpsend() function static (moved from ftp.c). Removed security.c Renamed curl_sec.h to krb5.h Closes #5987
* Curl_handler: add 'family' to each protocolDaniel Stenberg2020-09-2123-116/+63
| | | | | | | Makes get_protocol_family() faster and it moves the knowledge about the "families" to each protocol handler, where it belongs. Closes #5986
* parsedate: tune the date to epoch conversionDaniel Stenberg2020-09-211-46/+11
| | | | | | | | | By avoiding an unnecessary error check and the temp use of the tm struct, the time2epoch conversion function gets a little bit faster. When repeating test 517, the updated version is perhaps 1% faster (on one particular build on one particular architecture). Closes #5985
* cmake: remove scary warningDaniel Stenberg2020-09-211-2/+0
| | | | | | | | | | | Remove the text saying "the curl cmake build system is poorly maintained. Be aware" ... not because anything changed just now, but to encourage users to use it and subsequently improve it. Closes #5984
* docs/MQTT: remove outdated paaragraphsDaniel Stenberg2020-09-211-12/+0
|
* docs/MQTT: not experimental anymoreDaniel Stenberg2020-09-211-20/+0
| | | | Follow-up to e37e4468688d8f
* docs/RESOURCES: removeDaniel Stenberg2020-09-182-86/+0
| | | | | | | | This document is not maintained and rather than trying to refresh it, let's kill it. A more up-to-date document with relevant RFCs is this page on the curl website: https://curl.haxx.se/rfc/ Closes #5980
* docs/TheArtOfHttpScripting: convert to markdownDaniel Stenberg2020-09-183-759/+693
| | | | | | | | | | Makes it easier to browse on github etc. Offers (better) links. It should be noted that this document is already mostly outdated and "Everything curl" at https://ec.haxx.se/ is a better resource and tutorial. Closes #5981
* BUGS: convert document to markdownDaniel Stenberg2020-09-183-303/+267
| | | | Closes #5979
* --help: strdup the categoryDaniel Stenberg2020-09-183-14/+14
| | | | | | | | | | ... since it is converted and the original pointer is freed on Windows unicode handling. Follow-up to aa8777f63febc Fixes #5977 Closes #5978 Reported-by: xwxbug on github
* CHECKSRC: document two missing warningsDaniel Stenberg2020-09-181-0/+4
|
* RELEASE-NOTES: syncedDaniel Stenberg2020-09-181-6/+40
|
* ftp: avoid risk of reading uninitialized integersDaniel Stenberg2020-09-181-2/+2
| | | | | | | | | If the received PASV response doesn't match the expected pattern, we could end up reading uninitialized integers for IP address and port number. Issue pointed out by muse.dev Closes #5972
* easy_reset: clear retry counterQuentin Balland2020-09-181-0/+1
| | | | | Closes #5975 Fixes #5974
* ftp: get rid of the PPSENDF macroDaniel Stenberg2020-09-181-156/+150
| | | | | | | The use of such a macro hides some of what's actually going on to the reader and is generally disapproved of in the project. Closes #5971
* man pages: switch to https://example.com URLsDaniel Stenberg2020-09-17125-129/+129
| | | | | | | Since HTTPS is "the new normal", this update changes a lot of man page examples to use https://example.com instead of the previous "http://..." Closes #5969
* github: remove the duplicate "Security vulnerability" entryDaniel Stenberg2020-09-171-3/+0
| | | | | | ... since github adds an entry automatically by itself. Closes #5970
* github: use new issue template featureEmil Engler2020-09-172-0/+23
| | | | | | | This helps us to avoid getting feature requests as well as security bugs reported into the issue tracker. Closes #5936
* urlapi: use more Curl_safefreeEmil Engler2020-09-171-4/+2
| | | | Closes #5968
* multi: align WinSock mask variables in Curl_multi_waitMarc Hoersken2020-09-171-11/+11
| | | | | | | | | | Also skip pre-checking sockets to set timeout_ms to 0 after the first socket has been detected to be ready. Reviewed-by: rcombs on github Reviewed-by: Daniel Stenberg Follow up to #5886
* multi: reuse WinSock events variable in Curl_multi_waitMarc Hoersken2020-09-171-12/+11
| | | | | | | | | | | Since the struct is quite large (1 long and 10 ints) we declare it once at the beginning of the function instead of multiple times inside loops to avoid stack movements. Reviewed-by: Viktor Szakats Reviewed-by: Daniel Stenberg Closes #5886
* TODO: dynamically decide to use socketpairDaniel Stenberg2020-09-161-0/+9
| | | | | | Suggested-by: Anders Bakken Closes #4829
* TODO: add PR reference for native IDN support on macOSDaniel Stenberg2020-09-161-0/+2
| | | | | | As there was work started on this that never got completed. Closes #5371
* tool_help.h: update copyright year rangeDaniel Stenberg2020-09-161-1/+1
| | | | Follow-up from aa8777f63febca
* CI/azure: disable test 571 in the msys2 buildsDaniel Stenberg2020-09-161-4/+4
| | | | | | | It's just too flaky there Reviewed-by: Marc Hoersken Closes #5954
* tool_writeout: protect fputs() from NULLDaniel Stenberg2020-09-151-9/+6
| | | | | | | | | When the code was changed to do fputs() instead of fprintf() it got sensitive for NULL pointers; add checks for that. Follow-up from 0c1e767e83ec66 Closes #5963
* test3015: verify stdout "as text"Daniel Stenberg2020-09-151-1/+1
| | | | | | Follow-up from 0c1e767e83e to please win32 tests Closes #5962
* travis: use libressl v3.1.4 instead of masterDaniel Stenberg2020-09-151-1/+1
| | | | | | | ... as their git master seems too fragile to use (and 3.2.1 which is the latest has a build failure). Closes #5964
* tests/FILEFORMAT: document type=shell for <command>Daniel Stenberg2020-09-151-1/+4
|
* tests/FILEFORMAT: document nonewline support for <file>Daniel Stenberg2020-09-151-1/+4
| | | | | | The one in <client>, that creates files. Follow-up from b83947c8df7
* tool_writeout: add new writeout variable, %{num_headers}anio2020-09-1514-23/+191
| | | | | | This variable gives the number of headers. Closes #5947
* tool_urlglob: fix compiler warning "unreachable code"Daniel Stenberg2020-09-151-2/+2
| | | | | | (On Windows builds.) Follow-up to 70a3b003d9
* vtls: deduplicate client certificates in ssl_config_dataGergely Nagy2020-09-1411-38/+36
| | | | Closes #5629
* ftp: a 550 response to SIZE returns CURLE_REMOTE_FILE_NOT_FOUNDDaniel Stenberg2020-09-1416-8/+155
| | | | | | | | | | | | | | | | | | | | This is primarily interesting for cases where CURLOPT_NOBODY is set as previously curl would not return an error for this case. MDTM getting 550 now also returns this error (it returned CURLE_FTP_COULDNT_RETR_FILE before) in order to unify return codes for missing files across protocols and specific FTP commands. libcurl already returns error on a 550 as a MDTM response (when CURLOPT_FILETIME is set). If CURLOPT_NOBODY is not set, an error would happen subsequently anyway since the RETR command would fail. Add test 1913 and 1914 to verify. Updated several tests accordingly due to the updated SIZE behavior. Reported-by: Tomas Berger Fixes #5953 Closes #5957
* curl: make checkpasswd use dynbufDaniel Stenberg2020-09-141-15/+8
| | | | Closes #5952
* curl: make glob_match_url use dynbufDaniel Stenberg2020-09-141-31/+15
| | | | Closes #5952
* curl: make file2memory use dynbufDaniel Stenberg2020-09-141-38/+14
| | | | Closes #5952
* curl: make file2string use dynbufDaniel Stenberg2020-09-141-32/+9
| | | | Closes #5952
* imap: set cselect_bits to CURL_CSELECT_IN initiallyAntarpreet Singh2020-09-141-0/+3
| | | | | | | | | | | | | | | ... when continuing a transfer from a FETCH response. When the size of the file was small enough that the entirety of the transfer happens in a single go and schannel buffers holds the entire data. However, it wasn't completely read in Curl_pp_readresp since a line break was found before that could happen. So, by the time we are in imap_state_fetch_resp - there's data in buffers that needs to be read via Curl_read but nothing to read from the socket. After we setup a transfer (Curl_setup_transfer), curl just waits on the socket state to change - which doesn't happen since no new data ever comes. Closes #5961