1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00
Commit Graph

3756 Commits

Author SHA1 Message Date
Kamil Dudka
f1261b1253 docs: non-blocking SSL handshake is now supported with NSS
Implemented since curl-7_36_0-130-g8868a22

Reported-by: Fahim Chandurwala
2017-01-19 12:20:04 +01:00
Daniel Stenberg
3a4326efd5 usercertinmem.c: improve the short description 2017-01-18 08:09:09 +01:00
Daniel Stenberg
25543b8392 TODO: share OpenSSL contexts
By supporting this, subsequent connects would load a lot less data from
disk.

Closes #1110
2017-01-17 07:58:27 +01:00
Daniel Stenberg
8f8ba61224 bump: next release will be 7.53.0 2017-01-16 08:34:15 +01:00
railsnewbie257
02ee3b2737 docs: improved language in README.md HISTORY.md CONTRIBUTE.md
Closes #1211
2017-01-14 16:02:33 +01:00
Daniel Stenberg
e3b911463a TODO: send only part of --data
Closes #1200
2017-01-14 12:49:12 +01:00
Daniel Stenberg
535a29c01a TODO: implemened "--fail-fast to exit on first transfer fail"
Even though it is called --fail-early
2017-01-14 12:42:53 +01:00
Daniel Stenberg
9dea60e550 TODO: Chunked transfer multipart formpost
Closes #1139
2017-01-14 12:41:46 +01:00
Daniel Stenberg
eb6cf75130 TODO: Improve formpost API, not just add an easy argument 2017-01-14 12:34:53 +01:00
Daniel Stenberg
d24c4ea2d0 THANKS-filter: Jiri Malak 2017-01-13 23:26:09 +01:00
Isaac Boukris
1d786faee1 unix_socket: add support for abstract unix domain socket
In addition to unix domain sockets, Linux also supports an
abstract namespace which is independent of the filesystem.

In order to support it, add new CURLOPT_ABSTRACT_UNIX_SOCKET
option which uses the same storage as CURLOPT_UNIX_SOCKET_PATH
internally, along with a flag to specify abstract socket.

On non-supporting platforms, the abstract address will be
interpreted as an empty string and fail gracefully.

Also add new --abstract-unix-socket tool parameter.

Signed-off-by: Isaac Boukris <iboukris@gmail.com>
Reported-by: Chungtsun Li (typeless)
Reviewed-by: Daniel Stenberg
Reviewed-by: Peter Wu
Closes #1197
Fixes #1061
2017-01-13 16:25:20 +01:00
Daniel Stenberg
a7c73ae309 write-out.d: 'time_total' is not always shown with ms precision
We have higher resolution since 7.52.0
2017-01-13 16:23:57 +01:00
Daniel Stenberg
ac548bbaab next.d: --trace and --trace-ascii are also global 2017-01-13 15:34:01 +01:00
Frank Gevaerts
dbd3793859 docs: Add note about libcurl copying strings to CURLOPT_* manpages
Closes #1169
2017-01-13 15:14:55 +01:00
Frank Gevaerts
d2b2c63852 CURLOPT_PREQUOTE.3: takes a struct curl_slist*, not a char* 2017-01-13 15:14:38 +01:00
ERAMOTO Masaya
2ac1942c72 url: --noproxy option overrides NO_PROXY environment variable
Under condition using http_proxy env var, noproxy list was the
combination of --noproxy option and NO_PROXY env var previously. Since
this commit, --noproxy option overrides NO_PROXY environment variable
even if use http_proxy env var.

Closes #1140
2017-01-13 11:18:29 +01:00
railsnewbie257
cd6b99ef32 docs: FAQ MAIL-ETIQUETTE language fixes
Closes #1194
2017-01-13 10:11:58 +01:00
Daniel Stenberg
a41e8592d6 examples: make the C++ examples follow our code style too
At least mostly, not counting // comments.
2017-01-08 16:39:41 +01:00
Aulddays
ed2fcd5428 asiohiper: improved socket handling
libcurl requires CURLMOPT_SOCKETFUNCTION to KEEP watching socket events
and notify back. Modify event_cb() to continue watching events when
fired.

Fixes #1191
Closes #1192
Fixed-by: Mingliang Zhu
2017-01-08 16:39:36 +01:00
Daniel Stenberg
5df25fdce4 ROADMAP: 2017 cleanup
Removed items already fixed, clarified a few others.
2017-01-07 23:46:19 +01:00
Daniel Stenberg
acd29dc108 docs/silent: mention --show-error in --silent description
Reported in #1190
Reported-by: Dan Jacobson
2017-01-07 20:23:31 +01:00
Daniel Stenberg
e8404adc85 docs/page-header: mention how to disable the progress meter
curl.1 is regenerated

Fixes #1190
2017-01-07 20:22:20 +01:00
Dan Fandrich
bbee0d4eee wolfssl: support setting cipher list 2017-01-06 23:02:09 +01:00
Patrick Monnerat
5d7a7fcdcb CIPHERS.md: document GSKit ciphers 2017-01-06 17:43:57 +01:00
peterpih
feca30419a TheArtOfHttpScripting: grammar 2017-01-05 01:52:32 -05:00
Jay Satiro
4f2239c5ca docs/libcurl: TCP_KEEPALIVE start and interval default to 60
Since the TCP keep-alive options were added in 705f0f7 the start and
interval default values have been 60, but that wasn't documented.

