Commit Graph

3651 Commits

Author SHA1 Message Date
Daniel Stenberg 1c3e8bbfed checksrc: warn for assignments within if() expressions
... they're already frowned upon in our source code style guide, this
now enforces the rule harder.
2016-12-14 01:29:44 +01:00
Daniel Stenberg b228d2952b checksrc: stricter no-space-before-paren enforcement
In order to make the code style more uniform everywhere
2016-12-13 23:39:11 +01:00
Jeremy Pearson 254c0b3052 libcurl-multi.3: typo
Closes https://github.com/curl/curl/pull/1153
2016-12-03 15:40:54 -05:00
Daniel Stenberg 74595b223d http_proxy: simplify CONNECT response reading
Since it now reads responses one byte a time, a loop could be removed
and it is no longer limited to get the whole response within 16K, it is
now instead only limited to 16K maximum header line lengths.
2016-12-01 16:18:52 +01:00
Daniel Stenberg 12d6794b10 BUGS: describe bug handling process 2016-11-29 11:58:50 +01:00
Daniel Stenberg a387d881ec cmdline-docs: more options converted and fixed
Now all options are in the new system.
2016-11-28 09:53:15 +01:00
Daniel Stenberg ac85f332f1 gen: include footer in mainpage output 2016-11-28 09:52:05 +01:00
Daniel Stenberg 5c4a526388 cmdline-opts: more command line options documented
Moved over to the new format
2016-11-28 00:50:25 +01:00
Daniel Stenberg 720ea577dc curl: remove --proxy-ssl* options
There's mostly likely no need to allow setting SSLv2/3 version for HTTPS
proxy. Those protocols are insecure by design and deprecated.
2016-11-28 00:07:45 +01:00
Daniel Stenberg c67f842093 CURLOPT_PROXY_*.3: polished some proxy option man pages 2016-11-27 00:21:15 +01:00
Okhin Vasilij a4b2f7aafd curl_version_info: add CURL_VERSION_HTTPS_PROXY
Closes #1142
2016-11-26 17:28:53 +01:00
Daniel Stenberg 3f7d9b9001 CURLOPT_PROXY_CAINFO.3: clarify proxy use 2016-11-25 16:40:32 +01:00
Daniel Stenberg 2527dd4378 CURLOPT_PROXY_CRLFILE.3: clarify https proxy and availability 2016-11-25 16:36:27 +01:00
Daniel Stenberg 67edddeb92 curl_easy_setopt.3: add CURLOPT_PROXY_PINNEDPUBLICKEY
Follow-up to 4f8b17743d
2016-11-25 14:17:44 +01:00
Daniel Stenberg 9bfb00efc9 docs: include all opts man pages in dist
Sorted the lists too.

... and include the new ones in the PDF and HTML generation targets
2016-11-25 11:14:58 +01:00
Thomas Glanzmann 4f8b17743d HTTPS Proxy: Implement CURLOPT_PROXY_PINNEDPUBLICKEY 2016-11-25 10:49:38 +01:00
Thomas Glanzmann 1232dbb8bd url: proxy: Use 443 as default port for https proxies 2016-11-25 10:01:58 +01:00
Daniel Stenberg 8ebc5cda8f TODO: removed "HTTPS proxy" 2016-11-25 09:52:22 +01:00
Frank Gevaerts ba410f6c64 add CURLINFO_SCHEME, CURLINFO_PROTOCOL, and %{scheme}
Adds access to the effectively used protocol/scheme to both libcurl and
curl, both in string and numeric (CURLPROTO_*) form.

Note that the string form will be uppercase, as it is just the internal
string.

As these strings are declared internally as const, and all other strings
returned by curl_easy_getinfo() are de-facto const as well, string
handling in getinfo.c got const-ified.

Closes #1137
2016-11-25 00:45:18 +01:00
Daniel Stenberg 63198a4750 curl.1: the new --proxy options ship in 7.52.0 2016-11-25 00:14:39 +01:00
Daniel Stenberg 6832c1d4b2 checksrc: move open braces to comply with function declaration style 2016-11-24 23:58:22 +01:00
Daniel Stenberg 8657c268e1 checksrc: white space edits to comply to stricter checksrc 2016-11-24 23:58:22 +01:00
Daniel Stenberg dbadaebfc4 checksrc: code style: use 'char *name' style 2016-11-24 23:58:22 +01:00
Okhin Vasilij c6da05a5ec HTTPS-proxy: fixed mbedtls and polishing 2016-11-24 23:41:45 +01:00
Alex Rousskov cb4e2be7c6 proxy: Support HTTPS proxy and SOCKS+HTTP(s)
* 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.
2016-11-24 23:41:44 +01:00
Jay Satiro a4d888857e http2: Use huge HTTP/2 windows
- Improve performance by using a huge HTTP/2 window size.

