summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* curl/websockets.h: extend the websocket frame structDaniel Stenberg2023-02-101-0/+1
|
* system.h: assume OS400 is always built with ILEC compilerJay Satiro2023-01-211-10/+8
| | | | | | | | | | | | | | | | Prior to this change the OS400 types were only defined when __ILEC400__. That symbol is only defined by IBM's C compiler and not their C++ compiler, which led to missing types when users on OS400 would compile a C++ application that included curl. The IBM C and C++ compilers are the only native compilers on the platform. Assisted-by: Jon Rumsey Reported-by: John Sherrill Fixes https://github.com/curl/curl/issues/10305 Closes https://github.com/curl/curl/pull/10329
* curl.h: add CURL_HTTP_VERSION_3ONLYDaniel Stenberg2023-01-121-2/+7
| | | | | | As the previous CURL_HTTP_VERSION_3 option gets a slightly altered meaning. Closes #10264
* curl.h: allow up to 10M buffer sizeDaniel Stenberg2023-01-081-1/+1
| | | | | | | | | | Bump the limit from 512K. There might be reasons for applications using h3 to set larger buffers and there is no strong reason for curl to have a very small maximum. Ref: https://curl.se/mail/lib-2023-01/0026.html Closes #10256
* copyright: update all copyright lines and remove year rangesDaniel Stenberg2023-01-0316-17/+17
| | | | | | | | | | | | - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - saves us from pointless churn - git keeps history for us - the year range is kept in COPYING checksrc is updated to allow non-year using copyright statements Closes #10205
* curl.h: mark CURLSSLBACKEND_MESALINK as deprecatedDaniel Stenberg2023-01-011-2/+2
| | | | | | | | Follow-up since 223f26c28a340b36 Deprecated since 7.82.0 Closes #10189
* share: add sharing of HSTS cache among handlesDaniel Stenberg2022-12-271-0/+1
| | | | Closes #10138
* urlapi: add CURLU_PUNYCODEDaniel Stenberg2022-12-261-0/+2
| | | | | | | | | Allows curl_url_get() get the punycode version of host names for the host name and URL parts. Extend test 1560 to verify. Closes #10109
* typecheck: accept expressions for option/info parametersPatrick Monnerat2022-12-261-4/+2
| | | | | | | | | | | | | | | | | As expressions can have side effects, evaluate only once. To enable deprecation reporting only once, get rid of the __typeof__ use to define the local temporary variable and use the target type (CURLoption/CURLINFO). This also avoids multiple reports on type conflicts (if some) by the curlcheck_* macros. Note that CURLOPT_* and CURLINFO_* symbols may be deprecated, but not their values: a curl_easy_setopt call with an integer constant as option will never report a deprecation. Reported-by: Thomas Klausner Fixes #10148 Closes #10149
* RELEASE_NOTES: syncedDaniel Stenberg2022-12-211-3/+3
| | | | bumped version for new cycle
* curl.h: reword comment to not use deprecated optionDaniel Gustafsson2022-12-091-1/+1
| | | | | | | | | CURLOPT_INFILE was replaced by CURLOPT_READDATA in 7.9.7, reword the comment mentioning it to make code grepping easier as well as improve the documentation. Closes: #10062 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* system.h: fix socklen_t, curl_off_t, long long for Classic Mac OSRyan Schmidt2022-12-091-7/+16
| | | | | | | | | | | | | | | | | | Change "__MWERKS__" to "macintosh". When this block was originally added in 3ac6929 it was probably intended to handle classic Mac OS since the previous classic Mac OS build procedure for curl (which was removed in bf327a9) used Metrowerks CodeWarrior. But there are other classic Mac OS compilers, such as the MPW compilers, that were not handled by this case. For classic Mac OS, CURL_TYPEOF_CURL_SOCKLEN_T needs to match what's provided by the third-party GUSI library, which does not vary by compiler. Meanwhile CodeWarrior works on platforms other than classic Mac OS, and they may need different definitions. Separate blocks could be added later for any of those platforms that curl doesn't already support. Closes #10049
* curl.h: name all public function parametersRyan Schmidt2022-12-061-5/+6
| | | | | | | Most public function parameters already have names; this adds those that were missing. Closes #10036
* curl.h: include <sys/select.h> on SerenityOSKenneth Myhra2022-11-301-1/+1
| | | | Closes #10006
* include/curl/curl.h: bump the deprecated requirements to gcc 6.1Daniel Stenberg2022-11-281-4/+3
| | | | | | Reported-by: Michael Kaufmann Fixes #9917 Closes #9987
* CURLOPT_QUICK_EXIT: don't wait for DNS thread on exitAlexandre Ferrieux2022-11-181-0/+3
| | | | | Fixes #2975 Closes #9147
* include/curl/curl.h: bump the deprecated requirements to gcc 5.3Daniel Stenberg2022-11-151-1/+1
| | | | | | Reported-by: Stephan Guilloux Fixes #9917 Closes #9918
* lib: feature deprecation warnings in gcc >= 4.3Patrick Monnerat2022-11-153-155/+220
| | | | | | | | | | | | | | | | | | | | | | | Add a deprecated attribute to functions and enum values that should not be used anymore. This uses a gcc 4.3 dialect, thus is only available for this version of gcc and newer. Note that the _Pragma() keyword is introduced by C99, but is available as part of the gcc dialect even when compiling in C89 mode. It is still possible to disable deprecation at a calling module compile time by defining CURL_DISABLE_DEPRECATION. Gcc type checking macros are made aware of possible deprecations. Some testing support Perl programs are adapted to the extended declaration syntax. Several test and unit test C programs intentionally use deprecated functions/options and are annotated to not generate a warning. New test 1222 checks the deprecation status in doc and header files. Closes #9667
* version: add a feature names array to curl_version_info_dataPatrick Monnerat2022-11-141-1/+6
| | | | | | | | | | Field feature_names contains a null-terminated sorted array of feature names. Bitmask field features is deprecated. Documentation is updated. Test 1177 and tests/version-scan.pl updated to match new documentation format and extended to check feature names too. Closes #9583
* lib: add CURL_WRITEFUNC_ERROR to signal write callback errorJay Satiro2022-11-101-0/+4
| | | | | | | | | | | | | | | Prior to this change if the user wanted to signal an error from their write callbacks they would have to use logic to return a value different from the number of bytes (nmemb) passed to the callback. Also, the inclination of some users has been to just return 0 to signal error, which is incorrect as that may be the number of bytes passed to the callback. To remedy this the user can now return CURL_WRITEFUNC_ERROR instead. Ref: https://github.com/curl/curl/issues/9873 Closes https://github.com/curl/curl/pull/9874
* headers: add endif commentsHirotaka Tagawa2022-11-093-4/+4
| | | | Closes #9853
* RELEASE-NOTES: syncedDaniel Stenberg2022-11-081-4/+4
| | | | Bumped version to 7.87.0
* curl.h: add CURLOPT_CA_CACHE_TIMEOUT optionMichael Drake2022-11-081-0/+3
| | | | | | | | | | Adds a new option to control the maximum time that a cached certificate store may be retained for. Currently only the OpenSSL backend implements support for caching certificate stores. Closes #9620
* style: use space after comment start and before comment endDaniel Stenberg2022-10-302-11/+11
| | | | | | | | | | /* like this */ /*not this*/ checksrc is updated accordingly Closes #9828
* system.h: support 64-bit curl_off_t for NonStop 32-bitRandall S. Becker2022-10-271-0/+11
| | | | | | | | | - Correctly define curl_off_t on NonStop (ie __TANDEM) ia64 and x86 for 32-bit builds. Signed-off-by: Randall S. Becker <randall.becker@nexbridge.ca> Closes https://github.com/curl/curl/pull/9817
* misc: typo and grammar fixesAyesh Karunaratne2022-10-271-2/+2
| | | | | | | | | | - Replace `Github` with `GitHub`. - Replace `windows` with `Windows` - Replace `advice` with `advise` where a verb is used. - A few fixes on removing repeated words. - Replace `a HTTP` with `an HTTP` Closes #9802
* RELEASE-NOTES: syncedDaniel Stenberg2022-10-261-3/+3
| | | | And bumped version to 7.86.1 for now
* websockets: remodeled API to support 63 bit frame sizesDaniel Stenberg2022-10-071-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | curl_ws_recv() now receives data to fill up the provided buffer, but can return a partial fragment. The function now also get a pointer to a curl_ws_frame struct with metadata that also mentions the offset and total size of the fragment (of which you might be receiving a smaller piece). This way, large incoming fragments will be "streamed" to the application. When the curl_ws_frame struct field 'bytesleft' is 0, the final fragment piece has been delivered. curl_ws_recv() was also adjusted to work with a buffer size smaller than the fragment size. (Possibly needless to say as the fragment size can now be 63 bit large). curl_ws_send() now supports sending a piece of a fragment, in a streaming manner, in addition to sending the entire fragment in a single call if it is small enough. To send a huge fragment, curl_ws_send() can be used to send it in many small calls by first telling libcurl about the total expected fragment size, and then send the payload in N number of separate invokes and libcurl will stream those over the wire. The struct curl_ws_meta() returns is now called 'curl_ws_frame' and it has been extended with two new fields: *offset* and *bytesleft*. To help describe the passed on data chunk when a fragment is delivered in many smaller pieces. The documentation has been updated accordingly. Closes #9636
* curl.h: fix mention of wrong error code in commentDaniel Stenberg2022-09-221-2/+2
| | | | | The same error and comment were also used and is now corrected in CURLOPT_SSH_KEYFUNCTION.3
* misc: null-terminateDaniel Stenberg2022-09-171-1/+1
| | | | | | Make use of this term consistently. Closes #9527
* include/curl/websockets.h: add extern "C" for C++Daniel Stenberg2022-09-151-0/+8
| | | | | | Reported-by: n0name321 on github Fixes #9509 Closes #9510
* curl/websockets.h: remove leftover bad typedefDaniel Stenberg2022-09-101-4/+0
| | | | | | | | | Just a leftover trace of a development thing that did not stay like that. Reported-by: Marc Hörsken Fixes #9465 Cloes #9466
* curl_ws_meta: initial implementationDaniel Stenberg2022-09-091-1/+1
|
* curl_ws_meta.3: added docsDaniel Stenberg2022-09-091-0/+7
|
* ws: initial websockets supportDaniel Stenberg2022-09-093-1/+73
| | | | Closes #8995
* header: define public API functions as extern cJay Satiro2022-09-081-0/+8
| | | | | | | | | | Prior to this change linker errors would occur if curl_easy_header or curl_easy_nextheader was called from a C++ unit. Bug: https://github.com/curl/curl/issues/9424#issuecomment-1238818007 Reported-by: Andrew Lambert Closes https://github.com/curl/curl/pull/9446
* RELEASE-NOTES: syncedDaniel Stenberg2022-09-071-4/+4
| | | | And bump to 7.86.0 for the pending next release
* RELEASE-NOTES: syncedDaniel Stenberg2022-09-041-3/+3
| | | | and bump the tentative next release version to 7.85.1
* misc: spelling fixesViktor Szakats2022-08-311-1/+1
| | | | | | | | | Found using codespell 2.2.1. Also delete the redundant protocol designator from an archive.org URL. Reviewed-by: Daniel Stenberg Closes #9403
* curl.h: include <sys/select.h> on SunOSTobias Nygren2022-08-171-1/+2
| | | | | | | | It is needed for fd_set to be visible to downstream consumers that use <curl/multi.h>. Header is known to exist at least as far back as Solaris 2.6. Closes #9329
* RELEASE-NOTES: syncedDaniel Stenberg2022-07-051-4/+4
| | | | Bumped to 7.85.0
* CURLOPT_SERVER_RESPONSE_TIMEOUT: the new nameDaniel Stenberg2022-07-051-7/+9
| | | | | | | | | | | Starting now, CURLOPT_FTP_RESPONSE_TIMEOUT is the alias instead of the other way around. Since 7.20.0, CURLOPT_SERVER_RESPONSE_TIMEOUT has existed as an alias but since the option is for more protocols than FTP the more "correct" version of the option is the "server" one so now we switch. Closes #9104
* setopt: add CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STRDaniel Stenberg2022-07-042-6/+18
| | | | | | | | | | | | | | ... as replacements for deprecated CURLOPT_PROTOCOLS and CURLOPT_REDIR_PROTOCOLS as these new ones do not risk running into the 32 bit limit the old ones are facing. CURLINFO_PROTCOOL is now deprecated. The curl tool is updated to use the new options. Added test 1597 to verify the libcurl protocol parser. Closes #8992
* RELEASE-NOTES: syncedDaniel Stenberg2022-07-011-3/+3
| | | | bumped to 7.84.1
* curl.h: CURLE_CONV_FAILED is obsoletedDaniel Stenberg2022-06-291-1/+2
| | | | | | | The last use was removed in 7.82.0. Updated some docs too to reflect the current error code situation. Closes #9067
* version: rename threadsafe-init to threadsafeViktor Szakats2022-06-131-3/+2
| | | | | | | | | | | | | | | | | | | | Referring to Daniel's article [1], making the init function thread-safe was the last bit to make libcurl thread-safe as a whole. So the name of the feature may as well be the more concise 'threadsafe', also telling the story that libcurl is now fully thread-safe, not just its init function. Chances are high that libcurl wants to remain so in the future, so there is little likelihood of ever needing any other distinct `threadsafe-<name>` feature flags. For consistency we also shorten `CURL_VERSION_THREADSAFE_INIT` to `CURL_VERSION_THREADSAFE`, update its description and reference libcurl's thread safety documentation. [1]: https://daniel.haxx.se/blog/2022/06/08/making-libcurl-init-more-thread-safe/ Reviewed-by: Daniel Stenberg Reviewed-by: Jay Satiro Closes #8989
* copyright: make repository REUSE compliantmax.mehl2022-06-1315-5/+41
| | | | | | | | | | | Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the file `.reuse/dep5`. This commit also adds a Github workflow to check pull requests and adapts copyright.pl to the changes. Closes #8869
* select: return error from "lethal" poll/select errorsDaniel Stenberg2022-06-082-1/+3
| | | | | | | | | Adds two new error codes: CURLE_UNRECOVERABLE_POLL and CURLM_UNRECOVERABLE_POLL one each for the easy and the multi interfaces. Reported-by: Harry Sintonen Fixes #8921 Closes #8961
* curl_version_info: add CURL_VERSION_THREADSAFE_INITThomas Guillem2022-06-071-2/+6
| | | | | | | | | | This flag can be used to make sure that curl_global_init() is thread-safe. This can be useful for libraries that can't control what other dependencies are doing with Curl. Closes #8680
* libssh2: add CURLOPT_SSH_HOSTKEYFUNCTIONmichael musset2022-06-022-2/+21
| | | | | | | | | | | | The callback set by CURLOPT_SSH_HOSTKEYFUNCTION is called to check wether or not the connection should continue. The host key is passed in argument with a custom handle for the application. It overrides CURLOPT_SSH_KNOWNHOSTS Closes #7959