Bug: https://curl.haxx.se/mail/lib-2017-01/0000.html
Reported-by: Praveen Pvs
2017-01-02 13:43:05 -05:00
Daniel Stenberg
278034a61c page-footer: error 36 is protocol agnostic! 2016-12-29 11:31:01 +01:00
Jay Satiro
ee3c83f39c tool_operate: Fix --remote-time incorrect times on Windows
- Use Windows API SetFileTime to set the file time instead of utime.

Avoid utime on Windows if possible because it may apply a daylight
saving time offset to our UTC file time.

Bug: https://curl.haxx.se/mail/archive-2016-11/0033.html
Reported-by: Tim

Closes https://github.com/curl/curl/pull/1121
2016-12-28 21:19:40 -05:00
Daniel Stenberg
0128925de5 curl_formadd.3: CURLFORM_CONTENTSLENGTH not needed when chunked
Mentioned in #1013
2016-12-28 11:49:00 +01:00
Daniel Stenberg
209b230227 docs/ciphers: link to our own new page about ciphers
... as the former ones always go stale!
2016-12-25 11:01:17 +01:00
Daniel Stenberg
7776abb2e6 cmdline-opts/page-footer: add three more exit codes
... and regenerated curl.1
2016-12-25 10:58:08 +01:00
Daniel Stenberg
95c717bbd9 THANKS: 13 new contributors from 7.52.0 2016-12-20 16:16:47 +01:00
Daniel Stenberg
afb57f7b0b cmdline-opts/tlsv1.d: rephrased 2016-12-19 08:19:44 +01:00
Daniel Stenberg
4517158abf CIPHERS.md: backtick the names to show underscores fine 2016-12-18 16:44:45 +01:00
Daniel Stenberg
111f3c1fde form-string.d: fix format mistake
and regenerated curl.1

Reported-by: Gisle Vanem
2016-12-18 16:29:59 +01:00
Michael Kaufmann
afff64dbcd curl_easy_recv: Improve documentation and example program
Follow-up to 82245ea: Fix the example program sendrecv.c (handle
CURLE_AGAIN, handle incomplete send). Improve the documentation
for curl_easy_recv() and curl_easy_send().

Reviewed-by: Frank Meier
Assisted-by: Jay Satiro

See https://github.com/curl/curl/pull/1134
2016-12-18 12:56:23 +01:00
Daniel Stenberg
6bc1051608 CIPHERS.md: attempt to document TLS cipher names
As the official docs seems really hard to keep track of and link to over
time
2016-12-18 01:08:55 +01:00
Daniel Stenberg
4c9567e394 curl.1: generated after 6cce4dbf83 2016-12-18 00:48:15 +01:00
Daniel Stenberg
6cce4dbf83 cmdline-opts/post30X.d: fix the RFC references 2016-12-18 00:42:36 +01:00
Daniel Stenberg
5f9ce4b05c curl.1: regenerated
Fixed trailing whitespace and numerous formatting glitches
2016-12-17 23:57:34 +01:00
Daniel Stenberg
e79d31715a cmdline-opts: formatting fixes 2016-12-17 23:56:50 +01:00
Daniel Stenberg
2bd2538eb0 curl_easy_setopt.3: removed CURLOPT_SOCKS_PROXYTYPE 2016-12-17 23:50:14 +01:00
Daniel Stenberg
58206f0ef2 cmdline-opts/gen.pl: trim off trailing spaces 2016-12-17 18:14:01 +01:00
Daniel Stenberg
c47b1eced7 cmdline-opts/proxy-tlsuser.d: remove trailing .d 2016-12-17 18:13:47 +01:00
Daniel Stenberg
6bec14f38e curl_easy_setopt.3: CURLOPT_PRE_PROXY instead of CURLOPT_SOCKS_PROXY 2016-12-17 18:09:28 +01:00
Daniel Stenberg
20b12987cf symbols: removed two, added one 2016-12-17 18:00:49 +01:00
Daniel Stenberg
a8ab99766f cmdline-opts: include the man page split up files in the dist 2016-12-17 00:23:04 +01:00
Daniel Stenberg
c7eab72de0 curl.1: generated with gen.pl
This is the first time we replace the manually edited curt.1 with the
generated one created by gen.pl and the individual option documentation
pages.

Do not edit this file, edit the individual pages and regenerate this
output.

This file will be generated by the build system soon and then removed
from git.
2016-12-16 22:02:47 +01:00
Daniel Stenberg
4b8b7a2d36 cmdline-opts: added some missing info 2016-12-16 22:01:01 +01:00
Daniel Stenberg
c588840568 CURLINFO_SSL_VERIFYRESULT.3: language 2016-12-16 16:59:08 +01:00
Daniel Stenberg
b0fcb92f80 HTTPS-PROXY docs: update/polish 2016-12-16 16:57:39 +01:00
Daniel Stenberg
7ebd9bcfc6 cmdline-opts/page-header: mention it is generated
... to avoid people from trying to edit the pending curl.1 version that
gets generated by gen.pl
2016-12-16 16:07:59 +01:00
Daniel Stenberg
845522cadb preproxy: renamed what was added as SOCKS_PROXY
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.
2016-12-16 16:04:23 +01:00
Daniel Stenberg
7907a2bec9 CURLOPT_SOCKS_PROXYTYPE: removed
This was added as part of the SOCKS+HTTPS proxy merge but there's no
need to support this as we prefer to have the protocol specified as a
prefix instead.
2016-12-16 15:10:19 +01:00
Daniel Stenberg
558b5f68a6 curl_multi_socket.3: fix typo 2016-12-15 17:26:23 +01:00
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