Bug: https://github.com/curl/curl/issues/1102
Reported-by: afrind@users.noreply.github.com
Assisted-by: Tatsuhiro Tsujikawa
2016-11-16 17:35:11 -05:00
Daniel Stenberg 342aa4797e cmdline-docs: more conversion 2016-11-16 15:15:57 +01:00
Daniel Stenberg c3c1e96185 gen: support 'protos'
and warn on unrecognized lines
2016-11-16 15:13:17 +01:00
Daniel Stenberg 5781e3653e gen: support 'single' to make an individual page man page 2016-11-16 11:41:02 +01:00
Daniel Stenberg 41b1f649bf cmdline-docs: more options converted over 2016-11-16 10:42:51 +01:00
Daniel Stenberg 81e61cda39 gen: support 'redirect'
... and warn for too long --help lines
2016-11-16 10:42:50 +01:00
Daniel Stenberg 1ef1f10cab cmdline/gen: replace options in texts better 2016-11-16 08:23:36 +01:00
Jay Satiro 7f439f1652 curl.1: Clarify --dump-header only writes received headers 2016-11-16 01:40:23 -05:00
Alex Chan 771f3f22dd docs: Spelling fixes 2016-11-15 15:41:45 +01:00
Kamil Dudka cfd69c1339 docs: the next release will be 7.52.0 2016-11-15 12:21:00 +01:00
Daniel Stenberg b8c35f40f9 cmdline-opts: support generating the --help output 2016-11-15 09:08:50 +01:00
Daniel Stenberg f82bbe01c8 curl: add --fail-early
Exit with an error on the first transfer error instead of continuing to
do the rest of the URLs.

Discussion: https://curl.haxx.se/mail/archive-2016-11/0038.html
2016-11-14 08:35:40 +01:00
Daniel Stenberg 050aa80309 cmdline-opts: first test version of a new man page generator kit
See MANPAGE.md for the description of how this works. Each command line
option is now described in a separate .d file.
2016-11-13 23:40:12 +01:00
Daniel Hwang cdfda3ee82 curl: Add --retry-connrefused
to consider ECONNREFUSED as a transient error.

Closes #1064
2016-11-11 10:00:54 +01:00
Daniel Stenberg 1299df6868 CODE_STYLE.md: link to INTERNALS.md correctly 2016-11-09 09:56:13 +01:00
Daniel Stenberg dfcdaaba37 examples/fileupload.c: fclose the file as well 2016-11-08 23:00:43 +01:00
Daniel Stenberg c2bc47ddb8 curl_formadd.3: *_FILECONTENT and *_FILE need the file to be kept
Reported-by: Frank Gevaerts
2016-11-08 15:28:04 +01:00
Kamil Dudka a110a03b43 curl: introduce the --tlsv1.3 option to force TLS 1.3
Fully implemented with the NSS backend only for now.

Reviewed-by: Ray Satiro
2016-11-07 12:07:11 +01:00
Kamil Dudka 6ad3add606 vtls: support TLS 1.3 via CURL_SSLVERSION_TLSv1_3
Fully implemented with the NSS backend only for now.

Reviewed-by: Ray Satiro
2016-11-07 11:52:07 +01:00
Daniel Stenberg 27302abb94 s/cURL/curl
We're mostly saying just "curl" in lower case these days so here's a big
cleanup to adapt to this reality. A few instances are left as the
project could still formally be considered called cURL.
2016-11-07 10:36:23 +01:00
Daniel Stenberg 677d8b3fec curl.1: explain the SMTP data expected for -T
Fixes #1107

Reported-by: Adam Piggott
2016-11-07 08:33:02 +01:00
Daniel Stenberg c8e6e60b40 docs: shorten and simplify the top comment in multi-uv.c
and change URL to use https
2016-11-03 12:44:38 +01:00
Andrei Sedoi 82b6fd4112 docs: handle CURL_POLL_INOUT in multi-uv example 2016-11-03 12:32:14 +01:00
Andrei Sedoi e6882ce484 docs: multi-uv: don't use CURLMsg after cleanup 2016-11-03 12:32:14 +01:00
Andrei Sedoi b1aeed302d docs: remove unused variables in multi-uv example 2016-11-03 12:32:14 +01:00