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

4466 Commits

Author SHA1 Message Date
Daniel Stenberg
8b754c430b SECURITY: distros' max embargo time is 14 days now 2018-03-09 21:42:36 +01:00
Daniel Stenberg
b2afc36da1
THANKS + mailmap: remove duplicates, fixup full names 2018-03-05 11:57:44 +01:00
Daniel Stenberg
cb281f9df0
RELEASE-NOTES/THANKS: synced with cc1d4c505 2018-03-04 23:20:12 +01:00
Daniel Stenberg
c74521628b
curl.1: mention how to add numerical IP addresses in NO_PROXY 2018-03-04 19:57:43 +01:00
Daniel Stenberg
4d0b1e6887
CURLOPT_NOPROXY.3: mention how to list numerical IPv6 addresses 2018-03-04 19:51:37 +01:00
Daniel Stenberg
8b0b1a3088
build: get CFLAGS (including -werror) used for examples and tests
... so that the CI and more detects compiler warnings/errors properly!

Closes #2337
2018-03-04 19:46:26 +01:00
Daniel Stenberg
ee84085924 docs/MANUAL: formfind.pl is not accessible on the site anymore
Fixes #2342
2018-02-26 20:12:23 +01:00
Viktor Szakats
7e35eb7729 spelling fixes
Detected using the `codespell` tool.

Also contains one URL protocol upgrade.

Closes https://github.com/curl/curl/pull/2334
2018-02-23 23:29:01 +00:00
Daniel Stenberg
1be96a2952
TODO: remove "sha-256 digest", added in 2b5b37cb91 2018-02-23 14:40:10 +01:00
Daniel Stenberg
1a99ecdf50
curl_share_setopt.3: connection cache is shared within multi handles 2018-02-23 12:52:22 +01:00
Daniel Stenberg
93e7a6ffd1
form.d: rephrased somewhat, added two example command lines 2018-02-22 08:28:05 +01:00
Francisco Sedano
23713645d4 url: Add option CURLOPT_RESOLVER_START_FUNCTION
- Add new option CURLOPT_RESOLVER_START_FUNCTION to set a callback that
  will be called every time before a new resolve request is started
  (ie before a host is resolved) with a pointer to backend-specific
  resolver data. Currently this is only useful for ares.

- Add new option CURLOPT_RESOLVER_START_DATA to set a user pointer to
  pass to the resolver start callback.

Closes https://github.com/curl/curl/pull/2311
2018-02-21 21:29:10 -05:00
Jay Satiro
dd027c80fe lib: CURLOPT_HAPPY_EYEBALLS_TIMEOUT => CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
- In keeping with the naming of our other connect timeout options rename
  CURLOPT_HAPPY_EYEBALLS_TIMEOUT to CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.

This change adds the _MS suffix since the option expects milliseconds.
This is more intuitive for our users since other connect timeout options
that expect milliseconds use _MS such as CURLOPT_TIMEOUT_MS,
CURLOPT_CONNECTTIMEOUT_MS, CURLOPT_ACCEPTTIMEOUT_MS.

The tool option already uses an -ms suffix, --happy-eyeballs-timeout-ms.

Follow-up to 2427d94 which added the lib and tool option yesterday.

Ref: https://github.com/curl/curl/pull/2260
2018-02-21 15:16:50 -05:00
Daniel Stenberg
7b71b5150b
RELEASE-NOTES: synced with 2427d94c6 2018-02-21 00:18:54 +01:00
Anders Bakken
2427d94c6d url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT
- 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
2018-02-20 17:51:43 -05:00
Daniel Stenberg
9b4c2165f1
TODO: warning if curl version is not in sync with libcurl version 2018-02-20 11:17:52 +01:00
Anders Bakken
50d1b3379a CURLOPT_RESOLVE: Add support for multiple IP addresses per entry
This enables users to preresolve but still take advantage of happy
eyeballs and trying multiple addresses if some are not connecting.

Ref: https://github.com/curl/curl/pull/2260
2018-02-20 04:24:28 -05:00
Sergio Borghese
e77f0e5a5a
examples/sftpuploadresume: resume upload via CURLOPT_APPEND
URL: https://curl.haxx.se/mail/lib-2018-02/0072.html
2018-02-20 09:31:06 +01:00
Daniel Stenberg
a3e52a7b2d
TODO: "Support in-memory certs/ca certs/keys"
removed SSLKEYLOGFILE support (fixed)

removed "consider SSL patches" (outdated)

Closes #2310
2018-02-18 22:45:17 +01:00
Daniel Stenberg
174212972c
CURLOPT_HEADER.3: clarify problems with different data sizes 2018-02-16 22:54:51 +01:00
Daniel Stenberg
5a44c9fa8b
CURLOPT_HEADERFUNCTION.3: fix typo from d939226813
Reported-by: Erik Johansson
Bug: d939226813 (commitcomment-27607495)
2018-02-16 16:25:52 +01:00
Daniel Stenberg
d939226813
CURLOPT_HEADERFUNCTION.3: mention folded headers 2018-02-16 12:11:23 +01:00
Daniel Stenberg
f549b2cefe
TODO: 1.1 Option to refuse usernames in URLs
Also expanded the CURL_REFUSE_CLEARTEXT section with more ideas.
2018-02-16 09:39:20 +01:00
Daniel Stenberg
74b1f89b1a
TODO: 1.7 Support HTTP/2 for HTTP(S) proxies 2018-02-16 09:24:28 +01:00
Daniel Stenberg
16d1f36940
Revert "KNOWN_BUGS: 2.5 curl should not offer "ALPN: h2" when using https-proxy"
This reverts commit de9fac00c4.

Reported-by: Jay Satiro
2018-02-15 22:47:49 +01:00
Daniel Stenberg
ccd1ec7aa8
TODO: 18.18 retry on network is unreachable
Closes #1603
2018-02-15 13:52:13 +01:00
Daniel Stenberg
de9fac00c4
KNOWN_BUGS: 2.5 curl should not offer "ALPN: h2" when using https-proxy
Closes #1254
2018-02-15 13:31:39 +01:00
Björn Stenberg
b46cfbc068
TODO fixed: Detect when called from within callbacks
Closes #2302
2018-02-15 09:36:03 +01:00
Daniel Stenberg
43a50a2580
BINDINGS: fix curb link (and remove ruby-curl-multi)
Reported-by: Klaus Stein
2018-02-14 14:57:00 +01:00
Daniel Stenberg
63f6b3b220
libcurl-security.3: separate file:// section
... just to make it more apparent. Even if it repeats
some pieces of information.
2018-02-13 14:04:04 +01:00
Daniel Stenberg
1e720400aa
libcurl-security.3: the http://192.168.0.1/my_router_config case
Mentioned-By: Rich Moore
2018-02-13 13:54:11 +01:00
Daniel Stenberg
03b7b2e8fc
libcurl-security.3: mention the URL standards problems too 2018-02-13 12:05:43 +01:00
Daniel Stenberg
3901842055
libcurl-security.3: split out from libcurl-tutorial.3
To make more accessible.

Merged in some new language from "URLs are dangerous things" as discussed on
the mailing list a few days ago:

Bug: https://curl.haxx.se/mail/lib-2018-02/0013.html
2018-02-13 12:02:09 +01:00
Kamil Dudka
08029a7e73 tlsauthtype.d: works only if libcurl is built with TLS-SRP support
Bug: https://bugzilla.redhat.com/1542256

Closes #2306
2018-02-12 18:09:54 +01:00
Daniel Stenberg
34ecdffe90
progress-bar.d: update to match implementation
... since commit 993dd5651a

Reported-by: Martin Dreher
Bug: https://github.com/curl/curl/pull/2242#issuecomment-361059228

Closes #2271
2018-01-30 23:46:58 +01:00
Daniel Stenberg
8f69a9f28a
time: support > year 2038 time stamps for system with 32bit long
... with the introduction of CURLOPT_TIMEVALUE_LARGE and
CURLINFO_FILETIME_T.

Fixes #2238
Closes #2264
2018-01-30 08:29:59 +01:00
Daniel Stenberg
fecec1d8ae
curl: add --proxy-pinnedpubkey
To verify a proxy's public key. For when using HTTPS proxies.

Fixes #2192
Closes #2268
2018-01-30 08:00:31 +01:00
Daniel Stenberg
094647fcac TODO: UTF-8 filenames in Content-Disposition
Closes #1888
2018-01-28 14:53:10 +01:00
Daniel Stenberg
d76709080b KNOWN_BUGS: DICT responses show the underlying protocol
Closes #1809
2018-01-28 14:38:38 +01:00
Alessandro Ghedini
4021bac4cd docs: fix typos in man pages
Closes https://github.com/curl/curl/pull/2266
2018-01-27 14:50:40 -05:00
5c497343d9
GSKit: restore pinnedpubkey functionality
inadvertently removed in 283babfaf8

Closes #2263
2018-01-25 23:16:14 +01:00
Daniel Stenberg
1c39128d97
parsedate: fix date parsing for systems with 32 bit long
Make curl_getdate() handle dates before 1970 as well (returning negative
values).

Make test 517 test dates for 64 bit time_t.

This fixes bug (3) mentioned in #2238

Closes #2250
2018-01-25 22:20:52 +01:00
e178fbd40a
SChannel/WinSSL: Implement public key pinning
Closes #1429
2018-01-25 22:14:39 +01:00
Daniel Stenberg
03ae81097e TODO: hardcode the "localhost" addresses 2018-01-25 17:23:06 +01:00
Daniel Stenberg
fd9f20737e
TODO: CURL_REFUSE_CLEARTEXT
An idea that popped up in discussions on twitter.
2018-01-25 08:17:09 +01:00
Daniel Stenberg
d6c21c8eec
RELEASE: 7.58.0 2018-01-23 22:49:00 +01:00
Daniel Stenberg
96186de1f7
docs: fix man page syntax to make test 1140 OK again 2018-01-23 01:28:18 +01:00
Daniel Stenberg
af32cd3859
http: prevent custom Authorization headers in redirects
... unless CURLOPT_UNRESTRICTED_AUTH is set to allow them. This matches how
curl already handles Authorization headers created internally.

