[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnurl] 159/163: Merge tag 'curl-7_61_0'
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnurl] 159/163: Merge tag 'curl-7_61_0' |
Date: |
Sun, 05 Aug 2018 12:38:05 +0200 |
This is an automated email from the git hooks/post-receive script.
ng0 pushed a commit to branch master
in repository gnurl.
commit e811856677be94017c4d2bb333830a7f743649a6
Merge: cb5937f5c eb8138405
Author: Nils Gillmann <address@hidden>
AuthorDate: Sun Aug 5 10:00:26 2018 +0000
Merge tag 'curl-7_61_0'
curl 7.61.0
Signed-off-by: Nils Gillmann <address@hidden>
.mailmap | 2 +
.travis.yml | 10 +-
CMake/CurlTests.c | 30 +-
CMake/Macros.cmake | 28 +-
CMake/OtherTests.cmake | 61 ++-
CMake/Platforms/WindowsCache.cmake | 7 +-
CMake/Utilities.cmake | 41 +-
CMakeLists.txt | 126 +++---
Makefile.dist | 26 +-
RELEASE-NOTES | 435 ++++++++++-----------
acinclude.m4 | 311 +--------------
configure.ac | 30 +-
docs/CIPHERS.md | 61 +++
docs/DEPRECATE.md | 73 ++++
docs/GOVERNANCE.md | 144 +++++++
docs/INSTALL.md | 52 +--
docs/KNOWN_BUGS | 85 +++-
docs/MAIL-ETIQUETTE | 2 +-
docs/Makefile.am | 47 ++-
docs/{RELEASE-PROCEDURE => RELEASE-PROCEDURE.md} | 13 +-
docs/THANKS | 25 ++
docs/TODO | 29 +-
docs/cmdline-opts/Makefile.inc | 3 +-
docs/cmdline-opts/cert-type.d | 6 +-
docs/cmdline-opts/ciphers.d | 2 +-
docs/cmdline-opts/data.d | 2 +-
docs/cmdline-opts/disallow-username-in-url.d | 7 +
docs/cmdline-opts/form.d | 2 +-
docs/cmdline-opts/gen.pl | 6 +
docs/cmdline-opts/haproxy-protocol.d | 4 +-
docs/cmdline-opts/ntlm.d | 2 +-
docs/cmdline-opts/post303.d | 9 +-
docs/cmdline-opts/proxy-service-name.d | 2 +-
docs/cmdline-opts/proxy-tls13-ciphers.d | 12 +
docs/cmdline-opts/remote-time.d | 4 +-
docs/cmdline-opts/retry-delay.d | 4 +-
docs/cmdline-opts/retry-max-time.d | 2 +-
docs/cmdline-opts/sasl-ir.d | 2 +-
docs/cmdline-opts/show-error.d | 2 +-
docs/cmdline-opts/silent.d | 2 +-
docs/cmdline-opts/ssl-reqd.d | 2 +-
docs/cmdline-opts/ssl.d | 2 +-
docs/cmdline-opts/styled-output.d | 6 +
docs/cmdline-opts/tftp-blksize.d | 2 +-
docs/cmdline-opts/tls13-ciphers.d | 12 +
docs/cmdline-opts/tlsv1.1.d | 2 +-
docs/cmdline-opts/tlsv1.2.d | 2 +-
docs/cmdline-opts/tlsv1.3.d | 2 +-
docs/cmdline-opts/tlsv1.d | 4 +-
docs/cmdline-opts/url.d | 2 +-
docs/examples/Makefile.inc | 2 +-
docs/examples/Makefile.netware | 4 +-
docs/examples/cacertinmem.c | 4 +-
docs/examples/chkspeed.c | 26 +-
docs/examples/crawler.c | 210 ++++++++++
docs/examples/curlx.c | 2 +-
docs/examples/debug.c | 4 +-
docs/examples/fileupload.c | 12 +-
docs/examples/getinmemory.c | 2 +-
docs/examples/http2-download.c | 4 +-
docs/examples/http2-serverpush.c | 8 +-
docs/examples/http2-upload.c | 4 +-
docs/examples/multi-debugcallback.c | 4 +-
docs/examples/multi-uv.c | 4 +-
docs/examples/progressfunc.c | 40 +-
docs/examples/smtp-mime.c | 2 +-
docs/examples/threaded-shared-conn.c | 2 +-
docs/libcurl/gnurl_easy_getinfo.3 | 46 ++-
docs/libcurl/gnurl_easy_setopt.3 | 8 +-
docs/libcurl/gnurl_multi_add_handle.3 | 12 +-
docs/libcurl/gnurl_multi_socket.3 | 21 +-
docs/libcurl/gnurl_multi_socket_action.3 | 10 +-
docs/libcurl/gnurl_share_setopt.3 | 9 +
docs/libcurl/libgnurl-multi.3 | 20 +-
docs/libcurl/libgnurl-security.3 | 24 +-
...CONNECT_TIME.3 => CURLINFO_APPCONNECT_TIME_T.3} | 26 +-
...INFO_TOTAL_TIME.3 => CURLINFO_CONNECT_TIME_T.3} | 27 +-
...ELOOKUP_TIME.3 => CURLINFO_NAMELOOKUP_TIME_T.3} | 25 +-
...ANSFER_TIME.3 => CURLINFO_PRETRANSFER_TIME_T.3} | 24 +-
..._REDIRECT_TIME.3 => CURLINFO_REDIRECT_TIME_T.3} | 28 +-
...SFER_TIME.3 => CURLINFO_STARTTRANSFER_TIME_T.3} | 26 +-
...INFO_CONNECT_TIME.3 => CURLINFO_TOTAL_TIME_T.3} | 26 +-
...TTPGET.3 => CURLOPT_DISALLOW_USERNAME_IN_URL.3} | 39 +-
...UTH2_BEARER.3 => CURLOPT_PROXY_TLS13_CIPHERS.3} | 39 +-
...PT_XOAUTH2_BEARER.3 => CURLOPT_TLS13_CIPHERS.3} | 38 +-
docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME.3 | 2 +-
docs/libcurl/opts/GNURLINFO_CONNECT_TIME.3 | 2 +-
docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME.3 | 2 +-
docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME.3 | 2 +-
docs/libcurl/opts/GNURLINFO_REDIRECT_TIME.3 | 2 +-
docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME.3 | 2 +-
docs/libcurl/opts/GNURLINFO_TLS_SSL_PTR.3 | 35 +-
docs/libcurl/opts/GNURLINFO_TOTAL_TIME.3 | 2 +-
docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3 | 20 +-
docs/libcurl/opts/GNURLOPT_HAPROXYPROTOCOL.3 | 8 +-
docs/libcurl/opts/GNURLOPT_HTTPAUTH.3 | 8 +-
docs/libcurl/opts/GNURLOPT_HTTPGET.3 | 13 +-
docs/libcurl/opts/GNURLOPT_INTERFACE.3 | 5 +-
docs/libcurl/opts/GNURLOPT_POST.3 | 6 +-
docs/libcurl/opts/GNURLOPT_POSTFIELDS.3 | 4 +-
docs/libcurl/opts/GNURLOPT_RESOLVE.3 | 5 +
docs/libcurl/opts/GNURLOPT_SSLVERSION.3 | 42 +-
docs/libcurl/opts/GNURLOPT_SSL_VERIFYPEER.3 | 12 +-
docs/libcurl/opts/GNURLOPT_WILDCARDMATCH.3 | 4 +-
docs/libcurl/opts/GNURLOPT_XOAUTH2_BEARER.3 | 8 +-
docs/libcurl/opts/Makefile.inc | 10 +
docs/libcurl/symbols-in-versions | 18 +-
include/README | 19 +-
include/gnurl/curl.h | 22 +-
include/gnurl/curlver.h | 6 +-
include/gnurl/system.h | 20 +-
include/gnurl/typecheck-gcc.h | 2 +-
lib/CMakeLists.txt | 7 -
lib/Makefile.am | 4 +-
lib/Makefile.b32 | 185 ---------
lib/Makefile.inc | 4 +-
lib/Makefile.netware | 4 +-
lib/asyn-ares.c | 19 +-
lib/asyn-thread.c | 12 +-
lib/base64.c | 3 +-
lib/checksrc.pl | 12 +
lib/conncache.c | 37 +-
lib/conncache.h | 4 +-
lib/connect.c | 12 +-
lib/content_encoding.c | 14 +-
lib/cookie.c | 54 +--
lib/curl_addrinfo.c | 3 +-
lib/curl_config.h.cmake | 6 +
lib/curl_fnmatch.c | 43 +-
lib/curl_sasl.c | 3 +-
lib/curl_setup.h | 10 +-
lib/dict.c | 6 +-
lib/easy.c | 27 +-
lib/escape.c | 6 +-
lib/file.c | 8 +-
lib/formdata.c | 5 +-
lib/ftp.c | 16 +-
lib/getinfo.c | 22 ++
lib/hash.c | 11 +-
lib/hmac.c | 4 +-
lib/hostip.c | 34 +-
lib/hostip6.c | 35 +-
lib/http.c | 101 +++--
lib/http2.c | 16 +-
lib/http_proxy.c | 6 +-
lib/imap.c | 16 +-
lib/inet_ntop.c | 2 +-
lib/ldap.c | 9 -
lib/md5.c | 2 +-
lib/memdebug.h | 9 +-
lib/mime.c | 44 +--
lib/mk-ca-bundle.pl | 7 +-
lib/multi.c | 73 +++-
lib/multihandle.h | 8 +-
lib/netrc.c | 4 +-
lib/pingpong.c | 10 +-
lib/pipeline.c | 3 +-
lib/pop3.c | 4 +-
lib/progress.c | 39 +-
lib/progress.h | 13 -
lib/psl.c | 111 ++++++
tests/server/testpart.c => lib/psl.h | 45 +--
lib/rand.c | 2 +-
lib/rtsp.c | 6 +-
lib/security.c | 4 +-
lib/select.c | 8 +-
lib/sendf.c | 48 +--
lib/sendf.h | 5 +-
lib/setopt.c | 34 +-
lib/sha256.c | 12 +-
lib/share.c | 11 +-
lib/share.h | 6 +-
lib/smtp.c | 5 +-
lib/socks.c | 8 +-
lib/splay.c | 3 +-
lib/ssh-libssh.c | 27 +-
lib/ssh.c | 8 +-
lib/telnet.c | 51 +--
lib/tftp.c | 21 +-
lib/transfer.c | 10 +-
lib/url.c | 61 +--
lib/urldata.h | 16 +-
lib/vauth/digest.c | 6 +-
lib/version.c | 2 +-
lib/vtls/axtls.c | 5 +
lib/vtls/cyassl.c | 2 +-
lib/vtls/darwinssl.c | 17 +-
lib/vtls/gskit.c | 32 +-
lib/vtls/nss.c | 11 +-
lib/vtls/openssl.c | 80 ++--
lib/vtls/schannel.c | 188 ++++++++-
lib/vtls/schannel.h | 34 ++
lib/vtls/schannel_verify.c | 18 +-
lib/vtls/vtls.c | 8 +
lib/vtls/vtls.h | 5 +-
lib/x509asn1.c | 4 +-
m4/ax_compile_check_sizeof.m4 | 115 ++++++
m4/curl-confopts.m4 | 39 +-
m4/curl-functions.m4 | 3 +-
maketgz | 67 ++--
packages/OS400/README.OS400 | 8 +-
packages/OS400/ccsidcurl.c | 79 ++++
packages/OS400/ccsidcurl.h | 20 +-
packages/OS400/curl.inc.in | 178 ++++++++-
packages/vms/build_gnv_curl_pcsi_desc.com | 2 +-
packages/vms/setup_gnv_curl_build.com | 2 +-
projects/build-openssl.bat | 2 +-
projects/wolfssl_options.h | 2 +-
scripts/Makefile.am | 2 +
src/CMakeLists.txt | 4 -
src/Makefile.am | 4 +-
src/Makefile.b32 | 154 --------
src/Makefile.m32 | 4 +-
src/Makefile.netware | 4 +-
src/curl.rc | 50 ++-
src/tool_cb_dbg.c | 10 +-
src/tool_cb_hdr.c | 63 ++-
src/tool_cb_hdr.h | 4 +-
src/tool_cb_prg.c | 12 +-
src/tool_cb_wrt.c | 13 +-
src/tool_cb_wrt.h | 4 +-
src/tool_cfgable.h | 8 +-
src/tool_formparse.c | 13 +-
src/tool_getparam.c | 38 +-
src/tool_help.c | 20 +-
src/tool_libinfo.c | 2 +-
src/tool_main.c | 3 +-
src/tool_metalink.c | 4 +-
src/tool_msgs.c | 2 +-
src/tool_operate.c | 25 +-
src/tool_paramhlp.c | 10 +-
src/tool_parsecfg.c | 8 +-
src/tool_urlglob.c | 2 +-
src/tool_writeout.c | 4 +-
tests/Makefile.am | 4 +-
tests/data/DISABLED | 2 -
tests/data/Makefile.inc | 9 +-
tests/data/test1116 | 2 +
tests/data/test1156 | 70 ++++
tests/data/test1319 | 3 -
tests/data/test1321 | 3 -
tests/data/test1400 | 1 -
tests/data/test1401 | 1 -
tests/data/test1402 | 1 -
tests/data/test1403 | 1 -
tests/data/test1404 | 1 -
tests/data/test1405 | 1 -
tests/data/test1406 | 1 -
tests/data/test1407 | 1 -
tests/data/test1417 | 1 +
tests/data/test1420 | 1 -
tests/data/test1455 | 7 +-
tests/data/test1553 | 4 +-
tests/data/test1557 | 36 ++
tests/data/{test1553 => test1590} | 6 +-
tests/data/test1609 | 26 ++
tests/data/test2010 | 4 +-
tests/data/{test1455 => test2074} | 21 +-
tests/data/test2075 | 34 ++
tests/data/test266 | 1 +
tests/data/test46 | 8 +-
tests/data/test851 | 2 +-
tests/data/test92 | 14 +
tests/libtest/.gitignore | 8 +-
tests/libtest/CMakeLists.txt | 12 +-
tests/libtest/Makefile.am | 7 +-
tests/libtest/Makefile.inc | 13 +-
tests/libtest/lib1156.c | 162 ++++++++
tests/libtest/lib1537.c | 15 +-
tests/libtest/lib1554.c | 3 +-
tests/{server/testpart.c => libtest/lib1557.c} | 62 +--
tests/libtest/lib1900.c | 8 +-
tests/libtest/lib500.c | 50 ++-
tests/libtest/lib506.c | 2 +-
tests/libtest/lib512.c | 6 +-
tests/libtest/lib544.c | 2 +-
tests/libtest/lib552.c | 4 +-
tests/libtest/lib556.c | 2 +-
tests/libtest/lib579.c | 3 +-
tests/libtest/lib586.c | 2 +-
tests/libtest/lib650.c | 4 +-
tests/libtest/lib652.c | 4 +-
tests/libtest/stub_gssapi.c | 52 ++-
tests/libtest/testtrace.c | 2 +-
tests/runtests.pl | 1 +
tests/server/CMakeLists.txt | 6 -
tests/server/getpart.c | 2 +-
tests/server/rtspd.c | 26 +-
tests/server/sockfilt.c | 29 +-
tests/server/sws.c | 13 +-
tests/server/testpart.c | 6 +-
tests/server/tftpd.c | 16 +-
tests/server/util.c | 5 +-
tests/unit/Makefile.inc | 5 +-
tests/unit/README | 4 +-
tests/unit/unit1300.c | 2 +-
tests/unit/unit1303.c | 2 +-
tests/unit/unit1307.c | 113 ++++--
tests/unit/unit1604.c | 4 +-
tests/unit/unit1607.c | 10 +-
tests/unit/{unit1607.c => unit1609.c} | 91 ++---
winbuild/MakefileBuild.vc | 6 +-
winbuild/gen_resp_file.bat | 4 +-
303 files changed, 4152 insertions(+), 2566 deletions(-)
diff --cc configure.ac
index 0e3803ac0,22280a5e9..b21dd584f
--- a/configure.ac
+++ b/configure.ac
@@@ -2320,8 -3453,8 +2321,8 @@@ AX_COMPILE_CHECK_SIZEOF(off_t
o=$CPPFLAGS
CPPFLAGS="-I$srcdir/include $CPPFLAGS"
- AC_CHECK_SIZEOF(curl_off_t, unused , [
+ AX_COMPILE_CHECK_SIZEOF(curl_off_t, [
-#include <curl/system.h>
+#include <gnurl/system.h>
])
CPPFLAGS=$o
diff --cc docs/examples/progressfunc.c
index b21a79e77,51d75366c..080b4df3a
--- a/docs/examples/progressfunc.c
+++ b/docs/examples/progressfunc.c
@@@ -25,13 -25,27 +25,27 @@@
* </DESC>
*/
#include <stdio.h>
-#include <curl/curl.h>
+#include <gnurl/curl.h>
- #define STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES 6000
+ #if LIBCURL_VERSION_NUM >= 0x073d00
+ /* In libcurl 7.61.0, support was added for extracting the time in plain
+ microseconds. Older libcurl versions are stuck in using 'double' for this
+ information so we complicate this example a bit by supporting either
+ approach. */
+ #define TIME_IN_US 1 /* microseconds */
+ #define TIMETYPE curl_off_t
+ #define TIMEOPT CURLINFO_TOTAL_TIME_T
+ #define MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL 3000000
+ #else
+ #define TIMETYPE double
+ #define TIMEOPT CURLINFO_TOTAL_TIME
#define MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL 3
+ #endif
+
+ #define STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES 6000
struct myprogress {
- double lastruntime;
+ TIMETYPE lastruntime; /* type depends on version, see above */
CURL *curl;
};
diff --cc docs/libcurl/gnurl_easy_getinfo.3
index 351a6b8d9,000000000..a85d47f6f
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_easy_getinfo.3
+++ b/docs/libcurl/gnurl_easy_getinfo.3
@@@ -1,249 -1,0 +1,277 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH curl_easy_getinfo 3 "11 Feb 2009" "libcurl 7.19.4" "libcurl Manual"
+.SH NAME
+curl_easy_getinfo - extract information from a curl handle
+.SH SYNOPSIS
+.B #include <gnurl/curl.h>
+
+.B "CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );"
+
+.SH DESCRIPTION
+Request internal information from the curl session with this function. The
+third argument \fBMUST\fP be a pointer to a long, a pointer to a char *, a
+pointer to a struct curl_slist * or a pointer to a double (as this
+documentation describes further down). The data pointed-to will be filled in
+accordingly and can be relied upon only if the function returns CURLE_OK. Use
+this function AFTER a performed transfer if you want to get transfer related
+data.
+
+You should not free the memory returned by this function unless it is
+explicitly mentioned below.
+.SH AVAILABLE INFORMATION
+The following information can be extracted:
+.IP CURLINFO_EFFECTIVE_URL
+Last used URL.
+See \fICURLINFO_EFFECTIVE_URL(3)\fP
+.IP CURLINFO_RESPONSE_CODE
+Last received response code.
+See \fICURLINFO_RESPONSE_CODE(3)\fP
+.IP CURLINFO_HTTP_CONNECTCODE
+Last proxy CONNECT response code.
+See \fICURLINFO_HTTP_CONNECTCODE(3)\fP
+.IP CURLINFO_HTTP_VERSION
+The http version used in the connection.
+See \fICURLINFO_HTTP_VERSION(3)\fP
+.IP CURLINFO_FILETIME
+Remote time of the retrieved document. See \fICURLINFO_FILETIME(3)\fP
+.IP CURLINFO_FILETIME_T
+Remote time of the retrieved document. See \fICURLINFO_FILETIME_T(3)\fP
+.IP CURLINFO_TOTAL_TIME
+Total time of previous transfer.
+See \fICURLINFO_TOTAL_TIME(3)\fP
++.IP CURLINFO_TOTAL_TIME_T
++Total time of previous transfer.
++See \fICURLINFO_TOTAL_TIME_T(3)\fP
+.IP CURLINFO_NAMELOOKUP_TIME
+Time from start until name resolving completed.
+See \fICURLINFO_NAMELOOKUP_TIME(3)\fP
++.IP CURLINFO_NAMELOOKUP_TIME_T
++Time from start until name resolving completed.
++See \fICURLINFO_NAMELOOKUP_TIME_T(3)\fP
+.IP CURLINFO_CONNECT_TIME
+Time from start until remote host or proxy completed.
+See \fICURLINFO_CONNECT_TIME(3)\fP
++.IP CURLINFO_CONNECT_TIME_T
++Time from start until remote host or proxy completed.
++See \fICURLINFO_CONNECT_TIME_T(3)\fP
+.IP CURLINFO_APPCONNECT_TIME
+Time from start until SSL/SSH handshake completed.
+See \fICURLINFO_APPCONNECT_TIME(3)\fP
++.IP CURLINFO_APPCONNECT_TIME_T
++Time from start until SSL/SSH handshake completed.
++See \fICURLINFO_APPCONNECT_TIME_T(3)\fP
+.IP CURLINFO_PRETRANSFER_TIME
+Time from start until just before the transfer begins.
+See \fICURLINFO_PRETRANSFER_TIME(3)\fP
++.IP CURLINFO_PRETRANSFER_TIME_T
++Time from start until just before the transfer begins.
++See \fICURLINFO_PRETRANSFER_TIME_T(3)\fP
+.IP CURLINFO_STARTTRANSFER_TIME
+Time from start until just when the first byte is received.
+See \fICURLINFO_STARTTRANSFER_TIME(3)\fP
++.IP CURLINFO_STARTTRANSFER_TIME_T
++Time from start until just when the first byte is received.
++See \fICURLINFO_STARTTRANSFER_TIME_T(3)\fP
+.IP CURLINFO_REDIRECT_TIME
+Time taken for all redirect steps before the final transfer.
+See \fICURLINFO_REDIRECT_TIME(3)\fP
++.IP CURLINFO_REDIRECT_TIME_T
++Time taken for all redirect steps before the final transfer.
++See \fICURLINFO_REDIRECT_TIME_T(3)\fP
+.IP CURLINFO_REDIRECT_COUNT
+Total number of redirects that were followed.
+See \fICURLINFO_REDIRECT_COUNT(3)\fP
+.IP CURLINFO_REDIRECT_URL
+URL a redirect would take you to, had you enabled redirects.
+See \fICURLINFO_REDIRECT_URL(3)\fP
+.IP CURLINFO_SIZE_UPLOAD
+(Deprecated) Number of bytes uploaded.
+See \fICURLINFO_SIZE_UPLOAD(3)\fP
+.IP CURLINFO_SIZE_UPLOAD_T
+Number of bytes uploaded.
+See \fICURLINFO_SIZE_UPLOAD_T(3)\fP
+.IP CURLINFO_SIZE_DOWNLOAD
+(Deprecated) Number of bytes downloaded.
+See \fICURLINFO_SIZE_DOWNLOAD(3)\fP
+.IP CURLINFO_SIZE_DOWNLOAD_T
+Number of bytes downloaded.
+See \fICURLINFO_SIZE_DOWNLOAD_T(3)\fP
+.IP CURLINFO_SPEED_DOWNLOAD
+(Deprecated) Average download speed.
+See \fICURLINFO_SPEED_DOWNLOAD(3)\fP
+.IP CURLINFO_SPEED_DOWNLOAD_T
+Average download speed.
+See \fICURLINFO_SPEED_DOWNLOAD_T(3)\fP
+.IP CURLINFO_SPEED_UPLOAD
+(Deprecated) Average upload speed.
+See \fICURLINFO_SPEED_UPLOAD(3)\fP
+.IP CURLINFO_SPEED_UPLOAD_T
+Average upload speed.
+See \fICURLINFO_SPEED_UPLOAD_T(3)\fP
+.IP CURLINFO_HEADER_SIZE
+Number of bytes of all headers received.
+See \fICURLINFO_HEADER_SIZE(3)\fP
+.IP CURLINFO_REQUEST_SIZE
+Number of bytes sent in the issued HTTP requests.
+See \fICURLINFO_REQUEST_SIZE(3)\fP
+.IP CURLINFO_SSL_VERIFYRESULT
+Certificate verification result.
+See \fICURLINFO_SSL_VERIFYRESULT(3)\fP
+.IP CURLINFO_PROXY_SSL_VERIFYRESULT
+Proxy certificate verification result.
+See \fICURLINFO_PROXY_SSL_VERIFYRESULT(3)\fP
+.IP CURLINFO_SSL_ENGINES
+A list of OpenSSL crypto engines.
+See \fICURLINFO_SSL_ENGINES(3)\fP
+.IP CURLINFO_CONTENT_LENGTH_DOWNLOAD
+(Deprecated) Content length from the Content-Length header.
+See \fICURLINFO_CONTENT_LENGTH_DOWNLOAD(3)\fP
+.IP CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
+Content length from the Content-Length header.
+See \fICURLINFO_CONTENT_LENGTH_DOWNLOAD_T(3)\fP
+.IP CURLINFO_CONTENT_LENGTH_UPLOAD
+(Deprecated) Upload size. See \fICURLINFO_CONTENT_LENGTH_UPLOAD(3)\fP
+.IP CURLINFO_CONTENT_LENGTH_UPLOAD_T
+Upload size. See \fICURLINFO_CONTENT_LENGTH_UPLOAD_T(3)\fP
+.IP CURLINFO_CONTENT_TYPE
+Content type from the Content-Type header.
+See \fICURLINFO_CONTENT_TYPE(3)\fP
+.IP CURLINFO_PRIVATE
+User's private data pointer.
+See \fICURLINFO_PRIVATE(3)\fP
+.IP CURLINFO_HTTPAUTH_AVAIL
+Available HTTP authentication methods.
+See \fICURLINFO_HTTPAUTH_AVAIL(3)\fP
+.IP CURLINFO_PROXYAUTH_AVAIL
+Available HTTP proxy authentication methods.
+See \fICURLINFO_PROXYAUTH_AVAIL(3)\fP
+.IP CURLINFO_OS_ERRNO
+The errno from the last failure to connect.
+See \fICURLINFO_OS_ERRNO(3)\fP
+.IP CURLINFO_NUM_CONNECTS
+Number of new successful connections used for previous transfer.
+See \fICURLINFO_NUM_CONNECTS(3)\fP
+.IP CURLINFO_PRIMARY_IP
+IP address of the last connection.
+See \fICURLINFO_PRIMARY_IP(3)\fP
+.IP CURLINFO_PRIMARY_PORT
+Port of the last connection.
+See \fICURLINFO_PRIMARY_PORT(3)\fP
+.IP CURLINFO_LOCAL_IP
+Local-end IP address of last connection.
+See \fICURLINFO_LOCAL_IP(3)\fP
+.IP CURLINFO_LOCAL_PORT
+Local-end port of last connection.
+See \fICURLINFO_LOCAL_PORT(3)\fP
+.IP CURLINFO_COOKIELIST
+List of all known cookies.
+See \fICURLINFO_COOKIELIST(3)\fP
+.IP CURLINFO_LASTSOCKET
+Last socket used.
+See \fICURLINFO_LASTSOCKET(3)\fP
+.IP CURLINFO_ACTIVESOCKET
+The session's active socket.
+See \fICURLINFO_ACTIVESOCKET(3)\fP
+.IP CURLINFO_FTP_ENTRY_PATH
+The entry path after logging in to an FTP server.
+See \fICURLINFO_FTP_ENTRY_PATH(3)\fP
+.IP CURLINFO_CERTINFO
+Certificate chain.
+See \fICURLINFO_CERTINFO(3)\fP
+.IP CURLINFO_TLS_SSL_PTR
+TLS session info that can be used for further processing.
+See \fICURLINFO_TLS_SSL_PTR(3)\fP
+.IP CURLINFO_TLS_SESSION
+TLS session info that can be used for further processing. See
+\fICURLINFO_TLS_SESSION(3)\fP. Deprecated option, use
+\fICURLINFO_TLS_SSL_PTR(3)\fP instead!
+.IP CURLINFO_CONDITION_UNMET
+Whether or not a time conditional was met.
+See \fICURLINFO_CONDITION_UNMET(3)\fP
+.IP CURLINFO_RTSP_SESSION_ID
+RTSP session ID.
+See \fICURLINFO_RTSP_SESSION_ID(3)\fP
+.IP CURLINFO_RTSP_CLIENT_CSEQ
+RTSP CSeq that will next be used.
+See \fICURLINFO_RTSP_CLIENT_CSEQ(3)\fP
+.IP CURLINFO_RTSP_SERVER_CSEQ
+RTSP CSeq that will next be expected.
+See \fICURLINFO_RTSP_SERVER_CSEQ(3)\fP
+.IP CURLINFO_RTSP_CSEQ_RECV
+RTSP CSeq last received.
+See \fICURLINFO_RTSP_CSEQ_RECV(3)\fP
+.IP CURLINFO_PROTOCOL
+The protocol used for the connection. (Added in 7.52.0)
+See \fICURLINFO_PROTOCOL(3)\fP
+.IP CURLINFO_SCHEME
+The scheme used for the connection. (Added in 7.52.0)
+See \fICURLINFO_SCHEME(3)\fP
+.SH TIMES
+.nf
+An overview of the six time values available from curl_easy_getinfo()
+
+curl_easy_perform()
+ |
+ |--NAMELOOKUP
+ |--|--CONNECT
+ |--|--|--APPCONNECT
+ |--|--|--|--PRETRANSFER
+ |--|--|--|--|--STARTTRANSFER
+ |--|--|--|--|--|--TOTAL
+ |--|--|--|--|--|--REDIRECT
+.fi
+.IP NAMELOOKUP
- \fICURLINFO_NAMELOOKUP_TIME\fP. The time it took from the start until the name
- resolving was completed.
++\fICURLINFO_NAMELOOKUP_TIME\fP and \fIfICURLINFO_NAMELOOKUP_TIME_T\fP.
++The time it took from the start until the name resolving was completed.
+.IP CONNECT
- \fICURLINFO_CONNECT_TIME\fP. The time it took from the start until the connect
++\fICURLINFO_CONNECT_TIME\fP and \fICURLINFO_CONNECT_TIME_T\fP.
++The time it took from the start until the connect
+to the remote host (or proxy) was completed.
+.IP APPCONNECT
- \fICURLINFO_APPCONNECT_TIME\fP. The time it took from the start until the SSL
- connect/handshake with the remote host was completed. (Added in in 7.19.0)
++\fICURLINFO_APPCONNECT_TIME\fP and \fICURLINFO_APPCONNECT_TIME_T\fP.
++The time it took from the start until the SSL
++connect/handshake with the remote host was completed. (Added in 7.19.0)
++The latter is the integer version (measuring microseconds). (Added in 7.60.0)
+.IP PRETRANSFER
- \fICURLINFO_PRETRANSFER_TIME\fP. The time it took from the start until the
++\fICURLINFO_PRETRANSFER_TIME\fP and \fICURLINFO_PRETRANSFER_TIME_T\fP.
++The time it took from the start until the
+file transfer is just about to begin. This includes all pre-transfer commands
+and negotiations that are specific to the particular protocol(s) involved.
+.IP STARTTRANSFER
- \fICURLINFO_STARTTRANSFER_TIME\fP. The time it took from the start until the
++\fICURLINFO_STARTTRANSFER_TIME\fP and \fICURLINFO_STARTTRANSFER_TIME_T\fP.
++The time it took from the start until the
+first byte is received by libcurl.
+.IP TOTAL
- \fICURLINFO_TOTAL_TIME\fP. Total time of the previous request.
++\fICURLINFO_TOTAL_TIME\fP and \fICURLINFO_TOTAL_TIME_T\fP.
++Total time of the previous request.
+.IP REDIRECT
- \fICURLINFO_REDIRECT_TIME\fP. The time it took for all redirection steps
++\fICURLINFO_REDIRECT_TIME\fP and \fICURLINFO_REDIRECT_TIME_T\fP.
++The time it took for all redirection steps
+include name lookup, connect, pretransfer and transfer before final
+transaction was started. So, this is zero if no redirection took place.
+.SH RETURN VALUE
+If the operation was successful, CURLE_OK is returned. Otherwise an
+appropriate error code will be returned.
+.SH "SEE ALSO"
+.BR curl_easy_setopt "(3)"
diff --cc docs/libcurl/gnurl_easy_setopt.3
index 50983a647,000000000..7b7cba8da
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_easy_setopt.3
+++ b/docs/libcurl/gnurl_easy_setopt.3
@@@ -1,612 -1,0 +1,618 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH curl_easy_setopt 3 "25 Jun 2014" "libcurl 7.38.0" "libcurl Manual"
+.SH NAME
+curl_easy_setopt \- set options for a curl easy handle
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
+.SH DESCRIPTION
+\fIcurl_easy_setopt(3)\fP is used to tell libcurl how to behave. By setting
+the appropriate options, the application can change libcurl's behavior. All
+options are set with an \fIoption\fP followed by a \fIparameter\fP. That
+parameter can be a \fBlong\fP, a \fBfunction pointer\fP, an \fBobject
+pointer\fP or a \fBcurl_off_t\fP, depending on what the specific option
+expects. Read this manual carefully as bad input values may cause libcurl to
+behave badly! You can only set one option in each function call. A typical
+application uses many \fIcurl_easy_setopt(3)\fP calls in the setup phase.
+
+Options set with this function call are valid for all forthcoming transfers
+performed using this \fIhandle\fP. The options are not in any way reset
+between transfers, so if you want subsequent transfers with different options,
+you must change them between the transfers. You can optionally reset all
+options back to internal default with \fIcurl_easy_reset(3)\fP.
+
+Strings passed to libcurl as 'char *' arguments, are copied by the library;
+thus the string storage associated to the pointer argument may be overwritten
+after \fIcurl_easy_setopt(3)\fP returns. The only exception to this rule is
+really \fICURLOPT_POSTFIELDS(3)\fP, but the alternative that copies the string
+\fICURLOPT_COPYPOSTFIELDS(3)\fP has some usage characteristics you need to
+read up on.
+
+The order in which the options are set does not matter.
+
+Before version 7.17.0, strings were not copied. Instead the user was forced
+keep them available until libcurl no longer needed them.
+
+The \fIhandle\fP is the return code from a \fIcurl_easy_init(3)\fP or
+\fIcurl_easy_duphandle(3)\fP call.
+.SH BEHAVIOR OPTIONS
+.IP CURLOPT_VERBOSE
+Display verbose information. See \fICURLOPT_VERBOSE(3)\fP
+.IP CURLOPT_HEADER
+Include the header in the body output. See \fICURLOPT_HEADER(3)\fP
+.IP CURLOPT_NOPROGRESS
+Shut off the progress meter. See \fICURLOPT_NOPROGRESS(3)\fP
+.IP CURLOPT_NOSIGNAL
+Do not install signal handlers. See \fICURLOPT_NOSIGNAL(3)\fP
+.IP CURLOPT_WILDCARDMATCH
+Transfer multiple files according to a file name pattern. See
\fICURLOPT_WILDCARDMATCH(3)\fP
+.SH CALLBACK OPTIONS
+.IP CURLOPT_WRITEFUNCTION
+Callback for writing data. See \fICURLOPT_WRITEFUNCTION(3)\fP
+.IP CURLOPT_WRITEDATA
+Data pointer to pass to the write callback. See \fICURLOPT_WRITEDATA(3)\fP
+.IP CURLOPT_READFUNCTION
+Callback for reading data. See \fICURLOPT_READFUNCTION(3)\fP
+.IP CURLOPT_READDATA
+Data pointer to pass to the read callback. See \fICURLOPT_READDATA(3)\fP
+.IP CURLOPT_IOCTLFUNCTION
+Callback for I/O operations. See \fICURLOPT_IOCTLFUNCTION(3)\fP
+.IP CURLOPT_IOCTLDATA
+Data pointer to pass to the I/O callback. See \fICURLOPT_IOCTLDATA(3)\fP
+.IP CURLOPT_SEEKFUNCTION
+Callback for seek operations. See \fICURLOPT_SEEKFUNCTION(3)\fP
+.IP CURLOPT_SEEKDATA
+Data pointer to pass to the seek callback. See \fICURLOPT_SEEKDATA(3)\fP
+.IP CURLOPT_SOCKOPTFUNCTION
+Callback for sockopt operations. See \fICURLOPT_SOCKOPTFUNCTION(3)\fP
+.IP CURLOPT_SOCKOPTDATA
+Data pointer to pass to the sockopt callback. See \fICURLOPT_SOCKOPTDATA(3)\fP
+.IP CURLOPT_OPENSOCKETFUNCTION
+Callback for socket creation. See \fICURLOPT_OPENSOCKETFUNCTION(3)\fP
+.IP CURLOPT_OPENSOCKETDATA
+Data pointer to pass to the open socket callback. See
\fICURLOPT_OPENSOCKETDATA(3)\fP
+.IP CURLOPT_CLOSESOCKETFUNCTION
+Callback for closing socket. See \fICURLOPT_CLOSESOCKETFUNCTION(3)\fP
+.IP CURLOPT_CLOSESOCKETDATA
+Data pointer to pass to the close socket callback. See
\fICURLOPT_CLOSESOCKETDATA(3)\fP
+.IP CURLOPT_PROGRESSFUNCTION
+OBSOLETE callback for progress meter. See \fICURLOPT_PROGRESSFUNCTION(3)\fP
+.IP CURLOPT_PROGRESSDATA
+Data pointer to pass to the progress meter callback. See
\fICURLOPT_PROGRESSDATA(3)\fP
+.IP CURLOPT_XFERINFOFUNCTION
+Callback for progress meter. See \fICURLOPT_XFERINFOFUNCTION(3)\fP
+.IP CURLOPT_XFERINFODATA
+Data pointer to pass to the progress meter callback. See
\fICURLOPT_XFERINFODATA(3)\fP
+.IP CURLOPT_HEADERFUNCTION
+Callback for writing received headers. See \fICURLOPT_HEADERFUNCTION(3)\fP
+.IP CURLOPT_HEADERDATA
+Data pointer to pass to the header callback. See \fICURLOPT_HEADERDATA(3)\fP
+.IP CURLOPT_DEBUGFUNCTION
+Callback for debug information. See \fICURLOPT_DEBUGFUNCTION(3)\fP
+.IP CURLOPT_DEBUGDATA
+Data pointer to pass to the debug callback. See \fICURLOPT_DEBUGDATA(3)\fP
+.IP CURLOPT_SSL_CTX_FUNCTION
+Callback for SSL context logic. See \fICURLOPT_SSL_CTX_FUNCTION(3)\fP
+.IP CURLOPT_SSL_CTX_DATA
+Data pointer to pass to the SSL context callback. See
\fICURLOPT_SSL_CTX_DATA(3)\fP
+.IP CURLOPT_CONV_TO_NETWORK_FUNCTION
+Callback for code base conversion. See
\fICURLOPT_CONV_TO_NETWORK_FUNCTION(3)\fP
+.IP CURLOPT_CONV_FROM_NETWORK_FUNCTION
+Callback for code base conversion. See
\fICURLOPT_CONV_FROM_NETWORK_FUNCTION(3)\fP
+.IP CURLOPT_CONV_FROM_UTF8_FUNCTION
+Callback for code base conversion. See
\fICURLOPT_CONV_FROM_UTF8_FUNCTION(3)\fP
+.IP CURLOPT_INTERLEAVEFUNCTION
+Callback for RTSP interleaved data. See \fICURLOPT_INTERLEAVEFUNCTION(3)\fP
+.IP CURLOPT_INTERLEAVEDATA
+Data pointer to pass to the RTSP interleave callback. See
\fICURLOPT_INTERLEAVEDATA(3)\fP
+.IP CURLOPT_CHUNK_BGN_FUNCTION
+Callback for wildcard download start of chunk. See
\fICURLOPT_CHUNK_BGN_FUNCTION(3)\fP
+.IP CURLOPT_CHUNK_END_FUNCTION
+Callback for wildcard download end of chunk. See
\fICURLOPT_CHUNK_END_FUNCTION(3)\fP
+.IP CURLOPT_CHUNK_DATA
+Data pointer to pass to the chunk callbacks. See \fICURLOPT_CHUNK_DATA(3)\fP
+.IP CURLOPT_FNMATCH_FUNCTION
+Callback for wildcard matching. See \fICURLOPT_FNMATCH_FUNCTION(3)\fP
+.IP CURLOPT_FNMATCH_DATA
+Data pointer to pass to the wildcard matching callback. See
\fICURLOPT_FNMATCH_DATA(3)\fP
+.IP CURLOPT_SUPPRESS_CONNECT_HEADERS
+Suppress proxy CONNECT response headers from user callbacks. See
\fICURLOPT_SUPPRESS_CONNECT_HEADERS(3)\fP
+.IP CURLOPT_RESOLVER_START_FUNCTION
+Callback to be called before a new resolve request is started. See
\fICURLOPT_RESOLVER_START_FUNCTION(3)\fP
+.IP CURLOPT_RESOLVER_START_DATA
+Data pointer to pass to resolver start callback. See
\fICURLOPT_RESOLVER_START_DATA(3)\fP
+.SH ERROR OPTIONS
+.IP CURLOPT_ERRORBUFFER
+Error message buffer. See \fICURLOPT_ERRORBUFFER(3)\fP
+.IP CURLOPT_STDERR
+stderr replacement stream. See \fICURLOPT_STDERR(3)\fP
+.IP CURLOPT_FAILONERROR
+Fail on HTTP 4xx errors. \fICURLOPT_FAILONERROR(3)\fP
+.IP CURLOPT_KEEP_SENDING_ON_ERROR
+Keep sending on HTTP >= 300 errors. \fICURLOPT_KEEP_SENDING_ON_ERROR(3)\fP
+.SH NETWORK OPTIONS
+.IP CURLOPT_URL
+URL to work on. See \fICURLOPT_URL(3)\fP
+.IP CURLOPT_PATH_AS_IS
+Disable squashing /../ and /./ sequences in the path. See
\fICURLOPT_PATH_AS_IS(3)\fP
+.IP CURLOPT_PROTOCOLS
+Allowed protocols. See \fICURLOPT_PROTOCOLS(3)\fP
+.IP CURLOPT_REDIR_PROTOCOLS
+Protocols to allow redirects to. See \fICURLOPT_REDIR_PROTOCOLS(3)\fP
+.IP CURLOPT_DEFAULT_PROTOCOL
+Default protocol. See \fICURLOPT_DEFAULT_PROTOCOL(3)\fP
+.IP CURLOPT_PROXY
+Proxy to use. See \fICURLOPT_PROXY(3)\fP
+.IP CURLOPT_PRE_PROXY
+Socks proxy to use. See \fICURLOPT_PRE_PROXY(3)\fP
+.IP CURLOPT_PROXYPORT
+Proxy port to use. See \fICURLOPT_PROXYPORT(3)\fP
+.IP CURLOPT_PROXYTYPE
+Proxy type. See \fICURLOPT_PROXYTYPE(3)\fP
+.IP CURLOPT_NOPROXY
+Filter out hosts from proxy use. \fICURLOPT_NOPROXY(3)\fP
+.IP CURLOPT_HTTPPROXYTUNNEL
+Tunnel through the HTTP proxy. \fICURLOPT_HTTPPROXYTUNNEL(3)\fP
+.IP CURLOPT_CONNECT_TO
+Connect to a specific host and port. See \fICURLOPT_CONNECT_TO(3)\fP
+.IP CURLOPT_SOCKS5_AUTH
+Socks5 authentication methods. See \fICURLOPT_SOCKS5_AUTH(3)\fP
+.IP CURLOPT_SOCKS5_GSSAPI_SERVICE
+Socks5 GSSAPI service name. \fICURLOPT_SOCKS5_GSSAPI_SERVICE(3)\fP
+.IP CURLOPT_SOCKS5_GSSAPI_NEC
+Socks5 GSSAPI NEC mode. See \fICURLOPT_SOCKS5_GSSAPI_NEC(3)\fP
+.IP CURLOPT_PROXY_SERVICE_NAME
+Proxy authentication service name. \fICURLOPT_PROXY_SERVICE_NAME(3)\fP
+.IP CURLOPT_HAPROXYPROTOCOL
- Send an HAProxy PROXY protocol header. See \fICURLOPT_HAPROXYPROTOCOL(3)\fP
++Send an HAProxy PROXY protocol v1 header. See \fICURLOPT_HAPROXYPROTOCOL(3)\fP
+.IP CURLOPT_SERVICE_NAME
+Authentication service name. \fICURLOPT_SERVICE_NAME(3)\fP
+.IP CURLOPT_INTERFACE
+Bind connection locally to this. See \fICURLOPT_INTERFACE(3)\fP
+.IP CURLOPT_LOCALPORT
+Bind connection locally to this port. See \fICURLOPT_LOCALPORT(3)\fP
+.IP CURLOPT_LOCALPORTRANGE
+Bind connection locally to port range. See \fICURLOPT_LOCALPORTRANGE(3)\fP
+.IP CURLOPT_DNS_CACHE_TIMEOUT
+Timeout for DNS cache. See \fICURLOPT_DNS_CACHE_TIMEOUT(3)\fP
+.IP CURLOPT_DNS_USE_GLOBAL_CACHE
+OBSOLETE Enable global DNS cache. See \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP
+.IP CURLOPT_BUFFERSIZE
+Ask for alternate buffer size. See \fICURLOPT_BUFFERSIZE(3)\fP
+.IP CURLOPT_PORT
+Port number to connect to. See \fICURLOPT_PORT(3)\fP
+.IP CURLOPT_TCP_FASTOPEN
+Enable TFO, TCP Fast Open. See \fICURLOPT_TCP_FASTOPEN(3)\fP
+.IP CURLOPT_TCP_NODELAY
+Disable the Nagle algorithm. See \fICURLOPT_TCP_NODELAY(3)\fP
+.IP CURLOPT_ADDRESS_SCOPE
+IPv6 scope for local addresses. See \fICURLOPT_ADDRESS_SCOPE(3)\fP
+.IP CURLOPT_TCP_KEEPALIVE
+Enable TCP keep-alive. See \fICURLOPT_TCP_KEEPALIVE(3)\fP
+.IP CURLOPT_TCP_KEEPIDLE
+Idle time before sending keep-alive. See \fICURLOPT_TCP_KEEPIDLE(3)\fP
+.IP CURLOPT_TCP_KEEPINTVL
+Interval between keep-alive probes. See \fICURLOPT_TCP_KEEPINTVL(3)\fP
+.IP CURLOPT_UNIX_SOCKET_PATH
+Path to a Unix domain socket. See \fICURLOPT_UNIX_SOCKET_PATH(3)\fP
+.IP CURLOPT_ABSTRACT_UNIX_SOCKET
+Path to an abstract Unix domain socket. See
\fICURLOPT_ABSTRACT_UNIX_SOCKET(3)\fP
+.SH NAMES and PASSWORDS OPTIONS (Authentication)
+.IP CURLOPT_NETRC
+Enable .netrc parsing. See \fICURLOPT_NETRC(3)\fP
+.IP CURLOPT_NETRC_FILE
+\&.netrc file name. See \fICURLOPT_NETRC_FILE(3)\fP
+.IP CURLOPT_USERPWD
+User name and password. See \fICURLOPT_USERPWD(3)\fP
+.IP CURLOPT_PROXYUSERPWD
+Proxy user name and password. See \fICURLOPT_PROXYUSERPWD(3)\fP
+.IP CURLOPT_USERNAME
+User name. See \fICURLOPT_USERNAME(3)\fP
+.IP CURLOPT_PASSWORD
+Password. See \fICURLOPT_PASSWORD(3)\fP
+.IP CURLOPT_LOGIN_OPTIONS
+Login options. See \fICURLOPT_LOGIN_OPTIONS(3)\fP
+.IP CURLOPT_PROXYUSERNAME
+Proxy user name. See \fICURLOPT_PROXYUSERNAME(3)\fP
+.IP CURLOPT_PROXYPASSWORD
+Proxy password. See \fICURLOPT_PROXYPASSWORD(3)\fP
+.IP CURLOPT_HTTPAUTH
+HTTP server authentication methods. See \fICURLOPT_HTTPAUTH(3)\fP
+.IP CURLOPT_TLSAUTH_USERNAME
+TLS authentication user name. See \fICURLOPT_TLSAUTH_USERNAME(3)\fP
+.IP CURLOPT_PROXY_TLSAUTH_USERNAME
+Proxy TLS authentication user name. See
\fICURLOPT_PROXY_TLSAUTH_USERNAME(3)\fP
+.IP CURLOPT_TLSAUTH_PASSWORD
+TLS authentication password. See \fICURLOPT_TLSAUTH_PASSWORD(3)\fP
+.IP CURLOPT_PROXY_TLSAUTH_PASSWORD
+Proxy TLS authentication password. See \fICURLOPT_PROXY_TLSAUTH_PASSWORD(3)\fP
+.IP CURLOPT_TLSAUTH_TYPE
+TLS authentication methods. See \fICURLOPT_TLSAUTH_TYPE(3)\fP
+.IP CURLOPT_PROXY_TLSAUTH_TYPE
+Proxy TLS authentication methods. See \fICURLOPT_PROXY_TLSAUTH_TYPE(3)\fP
+.IP CURLOPT_PROXYAUTH
+HTTP proxy authentication methods. See \fICURLOPT_PROXYAUTH(3)\fP
+.IP CURLOPT_SASL_IR
+Enable SASL initial response. See \fICURLOPT_SASL_IR(3)\fP
+.IP CURLOPT_XOAUTH2_BEARER
+OAuth2 bearer token. See \fICURLOPT_XOAUTH2_BEARER(3)\fP
++.IP CURLOPT_DISALLOW_USERNAME_IN_URL
++Don't allow username in URL. See \fICURLOPT_DISALLOW_USERNAME_IN_URL(3)\fP
+.SH HTTP OPTIONS
+.IP CURLOPT_AUTOREFERER
+Automatically set Referer: header. See \fICURLOPT_AUTOREFERER(3)\fP
+.IP CURLOPT_ACCEPT_ENCODING
+Accept-Encoding and automatic decompressing data. See
\fICURLOPT_ACCEPT_ENCODING(3)\fP
+.IP CURLOPT_TRANSFER_ENCODING
+Request Transfer-Encoding. See \fICURLOPT_TRANSFER_ENCODING(3)\fP
+.IP CURLOPT_FOLLOWLOCATION
+Follow HTTP redirects. See \fICURLOPT_FOLLOWLOCATION(3)\fP
+.IP CURLOPT_UNRESTRICTED_AUTH
+Do not restrict authentication to original host.
\fICURLOPT_UNRESTRICTED_AUTH(3)\fP
+.IP CURLOPT_MAXREDIRS
+Maximum number of redirects to follow. See \fICURLOPT_MAXREDIRS(3)\fP
+.IP CURLOPT_POSTREDIR
+How to act on redirects after POST. See \fICURLOPT_POSTREDIR(3)\fP
+.IP CURLOPT_PUT
+Issue an HTTP PUT request. See \fICURLOPT_PUT(3)\fP
+.IP CURLOPT_POST
+Issue an HTTP POST request. See \fICURLOPT_POST(3)\fP
+.IP CURLOPT_POSTFIELDS
+Send a POST with this data. See \fICURLOPT_POSTFIELDS(3)\fP
+.IP CURLOPT_POSTFIELDSIZE
+The POST data is this big. See \fICURLOPT_POSTFIELDSIZE(3)\fP
+.IP CURLOPT_POSTFIELDSIZE_LARGE
+The POST data is this big. See \fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP
+.IP CURLOPT_COPYPOSTFIELDS
+Send a POST with this data - and copy it. See \fICURLOPT_COPYPOSTFIELDS(3)\fP
+.IP CURLOPT_HTTPPOST
+Multipart formpost HTTP POST. See \fICURLOPT_HTTPPOST(3)\fP
+.IP CURLOPT_REFERER
+Referer: header. See \fICURLOPT_REFERER(3)\fP
+.IP CURLOPT_USERAGENT
+User-Agent: header. See \fICURLOPT_USERAGENT(3)\fP
+.IP CURLOPT_HTTPHEADER
+Custom HTTP headers. See \fICURLOPT_HTTPHEADER(3)\fP
+.IP CURLOPT_HEADEROPT
+Control custom headers. See \fICURLOPT_HEADEROPT(3)\fP
+.IP CURLOPT_PROXYHEADER
+Custom HTTP headers sent to proxy. See \fICURLOPT_PROXYHEADER(3)\fP
+.IP CURLOPT_HTTP200ALIASES
+Alternative versions of 200 OK. See \fICURLOPT_HTTP200ALIASES(3)\fP
+.IP CURLOPT_COOKIE
+Cookie(s) to send. See \fICURLOPT_COOKIE(3)\fP
+.IP CURLOPT_COOKIEFILE
+File to read cookies from. See \fICURLOPT_COOKIEFILE(3)\fP
+.IP CURLOPT_COOKIEJAR
+File to write cookies to. See \fICURLOPT_COOKIEJAR(3)\fP
+.IP CURLOPT_COOKIESESSION
+Start a new cookie session. See \fICURLOPT_COOKIESESSION(3)\fP
+.IP CURLOPT_COOKIELIST
+Add or control cookies. See \fICURLOPT_COOKIELIST(3)\fP
+.IP CURLOPT_HTTPGET
+Do an HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP
+.IP CURLOPT_REQUEST_TARGET
+Set the request target. \fICURLOPT_REQUEST_TARGET(3)\fP
+.IP CURLOPT_HTTP_VERSION
+HTTP version to use. \fICURLOPT_HTTP_VERSION(3)\fP
+.IP CURLOPT_IGNORE_CONTENT_LENGTH
+Ignore Content-Length. See \fICURLOPT_IGNORE_CONTENT_LENGTH(3)\fP
+.IP CURLOPT_HTTP_CONTENT_DECODING
+Disable Content decoding. See \fICURLOPT_HTTP_CONTENT_DECODING(3)\fP
+.IP CURLOPT_HTTP_TRANSFER_DECODING
+Disable Transfer decoding. See \fICURLOPT_HTTP_TRANSFER_DECODING(3)\fP
+.IP CURLOPT_EXPECT_100_TIMEOUT_MS
+100-continue timeout. See \fICURLOPT_EXPECT_100_TIMEOUT_MS(3)\fP
+.IP CURLOPT_PIPEWAIT
+Wait on connection to pipeline on it. See \fICURLOPT_PIPEWAIT(3)\fP
+.IP CURLOPT_STREAM_DEPENDS
+This HTTP/2 stream depends on another. See \fICURLOPT_STREAM_DEPENDS(3)\fP
+.IP CURLOPT_STREAM_DEPENDS_E
+This HTTP/2 stream depends on another exclusively. See
+\fICURLOPT_STREAM_DEPENDS_E(3)\fP
+.IP CURLOPT_STREAM_WEIGHT
+Set this HTTP/2 stream's weight. See \fICURLOPT_STREAM_WEIGHT(3)\fP
+.SH SMTP OPTIONS
+.IP CURLOPT_MAIL_FROM
+Address of the sender. See \fICURLOPT_MAIL_FROM(3)\fP
+.IP CURLOPT_MAIL_RCPT
+Address of the recipients. See \fICURLOPT_MAIL_RCPT(3)\fP
+.IP CURLOPT_MAIL_AUTH
+Authentication address. See \fICURLOPT_MAIL_AUTH(3)\fP
+.SH TFTP OPTIONS
+.IP CURLOPT_TFTP_BLKSIZE
+TFTP block size. See \fICURLOPT_TFTP_BLKSIZE(3)\fP
+.IP CURLOPT_TFTP_NO_OPTIONS
+Do not send TFTP options requests. See \fICURLOPT_TFTP_NO_OPTIONS(3)\fP
+.SH FTP OPTIONS
+.IP CURLOPT_FTPPORT
+Use active FTP. See \fICURLOPT_FTPPORT(3)\fP
+.IP CURLOPT_QUOTE
+Commands to run before transfer. See \fICURLOPT_QUOTE(3)\fP
+.IP CURLOPT_POSTQUOTE
+Commands to run after transfer. See \fICURLOPT_POSTQUOTE(3)\fP
+.IP CURLOPT_PREQUOTE
+Commands to run just before transfer. See \fICURLOPT_PREQUOTE(3)\fP
+.IP CURLOPT_APPEND
+Append to remote file. See \fICURLOPT_APPEND(3)\fP
+.IP CURLOPT_FTP_USE_EPRT
+Use EPTR. See \fICURLOPT_FTP_USE_EPRT(3)\fP
+.IP CURLOPT_FTP_USE_EPSV
+Use EPSV. See \fICURLOPT_FTP_USE_EPSV(3)\fP
+.IP CURLOPT_FTP_USE_PRET
+Use PRET. See \fICURLOPT_FTP_USE_PRET(3)\fP
+.IP CURLOPT_FTP_CREATE_MISSING_DIRS
+Create missing directories on the remote server. See
\fICURLOPT_FTP_CREATE_MISSING_DIRS(3)\fP
+.IP CURLOPT_FTP_RESPONSE_TIMEOUT
+Timeout for FTP responses. See \fICURLOPT_FTP_RESPONSE_TIMEOUT(3)\fP
+.IP CURLOPT_FTP_ALTERNATIVE_TO_USER
+Alternative to USER. See \fICURLOPT_FTP_ALTERNATIVE_TO_USER(3)\fP
+.IP CURLOPT_FTP_SKIP_PASV_IP
+Ignore the IP address in the PASV response. See
\fICURLOPT_FTP_SKIP_PASV_IP(3)\fP
+.IP CURLOPT_FTPSSLAUTH
+Control how to do TLS. See \fICURLOPT_FTPSSLAUTH(3)\fP
+.IP CURLOPT_FTP_SSL_CCC
+Back to non-TLS again after authentication. See \fICURLOPT_FTP_SSL_CCC(3)\fP
+.IP CURLOPT_FTP_ACCOUNT
+Send ACCT command. See \fICURLOPT_FTP_ACCOUNT(3)\fP
+.IP CURLOPT_FTP_FILEMETHOD
+Specify how to reach files. See \fICURLOPT_FTP_FILEMETHOD(3)\fP
+.SH RTSP OPTIONS
+.IP CURLOPT_RTSP_REQUEST
+RTSP request. See \fICURLOPT_RTSP_REQUEST(3)\fP
+.IP CURLOPT_RTSP_SESSION_ID
+RTSP session-id. See \fICURLOPT_RTSP_SESSION_ID(3)\fP
+.IP CURLOPT_RTSP_STREAM_URI
+RTSP stream URI. See \fICURLOPT_RTSP_STREAM_URI(3)\fP
+.IP CURLOPT_RTSP_TRANSPORT
+RTSP Transport: header. See \fICURLOPT_RTSP_TRANSPORT(3)\fP
+.IP CURLOPT_RTSP_CLIENT_CSEQ
+Client CSEQ number. See \fICURLOPT_RTSP_CLIENT_CSEQ(3)\fP
+.IP CURLOPT_RTSP_SERVER_CSEQ
+CSEQ number for RTSP Server->Client request. See
\fICURLOPT_RTSP_SERVER_CSEQ(3)\fP
+.SH PROTOCOL OPTIONS
+.IP CURLOPT_TRANSFERTEXT
+Use text transfer. See \fICURLOPT_TRANSFERTEXT(3)\fP
+.IP CURLOPT_PROXY_TRANSFER_MODE
+Add transfer mode to URL over proxy. See \fICURLOPT_PROXY_TRANSFER_MODE(3)\fP
+.IP CURLOPT_CRLF
+Convert newlines. See \fICURLOPT_CRLF(3)\fP
+.IP CURLOPT_RANGE
+Range requests. See \fICURLOPT_RANGE(3)\fP
+.IP CURLOPT_RESUME_FROM
+Resume a transfer. See \fICURLOPT_RESUME_FROM(3)\fP
+.IP CURLOPT_RESUME_FROM_LARGE
+Resume a transfer. See \fICURLOPT_RESUME_FROM_LARGE(3)\fP
+.IP CURLOPT_CUSTOMREQUEST
+Custom request/method. See \fICURLOPT_CUSTOMREQUEST(3)\fP
+.IP CURLOPT_FILETIME
+Request file modification date and time. See \fICURLOPT_FILETIME(3)\fP
+.IP CURLOPT_DIRLISTONLY
+List only. See \fICURLOPT_DIRLISTONLY(3)\fP
+.IP CURLOPT_NOBODY
+Do not get the body contents. See \fICURLOPT_NOBODY(3)\fP
+.IP CURLOPT_INFILESIZE
+Size of file to send. \fICURLOPT_INFILESIZE(3)\fP
+.IP CURLOPT_INFILESIZE_LARGE
+Size of file to send. \fICURLOPT_INFILESIZE_LARGE(3)\fP
+.IP CURLOPT_UPLOAD
+Upload data. See \fICURLOPT_UPLOAD(3)\fP
+.IP CURLOPT_MIMEPOST
+Post/send MIME data. See \fICURLOPT_MIMEPOST(3)\fP
+.IP CURLOPT_MAXFILESIZE
+Maximum file size to get. See \fICURLOPT_MAXFILESIZE(3)\fP
+.IP CURLOPT_MAXFILESIZE_LARGE
+Maximum file size to get. See \fICURLOPT_MAXFILESIZE_LARGE(3)\fP
+.IP CURLOPT_TIMECONDITION
+Make a time conditional request. See \fICURLOPT_TIMECONDITION(3)\fP
+.IP CURLOPT_TIMEVALUE
+Time value for the time conditional request. See \fICURLOPT_TIMEVALUE(3)\fP
+.IP CURLOPT_TIMEVALUE_LARGE
+Time value for the time conditional request. See
\fICURLOPT_TIMEVALUE_LARGE(3)\fP
+.SH CONNECTION OPTIONS
+.IP CURLOPT_TIMEOUT
+Timeout for the entire request. See \fICURLOPT_TIMEOUT(3)\fP
+.IP CURLOPT_TIMEOUT_MS
+Millisecond timeout for the entire request. See \fICURLOPT_TIMEOUT_MS(3)\fP
+.IP CURLOPT_LOW_SPEED_LIMIT
+Low speed limit to abort transfer. See \fICURLOPT_LOW_SPEED_LIMIT(3)\fP
+.IP CURLOPT_LOW_SPEED_TIME
+Time to be below the speed to trigger low speed abort. See
\fICURLOPT_LOW_SPEED_TIME(3)\fP
+.IP CURLOPT_MAX_SEND_SPEED_LARGE
+Cap the upload speed to this. See \fICURLOPT_MAX_SEND_SPEED_LARGE(3)\fP
+.IP CURLOPT_MAX_RECV_SPEED_LARGE
+Cap the download speed to this. See \fICURLOPT_MAX_RECV_SPEED_LARGE(3)\fP
+.IP CURLOPT_MAXCONNECTS
+Maximum number of connections in the connection pool. See
\fICURLOPT_MAXCONNECTS(3)\fP
+.IP CURLOPT_FRESH_CONNECT
+Use a new connection. \fICURLOPT_FRESH_CONNECT(3)\fP
+.IP CURLOPT_FORBID_REUSE
+Prevent subsequent connections from re-using this. See
\fICURLOPT_FORBID_REUSE(3)\fP
+.IP CURLOPT_CONNECTTIMEOUT
+Timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT(3)\fP
+.IP CURLOPT_CONNECTTIMEOUT_MS
+Millisecond timeout for the connection phase. See
\fICURLOPT_CONNECTTIMEOUT_MS(3)\fP
+.IP CURLOPT_IPRESOLVE
+IP version to resolve to. See \fICURLOPT_IPRESOLVE(3)\fP
+.IP CURLOPT_CONNECT_ONLY
+Only connect, nothing else. See \fICURLOPT_CONNECT_ONLY(3)\fP
+.IP CURLOPT_USE_SSL
+Use TLS/SSL. See \fICURLOPT_USE_SSL(3)\fP
+.IP CURLOPT_RESOLVE
+Provide fixed/fake name resolves. See \fICURLOPT_RESOLVE(3)\fP
+.IP CURLOPT_DNS_INTERFACE
+Bind name resolves to this interface. See \fICURLOPT_DNS_INTERFACE(3)\fP
+.IP CURLOPT_DNS_LOCAL_IP4
+Bind name resolves to this IP4 address. See \fICURLOPT_DNS_LOCAL_IP4(3)\fP
+.IP CURLOPT_DNS_LOCAL_IP6
+Bind name resolves to this IP6 address. See \fICURLOPT_DNS_LOCAL_IP6(3)\fP
+.IP CURLOPT_DNS_SERVERS
+Preferred DNS servers. See \fICURLOPT_DNS_SERVERS(3)\fP
+.IP CURLOPT_DNS_SHUFFLE_ADDRESSES
+Shuffle addresses before use. See \fICURLOPT_DNS_SHUFFLE_ADDRESSES(3)\fP
+.IP CURLOPT_ACCEPTTIMEOUT_MS
+Timeout for waiting for the server's connect back to be accepted. See
\fICURLOPT_ACCEPTTIMEOUT_MS(3)\fP
+.IP CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
+Timeout for happy eyeballs. See \fICURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS(3)\fP
+.SH SSL and SECURITY OPTIONS
+.IP CURLOPT_SSLCERT
+Client cert. See \fICURLOPT_SSLCERT(3)\fP
+.IP CURLOPT_PROXY_SSLCERT
+Proxy client cert. See \fICURLOPT_PROXY_SSLCERT(3)\fP
+.IP CURLOPT_SSLCERTTYPE
+Client cert type. See \fICURLOPT_SSLCERTTYPE(3)\fP
+.IP CURLOPT_PROXY_SSLCERTTYPE
+Proxy client cert type. See \fICURLOPT_PROXY_SSLCERTTYPE(3)\fP
+.IP CURLOPT_SSLKEY
+Client key. See \fICURLOPT_SSLKEY(3)\fP
+.IP CURLOPT_PROXY_SSLKEY
+Proxy client key. See \fICURLOPT_PROXY_SSLKEY(3)\fP
+.IP CURLOPT_SSLKEYTYPE
+Client key type. See \fICURLOPT_SSLKEYTYPE(3)\fP
+.IP CURLOPT_PROXY_SSLKEYTYPE
+Proxy client key type. See \fICURLOPT_PROXY_SSLKEYTYPE(3)\fP
+.IP CURLOPT_KEYPASSWD
+Client key password. See \fICURLOPT_KEYPASSWD(3)\fP
+.IP CURLOPT_PROXY_KEYPASSWD
+Proxy client key password. See \fICURLOPT_PROXY_KEYPASSWD(3)\fP
+.IP CURLOPT_SSL_ENABLE_ALPN
+Enable use of ALPN. See \fICURLOPT_SSL_ENABLE_ALPN(3)\fP
+.IP CURLOPT_SSL_ENABLE_NPN
+Enable use of NPN. See \fICURLOPT_SSL_ENABLE_NPN(3)\fP
+.IP CURLOPT_SSLENGINE
+Use identifier with SSL engine. See \fICURLOPT_SSLENGINE(3)\fP
+.IP CURLOPT_SSLENGINE_DEFAULT
+Default SSL engine. See \fICURLOPT_SSLENGINE_DEFAULT(3)\fP
+.IP CURLOPT_SSL_FALSESTART
+Enable TLS False Start. See \fICURLOPT_SSL_FALSESTART(3)\fP
+.IP CURLOPT_SSLVERSION
+SSL version to use. See \fICURLOPT_SSLVERSION(3)\fP
+.IP CURLOPT_PROXY_SSLVERSION
+Proxy SSL version to use. See \fICURLOPT_PROXY_SSLVERSION(3)\fP
+.IP CURLOPT_SSL_VERIFYHOST
+Verify the host name in the SSL certificate. See
\fICURLOPT_SSL_VERIFYHOST(3)\fP
+.IP CURLOPT_PROXY_SSL_VERIFYHOST
+Verify the host name in the proxy SSL certificate. See
\fICURLOPT_PROXY_SSL_VERIFYHOST(3)\fP
+.IP CURLOPT_SSL_VERIFYPEER
+Verify the SSL certificate. See \fICURLOPT_SSL_VERIFYPEER(3)\fP
+.IP CURLOPT_PROXY_SSL_VERIFYPEER
+Verify the proxy SSL certificate. See \fICURLOPT_PROXY_SSL_VERIFYPEER(3)\fP
+.IP CURLOPT_SSL_VERIFYSTATUS
+Verify the SSL certificate's status. See \fICURLOPT_SSL_VERIFYSTATUS(3)\fP
+.IP CURLOPT_CAINFO
+CA cert bundle. See \fICURLOPT_CAINFO(3)\fP
+.IP CURLOPT_PROXY_CAINFO
+Proxy CA cert bundle. See \fICURLOPT_PROXY_CAINFO(3)\fP
+.IP CURLOPT_ISSUERCERT
+Issuer certificate. See \fICURLOPT_ISSUERCERT(3)\fP
+.IP CURLOPT_CAPATH
+Path to CA cert bundle. See \fICURLOPT_CAPATH(3)\fP
+.IP CURLOPT_PROXY_CAPATH
+Path to proxy CA cert bundle. See \fICURLOPT_PROXY_CAPATH(3)\fP
+.IP CURLOPT_CRLFILE
+Certificate Revocation List. See \fICURLOPT_CRLFILE(3)\fP
+.IP CURLOPT_PROXY_CRLFILE
+Proxy Certificate Revocation List. See \fICURLOPT_PROXY_CRLFILE(3)\fP
+.IP CURLOPT_CERTINFO
+Extract certificate info. See \fICURLOPT_CERTINFO(3)\fP
+.IP CURLOPT_PINNEDPUBLICKEY
+Set pinned SSL public key . See \fICURLOPT_PINNEDPUBLICKEY(3)\fP
+.IP CURLOPT_PROXY_PINNEDPUBLICKEY
+Set the proxy's pinned SSL public key. See
+\fICURLOPT_PROXY_PINNEDPUBLICKEY(3)\fP
+.IP CURLOPT_RANDOM_FILE
+Provide source for entropy random data. See \fICURLOPT_RANDOM_FILE(3)\fP
+.IP CURLOPT_EGDSOCKET
+Identify EGD socket for entropy. See \fICURLOPT_EGDSOCKET(3)\fP
+.IP CURLOPT_SSL_CIPHER_LIST
+Ciphers to use. See \fICURLOPT_SSL_CIPHER_LIST(3)\fP
+.IP CURLOPT_PROXY_SSL_CIPHER_LIST
+Proxy ciphers to use. See \fICURLOPT_PROXY_SSL_CIPHER_LIST(3)\fP
++.IP CURLOPT_TLS13_CIPHERS
++TLS 1.3 cipher suites to use. See \fICURLOPT_TLS13_CIPHERS(3)\fP
++.IP CURLOPT_PROXY_TLS13_CIPHERS
++Proxy TLS 1.3 cipher suites to use. See \fICURLOPT_PROXY_TLS13_CIPHERS(3)\fP
+.IP CURLOPT_SSL_SESSIONID_CACHE
+Disable SSL session-id cache. See \fICURLOPT_SSL_SESSIONID_CACHE(3)\fP
+.IP CURLOPT_SSL_OPTIONS
+Control SSL behavior. See \fICURLOPT_SSL_OPTIONS(3)\fP
+.IP CURLOPT_PROXY_SSL_OPTIONS
+Control proxy SSL behavior. See \fICURLOPT_PROXY_SSL_OPTIONS(3)\fP
+.IP CURLOPT_KRBLEVEL
+Kerberos security level. See \fICURLOPT_KRBLEVEL(3)\fP
+.IP CURLOPT_GSSAPI_DELEGATION
+Disable GSS-API delegation. See \fICURLOPT_GSSAPI_DELEGATION(3)\fP
+.SH SSH OPTIONS
+.IP CURLOPT_SSH_AUTH_TYPES
+SSH authentication types. See \fICURLOPT_SSH_AUTH_TYPES(3)\fP
+.IP CURLOPT_SSH_COMPRESSION
+Enable SSH compression. See \fICURLOPT_SSH_COMPRESSION(3)\fP
+.IP CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
+MD5 of host's public key. See \fICURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)\fP
+.IP CURLOPT_SSH_PUBLIC_KEYFILE
+File name of public key. See \fICURLOPT_SSH_PUBLIC_KEYFILE(3)\fP
+.IP CURLOPT_SSH_PRIVATE_KEYFILE
+File name of private key. See \fICURLOPT_SSH_PRIVATE_KEYFILE(3)\fP
+.IP CURLOPT_SSH_KNOWNHOSTS
+File name with known hosts. See \fICURLOPT_SSH_KNOWNHOSTS(3)\fP
+.IP CURLOPT_SSH_KEYFUNCTION
+Callback for known hosts handling. See \fICURLOPT_SSH_KEYFUNCTION(3)\fP
+.IP CURLOPT_SSH_KEYDATA
+Custom pointer to pass to ssh key callback. See \fICURLOPT_SSH_KEYDATA(3)\fP
+.SH OTHER OPTIONS
+.IP CURLOPT_PRIVATE
+Private pointer to store. See \fICURLOPT_PRIVATE(3)\fP
+.IP CURLOPT_SHARE
+Share object to use. See \fICURLOPT_SHARE(3)\fP
+.IP CURLOPT_NEW_FILE_PERMS
+Mode for creating new remote files. See \fICURLOPT_NEW_FILE_PERMS(3)\fP
+.IP CURLOPT_NEW_DIRECTORY_PERMS
+Mode for creating new remote directories. See
\fICURLOPT_NEW_DIRECTORY_PERMS(3)\fP
+.SH TELNET OPTIONS
+.IP CURLOPT_TELNETOPTIONS
+TELNET options. See \fICURLOPT_TELNETOPTIONS(3)\fP
+.SH RETURN VALUE
+\fICURLE_OK\fP (zero) means that the option was set properly, non-zero means
an
+error occurred as \fI<gnurl/curl.h>\fP defines. See the
\fIlibcurl-errors(3)\fP
+man page for the full list with descriptions.
+
+If you try to set an option that libcurl doesn't know about, perhaps because
+the library is too old to support it or the option was removed in a recent
+version, this function will return \fICURLE_UNKNOWN_OPTION\fP. If support for
+the option was disabled at compile-time, it will return
+\fICURLE_NOT_BUILT_IN\fP.
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ CURLcode res;
+ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
+ res = curl_easy_perform(curl);
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH "SEE ALSO"
+.BR curl_easy_init "(3), " curl_easy_cleanup "(3), " curl_easy_reset "(3), "
+.BR curl_easy_getinfo "(3), " curl_multi_setopt "(3), "
diff --cc docs/libcurl/gnurl_multi_add_handle.3
index ec6f6c934,000000000..959474d4d
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_multi_add_handle.3
+++ b/docs/libcurl/gnurl_multi_add_handle.3
@@@ -1,71 -1,0 +1,71 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.TH curl_multi_add_handle 3 "4 March 2002" "libcurl 7.9.5" "libcurl Manual"
+.SH NAME
+curl_multi_add_handle - add an easy handle to a multi session
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle);
+.ad
+.SH DESCRIPTION
+Adds a standard easy handle to the multi stack. This function call will make
+this \fImulti_handle\fP control the specified \fIeasy_handle\fP.
+
+While an easy handle is added to a multi stack, you cannot and you must not
+use \fIcurl_easy_perform(3)\fP on that handle. After having removed the easy
+handle from the multi stack again, it is perfectly fine to use it with the
+easy interface again.
+
+If the easy handle is not set to use a shared (\fICURLOPT_SHARE(3)\fP) or
+global DNS cache (\fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP), it will be made to
+use the DNS cache that is shared between all easy handles within the multi
+handle when \fIcurl_multi_add_handle(3)\fP is called.
+
+When an easy interface is added to a multi handle, it will use a shared
+connection cache owned by the multi handle. Removing and adding new easy
+handles will not affect the pool of connections or the ability to do
+connection re-use.
+
- If you have CURLMOPT_TIMERFUNCTION set in the multi handle (and you really
- should if you're working event-based with \fIcurl_multi_socket_action(3)\fP
- and friends), that callback will be called from within this function to ask
- for an updated timer so that your main event loop will get the activity on
- this handle to get started.
++If you have \fICURLMOPT_TIMERFUNCTION(3)\fP set in the multi handle (and you
++really should if you're working event-based with
++\fIcurl_multi_socket_action(3)\fP and friends), that callback will be called
++from within this function to ask for an updated timer so that your main event
++loop will get the activity on this handle to get started.
+
+The easy handle will remain added to the multi handle until you remove it
+again with \fIcurl_multi_remove_handle(3)\fP - even when a transfer with that
+specific easy handle is completed.
+
+You should remove the easy handle from the multi stack before you terminate
+first the easy handle and then the multi handle:
+
+1 - \fIcurl_multi_remove_handle(3)\fP
+
+2 - \fIcurl_easy_cleanup(3)\fP
+
+3 - \fIcurl_multi_cleanup(3)\fP
+.SH RETURN VALUE
+CURLMcode type, general libcurl multi interface error code.
+.SH "SEE ALSO"
+.BR curl_multi_cleanup "(3)," curl_multi_init "(3), "
+.BR curl_multi_setopt "(3), " curl_multi_socket_action "(3) "
diff --cc docs/libcurl/gnurl_multi_socket.3
index c477069c9,000000000..a2f7339fd
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_multi_socket.3
+++ b/docs/libcurl/gnurl_multi_socket.3
@@@ -1,158 -1,0 +1,159 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.TH curl_multi_socket 3 "9 Jul 2006" "libcurl 7.16.0" "libcurl Manual"
+.SH NAME
+curl_multi_socket \- reads/writes available data
+.SH SYNOPSIS
+.nf
+#include <gnurl/curl.h>
+CURLMcode curl_multi_socket(CURLM * multi_handle, curl_socket_t sockfd,
+ int *running_handles);
+
+CURLMcode curl_multi_socket_all(CURLM *multi_handle,
+ int *running_handles);
+.fi
+.SH DESCRIPTION
+These functions are deprecated. Do not use! See
+\fIcurl_multi_socket_action(3)\fP instead!
+
+At return, the integer \fBrunning_handles\fP points to will contain the number
+of still running easy handles within the multi handle. When this number
+reaches zero, all transfers are complete/done. Note that when you call
+\fIcurl_multi_socket_action(3)\fP on a specific socket and the counter
+decreases by one, it DOES NOT necessarily mean that this exact socket/transfer
+is the one that completed. Use \fIcurl_multi_info_read(3)\fP to figure out
+which easy handle that completed.
+
+The \fIcurl_multi_socket_action(3)\fP functions inform the application about
+updates in the socket (file descriptor) status by doing none, one, or multiple
- calls to the socket callback function set with the CURLMOPT_SOCKETFUNCTION
- option to \fIcurl_multi_setopt(3)\fP. They update the status with changes
- since the previous time the callback was called.
++calls to the socket callback function set with the
++\fICURLMOPT_SOCKETFUNCTION(3)\fP option to \fIcurl_multi_setopt(3)\fP. They
++update the status with changes since the previous time the callback was
++called.
+
- Get the timeout time by setting the \fICURLMOPT_TIMERFUNCTION\fP option with
- \fIcurl_multi_setopt(3)\fP. Your application will then get called with
++Get the timeout time by setting the \fICURLMOPT_TIMERFUNCTION(3)\fP option
++with \fIcurl_multi_setopt(3)\fP. Your application will then get called with
+information on how long to wait for socket actions at most before doing the
+timeout action: call the \fIcurl_multi_socket_action(3)\fP function with the
+\fBsockfd\fP argument set to CURL_SOCKET_TIMEOUT. You can also use the
+\fIcurl_multi_timeout(3)\fP function to poll the value at any given time, but
+for an event-based system using the callback is far better than relying on
+polling the timeout value.
+
+Usage of \fIcurl_multi_socket(3)\fP is deprecated, whereas the function is
+equivalent to \fIcurl_multi_socket_action(3)\fP with \fBev_bitmask\fP set to
+0.
+
+Force libcurl to (re-)check all its internal sockets and transfers instead of
+just a single one by calling \fIcurl_multi_socket_all(3)\fP. Note that there
+should not be any reason to use this function!
+.SH "CALLBACK DETAILS"
+
+The socket \fBcallback\fP function uses a prototype like this
+.nf
+
+ int curl_socket_callback(CURL *easy, /* easy handle */
+ curl_socket_t s, /* socket */
+ int action, /* see values below */
+ void *userp, /* private callback pointer */
+ void *socketp); /* private socket pointer */
+
+.fi
+The callback MUST return 0.
+
+The \fIeasy\fP argument is a pointer to the easy handle that deals with this
+particular socket. Note that a single handle may work with several sockets
+simultaneously.
+
+The \fIs\fP argument is the actual socket value as you use it within your
+system.
+
+The \fIaction\fP argument to the callback has one of five values:
+.RS
+.IP "CURL_POLL_NONE (0)"
+register, not interested in readiness (yet)
+.IP "CURL_POLL_IN (1)"
+register, interested in read readiness
+.IP "CURL_POLL_OUT (2)"
+register, interested in write readiness
+.IP "CURL_POLL_INOUT (3)"
+register, interested in both read and write readiness
+.IP "CURL_POLL_REMOVE (4)"
+unregister
+.RE
+
+The \fIsocketp\fP argument is a private pointer you have previously set with
+\fIcurl_multi_assign(3)\fP to be associated with the \fIs\fP socket. If no
+pointer has been set, socketp will be NULL. This argument is of course a
+service to applications that want to keep certain data or structs that are
+strictly associated to the given socket.
+
+The \fIuserp\fP argument is a private pointer you have previously set with
- \fIcurl_multi_setopt(3)\fP and the CURLMOPT_SOCKETDATA option.
++\fIcurl_multi_setopt(3)\fP and the \fICURLMOPT_SOCKETDATA(3)\fP option.
+.SH "RETURN VALUE"
+CURLMcode type, general libcurl multi interface error code.
+
+Legacy: If you receive \fICURLM_CALL_MULTI_PERFORM\fP, this basically means
+that you should call \fIcurl_multi_socket(3)\fP again, before you wait for
+more actions on libcurl's sockets. You don't have to do it immediately, but
+the return code means that libcurl may have more data available to return or
+that there may be more data to send off before it is "satisfied".
+
+In modern libcurls, \fICURLM_CALL_MULTI_PERFORM\fP or
+\fICURLM_CALL_MULTI_SOCKET\fP should not be returned and no application needs
+to care about them.
+
+NOTE that the return code is for the whole multi stack. Problems still might
have
+occurred on individual transfers even when one of these functions
+return OK.
+.SH "TYPICAL USAGE"
+1. Create a multi handle
+
- 2. Set the socket callback with CURLMOPT_SOCKETFUNCTION
++2. Set the socket callback with \fICURLMOPT_SOCKETFUNCTION(3)\fP
+
- 3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what
- timeout value to use when waiting for socket activities.
++3. Set the timeout callback with \fICURLMOPT_TIMERFUNCTION(3)\fP, to get to
++know what timeout value to use when waiting for socket activities.
+
+4. Add easy handles with curl_multi_add_handle()
+
+5. Provide some means to manage the sockets libcurl is using, so you can check
+them for activity. This can be done through your application code, or by way
+of an external library such as libevent or glib.
+
+6. Wait for activity on any of libcurl's sockets, use the timeout value your
+callback has been told
+
+7, When activity is detected, call curl_multi_socket_action() for the
+socket(s) that got action. If no activity is detected and the timeout expires,
+call \fIcurl_multi_socket_action(3)\fP with \fICURL_SOCKET_TIMEOUT\fP
+
+8. Go back to step 6.
+.SH AVAILABILITY
+This function was added in libcurl 7.15.4, and is deemed stable since
+7.16.0.
+
+\fIcurl_multi_socket(3)\fP is deprecated, use
+\fIcurl_multi_socket_action(3)\fP instead!
+.SH "SEE ALSO"
+.BR curl_multi_cleanup "(3), " curl_multi_init "(3), "
+.BR curl_multi_fdset "(3), " curl_multi_info_read "(3), "
+.BR "the hiperfifo.c example"
diff --cc docs/libcurl/gnurl_multi_socket_action.3
index ba8c5ee21,000000000..ad84c1e66
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_multi_socket_action.3
+++ b/docs/libcurl/gnurl_multi_socket_action.3
@@@ -1,156 -1,0 +1,156 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.TH curl_multi_socket_action 3 "9 Jul 2006" "libcurl 7.16.0" "libcurl Manual"
+.SH NAME
+curl_multi_socket_action \- reads/writes available data given an action
+.SH SYNOPSIS
+.nf
+#include <gnurl/curl.h>
+
+CURLMcode curl_multi_socket_action(CURLM * multi_handle,
+ curl_socket_t sockfd,
+ int ev_bitmask,
+ int *running_handles);
+.fi
+.SH DESCRIPTION
+When the application has detected action on a socket handled by libcurl, it
+should call \fIcurl_multi_socket_action(3)\fP with the \fBsockfd\fP argument
+set to the socket with the action. When the events on a socket are known, they
+can be passed as an events bitmask \fBev_bitmask\fP by first setting
+\fBev_bitmask\fP to 0, and then adding using bitwise OR (|) any combination of
+events to be chosen from CURL_CSELECT_IN, CURL_CSELECT_OUT or
+CURL_CSELECT_ERR. When the events on a socket are unknown, pass 0 instead, and
+libcurl will test the descriptor internally. It is also permissible to pass
+CURL_SOCKET_TIMEOUT to the \fBsockfd\fP parameter in order to initiate the
+whole process or when a timeout occurs.
+
+At return, \fBrunning_handles\fP points to the number
+of running easy handles within the multi handle. When this number reaches
+zero, all transfers are complete/done. When you call
+\fIcurl_multi_socket_action(3)\fP on a specific socket and the counter
+decreases by one, it DOES NOT necessarily mean that this exact socket/transfer
+is the one that completed. Use \fIcurl_multi_info_read(3)\fP to figure out
+which easy handle that completed.
+
+The \fIcurl_multi_socket_action(3)\fP functions inform the application about
+updates in the socket (file descriptor) status by doing none, one, or multiple
+calls to the socket callback function set with the
+\fICURLMOPT_SOCKETFUNCTION(3)\fP option to \fIcurl_multi_setopt(3)\fP. They
+update the status with changes since the previous time the callback was
+called.
+
+Get the timeout time by setting the \fICURLMOPT_TIMERFUNCTION(3)\fP option
+with \fIcurl_multi_setopt(3)\fP. Your application will then get called with
+information on how long to wait for socket actions at most before doing the
+timeout action: call the \fIcurl_multi_socket_action(3)\fP function with the
+\fBsockfd\fP argument set to CURL_SOCKET_TIMEOUT. You can also use the
+\fIcurl_multi_timeout(3)\fP function to poll the value at any given time, but
+for an event-based system using the callback is far better than relying on
+polling the timeout value.
+.SH "CALLBACK DETAILS"
+
+The socket \fBcallback\fP function uses a prototype like this
+.nf
+
+ int curl_socket_callback(CURL *easy, /* easy handle */
+ curl_socket_t s, /* socket */
+ int action, /* see values below */
+ void *userp, /* private callback pointer */
+ void *socketp); /* private socket pointer,
+ \fBNULL\fP if not
+ previously assigned with
+ \fIcurl_multi_assign(3)\fP */
+
+.fi
+The callback MUST return 0.
+
+The \fIeasy\fP argument is a pointer to the easy handle that deals with this
+particular socket. Note that a single handle may work with several sockets
+simultaneously.
+
+The \fIs\fP argument is the actual socket value as you use it within your
+system.
+
+The \fIaction\fP argument to the callback has one of five values:
+.RS
+.IP "CURL_POLL_NONE (0)"
+register, not interested in readiness (yet)
+.IP "CURL_POLL_IN (1)"
+register, interested in read readiness
+.IP "CURL_POLL_OUT (2)"
+register, interested in write readiness
+.IP "CURL_POLL_INOUT (3)"
+register, interested in both read and write readiness
+.IP "CURL_POLL_REMOVE (4)"
+unregister
+.RE
+
+The \fIsocketp\fP argument is a private pointer you have previously set with
+\fIcurl_multi_assign(3)\fP to be associated with the \fIs\fP socket. If no
+pointer has been set, socketp will be NULL. This argument is of course a
+service to applications that want to keep certain data or structs that are
+strictly associated to the given socket.
+
+The \fIuserp\fP argument is a private pointer you have previously set with
- \fIcurl_multi_setopt(3)\fP and the CURLMOPT_SOCKETDATA option.
++\fIcurl_multi_setopt(3)\fP and the \fICURLMOPT_SOCKETDATA(3)\fP option.
+.SH "RETURN VALUE"
+CURLMcode type, general libcurl multi interface error code.
+
+Before version 7.20.0: If you receive \fICURLM_CALL_MULTI_PERFORM\fP, this
+basically means that you should call \fIcurl_multi_socket_action(3)\fP again
+before you wait for more actions on libcurl's sockets. You don't have to do it
+immediately, but the return code means that libcurl may have more data
+available to return or that there may be more data to send off before it is
+"satisfied".
+
+The return code from this function is for the whole multi stack. Problems
+still might have occurred on individual transfers even when one of these
+functions return OK.
+.SH "TYPICAL USAGE"
+1. Create a multi handle
+
- 2. Set the socket callback with CURLMOPT_SOCKETFUNCTION
++2. Set the socket callback with \fICURLMOPT_SOCKETFUNCTION(3)\fP
+
- 3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what
- timeout value to use when waiting for socket activities.
++3. Set the timeout callback with \fICURLMOPT_TIMERFUNCTION(3)\fP, to get to
++know what timeout value to use when waiting for socket activities.
+
+4. Add easy handles with curl_multi_add_handle()
+
+5. Provide some means to manage the sockets libcurl is using, so you can check
+them for activity. This can be done through your application code, or by way
+of an external library such as libevent or glib.
+
+6. Call curl_multi_socket_action(..., CURL_SOCKET_TIMEOUT, 0, ...)
+to kickstart everything. To get one or more callbacks called.
+
+7. Wait for activity on any of libcurl's sockets, use the timeout value your
+callback has been told.
+
+8, When activity is detected, call curl_multi_socket_action() for the
+socket(s) that got action. If no activity is detected and the timeout expires,
+call \fIcurl_multi_socket_action(3)\fP with \fICURL_SOCKET_TIMEOUT\fP.
+.SH AVAILABILITY
+This function was added in libcurl 7.15.4, and is deemed stable since 7.16.0.
+.SH "SEE ALSO"
+.BR curl_multi_cleanup "(3), " curl_multi_init "(3), "
+.BR curl_multi_fdset "(3), " curl_multi_info_read "(3), "
+.BR "the hiperfifo.c example"
diff --cc docs/libcurl/gnurl_share_setopt.3
index 31ce44a19,000000000..8c2fe91ed
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_share_setopt.3
+++ b/docs/libcurl/gnurl_share_setopt.3
@@@ -1,103 -1,0 +1,112 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.TH curl_share_setopt 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual"
+.SH NAME
+curl_share_setopt - Set options for a shared object
+.SH SYNOPSIS
+.B #include <gnurl/curl.h>
+.sp
+CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter);
+.ad
+.SH DESCRIPTION
+Set the \fIoption\fP to \fIparameter\fP for the given \fIshare\fP.
+.SH OPTIONS
+.IP CURLSHOPT_LOCKFUNC
+The \fIparameter\fP must be a pointer to a function matching the following
+prototype:
+
+void lock_function(CURL *handle, curl_lock_data data, curl_lock_access access,
+void *userptr);
+
+\fIdata\fP defines what data libcurl wants to lock, and you must make sure
that
+only one lock is given at any time for each kind of data.
+
+\fIaccess\fP defines what access type libcurl wants, shared or single.
+
+\fIuserptr\fP is the pointer you set with \fICURLSHOPT_USERDATA\fP.
+.IP CURLSHOPT_UNLOCKFUNC
+The \fIparameter\fP must be a pointer to a function matching the following
+prototype:
+
+void unlock_function(CURL *handle, curl_lock_data data, void *userptr);
+
+\fIdata\fP defines what data libcurl wants to unlock, and you must make sure
+that only one lock is given at any time for each kind of data.
+
+\fIuserptr\fP is the pointer you set with \fICURLSHOPT_USERDATA\fP.
+.IP CURLSHOPT_SHARE
+The \fIparameter\fP specifies a type of data that should be shared. This may
+be set to one of the values described below.
+.RS
+.IP CURL_LOCK_DATA_COOKIE
+Cookie data will be shared across the easy handles using this shared object.
+.IP CURL_LOCK_DATA_DNS
+Cached DNS hosts will be shared across the easy handles using this shared
+object. Note that when you use the multi interface, all easy handles added to
+the same multi handle will share DNS cache by default without using this
+option.
+.IP CURL_LOCK_DATA_SSL_SESSION
+SSL session IDs will be shared across the easy handles using this shared
+object. This will reduce the time spent in the SSL handshake when reconnecting
+to the same server. Note SSL session IDs are reused within the same easy
handle
+by default. Note this symbol was added in 7.10.3 but was not implemented until
+7.23.0.
+.IP CURL_LOCK_DATA_CONNECT
+Put the connection cache in the share object and make all easy handles using
+this share object share the connection cache. Using this, you can for example
+do multi-threaded libcurl use with one handle in each thread, and yet have a
+shared pool of unused connections and this way get way better connection
+re-use than if you use one separate pool in each thread.
+
+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.
+
+Support for \fBCURL_LOCK_DATA_CONNECT\fP was added in 7.57.0, but the symbol
+existed before this.
+
+Note that when you use the multi interface, all easy handles added to the same
+multi handle will share connection cache by default without using this option.
++.IP CURL_LOCK_DATA_PSL
++The Public Suffix List stored in the share object is made available to all
++easy handle bound to the later. Since the Public Suffix List is periodically
++refreshed, this avoids updates in too many different contexts.
++
++\fBCURL_LOCK_DATA_PSL\fP exists since 7.61.0.
++
++Note that when you use the multi interface, all easy handles added to the same
++multi handle will share PSL cache by default without using this option.
+.RE
+.IP CURLSHOPT_UNSHARE
+This option does the opposite of \fICURLSHOPT_SHARE\fP. It specifies that
+the specified \fIparameter\fP will no longer be shared. Valid values are
+the same as those for \fICURLSHOPT_SHARE\fP.
+.IP CURLSHOPT_USERDATA
+The \fIparameter\fP allows you to specify a pointer to data that will be
passed
+to the lock_function and unlock_function each time it is called.
+.SH RETURN VALUE
+CURLSHE_OK (zero) means that the option was set properly, non-zero means an
+error occurred as \fI<gnurl/curl.h>\fP defines. See the \fIlibcurl-errors.3\fP
+man page for the full list with descriptions.
+.SH "SEE ALSO"
+.BR curl_share_cleanup "(3), " curl_share_init "(3)"
diff --cc docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME.3
index 1af8c4333,000000000..c0eadb821
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_APPCONNECT_TIME.3
@@@ -1,62 -1,0 +1,62 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_APPCONNECT_TIME 3 "28 Aug 2015" "libcurl 7.44.0"
"curl_easy_getinfo options"
+.SH NAME
+CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is
completed
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME, double
*timep);
+.SH DESCRIPTION
+Pass a pointer to a double to receive the time, in seconds, it took from the
+start until the SSL/SSH connect/handshake to the remote host was completed.
+This time is most often very near to the \fICURLINFO_PRETRANSFER_TIME(3)\fP
+time, except for cases such as HTTP pipelining where the pretransfer time can
+be delayed due to waits in line for the pipeline and more.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ double connect;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_APPCONNECT_TIME, &connect);
+ if(CURLE_OK == res) {
+ printf("Time: %.1f", connect);
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.19.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
- .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
++.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
CURLINFO_APPCONNECT_TIME_T "(3)"
diff --cc docs/libcurl/opts/GNURLINFO_CONNECT_TIME.3
index d3ff00214,000000000..107553702
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_CONNECT_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_CONNECT_TIME.3
@@@ -1,59 -1,0 +1,59 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_CONNECT_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo
options"
+.SH NAME
+CURLINFO_CONNECT_TIME \- get the time until connect
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME, double
*timep);
+.SH DESCRIPTION
+Pass a pointer to a double to receive the total time in seconds from the start
+until the connection to the remote host (or proxy) was completed.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ double connect;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME, &connect);
+ if(CURLE_OK == res) {
+ printf("Time: %.1f", connect);
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.4.1
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
- .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
++.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
CURLINFO_CONNECT_TIME_T "(3)"
diff --cc docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME.3
index 407b2c709,000000000..84dd96e1f
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_NAMELOOKUP_TIME.3
@@@ -1,59 -1,0 +1,59 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_NAMELOOKUP_TIME 3 "28 Aug 2015" "libcurl 7.44.0"
"curl_easy_getinfo options"
+.SH NAME
+CURLINFO_NAMELOOKUP_TIME \- get the name lookup time
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME, double
*timep);
+.SH DESCRIPTION
+Pass a pointer to a double to receive the total time in seconds from the start
+until the name resolving was completed.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ double namelookup;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME, &namelookup);
+ if(CURLE_OK == res) {
+ printf("Time: %.1f", namelookup);
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.4.1
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
- .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
++.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
CURLINFO_NAMELOOKUP_TIME_T "(3)"
diff --cc docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME.3
index 461fcb931,000000000..17b99a4b7
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_PRETRANSFER_TIME.3
@@@ -1,62 -1,0 +1,62 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_PRETRANSFER_TIME 3 "28 Aug 2015" "libcurl 7.44.0"
"curl_easy_getinfo options"
+.SH NAME
+CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME, double
*timep);
+.SH DESCRIPTION
+Pass a pointer to a double to receive the time, in seconds, it took from the
+start until the file transfer is just about to begin. This includes all
+pre-transfer commands and negotiations that are specific to the particular
+protocol(s) involved. It does \fInot\fP involve the sending of the protocol-
+specific request that triggers a transfer.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ double pretransfer;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME, &pretransfer);
+ if(CURLE_OK == res) {
+ printf("Time: %.1f", pretransfer);
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.4.1
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
- .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
++.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
CURLINFO_PRETRANSFER_TIME_T "(3)"
diff --cc docs/libcurl/opts/GNURLINFO_REDIRECT_TIME.3
index a98d76df3,000000000..f7ccd541c
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_REDIRECT_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_REDIRECT_TIME.3
@@@ -1,61 -1,0 +1,61 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_REDIRECT_TIME 3 "28 Aug 2015" "libcurl 7.44.0"
"curl_easy_getinfo options"
+.SH NAME
+CURLINFO_REDIRECT_TIME \- get the time for all redirection steps
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME, double
*timep);
+.SH DESCRIPTION
+Pass a pointer to a double to receive the total time, in seconds, it took for
+all redirection steps include name lookup, connect, pretransfer and transfer
+before final transaction was started. CURLINFO_REDIRECT_TIME contains the
+complete execution time for multiple redirections.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ double redirect;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_REDIRECT_TIME, &redirect);
+ if(CURLE_OK == res) {
+ printf("Time: %.1f", redirect);
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.9.7
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
- .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
++.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
CURLINFO_REDIRECT_TIME_T "(3)"
diff --cc docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME.3
index 655d77219,000000000..6b72677e7
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_STARTTRANSFER_TIME.3
@@@ -1,61 -1,0 +1,61 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_STARTTRANSFER_TIME 3 "28 Aug 2015" "libcurl 7.44.0"
"curl_easy_getinfo options"
+.SH NAME
+CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME, double
*timep);
+.SH DESCRIPTION
+Pass a pointer to a double to receive the time, in seconds, it took from the
+start until the first byte is received by libcurl. This includes
+\fICURLINFO_PRETRANSFER_TIME(3)\fP and also the time the server needs to
+calculate the result.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ double start;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME, &start);
+ if(CURLE_OK == res) {
+ printf("Time: %.1f", start);
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.9.2
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
- .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
++.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
CURLINFO_STARTTRANSFER_TIME_T "(3)"
diff --cc docs/libcurl/opts/GNURLINFO_TLS_SSL_PTR.3
index 5abd1f2ee,000000000..68a451c68
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_TLS_SSL_PTR.3
+++ b/docs/libcurl/opts/GNURLINFO_TLS_SSL_PTR.3
@@@ -1,151 -1,0 +1,170 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_TLS_SSL_PTR 3 "23 Feb 2016" "libcurl 7.48.0" "curl_easy_getinfo
options"
+.SH NAME
+CURLINFO_TLS_SESSION, CURLINFO_TLS_SSL_PTR \- get TLS session info
+.SH SYNOPSIS
+.nf
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TLS_SSL_PTR,
+ struct curl_tlssessioninfo **session);
+
+/* if you need compatibility with libcurl < 7.48.0 use
+ CURLINFO_TLS_SESSION instead: */
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TLS_SESSION,
+ struct curl_tlssessioninfo **session);
+.SH DESCRIPTION
+Pass a pointer to a 'struct curl_tlssessioninfo *'. The pointer will be
+initialized to refer to a 'struct curl_tlssessioninfo *' that will contain an
+enum indicating the SSL library used for the handshake and a pointer to the
+respective internal TLS session structure of this underlying SSL library.
+
+This option may be useful for example to extract certificate information in a
+format convenient for further processing, such as manual validation. Refer to
+the \fBLIMITATIONS\fP section.
+
+.nf
+struct curl_tlssessioninfo {
+ curl_sslbackend backend;
+ void *internals;
+};
+.fi
+
+The \fIbackend\fP struct member is one of the defines in the CURLSSLBACKEND_*
+series: CURLSSLBACKEND_NONE (when built without TLS support),
+CURLSSLBACKEND_AXTLS, CURLSSLBACKEND_CYASSL, CURLSSLBACKEND_DARWINSSL,
+CURLSSLBACKEND_GNUTLS, CURLSSLBACKEND_GSKIT, CURLSSLBACKEND_MBEDTLS,
+CURLSSLBACKEND_NSS, CURLSSLBACKEND_OPENSSL, CURLSSLBACKEND_POLARSSL or
+CURLSSLBACKEND_SCHANNEL. (Note that the OpenSSL forks are all reported as just
+OpenSSL here.)
+
+The \fIinternals\fP struct member will point to a TLS library specific pointer
+for the active ("in use") SSL connection, with the following underlying types:
+.RS
+.IP GnuTLS
+gnutls_session_t
+.IP gskit
+gsk_handle
+.IP NSS
+PRFileDesc *
+.IP OpenSSL
+CURLINFO_TLS_SESSION: SSL_CTX *
+
+CURLINFO_TLS_SSL_PTR: SSL *
+.RE
+Since 7.48.0 the \fIinternals\fP member can point to these other SSL backends
+as well:
+.RS
+.IP axTLS
+SSL *
+.IP mbedTLS
+mbedtls_ssl_context *
+.IP PolarSSL
+ssl_context *
+.IP "Secure Channel (WinSSL)"
+CtxtHandle *
+.IP "Secure Transport (DarwinSSL)"
+SSLContext *
+.IP "WolfSSL (formerly CyaSSL)"
+SSL *
+.RE
+
+If the \fIinternals\fP pointer is NULL then either the SSL backend is not
+supported, an SSL session has not yet been established or the connection is no
+longer associated with the easy handle (eg curl_easy_perform has returned).
+.SH LIMITATIONS
+\fBThis option has some limitations that could make it unsafe when it comes to
+the manual verification of certificates.\fP
+
+This option only retrieves the first in-use SSL session pointer for your easy
+handle, however your easy handle may have more than one in-use SSL session if
+using FTP over SSL. That is because the FTP protocol has a control channel and
+a data channel and one or both may be over SSL. \fBCurrently there is no way
to
+retrieve a second in-use SSL session associated with an easy handle.\fP
+
+This option has not been thoroughly tested with plaintext protocols that can
be
+upgraded/downgraded to/from SSL: FTP, SMTP, POP3, IMAP when used with
+\fICURLOPT_USE_SSL(3)\fP. Though you will be able to retrieve the SSL pointer,
+it's possible that before you can do that \fBdata (including auth) may have
+already been sent over a connection after it was upgraded.\fP
+
+Renegotiation. If unsafe renegotiation or renegotiation in a way that the
+certificate is allowed to change is allowed by your SSL library this may occur
+and the certificate may change, and \fBdata may continue to be sent or
received
+after renegotiation but before you are able to get the (possibly) changed SSL
+pointer,\fP with the (possibly) changed certificate information.
+
+If you are using OpenSSL or wolfSSL then \fICURLOPT_SSL_CTX_FUNCTION(3)\fP can
+be used to set a certificate verification callback in the CTX. That is safer
+than using this option to poll for certificate changes and doesn't suffer from
+any of the problems above. There is currently no way in libcurl to set a
+verification callback for the other SSL backends.
+
+How are you using this option? Are you affected by any of these limitations?
+Please let us know by making a comment at
+https://github.com/curl/curl/issues/685
+.SH PROTOCOLS
+All TLS-based
+.SH EXAMPLE
+.nf
- CURL *curl = curl_easy_init();
- if(curl) {
++#include <curl/curl.h>
++#include <openssl/ssl.h>
++
++CURL *curl;
++static size_t wf(void *ptr, size_t size, size_t nmemb, void *stream)
++{
++ const struct curl_tlssessioninfo *info = NULL;
++ CURLcode res = curl_easy_getinfo(curl, CURLINFO_TLS_SSL_PTR, &info);
++ if(info && !res) {
++ if(CURLSSLBACKEND_OPENSSL == info->backend) {
++ printf("OpenSSL ver. %s\\n", SSL_get_version((SSL*)info->internals));
++ }
++ }
++ return size * nmemb;
++}
++
++int main(int argc, char** argv)
++{
+ CURLcode res;
- struct curl_tlssessioninfo *tls;
- curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
- res = curl_easy_perform(curl);
- curl_easy_getinfo(curl, CURLINFO_TLS_SSL_PTR, &tls);
- curl_easy_cleanup(curl);
++ curl = curl_easy_init();
++ if(curl) {
++ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
++ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, wf);
++ res = curl_easy_perform(curl);
++ curl_easy_cleanup(curl);
++ }
++ return res;
+}
+.fi
+.SH AVAILABILITY
+Added in 7.48.0.
+
+This option supersedes \fICURLINFO_TLS_SESSION(3)\fP which was added in
7.34.0.
+This option is exactly the same as that option except in the case of OpenSSL.
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
+.BR CURLINFO_TLS_SESSION "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_TOTAL_TIME.3
index 6d8a6da55,000000000..83598f0ea
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_TOTAL_TIME.3
+++ b/docs/libcurl/opts/GNURLINFO_TOTAL_TIME.3
@@@ -1,60 -1,0 +1,60 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_TOTAL_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo
options"
+.SH NAME
+CURLINFO_TOTAL_TIME \- get total time of previous transfer
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME, double *timep);
+.SH DESCRIPTION
+Pass a pointer to a double to receive the total time in seconds for the
+previous transfer, including name resolving, TCP connect etc. The double
+represents the time in seconds, including fractions.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ double total;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &total);
+ if(CURLE_OK == res) {
+ printf("Time: %.1f", total);
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.4.1
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
- .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
++.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_TOTAL_TIME_T
"(3)"
diff --cc docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3
index b3af2c581,000000000..f5a0025cf
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3
+++ b/docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3
@@@ -1,88 -1,0 +1,96 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_ACCEPT_ENCODING 3 "17 Jun 2014" "libcurl 7.37.0"
"curl_easy_setopt options"
+.SH NAME
+CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPT_ENCODING, char *enc);
+.SH DESCRIPTION
+Pass a char * argument specifying what encoding you'd like.
+
+Sets the contents of the Accept-Encoding: header sent in an HTTP request, and
+enables decoding of a response when a Content-Encoding: header is received.
- Three encodings are supported: \fIidentity\fP, meaning non-compressed,
- \fIdeflate\fP which requests the server to compress its response using the
- zlib algorithm, and \fIgzip\fP which requests the gzip algorithm.
+
- If a zero-length string is set like "", then an Accept-Encoding: header
- containing all built-in supported encodings is sent.
++libcurl potentially supports several different compressed encodings depending
++on what support that has been built-in.
++
++To aid applications not having to bother about what specific algorithms this
++particular libcurl build supports, libcurl allows a zero-length string to be
++set ("") to ask for an Accept-Encoding: header to be used that contains all
++built-in supported encodings.
++
++Alternatively, you can specify exactly the encoding or list of encodings you
++want in the response. Four encodings are supported: \fIidentity\fP, meaning
++non-compressed, \fIdeflate\fP which requests the server to compress its
++response using the zlib algorithm, \fIgzip\fP which requests the gzip
++algorithm and (since curl 7.57.0) \fIbr\fP which is brotli.
+
+Set this option to NULL to explicitly disable it, which makes libcurl not send
+an Accept-Encoding: header and not decompress contents automatically.
+
+You can also opt to just include the Accept-Encoding: header in your request
+with \fICURLOPT_HTTPHEADER(3)\fP but then there will be no automatic
+decompressing when receiving data.
+
+This is a request, not an order; the server may or may not do it. This option
+must be set (to any non-NULL value) or else any unsolicited encoding done by
+the server is ignored.
+
+Servers might respond with Content-Encoding even without getting a
+Accept-Encoding: in the request. Servers might respond with a different
+Content-Encoding than what was asked for in the request.
+
+The Content-Length: servers send for a compressed response is supposed to
+indicate the length of the compressed content so when auto decoding is enabled
+it may not match the sum of bytes reported by the write callbacks (although,
+sending the length of the non-compressed content is a common server mistake).
+
+The application does not have to keep the string around after setting this
+option.
+.SH DEFAULT
+NULL
+.SH PROTOCOLS
+HTTP
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
+
+ /* enable all supported built-in compressions */
+ curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "");
+
+ /* Perform the request */
+ curl_easy_perform(curl);
+}
+.fi
+.SH AVAILABILITY
+This option was called CURLOPT_ENCODING before 7.21.6
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
+CURLE_OUT_OF_MEMORY if there was insufficient heap space.
+.SH "SEE ALSO"
+.BR CURLOPT_TRANSFER_ENCODING "(3), " CURLOPT_HTTPHEADER "(3), "
+.BR CURLOPT_HTTP_CONTENT_DECODING "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_HAPROXYPROTOCOL.3
index c5c8f10a4,000000000..e1bc12dbf
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HAPROXYPROTOCOL.3
+++ b/docs/libcurl/opts/GNURLOPT_HAPROXYPROTOCOL.3
@@@ -1,57 -1,0 +1,57 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_HAPROXYPROTOCOL 3 "5 Feb 2018" "libcurl 7.60.0" "curl_easy_setopt
options"
+.SH NAME
- CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol header
++CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol v1 header
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPROXYPROTOCOL,
+ long haproxy_protocol);
+.SH DESCRIPTION
+A long parameter set to 1 tells the library to send an HAProxy PROXY
- protocol header at beginning of the connection. The default action is not to
++protocol v1 header at beginning of the connection. The default action is not
to
+send this header.
+
+This option is primarily useful when sending test requests to a service that
+expects this header.
+
+Most applications do not need this option.
+.SH DEFAULT
- 0, do not send HAProxy PROXY protocol header
++0, do not send any HAProxy PROXY protocol header
+.SH PROTOCOLS
+HTTP
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ CURLcode ret;
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
+ curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 1L);
+ ret = curl_easy_perform(curl);
+}
+.fi
+.SH AVAILABILITY
+Along with HTTP. Added in 7.60.0.
+.SH RETURN VALUE
+Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
diff --cc docs/libcurl/opts/GNURLOPT_HTTPAUTH.3
index e9ee9de2e,000000000..c5897d65c
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HTTPAUTH.3
+++ b/docs/libcurl/opts/GNURLOPT_HTTPAUTH.3
@@@ -1,126 -1,0 +1,132 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_HTTPAUTH 3 "2 Aug 2014" "libcurl 7.38.0" "curl_easy_setopt
options"
+.SH NAME
+CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try
+.SH SYNOPSIS
+.nf
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPAUTH, long bitmask);
+.SH DESCRIPTION
+Pass a long as parameter, which is set to a bitmask, to tell libcurl which
+authentication method(s) you want it to use speaking to the remote server.
+
+The available bits are listed below. If more than one bit is set, libcurl will
+first query the site to see which authentication methods it supports and then
+pick the best one you allow it to use. For some methods, this will induce an
+extra network round-trip. Set the actual name and password with the
+\fICURLOPT_USERPWD(3)\fP option or with the \fICURLOPT_USERNAME(3)\fP and the
+\fICURLOPT_PASSWORD(3)\fP options.
+
+For authentication with a proxy, see \fICURLOPT_PROXYAUTH(3)\fP.
+
+.IP CURLAUTH_BASIC
+HTTP Basic authentication. This is the default choice, and the only method
+that is in wide-spread use and supported virtually everywhere. This sends
+the user name and password over the network in plain text, easily captured by
+others.
+.IP CURLAUTH_DIGEST
+HTTP Digest authentication. Digest authentication is defined in RFC2617 and
+is a more secure way to do authentication over public networks than the
+regular old-fashioned Basic method.
+.IP CURLAUTH_DIGEST_IE
+HTTP Digest authentication with an IE flavor. Digest authentication is
+defined in RFC2617 and is a more secure way to do authentication over public
+networks than the regular old-fashioned Basic method. The IE flavor is simply
+that libcurl will use a special "quirk" that IE is known to have used before
+version 7 and that some servers require the client to use.
++.IP CURLAUTH_BEARER
++HTTP Bearer token authentication, used primarily in OAuth 2.0 protocol.
++
++You can set the Bearer token to use with \fICURLOPT_XOAUTH2_BEARER(3)\fP.
+.IP CURLAUTH_NEGOTIATE
+HTTP Negotiate (SPNEGO) authentication. Negotiate authentication is defined
+in RFC 4559 and is the most secure way to perform authentication over HTTP.
+
+You need to build libcurl with a suitable GSS-API library or SSPI on Windows
+for this to work.
+.IP CURLAUTH_NTLM
+HTTP NTLM authentication. A proprietary protocol invented and used by
+Microsoft. It uses a challenge-response and hash concept similar to Digest, to
+prevent the password from being eavesdropped.
+
+You need to build libcurl with either OpenSSL, GnuTLS or NSS support for this
+option to work, or build libcurl on Windows with SSPI support.
+.IP CURLAUTH_NTLM_WB
+NTLM delegating to winbind helper. Authentication is performed by a separate
+binary application that is executed when needed. The name of the application
+is specified at compile time but is typically /usr/bin/ntlm_auth
+
+Note that libcurl will fork when necessary to run the winbind application and
+kill it when complete, calling waitpid() to await its exit when done. On POSIX
+operating systems, killing the process will cause a SIGCHLD signal to be
+raised (regardless of whether \fICURLOPT_NOSIGNAL(3)\fP is set), which must be
+handled intelligently by the application. In particular, the application must
+not unconditionally call wait() in its SIGCHLD signal handler to avoid being
+subject to a race condition. This behavior is subject to change in future
+versions of libcurl.
+.IP CURLAUTH_ANY
+This is a convenience macro that sets all bits and thus makes libcurl pick any
+it finds suitable. libcurl will automatically select the one it finds most
+secure.
+.IP CURLAUTH_ANYSAFE
+This is a convenience macro that sets all bits except Basic and thus makes
+libcurl pick any it finds suitable. libcurl will automatically select the one
+it finds most secure.
+.IP CURLAUTH_ONLY
+This is a meta symbol. OR this value together with a single specific auth
+value to force libcurl to probe for un-restricted auth and if not, only that
+single auth algorithm is acceptable.
+.SH DEFAULT
+CURLAUTH_BASIC
+.SH PROTOCOLS
+HTTP
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ CURLcode ret;
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
+ /* allow whatever auth the server speaks */
+ curl_easy_setopt(curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
+ curl_easy_setopt(curl, CURLOPT_USERPWD, "james:bond");
+ ret = curl_easy_perform(curl);
+}
+.fi
+.SH AVAILABILITY
+Option Added in 7.10.6.
+
+CURLAUTH_DIGEST_IE was added in 7.19.3
+
+CURLAUTH_ONLY was added in 7.21.3
+
+CURLAUTH_NTLM_WB was added in 7.22.0
++
++CURLAUTH_BEARER was added in 7.61.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
+CURLE_NOT_BUILT_IN if the bitmask specified no supported authentication
+methods.
+.SH "SEE ALSO"
+.BR CURLOPT_PROXYAUTH "(3), " CURLOPT_USERPWD "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_HTTPGET.3
index 071705683,000000000..f06cb7a87
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HTTPGET.3
+++ b/docs/libcurl/opts/GNURLOPT_HTTPGET.3
@@@ -1,59 -1,0 +1,64 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_HTTPGET 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt
options"
+.SH NAME
+CURLOPT_HTTPGET \- ask for an HTTP GET request
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPGET, long useget);
+.SH DESCRIPTION
+Pass a long. If \fIuseget\fP is 1, this forces the HTTP request to get back to
+using GET. Usable if a POST, HEAD, PUT, etc has been used previously using the
+same curl \fIhandle\fP.
+
+When setting \fICURLOPT_HTTPGET(3)\fP to 1, it will automatically set
+\fICURLOPT_NOBODY(3)\fP to 0 and \fICURLOPT_UPLOAD(3)\fP to 0.
++
++Setting this option to zero has no effect. Applications need to explicitly
++select which HTTP request method to use, they cannot deselect a method. To
++reset a handle to default method, consider \fIcurl_easy_reset(3)\fP.
+.SH DEFAULT
+0
+.SH PROTOCOLS
+HTTP(S)
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
+
- /* use a GET to fetch this */
++ /* use a GET to fetch this */
+ curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
+
- /* Perform the request */
++ /* Perform the request */
+ curl_easy_perform(curl);
+}
+.fi
+.SH AVAILABILITY
+Along with HTTP
+.SH RETURN VALUE
+Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
- .BR CURLOPT_NOBODY "(3), " CURLOPT_UPLOAD "(3), "
++.BR CURLOPT_NOBODY "(3), " CURLOPT_UPLOAD "(3), " CURLOPT_POST "(3), "
++.BR curl_easy_reset "(3) "
diff --cc docs/libcurl/opts/GNURLOPT_INTERFACE.3
index be29fc034,000000000..16c7f358c
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_INTERFACE.3
+++ b/docs/libcurl/opts/GNURLOPT_INTERFACE.3
@@@ -1,69 -1,0 +1,72 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_INTERFACE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt
options"
+.SH NAME
+CURLOPT_INTERFACE \- source interface for outgoing traffic
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERFACE, char *interface);
+.SH DESCRIPTION
+Pass a char * as parameter. This sets the \fIinterface\fP name to use as
+outgoing network interface. The name can be an interface name, an IP address,
+or a host name.
+
+If the parameter starts with "if!" then it is treated as only as interface
+name and no attempt will ever be named to do treat it as an IP address or to
+do name resolution on it. If the parameter starts with \&"host!" it is
+treated as either an IP address or a hostname. Hostnames are resolved
+synchronously. Using the if! format is highly recommended when using the
+multi interfaces to avoid allowing the code to block. If "if!" is specified
+but the parameter does not match an existing interface, CURLE_INTERFACE_FAILED
+is returned from the libcurl function used to perform the transfer.
+
++libcurl does not support using network interface names for this option on
++Windows.
++
+The application does not have to keep the string around after setting this
+option.
+.SH DEFAULT
+NULL, use whatever the TCP stack finds suitable
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/foo.bin");
+
+ curl_easy_setopt(curl, CURLOPT_INTERFACE, "eth0");
+
+ ret = curl_easy_perform(curl);
+
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+The "if!" and "host!" syntax was added in 7.24.0.
+.SH RETURN VALUE
+Returns CURLE_OK on success or
+CURLE_OUT_OF_MEMORY if there was insufficient heap space.
+.SH "SEE ALSO"
+.BR CURLOPT_SOCKOPTFUNCTION "(3), " CURLOPT_TCP_NODELAY "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_POST.3
index 727f36f5b,000000000..e9e1aa7fe
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_POST.3
+++ b/docs/libcurl/opts/GNURLOPT_POST.3
@@@ -1,89 -1,0 +1,89 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_POST 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
+.SH NAME
+CURLOPT_POST \- request an HTTP POST
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POST, long post);
+.SH DESCRIPTION
+A parameter set to 1 tells libcurl to do a regular HTTP post. This will also
+make the library use a "Content-Type: application/x-www-form-urlencoded"
+header. (This is by far the most commonly used POST method).
+
+Use one of \fICURLOPT_POSTFIELDS(3)\fP or \fICURLOPT_COPYPOSTFIELDS(3)\fP
+options to specify what data to post and \fICURLOPT_POSTFIELDSIZE(3)\fP or
+\fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP to set the data size.
+
+Optionally, you can provide data to POST using the
+\fICURLOPT_READFUNCTION(3)\fP and \fICURLOPT_READDATA(3)\fP options but then
+you must make sure to not set \fICURLOPT_POSTFIELDS(3)\fP to anything but
+NULL. When providing data with a callback, you must transmit it using chunked
+transfer-encoding or you must set the size of the data with the
+\fICURLOPT_POSTFIELDSIZE(3)\fP or \fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP
+options. To enable chunked encoding, you simply pass in the appropriate
+Transfer-Encoding header, see the post-callback.c example.
+
+You can override the default POST Content-Type: header by setting your own
+with \fICURLOPT_HTTPHEADER(3)\fP.
+
+Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
+You can disable this header with \fICURLOPT_HTTPHEADER(3)\fP as usual.
+
+If you use POST to an HTTP 1.1 server, you can send data without knowing the
+size before starting the POST if you use chunked encoding. You enable this by
+adding a header like "Transfer-Encoding: chunked" with
+\fICURLOPT_HTTPHEADER(3)\fP. With HTTP 1.0 or without chunked transfer, you
+must specify the size in the request.
+
- When setting \fICURLOPT_POST(3)\fP to 1, it will automatically set
- \fICURLOPT_NOBODY(3)\fP to 0.
++When setting \fICURLOPT_POST(3)\fP to 1, libcurl will automatically set
++\fICURLOPT_NOBODY(3)\fP and \fICURLOPT_HTTPGET(3)\fP to 0.
+
+If you issue a POST request and then want to make a HEAD or GET using the same
+re-used handle, you must explicitly set the new request type using
+\fICURLOPT_NOBODY(3)\fP or \fICURLOPT_HTTPGET(3)\fP or similar.
+.SH DEFAULT
+0, disabled
+.SH PROTOCOLS
+HTTP
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/foo.bin");
+ curl_easy_setopt(curl, CURLOPT_POST, 1L);
+
+ /* set up the read callback with CURLOPT_READFUNCTION */
+
+ ret = curl_easy_perform(curl);
+
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Along with HTTP
+.SH RETURN VALUE
+Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLOPT_POSTFIELDS "(3), " CURLOPT_HTTPPOST "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_POSTFIELDS.3
index a567ee1de,000000000..29ab06dac
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_POSTFIELDS.3
+++ b/docs/libcurl/opts/GNURLOPT_POSTFIELDS.3
@@@ -1,88 -1,0 +1,88 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_POSTFIELDS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt
options"
+.SH NAME
+CURLOPT_POSTFIELDS \- specify data to POST to server
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDS, char *postdata);
+.SH DESCRIPTION
+Pass a char * as parameter, pointing to the full data to send in an HTTP POST
+operation. You must make sure that the data is formatted the way you want the
+server to receive it. libcurl will not convert or encode it for you in any
+way. For example, the web server may assume that this data is url-encoded.
+
+The data pointed to is NOT copied by the library: as a consequence, it must be
+preserved by the calling application until the associated transfer finishes.
+This behaviour can be changed (so libcurl does copy the data) by setting the
+\fICURLOPT_COPYPOSTFIELDS(3)\fP option.
+
+This POST is a normal application/x-www-form-urlencoded kind (and libcurl will
+set that Content-Type by default when this option is used), which is commonly
+used by HTML forms. Change Content-Type with \fICURLOPT_HTTPHEADER(3)\fP.
+
+You can use \fIcurl_easy_escape(3)\fP to url-encode your data, if necessary.
It
+returns a pointer to an encoded string that can be passed as \fIpostdata\fP.
+
- Using \fICURLOPT_POSTFIELDS(3)\fP implies \fICURLOPT_POST(3)\fP.
++Using \fICURLOPT_POSTFIELDS(3)\fP implies setting \fICURLOPT_POST(3)\fP to 1.
+
+If \fICURLOPT_POSTFIELDS(3)\fP is explicitly set to NULL then libcurl will get
+the POST data from the read callback. If you want to send a zero-byte POST set
+\fICURLOPT_POSTFIELDS(3)\fP to an empty string, or set \fICURLOPT_POST(3)\fP
to
+1 and \fICURLOPT_POSTFIELDSIZE(3)\fP to 0.
+
+Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header,
+and libcurl will add that header automatically if the POST is either known to
+be larger than 1024 bytes or if the expected size is unknown. You can disable
+this header with \fICURLOPT_HTTPHEADER(3)\fP as usual.
+
+To make multipart/formdata posts (aka RFC2388-posts), check out the
+\fICURLOPT_HTTPPOST(3)\fP option combined with \fIcurl_formadd(3)\fP.
+.SH DEFAULT
+NULL
+.SH PROTOCOLS
+HTTP
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ const char *data = "data to send";
+
+ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
+
+ /* size of the POST data */
+ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 12L);
+
+ /* pass in a pointer to the data - libcurl will not copy */
+ curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
+
+ curl_easy_perform(curl);
+}
+.fi
+.SH AVAILABILITY
+Always
+.SH RETURN VALUE
+Returns CURLE_OK
+.SH "SEE ALSO"
+.BR CURLOPT_POSTFIELDSIZE "(3), " CURLOPT_READFUNCTION "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_RESOLVE.3
index b6144a78a,000000000..fff2ea033
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_RESOLVE.3
+++ b/docs/libcurl/opts/GNURLOPT_RESOLVE.3
@@@ -1,92 -1,0 +1,97 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_RESOLVE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt
options"
+.SH NAME
+CURLOPT_RESOLVE \- provide custom host name to IP address resolves
+.SH SYNOPSIS
+.nf
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVE,
+ struct curl_slist *hosts);
+.SH DESCRIPTION
+Pass a pointer to a linked list of strings with host name resolve information
+to use for requests with this handle. The linked list should be a fully valid
+list of \fBstruct curl_slist\fP structs properly filled in. Use
+\fIcurl_slist_append(3)\fP to create the list and \fIcurl_slist_free_all(3)\fP
+to clean up an entire list.
+
+Each single name resolve string should be written using the format
+HOST:PORT:ADDRESS[,ADDRESS]... where HOST is the name libcurl will try
+to resolve, PORT is the port number of the service where libcurl wants
+to connect to the HOST and ADDRESS is one or more numerical IP
+addresses. If you specify multiple ip addresses they need to be
+separated by comma. If libcurl is built to support IPv6, each of the
+ADDRESS entries can of course be either IPv4 or IPv6 style addressing.
+
+This option effectively pre-populates the DNS cache with entries for the
+host+port pair so redirects and everything that operations against the
+HOST+PORT will instead use your provided ADDRESS. Addresses set with
+\fICURLOPT_RESOLVE(3)\fP will not time-out from the DNS cache like ordinary
+entries.
+
++If the DNS cache already have an entry for the given host+port pair, then
++this entry will be removed and a new entry will be created. This is because
++old entry may have have different addresses or be ordinary entries with
++time-outs.
++
+The provided ADDRESS set by this option will be used even if
+\fICURLOPT_IPRESOLVE(3)\fP is set to make libcurl use another IP version.
+
+Remove names from the DNS cache again, to stop providing these fake resolves,
+by including a string in the linked list that uses the format
+\&"-HOST:PORT". The host name must be prefixed with a dash, and the host name
+and port number must exactly match what was already added previously.
+
+Support for providing the ADDRESS within [brackets] was added in 7.57.0.
+
+Support for providing multiple IP addresses per entry was added in 7.59.0.
+.SH DEFAULT
+NULL
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+CURL *curl;
+struct curl_slist *host = NULL;
+host = curl_slist_append(NULL, "example.com:80:127.0.0.1");
+
+curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_RESOLVE, host);
+ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
+
+ curl_easy_perform(curl);
+
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+
+curl_slist_free_all(host);
+.fi
+.SH AVAILABILITY
+Added in 7.21.3. Removal support added in 7.42.0.
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLOPT_IPRESOLVE "(3), " CURLOPT_DNS_CACHE_TIMEOUT "(3), "
CURLOPT_CONNECT_TO "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_SSLVERSION.3
index b2b112083,000000000..81df49fdd
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_SSLVERSION.3
+++ b/docs/libcurl/opts/GNURLOPT_SSLVERSION.3
@@@ -1,102 -1,0 +1,108 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2015, 2018, Daniel Stenberg, <address@hidden>, et
al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_SSLVERSION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt
options"
+.SH NAME
+CURLOPT_SSLVERSION \- set preferred TLS/SSL version
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLVERSION, long version);
+.SH DESCRIPTION
- Pass a long as parameter to control which version of SSL/TLS to attempt to
++Pass a long as parameter to control which version range of SSL/TLS versions to
+use.
+
++The SSL and TLS versions have typically developed from the most insecure
++version to be more and more secure in this order through history: SSL v2,
++SSLv3, TLS v1.0, TSL v1.1, TSL v1.2 and the most recent TLS v1.3.
++
+Use one of the available defines for this purpose. The available options are:
+.RS
+.IP CURL_SSLVERSION_DEFAULT
- The default action. This will attempt to figure out the remote SSL protocol
- version.
++The default acceptable version range. The mimimum acceptable version is by
++default TLS 1.0 since 7.39.0 (unless the TLS library has a stricter rule).
+.IP CURL_SSLVERSION_TLSv1
- TLSv1.x
++TLS v1.0 or later
+.IP CURL_SSLVERSION_SSLv2
- SSLv2
++SSL v2 (but not SSLv3)
+.IP CURL_SSLVERSION_SSLv3
- SSLv3
++SSL v3 (but not SSLv2)
+.IP CURL_SSLVERSION_TLSv1_0
- TLSv1.0 (Added in 7.34.0)
++TLS v1.0 or later (Added in 7.34.0)
+.IP CURL_SSLVERSION_TLSv1_1
- TLSv1.1 (Added in 7.34.0)
++TLS v1.1 or later (Added in 7.34.0)
+.IP CURL_SSLVERSION_TLSv1_2
- TLSv1.2 (Added in 7.34.0)
++TLS v1.2 or later (Added in 7.34.0)
+.IP CURL_SSLVERSION_TLSv1_3
- TLSv1.3 (Added in 7.52.0)
++TLS v1.3 or later (Added in 7.52.0)
+.RE
++
+The maximum TLS version can be set by using \fIone\fP of the
+CURL_SSLVERSION_MAX_ macros below. It is also possible to OR \fIone\fP of the
+CURL_SSLVERSION_ macros with \fIone\fP of the CURL_SSLVERSION_MAX_ macros.
+The MAX macros are not supported for SSL backends axTLS or wolfSSL.
+.RS
+.IP CURL_SSLVERSION_MAX_DEFAULT
- The flag defines the maximum supported TLS version as TLSv1.2, or the default
- value from the SSL library.
- (Added in 7.54.0)
++The flag defines the maximum supported TLS version by libcurl, or the default
++value from the SSL library is used. libcurl will use a sensible default
++maximum, which was TLS 1.2 up to before 7.61.0 and is TLS 1.3 since then -
++assuming the TLS library support it. (Added in 7.54.0)
+.IP CURL_SSLVERSION_MAX_TLSv1_0
- The flag defines maximum supported TLS version as TLSv1.0.
++The flag defines maximum supported TLS version as TLS v1.0.
+(Added in 7.54.0)
+.IP CURL_SSLVERSION_MAX_TLSv1_1
- The flag defines maximum supported TLS version as TLSv1.1.
++The flag defines maximum supported TLS version as TLS v1.1.
+(Added in 7.54.0)
+.IP CURL_SSLVERSION_MAX_TLSv1_2
- The flag defines maximum supported TLS version as TLSv1.2.
++The flag defines maximum supported TLS version as TLS v1.2.
+(Added in 7.54.0)
+.IP CURL_SSLVERSION_MAX_TLSv1_3
- The flag defines maximum supported TLS version as TLSv1.3.
++The flag defines maximum supported TLS version as TLS v1.3.
+(Added in 7.54.0)
+.RE
+.SH DEFAULT
+CURL_SSLVERSION_DEFAULT
+.SH PROTOCOLS
+All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+
+ /* ask libcurl to use TLS version 1.0 or later */
+ curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
+
+ /* Perform the request */
+ curl_easy_perform(curl);
+}
+.fi
+.SH AVAILABILITY
+SSLv2 is disabled by default since 7.18.1. Other SSL versions availability may
+vary depending on which backend libcurl has been built to use.
+
+SSLv3 is disabled by default since 7.39.0.
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLOPT_USE_SSL "(3), " CURLOPT_HTTP_VERSION "(3), "
+.BR CURLOPT_IPRESOLVE "(3) "
diff --cc docs/libcurl/opts/GNURLOPT_SSL_VERIFYPEER.3
index b4d7658c7,000000000..65b8ea988
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/GNURLOPT_SSL_VERIFYPEER.3
@@@ -1,83 -1,0 +1,93 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_SSL_VERIFYPEER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt
options"
+.SH NAME
+CURLOPT_SSL_VERIFYPEER \- verify the peer's SSL certificate
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYPEER, long verify);
+.SH DESCRIPTION
+Pass a long as parameter to enable or disable.
+
+This option determines whether curl verifies the authenticity of the peer's
+certificate. A value of 1 means curl verifies; 0 (zero) means it doesn't.
+
+When negotiating a TLS or SSL connection, the server sends a certificate
+indicating its identity. Curl verifies whether the certificate is authentic,
+i.e. that you can trust that the server is who the certificate says it is.
+This trust is based on a chain of digital signatures, rooted in certification
+authority (CA) certificates you supply. curl uses a default bundle of CA
+certificates (the path for that is determined at build time) and you can
+specify alternate certificates with the \fICURLOPT_CAINFO(3)\fP option or the
+\fICURLOPT_CAPATH(3)\fP option.
+
+When \fICURLOPT_SSL_VERIFYPEER(3)\fP is enabled, and the verification fails to
+prove that the certificate is authentic, the connection fails. When the
+option is zero, the peer certificate verification succeeds regardless.
+
+Authenticating the certificate is not enough to be sure about the server. You
+typically also want to ensure that the server is the server you mean to be
+talking to. Use \fICURLOPT_SSL_VERIFYHOST(3)\fP for that. The check that the
+host name in the certificate is valid for the host name you're connecting to
+is done independently of the \fICURLOPT_SSL_VERIFYPEER(3)\fP option.
+
+WARNING: disabling verification of the certificate allows bad guys to
+man-in-the-middle the communication without you knowing it. Disabling
+verification makes the communication insecure. Just having encryption on a
+transfer is not enough as you cannot be sure that you are communicating with
+the correct end-point.
++
++NOTE: even when this option is disabled, depending on the used TLS backend,
++curl may still load the certificate file specified in
++\fICURLOPT_CAINFO(3)\fP. curl default settings in some distributions might use
++quite a large file as a default setting for \fICURLOPT_CAINFO(3)\fP, so
++loading the file can be quite expensive, especially when dealing with many
++connections. Thus, in some situations, you might want to disable verification
++fully to save resources by setting \fICURLOPT_CAINFO(3)\fP to NULL - but
++please also consider the warning above!
+.SH DEFAULT
+By default, curl assumes a value of 1.
+.SH PROTOCOLS
+All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+
+ /* Set the default value: strict certificate check please */
+ curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);
+
+ curl_easy_perform(curl);
+}
+.fi
+.SH AVAILABILITY
+If built TLS enabled.
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLOPT_SSL_VERIFYHOST "(3), "
+.BR CURLOPT_PROXY_SSL_VERIFYPEER "(3), "
+.BR CURLOPT_PROXY_SSL_VERIFYHOST "(3), "
++.BR CURLOPT_CAINFO "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_WILDCARDMATCH.3
index 6dfe91215,000000000..8964602bf
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_WILDCARDMATCH.3
+++ b/docs/libcurl/opts/GNURLOPT_WILDCARDMATCH.3
@@@ -1,87 -1,0 +1,87 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
- .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <address@hidden>, et al.
++.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_WILDCARDMATCH 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt
options"
+.SH NAME
+CURLOPT_WILDCARDMATCH \- enable directory wildcard transfers
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WILDCARDMATCH, long onoff);
+.SH DESCRIPTION
+Set \fIonoff\fP to 1 if you want to transfer multiple files according to a
+file name pattern. The pattern can be specified as part of the
+\fICURLOPT_URL(3)\fP option, using an fnmatch-like pattern (Shell Pattern
+Matching) in the last part of URL (file name).
+
+By default, libcurl uses its internal wildcard matching implementation. You
+can provide your own matching function by the
+\fICURLOPT_FNMATCH_FUNCTION(3)\fP option.
+
+A brief introduction of its syntax follows:
+.RS
+.IP "* - ASTERISK"
+\&ftp://example.com/some/path/\fB*.txt\fP (for all txt's from the root
- directory)
++directory). Only two asterisks are allowed within the same pattern string.
+.RE
+.RS
+.IP "? - QUESTION MARK"
+Question mark matches any (exactly one) character.
+
+\&ftp://example.com/some/path/\fBphoto?.jpeg\fP
+.RE
+.RS
+.IP "[ - BRACKET EXPRESSION"
+The left bracket opens a bracket expression. The question mark and asterisk
have
+no special meaning in a bracket expression. Each bracket expression ends by
the
+right bracket and matches exactly one character. Some examples follow:
+
+\fB[a-zA-Z0\-9]\fP or \fB[f\-gF\-G]\fP \- character interval
+
+\fB[abc]\fP - character enumeration
+
+\fB[^abc]\fP or \fB[!abc]\fP - negation
+
+\fB[[:\fP\fIname\fP\fB:]]\fP class expression. Supported classes are
+\fBalnum\fP,\fBlower\fP, \fBspace\fP, \fBalpha\fP, \fBdigit\fP, \fBprint\fP,
+\fBupper\fP, \fBblank\fP, \fBgraph\fP, \fBxdigit\fP.
+
+\fB[][-!^]\fP - special case \- matches only '\-', ']', '[', '!' or '^'. These
+characters have no special purpose.
+
+\fB[\\[\\]\\\\]\fP - escape syntax. Matches '[', ']' or '\\'.
+
+Using the rules above, a file name pattern can be constructed:
+
+\&ftp://example.com/some/path/\fB[a-z[:upper:]\\\\].jpeg\fP
+.RE
+.PP
+.SH PROTOCOLS
+This feature is only supported for FTP download.
+.SH EXAMPLE
+See https://curl.haxx.se/libcurl/c/ftp-wildcard.html
+.SH AVAILABILITY
+Added in 7.21.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLOPT_FNMATCH_FUNCTION "(3), " CURLOPT_URL "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_XOAUTH2_BEARER.3
index f7377a372,000000000..3f13e4e47
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_XOAUTH2_BEARER.3
+++ b/docs/libcurl/opts/GNURLOPT_XOAUTH2_BEARER.3
@@@ -1,60 -1,0 +1,60 @@@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <address@hidden>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_XOAUTH2_BEARER 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt
options"
+.SH NAME
+CURLOPT_XOAUTH2_BEARER \- specify OAuth 2.0 access token
+.SH SYNOPSIS
+#include <gnurl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XOAUTH2_BEARER, char *token);
+.SH DESCRIPTION
+Pass a char * as parameter, which should point to the zero terminated OAuth
- 2.0 Bearer Access Token for use with IMAP, POP3 and SMTP servers that support
- the OAuth 2.0 Authorization Framework.
++2.0 Bearer Access Token for use with HTTP, IMAP, POP3 and SMTP servers
++that support the OAuth 2.0 Authorization Framework.
+
- Note: The user name used to generate the Bearer Token should be supplied via
- the \fICURLOPT_USERNAME(3)\fP option.
++Note: For IMAP, POP3 and SMTP, the user name used to generate the Bearer Token
++should be supplied via the \fICURLOPT_USERNAME(3)\fP option.
+
+The application does not have to keep the string around after setting this
+option.
+.SH DEFAULT
+NULL
+.SH PROTOCOLS
+IMAP, POP3 and SMTP
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "pop3://example.com/");
+ curl_easy_setopt(curl, CURLOPT_XOAUTH2_BEARER, "1ab9cb22ba269a7");
+ ret = curl_easy_perform(curl);
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.33.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
+CURLE_OUT_OF_MEMORY if there was insufficient heap space.
+.SH "SEE ALSO"
+.BR CURLOPT_MAIL_AUTH "(3), " CURLOPT_USERNAME "(3), "
diff --cc docs/libcurl/opts/Makefile.inc
index 620f32bd8,32485e292..67ae66701
--- a/docs/libcurl/opts/Makefile.inc
+++ b/docs/libcurl/opts/Makefile.inc
@@@ -1,330 -1,340 +1,340 @@@
# Shared between Makefile.am and CMakeLists.txt
man_MANS = \
- CURLINFO_ACTIVESOCKET.3 \
- CURLINFO_APPCONNECT_TIME.3 \
- CURLINFO_APPCONNECT_TIME_T.3 \
- CURLINFO_CERTINFO.3 \
- CURLINFO_CONDITION_UNMET.3 \
- CURLINFO_CONNECT_TIME.3 \
- CURLINFO_CONNECT_TIME_T.3 \
- CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 \
- CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 \
- CURLINFO_CONTENT_LENGTH_UPLOAD.3 \
- CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 \
- CURLINFO_CONTENT_TYPE.3 \
- CURLINFO_COOKIELIST.3 \
- CURLINFO_EFFECTIVE_URL.3 \
- CURLINFO_FILETIME.3 \
- CURLINFO_FILETIME_T.3 \
- CURLINFO_FTP_ENTRY_PATH.3 \
- CURLINFO_HEADER_SIZE.3 \
- CURLINFO_HTTPAUTH_AVAIL.3 \
- CURLINFO_HTTP_CONNECTCODE.3 \
- CURLINFO_HTTP_VERSION.3 \
- CURLINFO_LASTSOCKET.3 \
- CURLINFO_LOCAL_IP.3 \
- CURLINFO_LOCAL_PORT.3 \
- CURLINFO_NAMELOOKUP_TIME.3 \
- CURLINFO_NAMELOOKUP_TIME_T.3 \
- CURLINFO_NUM_CONNECTS.3 \
- CURLINFO_OS_ERRNO.3 \
- CURLINFO_PRETRANSFER_TIME.3 \
- CURLINFO_PRETRANSFER_TIME_T.3 \
- CURLINFO_PRIMARY_IP.3 \
- CURLINFO_PRIMARY_PORT.3 \
- CURLINFO_PRIVATE.3 \
- CURLINFO_PROTOCOL.3 \
- CURLINFO_PROXYAUTH_AVAIL.3 \
- CURLINFO_PROXY_SSL_VERIFYRESULT.3 \
- CURLINFO_REDIRECT_COUNT.3 \
- CURLINFO_REDIRECT_TIME.3 \
- CURLINFO_REDIRECT_TIME_T.3 \
- CURLINFO_REDIRECT_URL.3 \
- CURLINFO_REQUEST_SIZE.3 \
- CURLINFO_RESPONSE_CODE.3 \
- CURLINFO_RTSP_CLIENT_CSEQ.3 \
- CURLINFO_RTSP_CSEQ_RECV.3 \
- CURLINFO_RTSP_SERVER_CSEQ.3 \
- CURLINFO_RTSP_SESSION_ID.3 \
- CURLINFO_SCHEME.3 \
- CURLINFO_SIZE_DOWNLOAD.3 \
- CURLINFO_SIZE_DOWNLOAD_T.3 \
- CURLINFO_SIZE_UPLOAD.3 \
- CURLINFO_SIZE_UPLOAD_T.3 \
- CURLINFO_SPEED_DOWNLOAD.3 \
- CURLINFO_SPEED_DOWNLOAD_T.3 \
- CURLINFO_SPEED_UPLOAD.3 \
- CURLINFO_SPEED_UPLOAD_T.3 \
- CURLINFO_SSL_ENGINES.3 \
- CURLINFO_SSL_VERIFYRESULT.3 \
- CURLINFO_STARTTRANSFER_TIME.3 \
- CURLINFO_STARTTRANSFER_TIME_T.3 \
- CURLINFO_TLS_SESSION.3 \
- CURLINFO_TLS_SSL_PTR.3 \
- CURLINFO_TOTAL_TIME.3 \
- CURLINFO_TOTAL_TIME_T.3 \
- CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \
- CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \
- CURLMOPT_MAXCONNECTS.3 \
- CURLMOPT_MAX_HOST_CONNECTIONS.3 \
- CURLMOPT_MAX_PIPELINE_LENGTH.3 \
- CURLMOPT_MAX_TOTAL_CONNECTIONS.3 \
- CURLMOPT_PIPELINING.3 \
- CURLMOPT_PIPELINING_SERVER_BL.3 \
- CURLMOPT_PIPELINING_SITE_BL.3 \
- CURLMOPT_PUSHDATA.3 \
- CURLMOPT_PUSHFUNCTION.3 \
- CURLMOPT_SOCKETDATA.3 \
- CURLMOPT_SOCKETFUNCTION.3 \
- CURLMOPT_TIMERDATA.3 \
- CURLMOPT_TIMERFUNCTION.3 \
- CURLOPT_ABSTRACT_UNIX_SOCKET.3 \
- CURLOPT_ACCEPTTIMEOUT_MS.3 \
- CURLOPT_ACCEPT_ENCODING.3 \
- CURLOPT_ADDRESS_SCOPE.3 \
- CURLOPT_APPEND.3 \
- CURLOPT_AUTOREFERER.3 \
- CURLOPT_BUFFERSIZE.3 \
- CURLOPT_CAINFO.3 \
- CURLOPT_CAPATH.3 \
- CURLOPT_CERTINFO.3 \
- CURLOPT_CHUNK_BGN_FUNCTION.3 \
- CURLOPT_CHUNK_DATA.3 \
- CURLOPT_CHUNK_END_FUNCTION.3 \
- CURLOPT_CLOSESOCKETDATA.3 \
- CURLOPT_CLOSESOCKETFUNCTION.3 \
- CURLOPT_CONNECTTIMEOUT.3 \
- CURLOPT_CONNECTTIMEOUT_MS.3 \
- CURLOPT_CONNECT_ONLY.3 \
- CURLOPT_CONNECT_TO.3 \
- CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 \
- CURLOPT_CONV_FROM_UTF8_FUNCTION.3 \
- CURLOPT_CONV_TO_NETWORK_FUNCTION.3 \
- CURLOPT_COOKIE.3 \
- CURLOPT_COOKIEFILE.3 \
- CURLOPT_COOKIEJAR.3 \
- CURLOPT_COOKIELIST.3 \
- CURLOPT_COOKIESESSION.3 \
- CURLOPT_COPYPOSTFIELDS.3 \
- CURLOPT_CRLF.3 \
- CURLOPT_CRLFILE.3 \
- CURLOPT_CUSTOMREQUEST.3 \
- CURLOPT_DEBUGDATA.3 \
- CURLOPT_DEBUGFUNCTION.3 \
- CURLOPT_DEFAULT_PROTOCOL.3 \
- CURLOPT_DIRLISTONLY.3 \
- CURLOPT_DISALLOW_USERNAME_IN_URL.3 \
- CURLOPT_DNS_CACHE_TIMEOUT.3 \
- CURLOPT_DNS_INTERFACE.3 \
- CURLOPT_DNS_LOCAL_IP4.3 \
- CURLOPT_DNS_LOCAL_IP6.3 \
- CURLOPT_DNS_SERVERS.3 \
- CURLOPT_DNS_SHUFFLE_ADDRESSES.3 \
- CURLOPT_DNS_USE_GLOBAL_CACHE.3 \
- CURLOPT_EGDSOCKET.3 \
- CURLOPT_ERRORBUFFER.3 \
- CURLOPT_EXPECT_100_TIMEOUT_MS.3 \
- CURLOPT_FAILONERROR.3 \
- CURLOPT_FILETIME.3 \
- CURLOPT_FNMATCH_DATA.3 \
- CURLOPT_FNMATCH_FUNCTION.3 \
- CURLOPT_FOLLOWLOCATION.3 \
- CURLOPT_FORBID_REUSE.3 \
- CURLOPT_FRESH_CONNECT.3 \
- CURLOPT_FTPPORT.3 \
- CURLOPT_FTPSSLAUTH.3 \
- CURLOPT_FTP_ACCOUNT.3 \
- CURLOPT_FTP_ALTERNATIVE_TO_USER.3 \
- CURLOPT_FTP_CREATE_MISSING_DIRS.3 \
- CURLOPT_FTP_FILEMETHOD.3 \
- CURLOPT_FTP_RESPONSE_TIMEOUT.3 \
- CURLOPT_FTP_SKIP_PASV_IP.3 \
- CURLOPT_FTP_SSL_CCC.3 \
- CURLOPT_FTP_USE_EPRT.3 \
- CURLOPT_FTP_USE_EPSV.3 \
- CURLOPT_FTP_USE_PRET.3 \
- CURLOPT_GSSAPI_DELEGATION.3 \
- CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 \
- CURLOPT_HAPROXYPROTOCOL.3 \
- CURLOPT_HEADER.3 \
- CURLOPT_HEADERDATA.3 \
- CURLOPT_HEADERFUNCTION.3 \
- CURLOPT_HEADEROPT.3 \
- CURLOPT_HTTP200ALIASES.3 \
- CURLOPT_HTTPAUTH.3 \
- CURLOPT_HTTPGET.3 \
- CURLOPT_HTTPHEADER.3 \
- CURLOPT_HTTPPOST.3 \
- CURLOPT_HTTPPROXYTUNNEL.3 \
- CURLOPT_HTTP_CONTENT_DECODING.3 \
- CURLOPT_HTTP_TRANSFER_DECODING.3 \
- CURLOPT_HTTP_VERSION.3 \
- CURLOPT_IGNORE_CONTENT_LENGTH.3 \
- CURLOPT_INFILESIZE.3 \
- CURLOPT_INFILESIZE_LARGE.3 \
- CURLOPT_INTERFACE.3 \
- CURLOPT_INTERLEAVEDATA.3 \
- CURLOPT_INTERLEAVEFUNCTION.3 \
- CURLOPT_IOCTLDATA.3 \
- CURLOPT_IOCTLFUNCTION.3 \
- CURLOPT_IPRESOLVE.3 \
- CURLOPT_ISSUERCERT.3 \
- CURLOPT_KEEP_SENDING_ON_ERROR.3 \
- CURLOPT_KEYPASSWD.3 \
- CURLOPT_KRBLEVEL.3 \
- CURLOPT_LOCALPORT.3 \
- CURLOPT_LOCALPORTRANGE.3 \
- CURLOPT_LOGIN_OPTIONS.3 \
- CURLOPT_LOW_SPEED_LIMIT.3 \
- CURLOPT_LOW_SPEED_TIME.3 \
- CURLOPT_MAIL_AUTH.3 \
- CURLOPT_MAIL_FROM.3 \
- CURLOPT_MAIL_RCPT.3 \
- CURLOPT_MAXCONNECTS.3 \
- CURLOPT_MAXFILESIZE.3 \
- CURLOPT_MAXFILESIZE_LARGE.3 \
- CURLOPT_MAXREDIRS.3 \
- CURLOPT_MAX_RECV_SPEED_LARGE.3 \
- CURLOPT_MAX_SEND_SPEED_LARGE.3 \
- CURLOPT_MIMEPOST.3 \
- CURLOPT_NETRC.3 \
- CURLOPT_NETRC_FILE.3 \
- CURLOPT_NEW_DIRECTORY_PERMS.3 \
- CURLOPT_NEW_FILE_PERMS.3 \
- CURLOPT_NOBODY.3 \
- CURLOPT_NOPROGRESS.3 \
- CURLOPT_NOPROXY.3 \
- CURLOPT_NOSIGNAL.3 \
- CURLOPT_OPENSOCKETDATA.3 \
- CURLOPT_OPENSOCKETFUNCTION.3 \
- CURLOPT_PASSWORD.3 \
- CURLOPT_PATH_AS_IS.3 \
- CURLOPT_PINNEDPUBLICKEY.3 \
- CURLOPT_PIPEWAIT.3 \
- CURLOPT_PORT.3 \
- CURLOPT_POST.3 \
- CURLOPT_POSTFIELDS.3 \
- CURLOPT_POSTFIELDSIZE.3 \
- CURLOPT_POSTFIELDSIZE_LARGE.3 \
- CURLOPT_POSTQUOTE.3 \
- CURLOPT_POSTREDIR.3 \
- CURLOPT_PREQUOTE.3 \
- CURLOPT_PRE_PROXY.3 \
- CURLOPT_PRIVATE.3 \
- CURLOPT_PROGRESSDATA.3 \
- CURLOPT_PROGRESSFUNCTION.3 \
- CURLOPT_PROTOCOLS.3 \
- CURLOPT_PROXY.3 \
- CURLOPT_PROXYAUTH.3 \
- CURLOPT_PROXYHEADER.3 \
- CURLOPT_PROXYPASSWORD.3 \
- CURLOPT_PROXYPORT.3 \
- CURLOPT_PROXYTYPE.3 \
- CURLOPT_PROXYUSERNAME.3 \
- CURLOPT_PROXYUSERPWD.3 \
- CURLOPT_PROXY_CAINFO.3 \
- CURLOPT_PROXY_CAPATH.3 \
- CURLOPT_PROXY_CRLFILE.3 \
- CURLOPT_PROXY_KEYPASSWD.3 \
- CURLOPT_PROXY_PINNEDPUBLICKEY.3 \
- CURLOPT_PROXY_SERVICE_NAME.3 \
- CURLOPT_PROXY_SSLCERT.3 \
- CURLOPT_PROXY_SSLCERTTYPE.3 \
- CURLOPT_PROXY_SSLKEY.3 \
- CURLOPT_PROXY_SSLKEYTYPE.3 \
- CURLOPT_PROXY_SSLVERSION.3 \
- CURLOPT_PROXY_SSL_CIPHER_LIST.3 \
- CURLOPT_PROXY_SSL_OPTIONS.3 \
- CURLOPT_PROXY_SSL_VERIFYHOST.3 \
- CURLOPT_PROXY_SSL_VERIFYPEER.3 \
- CURLOPT_PROXY_TLS13_CIPHERS.3 \
- CURLOPT_PROXY_TLSAUTH_PASSWORD.3 \
- CURLOPT_PROXY_TLSAUTH_TYPE.3 \
- CURLOPT_PROXY_TLSAUTH_USERNAME.3 \
- CURLOPT_PROXY_TRANSFER_MODE.3 \
- CURLOPT_PUT.3 \
- CURLOPT_QUOTE.3 \
- CURLOPT_RANDOM_FILE.3 \
- CURLOPT_RANGE.3 \
- CURLOPT_READDATA.3 \
- CURLOPT_READFUNCTION.3 \
- CURLOPT_REDIR_PROTOCOLS.3 \
- CURLOPT_REFERER.3 \
- CURLOPT_REQUEST_TARGET.3 \
- CURLOPT_RESOLVE.3 \
- CURLOPT_RESOLVER_START_DATA.3 \
- CURLOPT_RESOLVER_START_FUNCTION.3 \
- CURLOPT_RESUME_FROM.3 \
- CURLOPT_RESUME_FROM_LARGE.3 \
- CURLOPT_RTSP_CLIENT_CSEQ.3 \
- CURLOPT_RTSP_REQUEST.3 \
- CURLOPT_RTSP_SERVER_CSEQ.3 \
- CURLOPT_RTSP_SESSION_ID.3 \
- CURLOPT_RTSP_STREAM_URI.3 \
- CURLOPT_RTSP_TRANSPORT.3 \
- CURLOPT_SASL_IR.3 \
- CURLOPT_SEEKDATA.3 \
- CURLOPT_SEEKFUNCTION.3 \
- CURLOPT_SERVICE_NAME.3 \
- CURLOPT_SHARE.3 \
- CURLOPT_SOCKOPTDATA.3 \
- CURLOPT_SOCKOPTFUNCTION.3 \
- CURLOPT_SOCKS5_AUTH.3 \
- CURLOPT_SOCKS5_GSSAPI_NEC.3 \
- CURLOPT_SOCKS5_GSSAPI_SERVICE.3 \
- CURLOPT_SSH_AUTH_TYPES.3 \
- CURLOPT_SSH_COMPRESSION.3 \
- CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 \
- CURLOPT_SSH_KEYDATA.3 \
- CURLOPT_SSH_KEYFUNCTION.3 \
- CURLOPT_SSH_KNOWNHOSTS.3 \
- CURLOPT_SSH_PRIVATE_KEYFILE.3 \
- CURLOPT_SSH_PUBLIC_KEYFILE.3 \
- CURLOPT_SSLCERT.3 \
- CURLOPT_SSLCERTTYPE.3 \
- CURLOPT_SSLENGINE.3 \
- CURLOPT_SSLENGINE_DEFAULT.3 \
- CURLOPT_SSLKEY.3 \
- CURLOPT_SSLKEYTYPE.3 \
- CURLOPT_SSLVERSION.3 \
- CURLOPT_SSL_CIPHER_LIST.3 \
- CURLOPT_SSL_CTX_DATA.3 \
- CURLOPT_SSL_CTX_FUNCTION.3 \
- CURLOPT_SSL_ENABLE_ALPN.3 \
- CURLOPT_SSL_ENABLE_NPN.3 \
- CURLOPT_SSL_FALSESTART.3 \
- CURLOPT_SSL_OPTIONS.3 \
- CURLOPT_SSL_SESSIONID_CACHE.3 \
- CURLOPT_SSL_VERIFYHOST.3 \
- CURLOPT_SSL_VERIFYPEER.3 \
- CURLOPT_SSL_VERIFYSTATUS.3 \
- CURLOPT_STDERR.3 \
- CURLOPT_STREAM_DEPENDS.3 \
- CURLOPT_STREAM_DEPENDS_E.3 \
- CURLOPT_STREAM_WEIGHT.3 \
- CURLOPT_SUPPRESS_CONNECT_HEADERS.3 \
- CURLOPT_TCP_FASTOPEN.3 \
- CURLOPT_TCP_KEEPALIVE.3 \
- CURLOPT_TCP_KEEPIDLE.3 \
- CURLOPT_TCP_KEEPINTVL.3 \
- CURLOPT_TCP_NODELAY.3 \
- CURLOPT_TELNETOPTIONS.3 \
- CURLOPT_TFTP_BLKSIZE.3 \
- CURLOPT_TFTP_NO_OPTIONS.3 \
- CURLOPT_TIMECONDITION.3 \
- CURLOPT_TIMEOUT.3 \
- CURLOPT_TIMEOUT_MS.3 \
- CURLOPT_TIMEVALUE.3 \
- CURLOPT_TIMEVALUE_LARGE.3 \
- CURLOPT_TLS13_CIPHERS.3 \
- CURLOPT_TLSAUTH_PASSWORD.3 \
- CURLOPT_TLSAUTH_TYPE.3 \
- CURLOPT_TLSAUTH_USERNAME.3 \
- CURLOPT_TRANSFERTEXT.3 \
- CURLOPT_TRANSFER_ENCODING.3 \
- CURLOPT_UNIX_SOCKET_PATH.3 \
- CURLOPT_UNRESTRICTED_AUTH.3 \
- CURLOPT_UPLOAD.3 \
- CURLOPT_URL.3 \
- CURLOPT_USERAGENT.3 \
- CURLOPT_USERNAME.3 \
- CURLOPT_USERPWD.3 \
- CURLOPT_USE_SSL.3 \
- CURLOPT_VERBOSE.3 \
- CURLOPT_WILDCARDMATCH.3 \
- CURLOPT_WRITEDATA.3 \
- CURLOPT_WRITEFUNCTION.3 \
- CURLOPT_XFERINFODATA.3 \
- CURLOPT_XFERINFOFUNCTION.3 \
- CURLOPT_XOAUTH2_BEARER.3
+ GNURLINFO_ACTIVESOCKET.3 \
+ GNURLINFO_APPCONNECT_TIME.3 \
++ GNURLINFO_APPCONNECT_TIME_T.3 \
+ GNURLINFO_CERTINFO.3 \
+ GNURLINFO_CONDITION_UNMET.3 \
+ GNURLINFO_CONNECT_TIME.3 \
++ GNURLINFO_CONNECT_TIME_T.3 \
+ GNURLINFO_CONTENT_LENGTH_DOWNLOAD.3 \
+ GNURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 \
+ GNURLINFO_CONTENT_LENGTH_UPLOAD.3 \
+ GNURLINFO_CONTENT_LENGTH_UPLOAD_T.3 \
+ GNURLINFO_CONTENT_TYPE.3 \
+ GNURLINFO_COOKIELIST.3 \
+ GNURLINFO_EFFECTIVE_URL.3 \
+ GNURLINFO_FILETIME.3 \
+ GNURLINFO_FILETIME_T.3 \
+ GNURLINFO_FTP_ENTRY_PATH.3 \
+ GNURLINFO_HEADER_SIZE.3 \
+ GNURLINFO_HTTPAUTH_AVAIL.3 \
+ GNURLINFO_HTTP_CONNECTCODE.3 \
+ GNURLINFO_HTTP_VERSION.3 \
+ GNURLINFO_LASTSOCKET.3 \
+ GNURLINFO_LOCAL_IP.3 \
+ GNURLINFO_LOCAL_PORT.3 \
+ GNURLINFO_NAMELOOKUP_TIME.3 \
++ GNURLINFO_NAMELOOKUP_TIME_T.3 \
+ GNURLINFO_NUM_CONNECTS.3 \
+ GNURLINFO_OS_ERRNO.3 \
+ GNURLINFO_PRETRANSFER_TIME.3 \
++ GNURLINFO_PRETRANSFER_TIME_T.3 \
+ GNURLINFO_PRIMARY_IP.3 \
+ GNURLINFO_PRIMARY_PORT.3 \
+ GNURLINFO_PRIVATE.3 \
+ GNURLINFO_PROTOCOL.3 \
+ GNURLINFO_PROXYAUTH_AVAIL.3 \
+ GNURLINFO_PROXY_SSL_VERIFYRESULT.3 \
+ GNURLINFO_REDIRECT_COUNT.3 \
+ GNURLINFO_REDIRECT_TIME.3 \
++ GNURLINFO_REDIRECT_TIME_T.3 \
+ GNURLINFO_REDIRECT_URL.3 \
+ GNURLINFO_REQUEST_SIZE.3 \
+ GNURLINFO_RESPONSE_CODE.3 \
+ GNURLINFO_RTSP_CLIENT_CSEQ.3 \
+ GNURLINFO_RTSP_CSEQ_RECV.3 \
+ GNURLINFO_RTSP_SERVER_CSEQ.3 \
+ GNURLINFO_RTSP_SESSION_ID.3 \
+ GNURLINFO_SCHEME.3 \
+ GNURLINFO_SIZE_DOWNLOAD.3 \
+ GNURLINFO_SIZE_DOWNLOAD_T.3 \
+ GNURLINFO_SIZE_UPLOAD.3 \
+ GNURLINFO_SIZE_UPLOAD_T.3 \
+ GNURLINFO_SPEED_DOWNLOAD.3 \
+ GNURLINFO_SPEED_DOWNLOAD_T.3 \
+ GNURLINFO_SPEED_UPLOAD.3 \
+ GNURLINFO_SPEED_UPLOAD_T.3 \
+ GNURLINFO_SSL_ENGINES.3 \
+ GNURLINFO_SSL_VERIFYRESULT.3 \
+ GNURLINFO_STARTTRANSFER_TIME.3 \
++ GNURLINFO_STARTTRANSFER_TIME_T.3 \
+ GNURLINFO_TLS_SESSION.3 \
+ GNURLINFO_TLS_SSL_PTR.3 \
+ GNURLINFO_TOTAL_TIME.3 \
++ GNURLINFO_TOTAL_TIME_T.3 \
+ GNURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \
+ GNURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \
+ GNURLMOPT_MAXCONNECTS.3 \
+ GNURLMOPT_MAX_HOST_CONNECTIONS.3 \
+ GNURLMOPT_MAX_PIPELINE_LENGTH.3 \
+ GNURLMOPT_MAX_TOTAL_CONNECTIONS.3 \
+ GNURLMOPT_PIPELINING.3 \
+ GNURLMOPT_PIPELINING_SERVER_BL.3 \
+ GNURLMOPT_PIPELINING_SITE_BL.3 \
+ GNURLMOPT_PUSHDATA.3 \
+ GNURLMOPT_PUSHFUNCTION.3 \
+ GNURLMOPT_SOCKETDATA.3 \
+ GNURLMOPT_SOCKETFUNCTION.3 \
+ GNURLMOPT_TIMERDATA.3 \
+ GNURLMOPT_TIMERFUNCTION.3 \
+ GNURLOPT_ABSTRACT_UNIX_SOCKET.3 \
+ GNURLOPT_ACCEPTTIMEOUT_MS.3 \
+ GNURLOPT_ACCEPT_ENCODING.3 \
+ GNURLOPT_ADDRESS_SCOPE.3 \
+ GNURLOPT_APPEND.3 \
+ GNURLOPT_AUTOREFERER.3 \
+ GNURLOPT_BUFFERSIZE.3 \
+ GNURLOPT_CAINFO.3 \
+ GNURLOPT_CAPATH.3 \
+ GNURLOPT_CERTINFO.3 \
+ GNURLOPT_CHUNK_BGN_FUNCTION.3 \
+ GNURLOPT_CHUNK_DATA.3 \
+ GNURLOPT_CHUNK_END_FUNCTION.3 \
+ GNURLOPT_CLOSESOCKETDATA.3 \
+ GNURLOPT_CLOSESOCKETFUNCTION.3 \
+ GNURLOPT_CONNECTTIMEOUT.3 \
+ GNURLOPT_CONNECTTIMEOUT_MS.3 \
+ GNURLOPT_CONNECT_ONLY.3 \
+ GNURLOPT_CONNECT_TO.3 \
+ GNURLOPT_CONV_FROM_NETWORK_FUNCTION.3 \
+ GNURLOPT_CONV_FROM_UTF8_FUNCTION.3 \
+ GNURLOPT_CONV_TO_NETWORK_FUNCTION.3 \
+ GNURLOPT_COOKIE.3 \
+ GNURLOPT_COOKIEFILE.3 \
+ GNURLOPT_COOKIEJAR.3 \
+ GNURLOPT_COOKIELIST.3 \
+ GNURLOPT_COOKIESESSION.3 \
+ GNURLOPT_COPYPOSTFIELDS.3 \
+ GNURLOPT_CRLF.3 \
+ GNURLOPT_CRLFILE.3 \
+ GNURLOPT_CUSTOMREQUEST.3 \
+ GNURLOPT_DEBUGDATA.3 \
+ GNURLOPT_DEBUGFUNCTION.3 \
+ GNURLOPT_DEFAULT_PROTOCOL.3 \
+ GNURLOPT_DIRLISTONLY.3 \
++ GNURLOPT_DISALLOW_USERNAME_IN_URL.3 \
+ GNURLOPT_DNS_CACHE_TIMEOUT.3 \
+ GNURLOPT_DNS_INTERFACE.3 \
+ GNURLOPT_DNS_LOCAL_IP4.3 \
+ GNURLOPT_DNS_LOCAL_IP6.3 \
+ GNURLOPT_DNS_SERVERS.3 \
+ GNURLOPT_DNS_SHUFFLE_ADDRESSES.3 \
+ GNURLOPT_DNS_USE_GLOBAL_CACHE.3 \
+ GNURLOPT_EGDSOCKET.3 \
+ GNURLOPT_ERRORBUFFER.3 \
+ GNURLOPT_EXPECT_100_TIMEOUT_MS.3 \
+ GNURLOPT_FAILONERROR.3 \
+ GNURLOPT_FILETIME.3 \
+ GNURLOPT_FNMATCH_DATA.3 \
+ GNURLOPT_FNMATCH_FUNCTION.3 \
+ GNURLOPT_FOLLOWLOCATION.3 \
+ GNURLOPT_FORBID_REUSE.3 \
+ GNURLOPT_FRESH_CONNECT.3 \
+ GNURLOPT_FTPPORT.3 \
+ GNURLOPT_FTPSSLAUTH.3 \
+ GNURLOPT_FTP_ACCOUNT.3 \
+ GNURLOPT_FTP_ALTERNATIVE_TO_USER.3 \
+ GNURLOPT_FTP_CREATE_MISSING_DIRS.3 \
+ GNURLOPT_FTP_FILEMETHOD.3 \
+ GNURLOPT_FTP_RESPONSE_TIMEOUT.3 \
+ GNURLOPT_FTP_SKIP_PASV_IP.3 \
+ GNURLOPT_FTP_SSL_CCC.3 \
+ GNURLOPT_FTP_USE_EPRT.3 \
+ GNURLOPT_FTP_USE_EPSV.3 \
+ GNURLOPT_FTP_USE_PRET.3 \
+ GNURLOPT_GSSAPI_DELEGATION.3 \
+ GNURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 \
+ GNURLOPT_HAPROXYPROTOCOL.3 \
+ GNURLOPT_HEADER.3 \
+ GNURLOPT_HEADERDATA.3 \
+ GNURLOPT_HEADERFUNCTION.3 \
+ GNURLOPT_HEADEROPT.3 \
+ GNURLOPT_HTTP200ALIASES.3 \
+ GNURLOPT_HTTPAUTH.3 \
+ GNURLOPT_HTTPGET.3 \
+ GNURLOPT_HTTPHEADER.3 \
+ GNURLOPT_HTTPPOST.3 \
+ GNURLOPT_HTTPPROXYTUNNEL.3 \
+ GNURLOPT_HTTP_CONTENT_DECODING.3 \
+ GNURLOPT_HTTP_TRANSFER_DECODING.3 \
+ GNURLOPT_HTTP_VERSION.3 \
+ GNURLOPT_IGNORE_CONTENT_LENGTH.3 \
+ GNURLOPT_INFILESIZE.3 \
+ GNURLOPT_INFILESIZE_LARGE.3 \
+ GNURLOPT_INTERFACE.3 \
+ GNURLOPT_INTERLEAVEDATA.3 \
+ GNURLOPT_INTERLEAVEFUNCTION.3 \
+ GNURLOPT_IOCTLDATA.3 \
+ GNURLOPT_IOCTLFUNCTION.3 \
+ GNURLOPT_IPRESOLVE.3 \
+ GNURLOPT_ISSUERCERT.3 \
+ GNURLOPT_KEEP_SENDING_ON_ERROR.3 \
+ GNURLOPT_KEYPASSWD.3 \
+ GNURLOPT_KRBLEVEL.3 \
+ GNURLOPT_LOCALPORT.3 \
+ GNURLOPT_LOCALPORTRANGE.3 \
+ GNURLOPT_LOGIN_OPTIONS.3 \
+ GNURLOPT_LOW_SPEED_LIMIT.3 \
+ GNURLOPT_LOW_SPEED_TIME.3 \
+ GNURLOPT_MAIL_AUTH.3 \
+ GNURLOPT_MAIL_FROM.3 \
+ GNURLOPT_MAIL_RCPT.3 \
+ GNURLOPT_MAXCONNECTS.3 \
+ GNURLOPT_MAXFILESIZE.3 \
+ GNURLOPT_MAXFILESIZE_LARGE.3 \
+ GNURLOPT_MAXREDIRS.3 \
+ GNURLOPT_MAX_RECV_SPEED_LARGE.3 \
+ GNURLOPT_MAX_SEND_SPEED_LARGE.3 \
+ GNURLOPT_MIMEPOST.3 \
+ GNURLOPT_NETRC.3 \
+ GNURLOPT_NETRC_FILE.3 \
+ GNURLOPT_NEW_DIRECTORY_PERMS.3 \
+ GNURLOPT_NEW_FILE_PERMS.3 \
+ GNURLOPT_NOBODY.3 \
+ GNURLOPT_NOPROGRESS.3 \
+ GNURLOPT_NOPROXY.3 \
+ GNURLOPT_NOSIGNAL.3 \
+ GNURLOPT_OPENSOCKETDATA.3 \
+ GNURLOPT_OPENSOCKETFUNCTION.3 \
+ GNURLOPT_PASSWORD.3 \
+ GNURLOPT_PATH_AS_IS.3 \
+ GNURLOPT_PINNEDPUBLICKEY.3 \
+ GNURLOPT_PIPEWAIT.3 \
+ GNURLOPT_PORT.3 \
+ GNURLOPT_POST.3 \
+ GNURLOPT_POSTFIELDS.3 \
+ GNURLOPT_POSTFIELDSIZE.3 \
+ GNURLOPT_POSTFIELDSIZE_LARGE.3 \
+ GNURLOPT_POSTQUOTE.3 \
+ GNURLOPT_POSTREDIR.3 \
+ GNURLOPT_PREQUOTE.3 \
+ GNURLOPT_PRE_PROXY.3 \
+ GNURLOPT_PRIVATE.3 \
+ GNURLOPT_PROGRESSDATA.3 \
+ GNURLOPT_PROGRESSFUNCTION.3 \
+ GNURLOPT_PROTOCOLS.3 \
+ GNURLOPT_PROXY.3 \
+ GNURLOPT_PROXYAUTH.3 \
+ GNURLOPT_PROXYHEADER.3 \
+ GNURLOPT_PROXYPASSWORD.3 \
+ GNURLOPT_PROXYPORT.3 \
+ GNURLOPT_PROXYTYPE.3 \
+ GNURLOPT_PROXYUSERNAME.3 \
+ GNURLOPT_PROXYUSERPWD.3 \
+ GNURLOPT_PROXY_CAINFO.3 \
+ GNURLOPT_PROXY_CAPATH.3 \
+ GNURLOPT_PROXY_CRLFILE.3 \
+ GNURLOPT_PROXY_KEYPASSWD.3 \
+ GNURLOPT_PROXY_PINNEDPUBLICKEY.3 \
+ GNURLOPT_PROXY_SERVICE_NAME.3 \
+ GNURLOPT_PROXY_SSLCERT.3 \
+ GNURLOPT_PROXY_SSLCERTTYPE.3 \
+ GNURLOPT_PROXY_SSLKEY.3 \
+ GNURLOPT_PROXY_SSLKEYTYPE.3 \
+ GNURLOPT_PROXY_SSLVERSION.3 \
+ GNURLOPT_PROXY_SSL_CIPHER_LIST.3 \
+ GNURLOPT_PROXY_SSL_OPTIONS.3 \
+ GNURLOPT_PROXY_SSL_VERIFYHOST.3 \
+ GNURLOPT_PROXY_SSL_VERIFYPEER.3 \
++ GNURLOPT_PROXY_TLS13_CIPHERS.3 \
+ GNURLOPT_PROXY_TLSAUTH_PASSWORD.3 \
+ GNURLOPT_PROXY_TLSAUTH_TYPE.3 \
+ GNURLOPT_PROXY_TLSAUTH_USERNAME.3 \
+ GNURLOPT_PROXY_TRANSFER_MODE.3 \
+ GNURLOPT_PUT.3 \
+ GNURLOPT_QUOTE.3 \
+ GNURLOPT_RANDOM_FILE.3 \
+ GNURLOPT_RANGE.3 \
+ GNURLOPT_READDATA.3 \
+ GNURLOPT_READFUNCTION.3 \
+ GNURLOPT_REDIR_PROTOCOLS.3 \
+ GNURLOPT_REFERER.3 \
+ GNURLOPT_REQUEST_TARGET.3 \
+ GNURLOPT_RESOLVE.3 \
+ GNURLOPT_RESOLVER_START_DATA.3 \
+ GNURLOPT_RESOLVER_START_FUNCTION.3 \
+ GNURLOPT_RESUME_FROM.3 \
+ GNURLOPT_RESUME_FROM_LARGE.3 \
+ GNURLOPT_RTSP_CLIENT_CSEQ.3 \
+ GNURLOPT_RTSP_REQUEST.3 \
+ GNURLOPT_RTSP_SERVER_CSEQ.3 \
+ GNURLOPT_RTSP_SESSION_ID.3 \
+ GNURLOPT_RTSP_STREAM_URI.3 \
+ GNURLOPT_RTSP_TRANSPORT.3 \
+ GNURLOPT_SASL_IR.3 \
+ GNURLOPT_SEEKDATA.3 \
+ GNURLOPT_SEEKFUNCTION.3 \
+ GNURLOPT_SERVICE_NAME.3 \
+ GNURLOPT_SHARE.3 \
+ GNURLOPT_SOCKOPTDATA.3 \
+ GNURLOPT_SOCKOPTFUNCTION.3 \
+ GNURLOPT_SOCKS5_AUTH.3 \
+ GNURLOPT_SOCKS5_GSSAPI_NEC.3 \
+ GNURLOPT_SOCKS5_GSSAPI_SERVICE.3 \
+ GNURLOPT_SSH_AUTH_TYPES.3 \
+ GNURLOPT_SSH_COMPRESSION.3 \
+ GNURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 \
+ GNURLOPT_SSH_KEYDATA.3 \
+ GNURLOPT_SSH_KEYFUNCTION.3 \
+ GNURLOPT_SSH_KNOWNHOSTS.3 \
+ GNURLOPT_SSH_PRIVATE_KEYFILE.3 \
+ GNURLOPT_SSH_PUBLIC_KEYFILE.3 \
+ GNURLOPT_SSLCERT.3 \
+ GNURLOPT_SSLCERTTYPE.3 \
+ GNURLOPT_SSLENGINE.3 \
+ GNURLOPT_SSLENGINE_DEFAULT.3 \
+ GNURLOPT_SSLKEY.3 \
+ GNURLOPT_SSLKEYTYPE.3 \
+ GNURLOPT_SSLVERSION.3 \
+ GNURLOPT_SSL_CIPHER_LIST.3 \
+ GNURLOPT_SSL_CTX_DATA.3 \
+ GNURLOPT_SSL_CTX_FUNCTION.3 \
+ GNURLOPT_SSL_ENABLE_ALPN.3 \
+ GNURLOPT_SSL_ENABLE_NPN.3 \
+ GNURLOPT_SSL_FALSESTART.3 \
+ GNURLOPT_SSL_OPTIONS.3 \
+ GNURLOPT_SSL_SESSIONID_CACHE.3 \
+ GNURLOPT_SSL_VERIFYHOST.3 \
+ GNURLOPT_SSL_VERIFYPEER.3 \
+ GNURLOPT_SSL_VERIFYSTATUS.3 \
+ GNURLOPT_STDERR.3 \
+ GNURLOPT_STREAM_DEPENDS.3 \
+ GNURLOPT_STREAM_DEPENDS_E.3 \
+ GNURLOPT_STREAM_WEIGHT.3 \
+ GNURLOPT_SUPPRESS_CONNECT_HEADERS.3 \
+ GNURLOPT_TCP_FASTOPEN.3 \
+ GNURLOPT_TCP_KEEPALIVE.3 \
+ GNURLOPT_TCP_KEEPIDLE.3 \
+ GNURLOPT_TCP_KEEPINTVL.3 \
+ GNURLOPT_TCP_NODELAY.3 \
+ GNURLOPT_TELNETOPTIONS.3 \
+ GNURLOPT_TFTP_BLKSIZE.3 \
+ GNURLOPT_TFTP_NO_OPTIONS.3 \
+ GNURLOPT_TIMECONDITION.3 \
+ GNURLOPT_TIMEOUT.3 \
+ GNURLOPT_TIMEOUT_MS.3 \
+ GNURLOPT_TIMEVALUE.3 \
+ GNURLOPT_TIMEVALUE_LARGE.3 \
++ GNURLOPT_TLS13_CIPHERS.3 \
+ GNURLOPT_TLSAUTH_PASSWORD.3 \
+ GNURLOPT_TLSAUTH_TYPE.3 \
+ GNURLOPT_TLSAUTH_USERNAME.3 \
+ GNURLOPT_TRANSFERTEXT.3 \
+ GNURLOPT_TRANSFER_ENCODING.3 \
+ GNURLOPT_UNIX_SOCKET_PATH.3 \
+ GNURLOPT_UNRESTRICTED_AUTH.3 \
+ GNURLOPT_UPLOAD.3 \
+ GNURLOPT_URL.3 \
+ GNURLOPT_USERAGENT.3 \
+ GNURLOPT_USERNAME.3 \
+ GNURLOPT_USERPWD.3 \
+ GNURLOPT_USE_SSL.3 \
+ GNURLOPT_VERBOSE.3 \
+ GNURLOPT_WILDCARDMATCH.3 \
+ GNURLOPT_WRITEDATA.3 \
+ GNURLOPT_WRITEFUNCTION.3 \
+ GNURLOPT_XFERINFODATA.3 \
+ GNURLOPT_XFERINFOFUNCTION.3 \
+ GNURLOPT_XOAUTH2_BEARER.3
diff --cc lib/Makefile.am
index d1338c992,277839824..f43dc2964
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@@ -23,9 -23,9 +23,9 @@@ AUTOMAKE_OPTIONS = foreign nostdin
CMAKE_DIST = CMakeLists.txt curl_config.h.cmake
- EXTRA_DIST = Makefile.b32 Makefile.m32 config-win32.h \
+ EXTRA_DIST = Makefile.m32 config-win32.h \
config-win32ce.h config-riscos.h config-mac.h curl_config.h.in
\
- makefile.dj config-dos.h libcurl.plist libcurl.rc config-amigaos.h \
+ makefile.dj config-dos.h libgnurl.plist libcurl.rc config-amigaos.h \
makefile.amiga Makefile.netware nwlib.c nwos.c config-win32ce.h \
config-os400.h setup-os400.h config-symbian.h Makefile.Watcom
\
config-tpf.h mk-ca-bundle.pl mk-ca-bundle.vbs $(CMAKE_DIST) \
diff --cc lib/ldap.c
index 7f4f4dd76,4d8f4fa28..79af14acd
--- a/lib/ldap.c
+++ b/lib/ldap.c
@@@ -54,17 -54,8 +54,8 @@@
# endif /* HAVE_LDAP_SSL && HAVE_LDAP_SSL_H */
#endif
- /* These are macros in both <wincrypt.h> (in above <winldap.h>) and typedefs
- * in BoringSSL's <openssl/x509.h>
- */
- #ifdef HAVE_BORINGSSL
- # undef X509_NAME
- # undef X509_CERT_PAIR
- # undef X509_EXTENSIONS
- #endif
-
#include "urldata.h"
-#include <curl/curl.h>
+#include <gnurl/curl.h>
#include "sendf.h"
#include "escape.h"
#include "progress.h"
diff --cc lib/share.c
index 8653a4300,3d5108610..7d51eebf1
--- a/lib/share.c
+++ b/lib/share.c
@@@ -22,9 -22,10 +22,10 @@@
#include "curl_setup.h"
-#include <curl/curl.h>
+#include <gnurl/curl.h>
#include "urldata.h"
#include "share.h"
+ #include "psl.h"
#include "vtls/vtls.h"
#include "curl_memory.h"
diff --cc lib/share.h
index c0d0a5189,a7dea41ad..da3bf1765
--- a/lib/share.h
+++ b/lib/share.h
@@@ -23,8 -23,9 +23,9 @@@
***************************************************************************/
#include "curl_setup.h"
-#include <curl/curl.h>
+#include <gnurl/curl.h>
#include "cookie.h"
+ #include "psl.h"
#include "urldata.h"
#include "conncache.h"
diff --cc maketgz
index 03e4fdb61,55a57c1b3..07fa9d5fa
--- a/maketgz
+++ b/maketgz
@@@ -59,19 -59,19 +59,19 @@@ find . -name "*.dist" -a ! -name Makefi
numeric=`perl -e 'printf("%02x%02x%02x\n", '"$major, $minor, $patch);"`
-HEADER=include/curl/curlver.h
+HEADER=include/gnurl/curlver.h
CHEADER=src/tool_version.h
-PLIST=lib/libcurl.plist
+PLIST=lib/libgnurl.plist
if test -z "$only"; then
- ext=".dist"
- # when not setting up version numbers locally
- for a in $HEADER $CHEADER $PLIST; do
- cp $a "$a$ext"
- done
- HEADER="$HEADER$ext"
- CHEADER="$CHEADER$ext"
- PLIST="$PLIST$ext"
+ ext=".dist"
+ # when not setting up version numbers locally
+ for a in $HEADER $CHEADER $PLIST; do
+ cp $a "$a$ext"
+ done
+ HEADER="$HEADER$ext"
+ CHEADER="$CHEADER$ext"
+ PLIST="$PLIST$ext"
fi
# requires a date command that knows + for format
@@@ -84,30 -85,28 +85,32 @@@ sed -i.bak
-e 's/^#define LIBCURL_VERSION_MINOR .*/#define LIBCURL_VERSION_MINOR
'$minor'/g' \
-e 's/^#define LIBCURL_VERSION_PATCH .*/#define LIBCURL_VERSION_PATCH
'$patch'/g' \
-e "s/^#define LIBCURL_TIMESTAMP .*/#define LIBCURL_TIMESTAMP
\"$datestamp\"/g" \
- $HEADER
+ $HEADER
+ rm -f "$HEADER.bak"
# Replace version number in header file:
- sed -i 's/#define CURL_VERSION .*/#define CURL_VERSION "'$curlversion'"/g'
$CHEADER
+ sed -i.bak 's/#define CURL_VERSION .*/#define CURL_VERSION
"'$curlversion'"/g' $CHEADER
+ rm -f "$CHEADER.bak"
# Replace version number in plist file:
- sed -i "s/7\.12\.3/$libversion/g" $PLIST
+ sed -i.bak "s/7\.12\.3/$libversion/g" $PLIST
+ rm -f "$PLIST.bak"
if test -n "$only"; then
- # done!
- exit;
+ # done!
+ exit;
fi
+# Replace version number in plist file:
+PLIST=lib/libgnurl.plist
+sed "s/7\.12\.3/$libversion/g" $PLIST > $PLIST.dist
+
echo "curl version $curlversion"
-echo "libcurl version $libversion"
-echo "libcurl numerical $numeric"
+echo "libgnurl version $libversion"
+echo "libgnurl numerical $numeric"
echo "datestamp $datestamp"
- findprog()
- {
+ findprog() {
file="$1"
for part in `echo $PATH| tr ':' ' '`; do
path="$part/$file"
@@@ -150,35 -161,52 +153,49 @@@ make -s vc-id
echo "produce CHANGES"
git log --pretty=fuller --no-color --date=short --decorate=full -1000 |
./scripts/log2changes.pl > CHANGES.dist
-############################################################################
-#
+# Guix, revert shebang-patches in ltmain.sh
+
+echo "revert shebang patches in ltmain.sh"
+sed -i 's|/gnu/store/[a-z0-9]\{32\}-bash-minimal-4.4.12||' ltmain.sh
+
# Now run make dist to generate a tar.gz archive
-#
echo "make dist"
-targz="curl-$version.tar.gz"
+targz="gnurl-$version.tar.gz"
make -sj dist VERSION=$version
-############################################################################
-#
-# Now make a bz2 archive from the tar.gz original
-#
+# Now make an Z archive from the tar.gz original
-bzip2="curl-$version.tar.bz2"
-echo "Generating $bzip2"
-gzip -dc $targz | bzip2 --best > $bzip2
-
-############################################################################
-#
-# Now make an xz archive from the tar.gz original
-#
+compress="gnurl-$version.tar.Z"
+tempdir=".builddir"
-xz="curl-$version.tar.xz"
-echo "Generating $xz"
-gzip -dc $targz | xz -6e - > $xz
+makeZ() {
+ rm -rf $tempdir
+ mkdir $tempdir
+ cd $tempdir
+ tar -xf ../$targz
+ tar -cZf $compress gnurl-$version
+ mv $compress ../
+ cd ..
+ rm -rf $tempdir
+
+ ############################################################################
+ #
+ # Now make a zip archive from the tar.gz original
+ #
+ makezip() {
+ rm -rf $tempdir
+ mkdir $tempdir
+ cd $tempdir
+ gzip -dc ../$targz | tar -xf -
+ find . | zip $zip -@ >/dev/null
+ mv $zip ../
+ cd ..
+ rm -rf $tempdir
}
-zip="curl-$version.zip"
-echo "Generating $zip"
-tempdir=".builddir"
-makezip
+echo "Generating $compress"
+makeZ
echo "------------------"
echo "maketgz report:"
diff --cc scripts/Makefile.am
index e9e97ef75,15c08828c..38824ed00
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@@ -22,8 -22,10 +22,10 @@@
ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
PERL = @PERL@
-ZSH_COMPLETION_FUNCTION_FILENAME = _curl
+ZSH_COMPLETION_FUNCTION_FILENAME = _gnurl
+ CLEANFILES = $(ZSH_COMPLETION_FUNCTION_FILENAME)
+
all-local: $(ZSH_COMPLETION_FUNCTION_FILENAME)
$(ZSH_COMPLETION_FUNCTION_FILENAME): zsh.pl
diff --cc tests/data/Makefile.inc
index 51e80a8e9,d9b1bcbee..0f204ecbb
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@@ -125,9 -125,9 +125,9 @@@ test1104 test1105 test1106 test1107 tes
test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \
test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \
test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \
-test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \
+test1136 test1137 test1138 test1141 test1142 test1143 \
test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \
- test1152 test1153 test1154 test1155 \
+ test1152 test1153 test1154 test1155 test1156 \
\
test1160 test1161 test1162 test1163 test1164 \
test1170 test1171 \
--
To stop receiving notification emails like this one, please contact
address@hidden
- [GNUnet-SVN] [gnurl] 124/163: travis: add a build using the synchronous name resolver, (continued)
- [GNUnet-SVN] [gnurl] 124/163: travis: add a build using the synchronous name resolver, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 138/163: example/crawler.c: simple crawler based on libxml2, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 132/163: DEPRECATE: new doc describing planned item removals, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 135/163: DEPRECATE: linkified, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 77/163: boringssl + schannel: undef X509_NAME in lib/schannel.h, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 121/163: easy_perform: use *multi_timeout() to get wait times, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 81/163: cppcheck: fix warnings, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 149/163: curl_setup: include <winerror.h> before <windows.h>, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 161/163: gnurl: sed script, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 163/163: gnurl: bump version in guix.scm, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 159/163: Merge tag 'curl-7_61_0',
gnunet <=