summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* RELEASE-NOTES: syncedDaniel Stenberg2021-04-151-4/+4
| | | | and bumped curlver to 7.77.0
* typecheck-gcc: make the ssl-ctx-cb check use SSL_CTX pointersDaniel Stenberg2021-04-071-6/+6
| | | | | | | | ... and not values. Reported-by: locpyl-tidnyd on github Fixes #6818 Closes #6819
* RELEASE-NOTES: syncedDaniel Stenberg2021-04-041-3/+3
| | | | and bumped to 7.76.1
* http: add support to read and store the referrer headerViktor Szakats2021-02-191-1/+2
| | | | | | | | | - add CURLINFO_REFERER libcurl option - add --write-out '%{referer}' command-line option - extend --xattr command-line option to fill user.xdg.referrer.url extended attribute with the referrer (if there was any) Closes #6591
* doh: add options to disable ssl verificationJay Satiro2021-02-141-0/+9
| | | | | | | | | | | | | | | | | | | | | | - New libcurl options CURLOPT_DOH_SSL_VERIFYHOST, CURLOPT_DOH_SSL_VERIFYPEER and CURLOPT_DOH_SSL_VERIFYSTATUS do the same as their respective counterparts. - New curl tool options --doh-insecure and --doh-cert-status do the same as their respective counterparts. Prior to this change DOH SSL certificate verification settings for verifyhost and verifypeer were supposed to be inherited respectively from CURLOPT_SSL_VERIFYHOST and CURLOPT_SSL_VERIFYPEER, but due to a bug were not. As a result DOH verification remained at the default, ie enabled, and it was not possible to disable. This commit changes behavior so that the DOH verification settings are independent and not inherited. Ref: https://github.com/curl/curl/pull/4579#issuecomment-554723676 Fixes https://github.com/curl/curl/issues/4578 Closes https://github.com/curl/curl/pull/6597
* RELEASE-NOTES: syncedDaniel Stenberg2021-02-121-4/+4
| | | | bumped the version to 7.76.0
* gsasl: provide CURL_VERSION_GSASL if built-inDaniel Stenberg2021-02-111-0/+1
| | | | | | To let applications know the feature is available. Closes #6592
* vtls: initial implementation of rustls backendJacob Hoffman-Andrews2021-02-091-1/+2
| | | | | | | | | | | | | | | | | This adds a new TLS backend, rustls. It uses the C-to-rustls bindings from https://github.com/abetterinternet/crustls. Rustls is at https://github.com/ctz/rustls/. There is still a fair bit to be done, like sending CloseNotify on connection shutdown, respecting CAPATH, and properly indicating features like "supports TLS 1.3 ciphersuites." But it works well enough to make requests and receive responses. Blog post for context: https://www.abetterinternet.org/post/memory-safe-curl/ Closes #6350
* RELEASE-NOTES: syncedDaniel Stenberg2021-02-041-5/+5
| | | | ... and bump pending version to 7.75.1 (for now)
* http: improve AWS HTTP v4 Signature authDmitry Wagin2021-01-301-2/+2
| | | | | | | | | | | | | | | | | | - Add support services without region and service prefixes in the URL endpoint (ex. Min.IO, GCP, Yandex Cloud, Mail.Ru Cloud Solutions, etc) by providing region and service parameters via aws-sigv4 option. - Add [:region[:service]] suffix to aws-sigv4 option; - Fix memory allocation errors. - Refactor memory management. - Use Curl_http_method instead() STRING_CUSTOMREQUEST. - Refactor canonical headers generating. - Remove repeated sha256_to_hex() usage. - Add some docs fixes. - Add some codestyle fixes. - Add overloaded strndup() for debug - curl_dbg_strndup(). - Update tests. Closes #6524
* curl.h: add CURLPROTO_GOPHERS as own protocol identifierDaniel Stenberg2021-01-061-0/+1
| | | | | | | Follow-up to a1f06f32b860, to make sure it can be handled separately from plain gopher. Closes #6418
* language: s/behaviour/behavior/gEmil Engler2021-01-021-2/+2
| | | | | | | | We currently use both spellings the british "behaviour" and the american "behavior". However "behavior" is more used in the project so I think it's worth dropping the british name. Closes #6395
* http: Make the call to v4 signatureMatthias Gatto2020-12-211-0/+1
| | | | | | This patch allow to call the v4 signature introduce in previous commit Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
* http: introduce AWS HTTP v4 SignatureMatthias Gatto2020-12-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is a security process for HTTP. It doesn't seems to be standard, but it is used by some cloud providers. Aws: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html Outscale: https://wiki.outscale.net/display/EN/Creating+a+Canonical+Request GCP (I didn't test that this code work with GCP though): https://cloud.google.com/storage/docs/access-control/signing-urls-manually most of the code is in lib/http_v4_signature.c Information require by the algorithm: - The URL - Current time - some prefix that are append to some of the signature parameters. The data extracted from the URL are: the URI, the region, the host and the API type example: https://api.eu-west-2.outscale.com/api/latest/ReadNets ~~~ ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ ^ ^ ^ / \ URI API type region Small description of the algorithm: - make canonical header using content type, the host, and the date - hash the post data - make canonical_request using custom request, the URI, the get data, the canonical header, the signed header and post data hash - hash canonical_request - make str_to_sign using one of the prefix pass in parameter, the date, the credential scope and the canonical_request hash - compute hmac from date, using secret key as key. - compute hmac from region, using above hmac as key - compute hmac from api_type, using above hmac as key - compute hmac from request_type, using above hmac as key - compute hmac from str_to_sign using above hmac as key - create Authorization header using above hmac, prefix pass in parameter, the date, and above hash Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com> Closes #5703
* version: include hyper versionDaniel Stenberg2020-12-181-1/+4
|
* RELEASE-NOTES: syncedDaniel Stenberg2020-12-161-4/+4
|
* RELEASE-NOTES: syncedDaniel Stenberg2020-12-091-3/+3
| | | | start over on the next release cycle
* curl: add compatibility for Amiga and GCC 6.5Oliver Urbann2020-11-201-1/+1
| | | | | | | Changes are mainly reordering and adding of includes required to compile with a more recent version of GCC. Closes #6220
* copyright: fix year rangesDaniel Stenberg2020-11-054-4/+4
| | | | Follow-up from 4d2f8006777
* curl.se: new homeDaniel Stenberg2020-11-0412-13/+13
| | | | Closes #6172
* curlver: bumped to 7.74.0Daniel Stenberg2020-11-031-4/+4
|
* hsts: add read/write callbacksDaniel Stenberg2020-11-032-0/+38
| | | | | | | | - read/write callback options - man pages for the 4 new setopts - test 1915 verifies the callbacks Closes #5896
* hsts: add support for Strict-Transport-SecurityDaniel Stenberg2020-11-031-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | - enable in the build (configure) - header parsing - host name lookup - unit tests for the above - CI build - CURL_VERSION_HSTS bit - curl_version_info support - curl -V output - curl-config --features - CURLOPT_HSTS_CTRL - man page for CURLOPT_HSTS_CTRL - curl --hsts (sets CURLOPT_HSTS_CTRL and works with --libcurl) - man page for --hsts - save cache to disk - load cache from disk - CURLOPT_HSTS - man page for CURLOPT_HSTS - added docs/HSTS.md - fixed --version docs - adjusted curl_easy_duphandle Closes #5896
* alt-svc: enable by defaultDaniel Stenberg2020-10-251-2/+0
| | | | | | | | Remove CURLALTSVC_IMMEDIATELY, which was never implemented/supported. alt-svc support in curl is no longer considered experimental Closes #5868
* RELEASE-NOTES: syncedDaniel Stenberg2020-10-151-3/+3
| | | | Started over for the journey to next release.
* include/README: convert to markdownDaniel Stenberg2020-09-303-19/+15
| | | | Closes #6028
* tls: add CURLOPT_SSL_EC_CURVES and --curvesMichael Baentsch2020-08-302-0/+7
| | | | Closes #5892
* tests: add test1912 with typechecksJeroen Ooms2020-08-281-1/+1
| | | | | | Validates that gcc-typecheck macros match the new option type API. Closes #5873
* options: API for meta-data about easy optionsDaniel Stenberg2020-08-273-40/+119
| | | | | | | | | | | | | | | | const struct curl_easyoption *curl_easy_option_by_name(const char *name); const struct curl_easyoption *curl_easy_option_by_id (CURLoption id); const struct curl_easyoption * curl_easy_option_next(const struct curl_easyoption *prev); The purpose is to provide detailed enough information to allow for example libcurl bindings to get option information at run-time about what easy options that exist and what arguments they expect. Assisted-by: Jeroen Ooms Closes #5365
* sftp: add the option CURLKHSTAT_FINE_REPLACEMichael Musset2020-08-241-0/+1
| | | | | | Replace the old fingerprint of the host with a new. Closes #5685
* RELEASE-NOTES: syncedDaniel Stenberg2020-08-241-4/+4
| | | | The next release is now to become 7.73.0
* CURLE_PROXY: new error codeDaniel Stenberg2020-08-241-1/+45
| | | | | | | | | | | | Failures clearly returned from a (SOCKS) proxy now causes this return code. Previously the situation was not very clear as what would be returned and when. In addition: when this error code is returned, an application can use CURLINFO_PROXY_ERROR to query libcurl for the detailed error, which then returns a value from the new 'CURLproxycode' enum. Closes #5770
* RELEASE-NOTES: syncedDaniel Stenberg2020-08-191-3/+3
| | | | ... and version bumped to 7.72.1
* curl.h: update CURLINFO_LASTONEJay Satiro2020-07-231-1/+1
| | | | | | | | | CURLINFO_LASTONE should have been updated when CURLINFO_EFFECTIVE_METHOD was added. Reported-by: xwxbug@users.noreply.github.com Fixes https://github.com/curl/curl/issues/5711
* CURL_PUSH_ERROROUT: allow the push callback to fail the parent streamDaniel Stenberg2020-07-161-4/+6
| | | | | | | | | ... by adding support for a new dedicated return code. Suggested-by: Jonathan Cardoso Assisted-by: Erik Johansson URL: https://curl.haxx.se/mail/lib-2020-06/0099.html Closes #5636
* CURLINFO_EFFECTIVE_METHOD: addedDaniel Stenberg2020-07-141-4/+1
| | | | | | | Provide the HTTP method that was used on the latest request, which might be relevant for users when there was one or more redirects involved. Closes #5511
* windows: add unicode to feature listViktor Szakats2020-07-141-0/+2
| | | | | | | Reviewed-by: Marcel Raad Reviewed-by: Marc Hörsken Closes #5491
* RELEASE-NOTES: syncedDaniel Stenberg2020-07-121-4/+4
| | | | ... and bumped to 7.72.0 as the next release version number
* content_encoding: add zstd decoding supportGilles Vollant2020-07-121-2/+8
| | | | | | | | | include zstd curl patch for Makefile.m32 from vszakats and include Add CMake support for zstd from Peter Wu Helped-by: Viktor Szakats Helped-by: Peter Wu Closes #5453
* RELEASE-NOTES: syncedDaniel Stenberg2020-07-011-3/+3
|
* terminology: call them null-terminated stringsDaniel Stenberg2020-06-282-4/+4
| | | | | | | | | | | Updated terminology in docs, comments and phrases to refer to C strings as "null-terminated". Done to unify with how most other C oriented docs refer of them and what users in general seem to prefer (based on a single highly unscientific poll on twitter). Reported-by: coinhubs on github Fixes #5598 Closes #5608
* curlver: start working on 7.71.1Daniel Stenberg2020-06-241-3/+3
|
* wording: avoid blacklist/whitelist stereotypesDaniel Stenberg2020-06-101-4/+2
| | | | | | | | Instead of discussing if there's value or meaning (implied or not) in the colors, let's use words without the same possibly negative associations. Closes #5546
* all: fix codespell errorsViktor Szakats2020-05-251-1/+1
| | | | | | Reviewed-by: Jay Satiro Reviewed-by: Daniel Stenberg Closes https://github.com/curl/curl/pull/5452
* setopt: add CURLOPT_PROXY_ISSUERCERT(_BLOB) for coherencyGilles Vollant2020-05-231-0/+4
| | | | Closes #5431
* typecheck-gcc.h: CURLINFO_PRIVATE does not need a 'char *'Daniel Stenberg2020-05-211-2/+3
| | | | | | Reported-by: Billyzou0741326 on github Fixes #5432 Closes #5436
* typecheck-gcc.h: fix the OFF_T checkDaniel Stenberg2020-05-201-2/+2
| | | | | | | | The option number also needs to be less than CURLOPTTYPE_BLOB. Follow-up to cac5374298 Reported-by: Jeroen Ooms Bug: https://github.com/curl/curl/pull/5365#issuecomment-631084114
* setopt: support certificate options in memory with struct curl_blobGilles Vollant2020-05-152-1/+20
| | | | | | | | | | | | | This change introduces a generic way to provide binary data in setopt options, called BLOBs. This change introduces these new setopts: CURLOPT_ISSUERCERT_BLOB, CURLOPT_PROXY_SSLCERT_BLOB, CURLOPT_PROXY_SSLKEY_BLOB, CURLOPT_SSLCERT_BLOB and CURLOPT_SSLKEY_BLOB. Reviewed-by: Daniel Stenberg Closes #5357
* source cleanup: remove all custom typedef structsDaniel Stenberg2020-05-151-6/+8
| | | | | | | | | | | - Stick to a single unified way to use structs - Make checksrc complain on 'typedef struct {' - Allow them in tests, public headers and examples - Let MD4_CTX, MD5_CTX, and SHA256_CTX typedefs remain as they actually typedef different types/structs depending on build conditions. Closes #5338
* RELEASE-NOTES: syncedDaniel Stenberg2020-05-081-4/+4
| | | | And bumped next version to 7.71.0