Note: this changes behavior slightly, for the sake of reducing mistakes.

Added test 317 and 318 to verify.

Reported-by: Craig de Stigter
Bug: https://curl.haxx.se/docs/adv_2018-b3bf.html
2018-01-22 10:00:00 +01:00
Daniel Stenberg
bb0ffcc36f libcurl-env.3: first take 2018-01-20 14:32:46 +01:00
Daniel Stenberg
ec122c4c83 TODO: two possible name resolver improvements 2018-01-20 13:57:12 +01:00
Daniel Stenberg
da07dbb869 examples/url2file.c: add missing curl_global_cleanup() call
Reported-by: XhstormR on github
Fixes #2245
2018-01-18 17:10:34 +01:00
rouzier
945df74101
CURLOPT_TCP_NODELAY.3: fix typo
Closes #2239
2018-01-15 23:06:58 +01:00
Patrick Monnerat
e44ddfd477 mime: clone mime tree upon easy handle duplication.
A mime tree attached to an easy handle using CURLOPT_MIMEPOST is
strongly bound to the handle: there is a pointer to the easy handle in
each item of the mime tree and following the parent pointer list
of mime items ends in a dummy part stored within the handle.

Because of this binding, a mime tree cannot be shared between different
easy handles, thus it needs to be cloned upon easy handle duplication.

There is no way for the caller to get the duplicated mime tree
handle: it is then set to be automatically destroyed upon freeing the
new easy handle.

New test 654 checks proper mime structure duplication/release.

Add a warning note in curl_mime_data_cb() documentation about sharing
user data between duplicated handles.

Closes #2235
2018-01-14 19:43:12 +01:00
Patrick Monnerat
2c821bba85 docs: comment about CURLE_READ_ERROR returned by curl_mime_filedata 2018-01-14 16:08:43 +01:00
Jay Satiro
6fa10c8fa2 setopt: fix SSLVERSION to allow CURL_SSLVERSION_MAX_ values
Broken since f121575 (precedes 7.56.1).

Bug: https://github.com/curl/curl/issues/2225
Reported-by: cmfrolick@users.noreply.github.com

Closes https://github.com/curl/curl/pull/2227
2018-01-13 02:57:30 -05:00
Jay Satiro
d4e40f0690 scripts: allow all perl scripts to be run directly
- Enable execute permission (chmod +x)

- Change interpreter to /usr/bin/env perl

Closes https://github.com/curl/curl/pull/2222
2018-01-07 15:42:11 -05:00
Jay Satiro
e4f86025d6 mail-rcpt.d: fix short-text description 2018-01-07 01:04:36 -05:00
Daniel Stenberg
dc831260b2 curl_version_info.3: call the argument 'age'
Reported-by: Pete Lomax
Bug: https://curl.haxx.se/mail/lib-2017-12/0074.html
2017-12-29 22:15:12 +13:00
Jay Satiro
a0f3eaf25d examples/cacertinmem: ignore cert-already-exists error
- Ignore X509_R_CERT_ALREADY_IN_HASH_TABLE errors in the CTX callback
  since it's possible the cert may have already been loaded by libcurl.

- Remove the EXAMPLE code in the CURLOPT_SSL_CTX_FUNCTION.3 doc.
  Instead have it direct the reader to this cacertinmem.c example.

- Fix the CA certificate to use the right CA for example.com, Digicert.

Bug: https://curl.haxx.se/mail/lib-2017-12/0057.html
Reported-by: Thomas van Hesteren

Closes https://github.com/curl/curl/pull/2182
2017-12-26 02:08:35 -05:00
Gisle Vanem
859ac36021 tool_getparam: Support size modifiers for --max-filesize
- Move the size modifier detection code from limit-rate to its own
  function so that it can also be used with max-filesize.

Size modifiers are the suffixes such as G (gigabyte), M (megabyte) etc.

For example --max-filesize 1G

Ref: https://curl.haxx.se/mail/archive-2017-12/0000.html

Closes https://github.com/curl/curl/pull/2179
2017-12-26 02:01:48 -05:00
Mattias Fornander
b437557896 examples/rtsp: fix error handling macros
Closes https://github.com/curl/curl/pull/2185
2017-12-22 02:59:08 -05:00
Daniel Stenberg
9c6a6be882
CURLOPT_READFUNCTION.3: refer to argument with correct name
Bug: #2175

[ci skip]
2017-12-13 08:18:10 +01:00
Daniel Stenberg
7ef0c2d861
examples/smtp-mail.c: use separate defines for options and mail
... to make it clearer that the options want address-only, while the
headers in an email can also have the real name.

Assisted-by: Sean MacLennan
2017-12-12 15:28:05 +01:00
Daniel Stenberg
621b24505f
THANKS: added missing names
... as I reran the contrithanks script after the mailmap name fixups.
2017-12-12 08:46:29 +01:00
Daniel Stenberg
cc0cca1baf
mailmap: added/clarified several names 2017-12-12 08:37:13 +01:00
Daniel Stenberg
3b9ea70ee7
TODO: Expose tried IP addresses that failed
Suggested-by: Rainer Canavan

Closes #2126
2017-12-11 13:41:03 +01:00
Daniel Stenberg
48c184a604
curl.1: mention http:// and https:// as valid proxy prefixes 2017-12-11 13:24:42 +01:00
Daniel Stenberg
76db03dd9a
curl.1: documented two missing valid exit codes 2017-12-11 13:11:47 +01:00
Daniel Stenberg
63e58b8b40
CURLOPT_DNS_LOCAL_IP4.3: fixed the seel also to not self-reference 2017-12-11 00:00:17 +01:00
Daniel Stenberg
bbea75ad69
CURLOPT_DNS_CACHE_TIMEOUT.3: see also CURLOPT_RESOLVE 2017-12-09 23:34:07 +01:00
richardthe3rd
9fb5a943f5 CURLOPT_PRIVATE.3: fix grammar
- Change "never does nothing" double-negative to "never does anything".

Closes https://github.com/curl/curl/pull/2168
2017-12-08 18:55:33 -05:00
Daniel Stenberg
546e7db78c
BINDINGS: another PostgreSQL client
...the former link is dead.

Reported-by: Frank Gevaerts
2017-12-07 11:10:22 +01:00
Daniel Stenberg
bb0ca2d443
examples: move threaded-shared-conn.c to the "complicated" ones
... due it relying on pthreads to link.
2017-12-06 14:49:58 +01:00
Daniel Stenberg
0c65678e71
curl-config: add --ssl-backends
Lists all SSL backends that were enabled at build-time.

Suggested-by: Oleg Pudeyev
Fixes #2128
2017-12-06 00:12:48 +01:00
Daniel Stenberg
ea3a5d07dc
conncache: only allow multiplexing within same multi handle
Connections that are used for HTTP/1.1 Pipelining or HTTP/2 multiplexing
only get additional transfers added to them if the existing connection
is held by the same multi or easy handle. libcurl does not support doing
HTTP/2 streams in different threads using a shared connection.

Closes #2152
2017-12-05 23:36:08 +01:00
Daniel Stenberg
415b8dff8e
threaded-shared-conn.c: fixed typo in commenta 2017-12-05 23:35:08 +01:00
Daniel Stenberg
5254d8bf27
threaded-shared-conn.c: new example 2017-12-05 23:31:47 +01:00
Guitared
8dad32bcfb
RESOURCES: update spec names
Closes #2145
2017-12-04 09:15:39 +01:00
Nikos Mavrogiannopoulos
c75c9d4fbc
symbols-in-versions: added new symbols with 7.56.3 version
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
2017-12-01 17:38:37 +01:00
Daniel Stenberg
744ee58386
examples/xmlstream.c: don't switch off CURL_GLOBAL_SSL
Reported-by: Dima Tisnek
2017-12-01 07:52:24 +01:00
Daniel Stenberg
d05b8ff1f4
THANKS: added contributors from 7.57.0 release 2017-11-29 10:27:26 +01:00
Daniel Stenberg
59657f53f9
libcurl-share.3: the connection cache is shareable now 2017-11-27 09:42:39 +01:00
Daniel Stenberg
d661b0afb5
global_init: ignore CURL_GLOBAL_SSL's absense
This bit is no longer used. It is not clear what it meant for users to
"init the TLS" in a world with different TLS backends and since the
introduction of multissl, libcurl didn't properly work if inited without
this bit set.

Not a single user responded to the call for users of it:
https://curl.haxx.se/mail/lib-2017-11/0072.html

Reported-by: Evgeny Grin
Assisted-by: Jay Satiro

Fixes #2089
Fixes #2083
Closes #2107
2017-11-27 08:50:33 +01:00
Daniel Stenberg
9f691be3d4
make: fix "make distclean"
Fixes #2097
Closes #2108
2017-11-24 08:38:29 +01:00
Daniel Stenberg
ed22d8654b
examples/rtsp: clear RANGE again after use
Fixes #2106
Reported-by: youngchopin on github
2017-11-23 08:06:44 +01:00
Daniel Stenberg
2f81e48c00
BUGS: spellchecked 2017-11-20 23:57:57 +01:00
fmmedeiros
297516e12c examples/curlx: Fix code style
- Add braces around multi-line if statement.

