summaryrefslogtreecommitdiff
path: root/src/tool_cfgable.c
Commit message (Collapse)AuthorAgeFilesLines
* libssh2: add SHA256 fingerprint supportMats Lindestam2021-09-261-0/+1
| | | | | | | Added support for SHA256 fingerprint in command line curl and in libcurl. Closes #7646
* cookies: Support multiple -b parametersDaniel Gustafsson2021-02-251-2/+2
| | | | | | | | | | Previously only a single -b cookie parameter was supported with the last one winning. This adds support for supplying multiple -b params to have them serialized semicolon separated. Both cookiefiles and cookies can be entered multiple times. Closes #6649 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* copyright: fix year ranges in need of updatesDaniel Stenberg2021-02-031-1/+1
|
* http: improve AWS HTTP v4 Signature authDmitry Wagin2021-01-301-1/+1
| | | | | | | | | | | | | | | | | | - 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
* tool: add AWS HTTP v4 Signature supportMatthias Gatto2020-12-211-0/+2
| | | | Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
* ftp: CURLOPT_FTP_SKIP_PASV_IP by defaultDaniel Stenberg2020-12-071-0/+1
| | | | | | | | | | | | The command line tool also independently sets --ftp-skip-pasv-ip by default. Ten test cases updated to adapt the modified --libcurl output. Bug: https://curl.se/docs/CVE-2020-8284.html CVE-2020-8284 Reported-by: Varnavas Papaioannou
* curl.se: new homeDaniel Stenberg2020-11-041-1/+1
| | | | Closes #6172
* hsts: add support for Strict-Transport-SecurityDaniel Stenberg2020-11-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | - 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
* curl: add --output-dirDaniel Stenberg2020-08-241-0/+1
| | | | | | | | Works with --create-dirs and with -J Add test 3008, 3009, 3011, 3012 and 3013 to verify. Closes #5637
* tool_cfgable: free login_options at exitDaniel Stenberg2020-06-081-0/+1
| | | | | | | Memory leak Reported-by: Geeknik Labs Fixes #5535 Closes #5536
* checksrc: enhance the ASTERISKSPACE and update code accordinglyDaniel Stenberg2020-05-141-2/+2
| | | | | | | | Fine: "struct hello *world" Not fine: "struct hello* world" (and variations) Closes #5386
* curl: two new command line options for etagsMaros Priputen2019-11-281-0/+2
| | | | | | | | --etag-compare and --etag-save Suggested-by: Paul Hoffman Fixes #4277 Closes #4543
* curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the toolSteve Holme2019-08-061-0/+1
| | | | | | | | | | | | Ref: https://github.com/curl/curl/issues/3653 Ref: https://github.com/curl/curl/pull/3790 NOTE: This commit was cherry-picked and is part of a series of commits that added the authzid feature for upcoming 7.66.0. The series was temporarily reverted in db8ec1f so that it would not ship in a 7.65.x patch release. Closes https://github.com/curl/curl/pull/4186
* http09: disable HTTP/0.9 by default in both tool and libraryDaniel Stenberg2019-08-061-1/+1
| | | | | | | | As the plan has been laid out in DEPRECATED. Update docs accordingly and verify in test 1174. Now requires the option to be set to allow HTTP/0.9 responses. Closes #4191
* Revert all SASL authzid (new feature) commitsJay Satiro2019-05-251-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Revert all commits related to the SASL authzid feature since the next release will be a patch release, 7.65.1. Prior to this change CURLOPT_SASL_AUTHZID / --sasl-authzid was destined for the next release, assuming it would be a feature release 7.66.0. However instead the next release will be a patch release, 7.65.1 and will not contain any new features. After the patch release after the reverted commits can be restored by using cherry-pick: git cherry-pick a14d72c a9499ff 8c1cc36 c2a8d52 0edf690 Details for all reverted commits: Revert "os400: take care of CURLOPT_SASL_AUTHZID in curl_easy_setopt_ccsid()." This reverts commit 0edf6907ae37e2020722e6f61229d8ec64095b0a. Revert "tests: Fix the line endings for the SASL alt-auth tests" This reverts commit c2a8d52a1356a722ff9f4aeb983cd4eaf80ef221. Revert "examples: Added SASL PLAIN authorisation identity (authzid) examples" This reverts commit 8c1cc369d0c7163c6dcc91fd38edfea1f509ae75. Revert "curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool" This reverts commit a9499ff136d89987af885e2d7dff0a066a3e5817. Revert "sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID" This reverts commit a14d72ca2fec5d4eb5a043936e4f7ce08015c177.
* curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the toolSteve Holme2019-05-221-0/+1
|
* cleanup: remove FIXME and TODO commentsDaniel Stenberg2019-05-161-3/+3
| | | | | | | | | They serve very little purpose and mostly just add noise. Most of them have been around for a very long time. I read them all before removing or rephrasing them. Ref: #3876 Closes #3883
* alt-svc: the curl command line bitsDaniel Stenberg2019-03-031-0/+1
|
* cli tool: fix mime post with --disable-libcurl-option configure optionPatrick Monnerat2019-02-191-4/+4
| | | | | | Reported-by: Marcel Raad Fixes #3576 Closes #3583
* cli tool: do not use mime.h private structures.Patrick Monnerat2019-02-111-2/+2
| | | | | | | | | | Option -F generates an intermediate representation of the mime structure that is used later to create the libcurl mime structure and generate the --libcurl statements. Reported-by: Daniel Stenberg Fixes #3532 Closes #3546
* http: added options for allowing HTTP/0.9 responsesDaniel Stenberg2018-12-211-0/+1
| | | | | | | | | | | | Added CURLOPT_HTTP09_ALLOWED and --http0.9 for this purpose. For now, both the tool and library allow HTTP/0.9 by default. docs/DEPRECATE.md lays out the plan for when to reverse that default: 6 months after the 7.64.0 release. The options are added already now so that applications/scripts can start using them already now. Fixes #2873 Closes #3383
* curl: --doh-url addedDaniel Stenberg2018-09-061-0/+1
|
* url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUTAnders Bakken2018-02-201-0/+1
| | | | | | | | | | | | | | - Add new option CURLOPT_HAPPY_EYEBALLS_TIMEOUT to set libcurl's happy eyeball timeout value. - Add new optval macro CURL_HET_DEFAULT to represent the default happy eyeballs timeout value (currently 200 ms). - Add new tool option --happy-eyeballs-timeout-ms to expose CURLOPT_HAPPY_EYEBALLS_TIMEOUT. The -ms suffix is used because the other -timeout options in the tool expect seconds not milliseconds. Closes https://github.com/curl/curl/pull/2260
* curl: add --proxy-pinnedpubkeyDaniel Stenberg2018-01-301-1/+2
| | | | | | | To verify a proxy's public key. For when using HTTPS proxies. Fixes #2192 Closes #2268
* mime: use in curl cli tool instead of form API.Patrick Monnerat2017-09-021-4/+4
| | | | | | Extended -F option syntax to support multipart mail messages. -F keyword headers= added to include custom headers in parts. Documentation upgraded.
* --request-target: instead of --strip-path-slashDaniel Stenberg2017-06-211-2/+2
| | | | | | | | | | | | | | ... and CURLOPT_REQUEST_TARGET instead of CURLOPT_STRIP_PATH_SLASH. This option instead provides the full "alternative" target to use in the request, instead of extracting the path from the URL. Test 1298 and 1299 updated accordingly. Idea-by: Evert Pot Suggestion: https://daniel.haxx.se/blog/2017/06/19/options-with-curl/comment-page-1/#comment-18373 Closes #1593
* preproxy: renamed what was added as SOCKS_PROXYDaniel Stenberg2016-12-161-1/+1
| | | | | | | CURLOPT_SOCKS_PROXY -> CURLOPT_PRE_PROXY Added the corresponding --preroxy command line option. Sets a SOCKS proxy to connect to _before_ connecting to a HTTP(S) proxy.
* proxy: Support HTTPS proxy and SOCKS+HTTP(s)Alex Rousskov2016-11-241-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * HTTPS proxies: An HTTPS proxy receives all transactions over an SSL/TLS connection. Once a secure connection with the proxy is established, the user agent uses the proxy as usual, including sending CONNECT requests to instruct the proxy to establish a [usually secure] TCP tunnel with an origin server. HTTPS proxies protect nearly all aspects of user-proxy communications as opposed to HTTP proxies that receive all requests (including CONNECT requests) in vulnerable clear text. With HTTPS proxies, it is possible to have two concurrent _nested_ SSL/TLS sessions: the "outer" one between the user agent and the proxy and the "inner" one between the user agent and the origin server (through the proxy). This change adds supports for such nested sessions as well. A secure connection with a proxy requires its own set of the usual SSL options (their actual descriptions differ and need polishing, see TODO): --proxy-cacert FILE CA certificate to verify peer against --proxy-capath DIR CA directory to verify peer against --proxy-cert CERT[:PASSWD] Client certificate file and password --proxy-cert-type TYPE Certificate file type (DER/PEM/ENG) --proxy-ciphers LIST SSL ciphers to use --proxy-crlfile FILE Get a CRL list in PEM format from the file --proxy-insecure Allow connections to proxies with bad certs --proxy-key KEY Private key file name --proxy-key-type TYPE Private key file type (DER/PEM/ENG) --proxy-pass PASS Pass phrase for the private key --proxy-ssl-allow-beast Allow security flaw to improve interop --proxy-sslv2 Use SSLv2 --proxy-sslv3 Use SSLv3 --proxy-tlsv1 Use TLSv1 --proxy-tlsuser USER TLS username --proxy-tlspassword STRING TLS password --proxy-tlsauthtype STRING TLS authentication type (default SRP) All --proxy-foo options are independent from their --foo counterparts, except --proxy-crlfile which defaults to --crlfile and --proxy-capath which defaults to --capath. Curl now also supports %{proxy_ssl_verify_result} --write-out variable, similar to the existing %{ssl_verify_result} variable. Supported backends: OpenSSL, GnuTLS, and NSS. * A SOCKS proxy + HTTP/HTTPS proxy combination: If both --socks* and --proxy options are given, Curl first connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy. TODO: Update documentation for the new APIs and --proxy-* options. Look for "Added in 7.XXX" marks.
* CURLOPT_TCP_NODELAY: now enabled by defaultDaniel Stenberg2016-08-051-1/+2
| | | | | | | | | | | | | | After a few wasted hours hunting down the reason for slowness during a TLS handshake that turned out to be because of TCP_NODELAY not being set, I think we have enough motivation to toggle the default for this option. We now enable TCP_NODELAY by default and allow applications to switch it off. This also makes --tcp-nodelay unnecessary, but --no-tcp-nodelay can be used to disable it. Thanks-to: Tim Rühsen Bug: https://curl.haxx.se/mail/lib-2016-06/0143.html
* news: CURLOPT_CONNECT_TO and --connect-toMichael Kaufmann2016-04-171-0/+1
| | | | | Makes curl connect to the given host+port instead of the host+port found in the URL.
* CURLOPT_SOCKS5_GSSAPI_SERVICE: Merged with CURLOPT_PROXY_SERVICE_NAMESteve Holme2016-04-091-1/+0
| | | | | | | | | As these two options provide identical functionality, the former for SOCK5 proxies and the latter for HTTP proxies, merged the two options together. As such CURLOPT_SOCKS5_GSSAPI_SERVICE is marked as deprecated as of 7.49.0.
* URLs: change all http:// URLs to https://Daniel Stenberg2016-02-031-1/+1
|
* oauth2: Don't use XOAUTH2 in OAuth 2.0 variablesSteve Holme2015-11-091-1/+1
|
* tool: fix memory leak with --proto-default optionDan Fandrich2015-08-231-0/+1
|
* CURLOPT_DEFAULT_PROTOCOL: addedNathaniel Waisbrot2015-08-221-0/+1
| | | | | | | | | | | | | | | - Add new option CURLOPT_DEFAULT_PROTOCOL to allow specifying a default protocol for schemeless URLs. - Add new tool option --proto-default to expose CURLOPT_DEFAULT_PROTOCOL. In the case of schemeless URLs libcurl will behave in this way: When the option is used libcurl will use the supplied default. When the option is not used, libcurl will follow its usual plan of guessing from the hostname and falling back to 'http'.
* Negotiate: custom service names for SPNEGO.Linus Nielsen2015-04-281-0/+2
| | | | | * Add new options, CURLOPT_PROXY_SERVICE_NAME and CURLOPT_SERVICE_NAME. * Add new curl options, --proxy-service-name and --service-name.
* copyright years: after OCSP stapling changesDaniel Stenberg2015-01-161-1/+1
|
* tool: add --unix-socket optionPeter Wu2014-12-041-0/+1
| | | | Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* curl tool: Exclude SMB from the protocol redirectSteve Holme2014-11-301-2/+3
| | | | As local files could be accessed through \\localhost\c$.
* SSL: implement public key pinningmoparisthebest2014-10-071-0/+1
| | | | | | | | | | | | Option --pinnedpubkey takes a path to a public key in DER format and only connect if it matches (currently only implemented with OpenSSL). Provides CURLOPT_PINNEDPUBLICKEY for curl_easy_setopt(). Extract a public RSA key from a website like so: openssl s_client -connect google.com:443 2>&1 < /dev/null | \ sed -n '/-----BEGIN/,/-----END/p' | openssl x509 -noout -pubkey \ | openssl rsa -pubin -outform DER > google.com.der
* curl: add --proxy-headerMaciej Puzio2014-04-041-0/+1
|
* tool: Moved --libcurl to the global configSteve Holme2014-03-011-2/+0
|
* tool: Moved --stderr to the global configSteve Holme2014-03-011-5/+0
|
* tool: Moved --trace and --verbose to the global configSteve Holme2014-02-271-5/+0
|
* tool: Moved --showerror to the global configSteve Holme2014-02-251-1/+0
| | | | | Other global options such as --libcurl, --trace and --verbose to follow.
* tool_operate: Moved easy handle cleanup into tool_mainSteve Holme2014-02-241-8/+2
|
* tool_cfgable: Renamed Configurable structure to OperationConfigSteve Holme2014-02-231-6/+6
| | | | | To allow for the addition of a global config structure and prevent confusion between the two.
* tool_cfgable: Moved easy handle cleanup to fix pingpong logout issuesSteve Holme2014-02-101-5/+0
| | | | | | | | Commmit c5f8e2f5f4 removed the easy handle clean-up from tool_operate, letting the code that was already present in free_config_fields() perform the task. Unfortunately, this wasn't the correct place to do this as it broke protocols, that would perform a logout, as the main clean-up in tool_main had already been called.
* tool_operate: Move the trace and error file closure to tool_cfgableSteve Holme2014-02-091-2/+6
|
* tool_getparam: Added support for parsing of specific URL optionsSteve Holme2014-02-081-2/+17
|