Closes https://github.com/curl/curl/pull/2096
2017-11-18 14:04:33 -05:00
Daniel Stenberg
715f1f53e0
resolve: allow IP address within [] brackets
... so that IPv6 addresses can be passed like they can for connect-to
and how they're used in URLs.

Added test 1324 to verify
Reported-by: Alex Malinovich

Fixes #2087
Closes #2091
2017-11-17 15:26:08 +01:00
Daniel Stenberg
a9f669896f
TODO: ignore private IP addresses in PASV response
Closes #1455
2017-11-14 23:49:06 +01:00
Daniel Stenberg
de67c259d3
INTERNALS: we may use libidn2 now, not libidn 2017-11-14 12:47:04 +01:00
Luca Boccassi
32828cc4fb
--interface: add support for Linux VRF
The --interface command (CURLOPT_INTERFACE option) already uses
SO_BINDTODEVICE on Linux, but it tries to parse it as an interface or IP
address first, which fails in case the user passes a VRF.

Try to use the socket option immediately and parse it as a fallback
instead.  Update the documentation to mention this feature, and that it
requires the binary to be ran by root or with CAP_NET_RAW capabilities
for this to work.

Closes #2024
2017-11-09 13:20:11 +01:00
Daniel Stenberg
b78dce2526
curl_share_setopt.3: document CURL_LOCK_DATA_CONNECT
Closes #2043
2017-11-09 11:08:18 +01:00
Daniel Stenberg
3d1280866a
examples: add shared-connection-cache 2017-11-09 11:07:44 +01:00
Daniel Stenberg
edd1f45c9f
test1554: verify connection cache sharing 2017-11-09 11:07:44 +01:00
Daniel Stenberg
63b8fbbbc0
curl_multi_fdset.3: emphasize curl_multi_timeout
... even when there's no socket to wait for, the timeout can still be
very short.
2017-11-09 07:52:19 +01:00
Patrick Monnerat
11bf1796cd HTTP: implement Brotli content encoding
This uses the brotli external library (https://github.com/google/brotli).
Brotli becomes a feature: additional curl_version_info() bit and
structure fields are provided for it and CURLVERSION_NOW bumped.

Tests 314 and 315 check Brotli content unencoding with correct and
erroneous data.

Some tests are updated to accomodate with the now configuration dependent
parameters of the Accept-Encoding header.
2017-11-05 15:28:16 +01:00
Patrick Monnerat
dbcced8e32 HTTP: support multiple Content-Encodings
This is implemented as an output streaming stack of unencoders, the last
calling the client write procedure.

New test 230 checks this feature.

Bug: https://github.com/curl/curl/pull/2002
Reported-By: Daniel Bankhead
2017-11-05 15:09:48 +01:00
Daniel Stenberg
647f9aea68 INTERNALS: remove curlx_tv* functions no longer provided 2017-10-30 15:30:01 +01:00
Patrick Monnerat
f82f952d2f cli tool: in -F option arg, comma is a delimiter for files only
Also upgrade test 1133 to cover this case and clarify man page about
form data quoting.

Bug: https://github.com/curl/curl/issues/2022
Reported-By: omau on github
2017-10-29 16:23:06 +01:00
Florin
f20cbac970
auth: Added test cases for RFC7616
Updated docs to include support for RFC7616

Signed-off-by: Florin <petriuc.florin@gmail.com>

Closes #1934
2017-10-28 16:33:09 +02:00
Daniel Bankhead
1d0c8dea95
TODO: support multiple Content-Encodings
Closes #2002
2017-10-28 11:01:32 +02:00
Daniel Stenberg
516d3b9ff9
ROADMAP: cleanup
Removed done stuff. Removed entries no longer considered for the near
term.
2017-10-28 10:54:20 +02:00
Magicansk
cb361b4a5e
ROADMAP.md: spelling fixes
Closes #2028
2017-10-28 10:49:56 +02:00
Daniel Stenberg
36bbbeb7c2
HELP-US: rename the subtitle too since the label is changed
"PR-welcome" was the former name.
2017-10-27 11:19:44 +02:00
Alessandro Ghedini
7408570bf0 libcurl-tutorial.3: fix typo
closes #2008
2017-10-24 13:27:41 +02:00
Alessandro Ghedini
f6535791fa curl_mime_filedata.3: fix typos 2017-10-23 23:23:23 +01:00
Daniel Stenberg
c514af5a4f
RELEASE-NOTES: 7.56.1 2017-10-23 07:51:20 +02:00
Daniel Stenberg
adbfb42889
THANKS: update at 7.56.1 release time 2017-10-23 07:51:20 +02:00
Daniel Stenberg
172ce9cc19
setopt: avoid integer overflows when setting millsecond values
... that are multiplied by 1000 when stored.

For 32 bit long systems, the max value accepted (2147483 seconds) is >
596 hours which is unlikely to ever be set by a legitimate application -
and previously it didn't work either, it just caused undefined behavior.

Also updated the man pages for these timeout options to mention the
return code.

Closes #1938
2017-10-16 09:23:19 +02:00
Patrick Monnerat
665b3e48bc cli tool: reimplement stdin buffering in -F option.
If stdin is not a regular file, its content is memory-buffered to enable
a possible data "rewind".
In all cases, stdin data size is determined before real use to avoid
having an unknown part's size.

--libcurl generated code is left as an unbuffered stdin fread/fseek callback
part with unknown data size.

Buffering is not supported in deprecated curl_formadd() API.
2017-10-12 14:25:59 +01:00
Daniel Stenberg
46ffcd07cb
HELP-US: the label "PR-welcome" is now renamed to "help wanted"
following the new github "standard"
2017-10-12 09:50:52 +02:00
Daniel Stenberg
f8e593887e
CURLOPT_XFERINFODATA.3: fix duplicate see also 2017-10-09 16:24:36 +02:00
Daniel Stenberg
d895a83a3b
CURLOPT_NOPROGRESS.3: also refer to xferinfofunction 2017-10-09 16:24:19 +02:00
Daniel Stenberg
7f555dc5a4
FAQ: s/CURLOPT_PROGRESSFUNCTION/CURLOPT_XFERINFOFUNCTION 2017-10-09 16:13:27 +02:00
Patrick Monnerat
14d6e207d3 docs: clarify form/mime usage of non-regular data files. 2017-10-08 16:15:23 +01:00
Nick Zitzmann
3e492e03b3 darwinssl: add support for TLSv1.3
Closes https://github.com/curl/curl/pull/1794
2017-10-05 00:51:38 -04:00
Felix Kaiser
2592241d63
docs: fix typo in curl_mime_data_cb man page
Closes #1946
2017-10-04 23:56:22 +02:00
Daniel Stenberg
031c367531
RELEASE-PROCEDURE: update the release schedule 2017-10-04 09:03:04 +02:00
Daniel Stenberg
6119ce0802
THANKS: added new 7.56.0 contributors 2017-10-04 07:52:15 +02:00
Patrick Monnerat
ff6774ea6a libcurl-tutorial: add casts in example to avoid compilation warnings. 2017-10-03 11:03:46 +01:00
Daniel Stenberg
c3e58d93de
examples: bring back curl_formadd-using examples
... now with a -formadd suffix. While the new mime API is introduced in
7.56.0 we must acknowledge that lots of users can't upgrade their curl
versions immediately.
2017-10-03 07:59:55 +02:00
Patrick Monnerat
753a5da906 libcurl-tutorial: fix two typos. 2017-10-02 00:12:55 +01:00
Patrick Monnerat
3ac14ab39a TODO: remove deprecated form API items. 2017-10-01 18:42:52 +01:00
Patrick Monnerat
525251398f libcurl-tutorial: describe MIME API and deprecate form API.
Include a guide to form/mime API conversion.
2017-10-01 18:31:52 +01:00
Michael Kaufmann
c66d94d6da docs: link CURLOPT_CONNECTTIMEOUT and CURLOPT_CONNECTTIMEOUT_MS
Closes #1922
2017-09-28 21:32:20 +02:00
Michael Kaufmann
46d63bbbe8 docs: clarify the use of environment variables for proxy
Closes #1921
2017-09-28 21:29:39 +02:00
Jay Satiro
3a1c7cb3ca symbols-in-versions: fix CURLSSLSET_NO_BACKENDS entry
- Use spaces instead of tabs as the delimiter.

Follow up to 7c52b12 which added the entry. The entry had used tabs but
the symbol-scan parser doesn't recognize tabs and would fail the symbol.
2017-09-23 03:19:47 -04:00
Daniel Stenberg
7c52b12dd4
symbols-in-versions: add CURLSSLSET_NO_BACKENDS
...fixup from b8e0fe19ec
2017-09-22 16:22:57 +02:00
Daniel Stenberg
b8e0fe19ec
vtls: provide curl_global_sslset() even in non-SSL builds
... it just returns error:

Bug: 1328f69d53 (commitcomment-24470367)
Reported-by: Marcel Raad

Closes #1906
2017-09-22 12:09:13 +02:00
Patrick Monnerat
ee56fdb691 form/mime: field names are not allowed to contain zero-valued bytes.
Also suppress length argument of curl_mime_name() (names are always
zero-terminated).
2017-09-22 01:08:29 +01:00
Marcel Raad
5d916944ae
examples/post-callback: use long for CURLOPT_POSTFIELDSIZE
Otherwise, typecheck-gcc.h warns on MinGW-w64.
2017-09-21 20:07:24 +02:00
Daniel Stenberg
50b208e23e
docs: clarify the CURLOPT_INTERLEAVE* options behavior 2017-09-15 15:47:56 +02:00
Daniel Stenberg
20acb58a38
code style: use space after semicolon 2017-09-12 09:50:24 +02:00
Daniel Stenberg
e5743f08e7
code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
Daniel Stenberg
6b84438d9a
code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
Jay Satiro
64bb7ae6ae mbedtls: enable CA path processing
CA path processing was implemented when mbedtls.c was added to libcurl
in fe7590f, but it was never enabled.

Bug: https://github.com/curl/curl/issues/1877
Reported-by: SBKarr@users.noreply.github.com
2017-09-10 03:22:05 -04:00
Jakub Zakrzewski
08aeae0e37 KNOWN_BUGS: Remove CMake symbol hiding issue
It has already been fixed in 6140dfc
2017-09-07 17:33:49 +02:00
Daniel Stenberg
cd8d9bb930
HISTORY: added some recent items 2017-09-07 09:51:25 +02:00
Patrick Monnerat
63ef436ea1 mime: implement encoders.
curl_mime_encoder() is operational and documented.
curl tool -F option is extended with ";encoder=".
curl tool --libcurl option generates calls to curl_mime_encoder().
New encoder tests 648 & 649.
Test 1404 extended with an encoder specification.
2017-09-05 17:55:51 +01:00
Daniel Stenberg
8b902ef0af docs/curl_mime_*.3: use correct variable types in examples 2017-09-05 17:33:16 +01:00
Viktor Szakats
25fc694a41 examples/mime: minor example code fixes 2017-09-05 10:05:27 +00:00
Daniel Stenberg
eae21db920
docs/curl_mime_*.3: added examples 2017-09-05 11:15:02 +02:00
Daniel Stenberg
d491a9c3a8
MAIL-ETIQUETTE: added "1.9 Your emails are public" 2017-09-05 09:29:11 +02:00
Viktor Szakats
1c8725e639 docs: Update to secure URL versions 2017-09-04 14:08:54 +00:00
Viktor Szakats
841a09ea19 mime: use CURL_ZERO_TERMINATED in examples
and some minor whitespace fixes
2017-09-04 13:58:10 +00:00
Daniel Stenberg
12e789391d
examples/post-callback: stop returning one byte at a time
... since people copy and paste code from this example and thus they get
an inefficient POST operation without a good reason and sometimes
without understanding why.

Instead this now returns as much data as possible.
2017-09-04 11:42:00 +02:00
Daniel Stenberg
2e4074c953
docs: curl_mime_*.3 man page formatting edits 2017-09-04 09:20:24 +02:00
Patrick Monnerat
efd9301426 mime: use size_t instead of ssize_t in public API interface.
To support telling a string is nul-terminated, symbol CURL_ZERO_TERMINATED
has been introduced.

Documentation updated accordingly.

symbols in versions updated. Added form API symbols deprecation info.
2017-09-03 16:10:55 +01:00
Patrick Monnerat
1a3f4c1991 mime: remove support "-" stdin pseudo-file name in curl_mime_filedata().
This feature is badly supported in Windows: as a replacement, a caller has
to use curl_mime_data_cb() with fread, fseek and possibly fclose
callbacks to process opened files.

The cli tool and documentation are updated accordingly.

The feature is however kept internally for form API compatibility, with
the known caveats it always had.

As a side effect, stdin size is not determined by the cli tool even if
possible and this results in a chunked transfer encoding. Test 173 is
updated accordingly.
2017-09-03 14:45:43 +01:00
Patrick Monnerat
3baf36edf6 mime: tests and examples.
Additional mime-specific tests.
Existing tests updated to reflect small differences (Expect: 100-continue,
data size change due to empty lines, etc).
Option -F headers= keyword added to tests.
test1135 disabled until the entry point order change is resolved.
New example smtp-mime.
Examples postit2 and multi-post converted from form API to mime API.
2017-09-02 19:08:45 +01:00
Patrick Monnerat
fec7a858b8 mime: use in curl cli tool instead of form API.
Extended -F option syntax to support multipart mail messages.
-F keyword headers= added to include custom headers in parts.
Documentation upgraded.
2017-09-02 18:17:33 +01:00
Patrick Monnerat
ce0881edee mime: new MIME API.
Available in HTTP, SMTP and IMAP.
Deprecates the FORM API.
See CURLOPT_MIMEPOST.
Lib code and associated documentation.
2017-09-02 17:47:10 +01:00
Daniel Stenberg
c290b8fb23
curl_global_sslset: select backend by name case insensitively
Closes #1849
2017-09-01 11:51:32 +02:00
Daniel Stenberg
f7512d7bec
curl_global_sslset.3: show the struct and enum too
... so that users can actually write code based on the man page alone,
not having to read the header file.
2017-08-31 10:13:49 +02:00
Kamil Dudka
7ec797b13a examples/sslbackend.c: fix failure of 'make checksrc'
./sslbackend.c:58:3: warning: else after closing brace on same line (BRACEELSE)
   } else if(isdigit(*name)) {
   ^
./sslbackend.c:62:3: warning: else after closing brace on same line (BRACEELSE)
   } else
   ^
2017-08-30 14:16:35 +02:00
Daniel Stenberg
860443bee4
curl_global_sslset.3: clarify
it is a one time *set*, not necessarily a one time use... it can be
called again if the first call failed or just listed the alternatives.

clarify that the available backends are the ones this build supports

plus add some formatting

Reported-by: Rich Gray
Bug: https://curl.haxx.se/mail/lib-2017-08/0119.html
2017-08-30 09:57:05 +02:00
Daniel Stenberg
8c33c963a0
HELP-US.md: spelling 2017-08-29 08:31:59 +02:00
Daniel Stenberg
f93bf2c79b
HELP-US.md: "How to get started helping out in the curl project"
Closes #1837
2017-08-29 08:29:36 +02:00
Daniel Stenberg
edcb1ef60f
curl_global_init.3: mention curl_global_sslset(3) 2017-08-28 23:58:42 +02:00
Johannes Schindelin
9d96a5f0b5
version: add the CURL_VERSION_MULTI_SSL feature flag
This new feature flag reports When cURL was built with multiple SSL
backends.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-28 22:56:49 +02:00
Johannes Schindelin
a34e141c09
docs/examples: demonstrate how to select SSL backends
The newly-introduced curl_global_sslset() function deserves to be
show-cased.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-28 14:56:59 +02:00
Johannes Schindelin
0fb4125554
Add a man page for curl_global_sslset()
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-28 14:56:59 +02:00
Johannes Schindelin
1328f69d53
vtls: introduce curl_global_sslset()
Let's add a compile time safe API to select an SSL backend. This
function needs to be called *before* curl_global_init(), and can be
called only once.

Side note: we do not explicitly test that it is called before
curl_global_init(), but we do verify that it is not called multiple times
(even implicitly).

If SSL is used before the function was called, it will use whatever the
CURL_SSL_BACKEND environment variable says (or default to the first
available SSL backend), and if a subsequent call to
curl_global_sslset() disagrees with the previous choice, it will fail
with CURLSSLSET_TOO_LATE.

The function also accepts an "avail" parameter to point to a (read-only)
NULL-terminated list of available backends. This comes in real handy if
an application wants to let the user choose between whatever SSL backends
the currently available libcurl has to offer: simply call

	curl_global_sslset(-1, NULL, &avail);

which will return CURLSSLSET_UNKNOWN_BACKEND and populate the avail
variable to point to the relevant information to present to the user.

Just like with the HTTP/2 push functions, we have to add the function
declaration of curl_global_sslset() function to the header file
*multi.h* because VMS and OS/400 require a stable order of functions
declared in include/curl/*.h (where the header files are sorted
alphabetically). This looks a bit funny, but it cannot be helped.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2017-08-28 14:56:59 +02:00
Daniel Stenberg
e37ab949b2
examples/threaded-ssl: mention that this is for openssl before 1.1 2017-08-25 08:15:59 +02:00
Daniel Stenberg
4a7673c8ca
CURLOPT_USERPWD.3: see also CURLOPT_PROXYUSERPWD 2017-08-24 10:09:28 +02:00
Daniel Stenberg
88c2e22734
request-target.d: mention added in 7.55.0 2017-08-22 14:48:33 +02:00
Daniel Stenberg
ffb2bc394b
KNOWN_BUGS: HTTP test server 'connection-monitor' problems
Closes #868
2017-08-18 16:04:55 +02:00
Daniel Stenberg
582f2a1308
CURLOPT_SSH_COMPRESSION.3: enable with 1L
(leaves other values reserved for the future)
2017-08-17 09:54:07 +02:00
Daniel Stenberg
525fb7e16a
compressed-ssh.d: "Added: 7.56.0" 2017-08-17 09:49:33 +02:00
Viktor Szakats
b7b4dc0d49 ssh: add the ability to enable compression (for SCP/SFTP)
The required low-level logic was already available as part of
`libssh2` (via `LIBSSH2_FLAG_COMPRESS` `libssh2_session_flag()`[1]
option.)

This patch adds the new `libcurl` option `CURLOPT_SSH_COMPRESSION`
(boolean) and the new `curl` command-line option `--compressed-ssh`
to request this `libssh2` feature. To have compression enabled, it
is required that the SSH server supports a (zlib) compatible
compression method and that `libssh2` was built with `zlib` support
enabled.

[1] https://www.libssh2.org/libssh2_session_flag.html

Ref: https://github.com/curl/curl/issues/1732
Closes https://github.com/curl/curl/pull/1735
2017-08-17 03:32:00 -04:00
Jay Satiro
d18941ea17 examples/ftpuploadresume: checksrc compliance 2017-08-16 14:44:50 -04:00
Ryan Winograd
43d036e724
progress: Track total times following redirects
Update the progress timers `t_nslookup`, `t_connect`, `t_appconnect`,
`t_pretransfer`, and `t_starttransfer` to track the total times for
these activities when a redirect is followed. Previously, only the times
for the most recent request would be tracked.

Related changes:

  - Rename `Curl_pgrsResetTimesSizes` to `Curl_pgrsResetTransferSizes`
    now that the function only resets transfer sizes and no longer
    modifies any of the progress timers.

  - Add a bool to the `Progress` struct that is used to prevent
    double-counting `t_starttransfer` times.

Added test case 1399.

Fixes #522 and Known Bug 1.8
Closes #1602
Reported-by: joshhe on github
2017-08-15 18:58:31 +02:00
Kamil Dudka
ab2a7079cd zsh.pl: produce a working completion script again
Commit curl-7_54_0-118-g8b2f22e changed the output format of curl --help
to use <file> and <dir> instead of FILE and DIR, which caused zsh.pl to
produce a broken completion script:

% curl --<TAB>
_curl:10: no such file or directory: seconds

Closes #1779
2017-08-15 12:25:46 +02:00
Daniel Stenberg
adc35a4f19
examples/ftpuploadresume.c: use portable code
... converted from the MS specific _snscanf()
2017-08-14 14:01:29 +02:00
Daniel Stenberg
8839c05fba
RELEASE-NOTES/THANKS: curl 7.55.1 release time 2017-08-13 23:34:21 +02:00
Daniel Stenberg
c078981332
connect-to.d: better language 2017-08-12 17:36:12 +02:00
Daniel Stenberg
1562644e39
connect-to.d: clarified 2017-08-12 17:32:33 +02:00
Alessandro Ghedini
a6fdf11771
docs: fix typo funtion -> function
Closes #1770
2017-08-12 14:56:37 +02:00
Alessandro Ghedini
34f24fef4a docs: fix grammar in CURL_SSLVERSION_MAX_DEFAULT description 2017-08-12 13:36:39 +01:00
Alessandro Ghedini
274f9cac96 docs: fix typo stuct -> struct 2017-08-12 13:33:10 +01:00
Daniel Stenberg
a7bbbb7c36
make install: add 8 missing man pages to the installation 2017-08-09 11:31:10 +02:00
Daniel Stenberg
7417029e19
THANKS: 20 new contributors in 7.55.0 2017-08-09 07:50:35 +02:00
Viktor Szakats
13ef623a81
docs/comments: Update to secure URL versions
Closes #1741
2017-08-08 21:41:07 +02:00
Daniel Stenberg
70934885d0 CURLOPT_NETRC.3: fix typo in 7e48aa3861
Reported-by: Viktor Szakats
2017-08-02 15:29:27 +02:00
Daniel Stenberg
7e48aa3861 CURLOPT_NETRC.3: mention the file name on windows
... and CURLOPT_NETRC_FILE(3).
2017-08-02 14:34:26 +02:00
Daniel Stenberg
62495ff31a BUGS: improved phrasing about security bugs
Reported-by: Max Dymond
2017-08-01 15:06:08 +02:00
Daniel Stenberg
821a0854f6 BUGS: clarify how to report security related bugs 2017-08-01 14:39:13 +02:00
Jay Satiro
436cd490fc include.d: clarify --include is only for response headers
Follow-up to 171f8de and de6de94.

Bug: https://github.com/curl/curl/commit/de6de94#commitcomment-23370851
Reported-by: Daniel Stenberg
2017-07-30 02:29:36 -04:00
Daniel Stenberg
171f8ded26 include.d: clarify that it concerns the response headers
Reported-by: olesteban at github
Fixes #1704
2017-07-28 18:22:50 +02:00
Daniel Stenberg
bbc9c6d144 CURLOPT_POSTFIELDS.3: explain the 100-continue magic better 2017-07-07 12:43:17 +02:00
Daniel Stenberg
a126ca8481 curl_easy_escape.3: mention the (lack of) encoding
Fixes #1612
Reported-by: Jeroen Ooms
2017-07-07 10:47:46 +02:00
Daniel Stenberg
da08c867e4 TODO: 1.10 auto-detect proxy
Closes #1572
2017-07-05 10:07:56 +02:00
Daniel Stenberg
add0f7119f TODO: HTTP proxy CONNECT is non-blocking now 2017-07-05 10:00:26 +02:00
Daniel Stenberg
d24838d4da make: build the docs subdir only from within src
... and don't build at all in include

Prompted-by-work-by: Simon Warta
Ref: #1590
Closes #1591
2017-06-30 17:09:01 +02:00
Daniel Stenberg
ef2a9f22cc curl_strequal.3: fix typo in SYNOPSIS
Reported-by: Jesse Chisholm

Fixes #1623
2017-06-29 01:16:56 +02:00
Kamil Dudka
ce2c3ebda2 curl --socks5-{basic,gssapi}: control socks5 auth
Closes https://github.com/curl/curl/pull/1454
2017-06-28 08:03:00 +02:00
Kamil Dudka
8924f58c37 CURLOPT_SOCKS5_AUTH: allowed methods for SOCKS5 proxy auth
If libcurl was built with GSS-API support, it unconditionally advertised
GSS-API authentication while connecting to a SOCKS5 proxy.  This caused
problems in environments with improperly configured Kerberos: a stock
libcurl failed to connect, despite libcurl built without GSS-API
connected fine using username and password.

This commit introduces the CURLOPT_SOCKS5_AUTH option to control the
allowed methods for SOCKS5 authentication at run time.

Note that a new option was preferred over reusing CURLOPT_PROXYAUTH
for compatibility reasons because the set of authentication methods
allowed by default was different for HTTP and SOCKS5 proxies.

Bug: https://curl.haxx.se/mail/lib-2017-01/0005.html
Closes https://github.com/curl/curl/pull/1454
2017-06-28 08:02:58 +02:00
Daniel Stenberg
924cd3e25b CURLINFO_REDIRECT_URL.3: mention the CURLOPT_MAXREDIRS case
... supported since 7.54.1
2017-06-24 00:59:10 +02:00
Daniel Stenberg
b4043706eb CONTRIBUTE.md: mention the out-of-tree build test too 2017-06-22 10:31:03 +02:00
Daniel Stenberg
9b167fd090 --request-target: instead of --strip-path-slash
... 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
2017-06-21 23:39:10 +02:00
Daniel Stenberg
b778ae4c5e http: add --strip-path-slash and CURLOPT_STRIP_PATH_SLASH
... to enable sending "OPTIONS *" which wasn't possible previously.

This option currently only works for HTTP.

Added test cases 1298 + 1299 to verify

Fixes #1280
Closes #1462
2017-06-19 16:39:22 +02:00
Daniel Stenberg
3b80d3ca46 getinfo: return sizes as curl_off_t
This change introduces new alternatives for the existing six
curl_easy_getinfo() options that return sizes or speeds as doubles. The
new versions are named like the old ones but with an appended '_T':

CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
CURLINFO_CONTENT_LENGTH_UPLOAD_T
CURLINFO_SIZE_DOWNLOAD_T
CURLINFO_SIZE_UPLOAD_T
CURLINFO_SPEED_DOWNLOAD_T
CURLINFO_SPEED_UPLOAD_T

Closes #1511
2017-06-19 09:27:42 +02:00
Daniel Stenberg
7b3b4722be CURLOPT_PREQUOTE.3: spellfix man page reference 2017-06-18 17:06:51 +02:00
Daniel Stenberg
c095d7b590 TODO: update the TOC too 2017-06-18 00:30:16 +02:00
Daniel Stenberg
8bc9cabd7f TODO: implement support for CURLOPT_PREQUOTE with SFTP
... also updated the CURLOPT_PREQUOTE.3 man page to mention the correct
protocol support.

Closes #1514
2017-06-18 00:25:09 +02:00
Daniel Stenberg
5385450afd curl: prevent binary output spewed to terminal
... unless "--output -" is used. Binary detection is done by simply
checking for a binary zero in early data.

Added test 1425 1426 to verify.

Closes #1512
2017-06-16 23:38:13 +02:00
Marcel Raad
ce2cc568f8
Makefile.m32: enable -W for MinGW32 build
The configure-based build also has this in addition to -Wall.

Closes https://github.com/curl/curl/pull/1578
2017-06-16 22:32:22 +02:00
Daniel Stenberg
4d1147ae20 TODO: the generated include file is gone
... since commit 73a2fcea0b
2017-06-15 13:30:57 +02:00
Daniel Stenberg
84b9458837 curl: allow --header and --proxy-header read from file
So many headers can be provided as @filename.

Suggested-by: Timothe Litt

Closes #1486
2017-06-15 11:09:40 +02:00
Daniel Stenberg
5113ad0424 http-proxy: do the HTTP CONNECT process entirely non-blocking
Mentioned as a problem since 2007 (8f87c15bda) and of course it
existed even before that.

Closes #1547
2017-06-14 23:43:52 +02:00
Daniel Stenberg
73a2fcea0b includes: remove curl/curlbuild.h and curl/curlrules.h
Rely entirely on curl/system.h now.

Introduced in Aug 2008 with commit 14240e9e10. Now gone.

Fixes #1456
2017-06-14 11:07:33 +02:00
Daniel Stenberg
54b636f145 release: 7.54.1 2017-06-14 08:08:56 +02:00
ygrek
ab1f4eb011 BINDINGS: update SP-Forth and OCaml urls 2017-06-12 00:43:20 +02:00
Daniel Stenberg
4024a0b93b RELEASE-PROCEDURE: updated future release dates 2017-06-09 15:58:51 +02:00
Ryuichi KAWAMATA
bc164de7b3 examples/multi-uv.c: fix deprecated symbol
Closes #1557
2017-06-08 23:23:59 +02:00
Mahmoud Samir Fayed
65ba92650d BINDINGS: add Ring binding
Closes https://github.com/curl/curl/pull/1539
2017-06-03 23:53:51 -04:00
Daniel Stenberg
c3ad22697c CONTRIBUTE.md: mention tests done on pull requests 2017-06-04 00:21:59 +02:00
Daniel Stenberg
efc7c1d86f typecheck-gcc.h: check CURLINFO_CERTINFO
... and update the certinfo.c example accordingly.

Fixes https://github.com/curl/curl/issues/846
2017-06-01 21:06:09 +02:00
Daniel Stenberg
5fe4f78902 typecheck-gcc.h: separate getinfo slist checks from other pointers
Fixes #1524
2017-06-01 21:06:09 +02:00
Daniel Stenberg
c5de7f50f7 examples/externalsocket.c: s/closesocket/closecb
... since closesocket is a function in WinSock.

Reported-by: Marcel Raad
Bug: 55fcb84859 (co)
mmitcomment-22347818
2017-05-31 23:22:46 +02:00
Daniel Stenberg
aae4a4788a CURLOPT_SSH_KEY*.3: typos
Reported-by: Gisle Vanem
2017-05-31 13:52:03 +02:00
Daniel Stenberg
399a1a6182 CURLOPT_STREAM_DEPENDS.3: typo 2017-05-31 13:39:56 +02:00
Daniel Stenberg
f072393feb CURLOPT_FNMATCH_FUNCTION.3: also modified example to avoid fcpp issues 2017-05-31 13:36:51 +02:00
Daniel Stenberg
28baf380fa CURLOPT_FNMATCH_DATA.3: modified example to avoid fcpp issues 2017-05-31 13:30:04 +02:00
Daniel Stenberg
4600362a5a opts: more than 100 more examples for man pages... 2017-05-31 11:56:53 +02:00
Daniel Stenberg
501b9ebe92 examples/sampleconv.c: indent changes, made callbacks static 2017-05-31 11:56:53 +02:00
Daniel Stenberg
55fcb84859 example/externalsocket.c: make it use CLOSESOCKETFUNCTION too 2017-05-31 11:56:53 +02:00
Daniel Stenberg
a6ad28a75e CURLOPT_PROXY.3: fix test 1140 breakage 2017-05-31 08:45:36 +02:00
Daniel Stenberg
bb1a8c174b opts: more examples added to man pages 2017-05-30 23:35:30 +02:00
Daniel Stenberg
2d5fa35e85 docs: clarify NO_PROXY further
Fixes #1208
2017-05-30 22:43:34 +02:00
Daniel Stenberg
dd97551746 CURLOPT_PROXY.3: describe the environment variables more 2017-05-30 18:05:33 +02:00
Daniel Stenberg
c2227dae53 opts: more examples added in option man pages 2017-05-27 23:11:26 +02:00
Daniel Stenberg
d90b729c3b TODO: 6.4 is done, send telnet data in chunks 2017-05-25 21:54:26 +02:00
Phil Crump
a9de0a9f54 docs/CURLOPT_SSLVERSION.3: Correct define name in example
Closes #1509
2017-05-25 16:28:30 +02:00
Marcel Raad
b4d87f54d6
examples: fix Wimplicit-fallthrough warnings
This is contained in -Wextra with GCC 7.
2017-05-24 11:56:38 +02:00
Sergei Nikulov
63cd0d60ea LDAP: documentation update per #878 changes (#1506) 2017-05-24 01:03:29 +03:00
Daniel Stenberg
bba59073c5 redirect: store the "would redirect to" URL when max redirs is reached
Test 1261 added to verify.

Reported-by: Lloyd Fournier

Fixes #1489
Closes #1497
2017-05-23 23:27:58 +02:00
Daniel Stenberg
e5491e0f9c ghiper.c/hiperfifo.c: add comment about missing timer functionality
It takes someone to read up on the APIs of these libraries to figure out
how to do this correctly.

Reported-by: Michael Kaufmann

Closes #1253
2017-05-19 14:25:16 +02:00
Daniel Stenberg
d6bb1f1d56 asiohiper.cpp / evhiperfifo.c: deal with negative timerfunction input
That means delete the timer.

Reported-by: Michael Kaufmann
Ref: #1253
2017-05-19 14:16:37 +02:00
Daniel Stenberg
ce73a30168 cmdline-opts/write-out.d: s/-L/--location
Since the man page generator wants the long option name version to
generate the proper output.
2017-05-18 23:11:45 +02:00
Daniel Stenberg
a6f657911e oauth2-bearer.d: mention the <token> argument 2017-05-17 10:55:12 +02:00
Daniel Stenberg
4fcc0b09fb docs/cmdline-opts/config.d: edit for language 2017-05-16 08:49:11 +02:00
eb16305e6a SecureTransport/DarwinSSL: Implement public key pinning
Closes #1400
2017-05-15 22:54:33 +02:00
Daniel Stenberg
1919569633 man pages: fix example syntax errors
follow-up to 5ddad099b4
2017-05-15 13:01:15 +02:00
Daniel Stenberg
5ddad099b4 docs/libcurl/opts: added more examples in man pages 2017-05-15 11:45:19 +02:00
Daniel Stenberg
e366ca2b85 CURLOPT_HTTPPROXYTUNNEL: clarify, add example 2017-05-15 10:11:23 +02:00
Dan Fandrich
d836c9fee4 url.c: add a compile-time check that CURL_MAX_WRITE_SIZE is large enough
Some code (e.g. Curl_fillreadbuffer) assumes that this buffer is not
exceedingly tiny and will break if it is. This same check is already
done at run time in the CURLOPT_BUFFERSIZE option.
2017-05-13 23:21:27 +02:00
Daniel Stenberg
d5649c91a1 THANKS: add a few missing names
... I found them in the commit logs from the early years
2017-05-13 21:14:59 +02:00
Daniel Stenberg
6d49695bca FAQ: add 7.4 to toc
... and delete trailing whitespace

Fixes #1484
2017-05-12 19:58:06 +02:00
Marcel Raad
77b90997dd
cookie_interface: fix -Wcomma warning
clang 5.0 complains:
possible misuse of comma operator here [-Wcomma]
2017-05-11 10:04:01 +02:00
Daniel Stenberg
8b2f22ed29 curl: generate the --help output
... using the docs/cmdline-opts/gen.pl script, so that we get all the
command line option documentation from the same source.

The generation of the list has to be done manually and pasted into the
source code.

Closes #1465
2017-05-08 23:30:29 +02:00
Daniel Stenberg
7800730520 curl.1: depend the build on the Makefile.inc too
... to also make it update when we remove files, like we did for
--environment in commit a8e388dd10.
2017-05-08 15:11:11 +02:00
Marcel Raad
d99acd937a
sendrecv: fix MinGW-w64 warning
The first argument to select is an int, while curl_socket_t is
unsigned long long when using WinSock. It's ignored anyway [1].

[1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms740141.aspx
2017-05-07 22:14:28 +02:00
Daniel Stenberg
289236b223 opts: fix bad example formatting \n => \\n
...to render properly nroff.
2017-05-06 23:51:29 +02:00
Daniel Stenberg
271c63748a opts: examples added to 8 more libcurl option man pages 2017-05-06 23:38:39 +02:00
Daniel Stenberg
a8e388dd10 curl: remove tool_writeenv.[ch]
... and USE_ENVIRONMENT and --environment. It was once added for RISC OS
support and its platform specific behavior has been annoying ever
since. Added in commit c3c8bbd3b2, mostly unchanged since
then. Most probably not actually used for years.

Closes #1463
2017-05-06 23:13:08 +02:00
Daniel Stenberg
2b7bde4d3f docs/opts: 24 more man pages now have examples 2017-05-05 17:26:08 +02:00
Daniel Stenberg
58a6265a40 docs/opts: 23 more man pages now have examples 2017-05-05 16:30:23 +02:00
Daniel Stenberg
22fdb0954c tests/server: run checksrc by default in debug-builds 2017-05-05 15:51:25 +02:00
Daniel Stenberg
9b47f67929 curl_slist_append.3: clarify a NULL input creates a new list 2017-05-05 13:54:56 +02:00
Daniel Stenberg
4b93382193 CURLINFO_REDIRECT_URL.3: add example 2017-05-04 00:00:13 +02:00
Daniel Stenberg
b065a508c6 CURLINFO_EFFECTIVE_URL.3: add example 2017-05-04 00:00:07 +02:00
Daniel Stenberg
1bfdbb5a51 abstract-unix-socket.d: shorten the help text to fit within 79 cols 2017-05-03 14:22:58 +02:00
Marcel Raad
35311b22b9
anyauthput: remove unused code
The definition of TRUE was introduced in
4a728747e6 and is not used anymore since
e664cd5826.
The usage of intptr_t was removed in
32e38b8f42.
2017-05-01 21:51:02 +02:00
Dan Fandrich
6cba8dacea examples: fixed too long line and too long string warnings 2017-05-01 09:16:12 +02:00
Marcel Raad
c23177d5e9
examples: declare TU-local variables static
This fixes missing-variable-declarations warnings when building with
clang.
2017-04-30 23:29:31 +02:00
Daniel Stenberg
7543f28ad2 cookie_interface.c: changed the other domain to example.com too 2017-04-27 00:30:34 +02:00
Daniel Stenberg
afe05ee2ee cookie_interface.c: fix cookie domain so the example works 2017-04-27 00:27:59 +02:00
Dan Fandrich
8b03436d3c Makefile: fix make dist
Commit 80a87e8a broke 'make dist' as it can't handle installing from
absolute target names. Rearranged the dependencies so the absolute name
is used for building but the relative name is use for distributing.
2017-04-26 23:02:42 +02:00
Daniel Stenberg
e7f8ac1945 examples: ftpuploadfrommem.c
Uploads data to an FTP site, directly from memory.

Closes #1451
2017-04-25 20:53:46 +02:00
Kamil Dudka
e3e8d0204b nss: load libnssckbi.so if no other trust is specified
The module contains a more comprehensive set of trust information than
supported by nss-pem, because libnssckbi.so also includes information
about distrusted certificates.

Reviewed-by: Kai Engert
Closes #1414
2017-04-25 13:24:24 +02:00
Dan Fandrich
80a87e8abc Makefile: avoid use of GNU-specific form of $<
$< is only allowed in implicit rules in some non-GNU makes (e.g. BSD,
AIX) so avoid use elsewhere by referencing the dependent curl.1 file
directly instead. This is somewhat tricky because the file is supplied
in the packaged tar ball (but not in git) but must still be able to be
rebuilt when its dependencies change. The right thing must happen in
both tar ball and git source trees, as well as in both in-tree and
out-of-tree builds.
2017-04-24 21:38:11 +02:00
Daniel Stenberg
d957e2189f THANKS: add contributors from 7.54.0 release notes 2017-04-19 07:41:40 +02:00
Dan Fandrich
f9d1e9a27f libcurl-thread.3: fixed a bad macro that caused test 1140 to fail 2017-04-10 07:42:22 +02:00
Daniel Stenberg
1b9b90d94a libcurl-thread.3: also mention threaded-resolver
Reported-by: Alex Bligh
Bug: https://curl.haxx.se/mail/lib-2017-04/0044.html
2017-04-09 23:09:50 +02:00
Jay Satiro
fa66403280 CURLINFO_SCHEME.3: fix variable type
- Change documented param type to char ** from incorrect long *.
2017-04-08 15:44:39 -04:00
Marcel Raad
e8c3c92d58
INSTALL.md: fix secure transport configure arguments
--without-ssl is needed instead of --with-winssl.
2017-04-08 14:44:18 +02:00
Daniel Stenberg
e10db122a2 BUGS: "Bugs in old versions" 2017-04-07 13:33:08 +02:00
Daniel Stenberg
1526912b98 INSTALL.cmake: more problems
and mention specific issues where they are discussed
2017-04-06 08:04:32 +02:00
Richlv
d9c9611a2f docs: minor typo in write-out.d
Closes #1382
2017-04-04 07:46:31 +02:00
Daniel Stenberg
721f8c05c7 docs: added examples for CURLINFO_FILETIME.3 and CURLOPT_FILETIME.3 2017-04-03 00:00:43 +02:00
Jay Satiro
fb84faf001 fail-early.d: fix typos 2017-03-31 22:36:46 -04:00
Jay Satiro
15b8c6795a docs: Explain --fail-early does not imply --fail
Closes https://github.com/curl/curl/pull/1375
2017-03-31 19:01:38 -04:00
Daniel Stenberg
d6bf5abd60 docs/index.html: removed, was not shipped anyway 2017-03-31 00:05:31 +02:00
Daniel Stenberg
2ff9c3e145 dist: add missing files to the tarball 2017-03-31 00:05:31 +02:00
Peter Wu
ec493dbda2 cmake: fix build with cmake 2.8.12.2
For some reason, CMake 2.8.12.2 did not expand the list argument in a
single DEPENDS argument. Remove the quotes, so it gets expanded into
multiple arguments for add_custom_command and add_custom_target.

Fixes https://github.com/curl/curl/issues/1370
Closes #1372
2017-03-30 23:43:35 +02:00
Daniel Stenberg
f8952932e7 cmake: add cmake file in docs/libcurl/opts/ to dist 2017-03-30 08:16:56 +02:00
Daniel Stenberg
63dd7bbc50 cmake: add more missing files to the dist 2017-03-30 08:12:37 +02:00
Daniel Stenberg
6a819089a6 docs/Makefile.am: include CMakeLists.txt in the dist tarball 2017-03-30 00:36:04 +02:00
madblobfish
556c51a2df KNOWN_BUGS: typo
Closes #1364
2017-03-29 08:18:57 +02:00
Maksim Stsepanenka
d1ddda7e75 make: use the variable MAKE for recursive calls
Closes #1366
2017-03-29 08:17:13 +02:00
Jay Satiro
041ded0459 examples/fopen: checksrc compliance 2017-03-28 02:55:14 -04:00
klemens
f7df67cff0 spelling fixes
Closes #1356
2017-03-26 23:56:23 +02:00
Edward Kimmel
99d708a016
asiohiper: make sure socket is open in event_cb
Send curl_socket_t to event_cb and make sure it hasn't been closed yet.

Closes https://github.com/curl/curl/pull/1318
2017-03-23 22:58:29 +01:00
Daniel Stenberg
e369303cdc CURLINFO_PRIMARY_IP.3: add example 2017-03-22 11:28:33 +01:00
Ales Mlakar
a360906de6 mbedtls: add support for CURLOPT_SSL_CTX_FUNCTION
Ref: https://curl.haxx.se/mail/lib-2017-02/0097.html

Closes https://github.com/curl/curl/pull/1272
2017-03-21 23:51:44 -04:00
Peter Wu
898b012a9b cmake: add support for building HTML and PDF docs
Note that for some reason there is this warning (that also exists with
autotools, added since curl-7_15_1-94-ga718cb05f):

    docs/libcurl/curl_multi_socket_all.3:1: can't open `man3/curl_multi_socket.3': No such file or directory

Additionally, adjust the roffit --mandir option to support creating
links when doing out-of-tree builds.

Ref: https://github.com/curl/curl/pull/1288
2017-03-21 14:49:53 +01:00
Peter Wu
84a226a30b cmake: build manual pages (including curl.1)
Also make Perl mandatory to allow building the docs.

While CMakeLists.txt could probably read the list of manual pages from
Makefile.am, actually putting those in CMakeLists.txt is cleaner so that
is what is done here.

Fixes #1230
Ref: https://github.com/curl/curl/pull/1288
2017-03-21 14:49:53 +01:00
Peter Wu
6f6e9193df docs: split file lists into Makefile.inc
For easier sharing with CMake. The contents were reformatted to use
two-space indent and expanded tabs (matching lib/Makefile.common).

Ref: https://github.com/curl/curl/pull/1288
2017-03-21 14:49:53 +01:00
Daniel Stenberg
26baf39f3d examples: comment typos in http2 examples 2017-03-21 12:55:46 +01:00
Daniel Stenberg
0005d00766 CONTRIBUTE: mention referring to github issues in commit msgs 2017-03-21 00:41:56 +01:00
Jay Satiro
f7b3914c55 CURLINFO_LOCAL_PORT.3: fix typo 2017-03-16 18:18:49 -04:00
Daniel Stenberg
49f7b13536 CURLINFO_LOCAL_PORT.3: added example 2017-03-16 23:05:22 +01:00
Daniel Stenberg
c5357b7b99 SSLCERTS.md: mention HTTPS proxies and their separate options 2017-03-16 23:00:24 +01:00
Daniel Stenberg
280e8c6e37 BINDINGS: a Delphi binding 2017-03-15 13:47:53 +01:00
Daniel Stenberg
a2eb08607c KNOWN_BUGS: remove libidn related issue
... as we no longer use libidn
2017-03-14 21:13:10 +01:00
Daniel Stenberg
bfb2a0ad77 RELEASE-NOTES: synced with c25e0761d0 2017-03-13 15:55:53 +01:00
Daniel Stenberg
c25e0761d0 make: regenerate docs/curl.1 by runinng make in docs
... previously, docs/ was only a dist subdir, now also a build subdir.

Reported-by: Dan Fandrich
Bug: https://curl.haxx.se/mail/lib-2017-03/0017.html
2017-03-13 08:01:27 +01:00
Desmond O. Chang
d2bcf1e3e2 url: add option CURLOPT_SUPPRESS_CONNECT_HEADERS
- Add new option CURLOPT_SUPPRESS_CONNECT_HEADERS to allow suppressing
  proxy CONNECT response headers from the user callback functions
  CURLOPT_HEADERFUNCTION and CURLOPT_WRITEFUNCTION.

- Add new tool option --suppress-connect-headers to expose
  CURLOPT_SUPPRESS_CONNECT_HEADERS and allow suppressing proxy CONNECT
  response headers from --dump-header and --include.

Assisted-by: Jay Satiro
Assisted-by: CarloCannas@users.noreply.github.com
Closes https://github.com/curl/curl/pull/783
2017-03-12 01:32:33 -05:00
Dan Fandrich
03c5223ee7 cmdline-opts: fixed a few typos 2017-03-11 11:44:18 +01:00
Dan Fandrich
e1960fef12 tls-max.d: added to the makefile 2017-03-09 23:08:06 +01:00
Jozef Kralik
6448f98c18 vtls: add options to specify range of enabled TLS versions
This commit introduces the CURL_SSLVERSION_MAX_* constants as well as
the --tls-max option of the curl tool.

Closes https://github.com/curl/curl/pull/1166
2017-03-08 15:54:07 +01:00
Daniel Stenberg
6888a670aa MANPAGE: clarify the dash situation in meta data 2017-03-08 09:20:36 +01:00
Daniel Stenberg
324bf2fd36 insecure.d: clarify that this is for server connections
Assisted-by: Ray Satiro
Bug: https://curl.haxx.se/mail/lib-2017-03/0002.html
2017-03-08 09:17:32 +01:00
Steve Brokenshire
beff139d3d maketgz: Run updatemanpages.pl to update man pages
maketgz now runs scripts/updatemanpages.pl to update the man pages .TH
section to use the current date and curl/libcurl version.

(TODO Section 3.1)

Closes #1058
2017-03-07 23:36:17 +01:00
Steve Brokenshire
d960e57029 gitignore: Ignore man page dist files
Ignore man page dist files generated by scripts/updatemanpages.pl
2017-03-07 23:27:31 +01:00
Steve Brokenshire
f5712ca277 Makefile.am: Remove distribution man pages when running 'make clean' 2017-03-07 23:27:31 +01:00
Jay Satiro
f023f258fa KNOWN_BUGS: Add DarwinSSL won't import PKCS#12 without a password
Bug: https://github.com/curl/curl/issues/1308
Reported-by: Justin Clift
2017-03-06 19:13:03 -05:00
Daniel Stenberg
7ad72e0fc2 BINDINGS: update the Lua-cURL URL 2017-03-06 12:57:33 +01:00
Sylvestre Ledru
df77f1772d BINDINGS: add Scilab binding
Closes #1312
2017-03-06 12:51:27 +01:00
Daniel Stenberg
5e99ede6d3 BINDINGS: add go-curl and perl6-net-curl
Reported-by: Peter Pentchev
2017-03-06 10:11:55 +01:00
Daniel Stenberg
bfcb3150a7 BINDINGS: add misssing C++ bindings
Reported-by: Giuseppe Persico
2017-03-06 09:44:08 +01:00
Michael Maltese
813263dc3a CMake: Set at most one SSL library
Ref: https://github.com/curl/curl/pull/1228
2017-03-05 14:42:53 +01:00
Jay Satiro
21512a015f CURLOPT_SSL_CTX_FUNCTION.3: Fix EXAMPLE formatting errors
.. also document that CURLE_NOT_BUILT_IN is a RETURN VALUE.

Ref: https://github.com/curl/curl/pull/1290
2017-03-04 16:07:28 -05:00
Sylvestre Ledru
658b9a200a fix some typos in the doc (#1306) 2017-03-04 15:50:33 +01:00
c4rlo
e952402404 no-keepalive.d: fix typo
Closes https://github.com/curl/curl/pull/1301
2017-03-03 02:37:43 -05:00
JDepooter
0966ab5bd4 darwinssl: Warn that disabling host verify also disables SNI
In DarwinSSL the SSLSetPeerDomainName function is used to enable both
sending SNI and verifying the host. When host verification is disabled
the function cannot be called, therefore SNI is disabled as well.

Closes https://github.com/curl/curl/pull/1240
2017-03-02 02:42:15 -05:00
Peter Wu
eac0dc6a3f docs: de-duplicate file lists in the Makefiles
Make use of macro substitution of suffix patterns to remove duplication
of manual names. This approach is portable according to
http://pubs.opengroup.org/onlinepubs/009695399/utilities/make.html

Closes https://github.com/curl/curl/pull/1287
2017-02-25 16:26:22 -05:00
Daniel Stenberg
25df50aa33 release: 7.53.1 2017-02-24 08:47:45 +01:00
Daniel Stenberg
ed74c6442d TODO: "OPTIONS *"
Closes #1280
2017-02-23 16:58:21 +01:00
Daniel Stenberg
443e5b03a7 THANKS-filter: shachaf 2017-02-23 11:21:19 +01:00
Jay Satiro
035c2eceeb docs: gitignore curl.1
curl.1 is generated by the cmdline-opts script since 4c49b83.
2017-02-22 14:08:29 -05:00
Daniel Stenberg
f57eb1f8e3 TODO: HTTP Digest using SHA-256 2017-02-22 14:16:45 +01:00
Daniel Stenberg
b702a4d848 TODO: brotli is deployed widely now 2017-02-22 11:00:18 +01:00
Jay Satiro
b259646ea1 url: Improve CURLOPT_PROXY_CAPATH error handling
- Change CURLOPT_PROXY_CAPATH to return CURLE_NOT_BUILT_IN if the option
  is not supported, which is the same as what we already do for
  CURLOPT_CAPATH.

- Change the curl tool to handle CURLOPT_PROXY_CAPATH error
  CURLE_NOT_BUILT_IN as a warning instead of as an error, which is the
  same as what we already do for CURLOPT_CAPATH.

- Fix CAPATH docs to show that CURLE_NOT_BUILT_IN is returned when the
  respective CAPATH option is not supported by the SSL library.

Ref: https://github.com/curl/curl/pull/1257
2017-02-21 22:24:40 -05:00
Daniel Stenberg
a7135ac3c3 release: 7.53.0 2017-02-22 00:23:38 +01:00
Daniel Stenberg
73ef4ed612 TODO: CURLOPT_RESOLVE for any port number
Closes #1264
2017-02-20 09:15:13 +01:00
Jay Satiro
889ca45ab8 examples/multi-uv: checksrc compliance 2017-02-20 00:52:16 -05:00
Michael Kaufmann
4ddf9798ab docs: fix timeout handling in multi-uv example 2017-02-18 18:09:17 +01:00
Daniel Stenberg
62c857acd6 RELEASE-PROCEDURE: update the upcoming release calendar 2017-02-16 07:44:39 +01:00
Daniel Stenberg
c2127b448d TODO: consider file name from the redirected URL with -O ?
It isn't easily solved, but with some thinking someone could probably
come up with a working approach?

Closes #1241
2017-02-15 15:12:32 +01:00
Daniel Stenberg
a08db49642 axtls: adapt to API changes
Builds with axTLS 2.1.2. This then also breaks compatibility with axTLS
< 2.1.0 (the older API)

... and fix the session_id mixup brought in 04b4ee549

Fixes #1220
2017-02-15 08:27:35 +01:00
Daniel Stenberg
8721f3a50e cmdline-opts/page-footer: ftp.sunet.se is no longer an FTP mirror 2017-02-10 16:21:18 +01:00
Jay Satiro
7017c421a1 cmdline-opts/socks*: Mention --preproxy in --socks* opts
- Document in --socks* opts they're still mutually exclusive of --proxy.

Partial revert of 423a93c; I had misinterpreted the SOCKS proxy +
HTTP/HTTPS proxy combination.

- Document in --socks* opts that --preproxy can be used to specify a
  SOCKS proxy at the same time --proxy is used with an HTTP/HTTPS proxy.
2017-02-09 18:26:16 -05:00
Daniel Stenberg
1dcf244721 CURLOPT_SSL_VERIFYPEER.3: also the https proxy version 2017-02-09 23:22:57 +01:00
Daniel Stenberg
bef0d00110 examples/multithread.c: link to our multi-thread docs
... instead of the OpenSSL mutex page.
2017-02-09 16:16:21 +01:00
Daniel Stenberg
102454459d THANKS-filter: polish some recent contributors 2017-02-07 10:43:25 +01:00
Dan Fandrich
edb2d02855 cmdline-opts: Fixed build and test in out of source tree builds 2017-02-06 23:37:05 +01:00
Viktor Szakats
88bdd7cf6f use *.sourceforge.io and misc URL updates
Ref: https://sourceforge.net/blog/introducing-https-for-project-websites/
Closes: https://github.com/curl/curl/pull/1247
2017-02-06 19:21:05 +00:00
Jay Satiro
423a93ce32 docs: Add more HTTPS proxy documentation
- Document HTTPS proxy type.

- Document --write-out %{proxy_ssl_verify_result}.

- Document SOCKS proxy + HTTP/HTTPS proxy combination.

HTTPS proxy support was added in 7.52.0 for OpenSSL, GnuTLS and NSS.

Ref: https://github.com/curl/curl/commit/cb4e2be
2017-02-06 03:13:42 -05:00
Daniel Stenberg
a1a5dd14d7 docs: we no longer ship HTML versions of man pages
... refer to the web site for the web versions.
2017-01-29 11:11:19 +01:00
railsnewbie257
bd7eaf75f1 docs: proofread README.netware README.win32
Closes #1231
2017-01-29 11:11:14 +01:00
Michael Kaufmann
bcca842e0d polarssl: fix hangs
This bugfix is similar to commit c111178bd4.
2017-01-28 19:47:08 +01:00
Daniel Stenberg
074405786b TODO: remove "Support TLS v1.3"
Support is trickling in already.
2017-01-27 10:00:33 +01:00
railsnewbie257
77350cef00 INTERNALS.md: language improvements
Closes #1226
2017-01-24 23:42:16 +01:00
Daniel Stenberg
8611d985ee VC: remove the makefile.vc6 build infra
The winbuild/ build files is now the single MSVC makefile build choice.

Closes #1215
2017-01-23 14:27:32 +01:00
Jay Satiro
d0837f36db cmdline-opts/gen.pl: Open input files in CRLF mode
On Windows it's possible to have input files with CRLF line endings and
a perl that defaults to LF line endings (eg msysgit). Currently that
results in generator output of mixed line endings of CR, LF and CRLF.

This change fixes that issue in the most succinct way by opening the
files in :crlf text mode even when the perl being used does not default
to that mode. (On operating systems that don't have a separate text mode
it's essentially a no-op.) The output continues to be in the perl's
native line ending.
2017-01-23 13:57:54 +01:00
Daniel Stenberg
4c49b83597 docs/curl.1: generate from the cmdline-opts script 2017-01-23 13:57:54 +01:00
Richy Kim
6b7616690e CURLOPT_BUFFERSIZE: support enlarging receive buffer
Replace use of fixed macro BUFSIZE to define the size of the receive
buffer.  Reappropriate CURLOPT_BUFFERSIZE to include enlarging receive
buffer size.  Upon setting, resize buffer if larger than the current
default size up to a MAX_BUFSIZE (512KB). This can benefit protocols
like SFTP.

Closes #1222
2017-01-19 23:38:04 +01:00
Michael Kaufmann
1a9a99adf9 KNOWN_BUGS: HTTP/2 server push enabled when no pushes can be accepted
This has been implemented with commit 9ad034e.
2017-01-19 21:02:11 +01:00
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