gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 178/178: Merge tag 'curl-7_60_0' (with fixes)


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 178/178: Merge tag 'curl-7_60_0' (with fixes)
Date: Wed, 23 May 2018 12:26:53 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnurl.

commit 97f0e8cf8585325401b9d19e433131722f978984
Merge: 422f18ebe cb0138303
Author: Nils Gillmann <address@hidden>
AuthorDate: Wed May 23 10:24:02 2018 +0000

    Merge tag 'curl-7_60_0' (with fixes)
    
    curl 7.60.0
    
    Signed-off-by: Nils Gillmann <address@hidden>

 .github/lock.yml                                   |   8 +
 .lgtm.yml                                          |  10 +
 .mailmap                                           |   2 +
 .travis.yml                                        | 154 ++++--
 CMake/FindBrotli.cmake                             |  20 +
 CMakeLists.txt                                     |  34 +-
 README.md                                          |  27 +
 RELEASE-NOTES                                      | 388 +++++++++------
 acinclude.m4                                       |   0
 configure.ac                                       | 499 ++-----------------
 docs/CHECKSRC.md                                   |   2 +-
 docs/CODE_STYLE.md                                 |  84 ++--
 docs/INSTALL.cmake                                 |   2 +-
 docs/KNOWN_BUGS                                    |  37 ++
 docs/SECURITY-PROCESS.md                           |  29 +-
 docs/THANKS                                        |  38 +-
 docs/THANKS-filter                                 |   1 +
 docs/TODO                                          |  45 +-
 docs/cmdline-opts/cacert.d                         |   5 +
 docs/cmdline-opts/cert.d                           |  11 +
 docs/cmdline-opts/cookie.d                         |   3 +-
 docs/cmdline-opts/ftp-port.d                       |   6 +-
 docs/cmdline-opts/haproxy-protocol.d               |  11 +
 docs/cmdline-opts/interface.d                      |   2 +-
 docs/cmdline-opts/max-time.d                       |   2 +-
 docs/cmdline-opts/page-footer                      |   6 +-
 docs/cmdline-opts/page-header                      |   8 +-
 docs/cmdline-opts/proxy-cert-type.d                |   2 +-
 docs/cmdline-opts/proxytunnel.d                    |   2 +-
 docs/cmdline-opts/range.d                          |   2 +-
 docs/cmdline-opts/user-agent.d                     |   4 +-
 docs/examples/.gitignore                           |  16 +-
 docs/examples/curlx.c                              |   2 +-
 docs/examples/debug.c                              |   6 +-
 docs/examples/evhiperfifo.c                        |   1 -
 docs/examples/fopen.c                              |   4 +-
 docs/examples/getinmemory.c                        |   2 +-
 docs/examples/hiperfifo.c                          | 145 +++---
 docs/examples/http2-download.c                     |   6 +-
 docs/examples/http2-serverpush.c                   |  12 +-
 docs/examples/http2-upload.c                       |  10 +-
 docs/examples/multi-debugcallback.c                |   6 +-
 docs/examples/sessioninfo.c                        |   2 +-
 docs/examples/sftpuploadresume.c                   |   8 +-
 docs/examples/shared-connection-cache.c            |   2 +-
 docs/libcurl/Makefile.am                           |   4 +-
 docs/libcurl/gnurl_easy_cleanup.3                  |   2 +-
 docs/libcurl/gnurl_easy_perform.3                  |   2 +-
 docs/libcurl/gnurl_easy_setopt.3                   |  12 +-
 docs/libcurl/gnurl_formadd.3                       |   2 +-
 docs/libcurl/gnurl_global_init.3                   |   2 +-
 docs/libcurl/gnurl_global_sslset.3                 |   9 +-
 docs/libcurl/gnurl_mime_addpart.3                  |   2 +-
 docs/libcurl/gnurl_mime_data.3                     |   2 +-
 docs/libcurl/gnurl_mime_data_cb.3                  |   4 +-
 docs/libcurl/gnurl_mime_encoder.3                  |   2 +-
 docs/libcurl/gnurl_mime_filedata.3                 |   4 +-
 docs/libcurl/gnurl_mime_filename.3                 |   2 +-
 docs/libcurl/gnurl_mime_free.3                     |   2 +-
 docs/libcurl/gnurl_mime_headers.3                  |   2 +-
 docs/libcurl/gnurl_mime_init.3                     |   2 +-
 docs/libcurl/gnurl_mime_name.3                     |   2 +-
 docs/libcurl/gnurl_mime_subparts.3                 |   2 +-
 docs/libcurl/gnurl_mime_type.3                     |   4 +-
 docs/libcurl/gnurl_share_cleanup.3                 |   2 +-
 docs/libcurl/gnurl_share_setopt.3                  |   2 +-
 docs/libcurl/gnurl_version_info.3                  |   7 +-
 docs/libcurl/index.html                            |  71 ---
 docs/libcurl/libgnurl-env.3                        |   2 +-
 docs/libcurl/libgnurl-security.3                   |   2 +-
 docs/libcurl/libgnurl-tutorial.3                   |  20 +-
 .../opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3     |   4 +-
 .../opts/GNURLINFO_CONTENT_LENGTH_UPLOAD_T.3       |   4 +-
 docs/libcurl/opts/GNURLINFO_COOKIELIST.3           |   9 +-
 docs/libcurl/opts/GNURLINFO_FILETIME_T.3           |   2 +-
 docs/libcurl/opts/GNURLINFO_PROTOCOL.3             |  17 +-
 .../opts/GNURLINFO_PROXY_SSL_VERIFYRESULT.3        |   2 +-
 docs/libcurl/opts/GNURLINFO_SCHEME.3               |   2 +-
 docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD_T.3      |   4 +-
 docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD_T.3        |   4 +-
 docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD_T.3     |   4 +-
 docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD_T.3       |   4 +-
 docs/libcurl/opts/GNURLINFO_SSL_VERIFYRESULT.3     |   8 +-
 docs/libcurl/opts/GNURLOPT_ABSTRACT_UNIX_SOCKET.3  |   2 +-
 docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_CAINFO.3                |   5 +
 docs/libcurl/opts/GNURLOPT_CONNECT_TO.3            |   4 +-
 docs/libcurl/opts/GNURLOPT_CUSTOMREQUEST.3         |   2 +-
 docs/libcurl/opts/GNURLOPT_DNS_SHUFFLE_ADDRESSES.3 |  69 +++
 docs/libcurl/opts/GNURLOPT_ERRORBUFFER.3           |  12 +-
 docs/libcurl/opts/GNURLOPT_EXPECT_100_TIMEOUT_MS.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_FAILONERROR.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_FOLLOWLOCATION.3        |   4 +-
 .../opts/GNURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3      |   2 +-
 ...SP_CLIENT_CSEQ.3 => GNURLOPT_HAPROXYPROTOCOL.3} |  34 +-
 docs/libcurl/opts/GNURLOPT_HEADERFUNCTION.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_HEADEROPT.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_HTTPAUTH.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_HTTPGET.3               |   2 +-
 docs/libcurl/opts/GNURLOPT_HTTPPROXYTUNNEL.3       |   4 +-
 docs/libcurl/opts/GNURLOPT_HTTP_VERSION.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_IOCTLFUNCTION.3         |   2 +-
 docs/libcurl/opts/GNURLOPT_KEEP_SENDING_ON_ERROR.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_MIMEPOST.3              |   2 +-
 docs/libcurl/opts/GNURLOPT_NETRC.3                 |   2 +-
 docs/libcurl/opts/GNURLOPT_PATH_AS_IS.3            |   2 +-
 docs/libcurl/opts/GNURLOPT_POST.3                  |   4 +-
 docs/libcurl/opts/GNURLOPT_POSTFIELDS.3            |   2 +-
 docs/libcurl/opts/GNURLOPT_POSTREDIR.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_PRE_PROXY.3             |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY.3                 |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_CAINFO.3          |   6 +-
 docs/libcurl/opts/GNURLOPT_PROXY_CAPATH.3          |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXY_CRLFILE.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXY_KEYPASSWD.3       |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXY_PINNEDPUBLICKEY.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLCERT.3         |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLCERTTYPE.3     |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLKEY.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLKEYTYPE.3      |   4 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSLVERSION.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSL_CIPHER_LIST.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSL_OPTIONS.3     |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSL_VERIFYHOST.3  |   8 +-
 docs/libcurl/opts/GNURLOPT_PROXY_SSL_VERIFYPEER.3  |   2 +-
 .../libcurl/opts/GNURLOPT_PROXY_TLSAUTH_PASSWORD.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_TYPE.3    |   2 +-
 .../libcurl/opts/GNURLOPT_PROXY_TLSAUTH_USERNAME.3 |   2 +-
 docs/libcurl/opts/GNURLOPT_PROXY_TRANSFER_MODE.3   |   2 +-
 docs/libcurl/opts/GNURLOPT_PUT.3                   |   2 +-
 docs/libcurl/opts/GNURLOPT_QUOTE.3                 |   2 +-
 docs/libcurl/opts/GNURLOPT_REQUEST_TARGET.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_RESOLVER_START_DATA.3   |   2 +-
 .../opts/GNURLOPT_RESOLVER_START_FUNCTION.3        |   2 +-
 docs/libcurl/opts/GNURLOPT_RTSP_CLIENT_CSEQ.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_RTSP_REQUEST.3          |   8 +-
 docs/libcurl/opts/GNURLOPT_SEEKFUNCTION.3          |   2 +-
 docs/libcurl/opts/GNURLOPT_SOCKS5_AUTH.3           |   2 +-
 docs/libcurl/opts/GNURLOPT_SSH_COMPRESSION.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_SSLCERT.3               |  11 +
 docs/libcurl/opts/GNURLOPT_SSL_CTX_DATA.3          |   4 +-
 docs/libcurl/opts/GNURLOPT_SSL_CTX_FUNCTION.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_STREAM_DEPENDS_E.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_STREAM_WEIGHT.3         |   2 +-
 .../opts/GNURLOPT_SUPPRESS_CONNECT_HEADERS.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_TIMEVALUE_LARGE.3       |   2 +-
 docs/libcurl/opts/GNURLOPT_UNIX_SOCKET_PATH.3      |   2 +-
 docs/libcurl/opts/GNURLOPT_UPLOAD.3                |   2 +-
 docs/libcurl/opts/GNURLOPT_URL.3                   |  14 +-
 docs/libcurl/opts/Makefile.inc                     |   2 +
 docs/libcurl/symbols-in-versions                   |   2 +
 include/gnurl/curl.h                               |   6 +
 include/gnurl/curlver.h                            |   6 +-
 include/gnurl/system.h                             |   4 +-
 lib/Makefile.inc                                   |   4 +-
 lib/asyn-thread.c                                  |  67 +--
 lib/checksrc.pl                                    |  16 +-
 lib/content_encoding.c                             |   3 +-
 lib/cookie.c                                       | 271 ++++++----
 lib/cookie.h                                       |   8 +-
 lib/curl_addrinfo.c                                |   4 +-
 lib/curl_config.h.cmake                            |   3 +
 lib/curl_ctype.c                                   |  11 +
 lib/curl_ctype.h                                   |  33 ++
 lib/curl_memrchr.c                                 |  19 +-
 lib/curl_ntlm_core.c                               |  15 +-
 lib/curl_path.h                                    |   5 +-
 lib/curl_sasl.c                                    |  14 +-
 lib/curl_setup.h                                   |  14 +
 lib/easy.c                                         |  11 +
 lib/fileinfo.c                                     |   7 +-
 lib/fileinfo.h                                     |   5 +-
 lib/ftp.c                                          |  88 ++--
 lib/ftp.h                                          |   4 +-
 lib/ftplistparser.c                                |  28 +-
 lib/hash.c                                         |   6 +-
 lib/hostcheck.c                                    |   2 +-
 lib/hostip.c                                       |  74 ++-
 lib/hostip.h                                       |  13 +-
 lib/http.c                                         |  64 ++-
 lib/http.h                                         |  10 +-
 lib/http2.c                                        | 125 +++--
 lib/http_chunks.c                                  |  15 +-
 lib/http_negotiate.c                               |   2 +-
 lib/http_ntlm.c                                    |  14 +-
 lib/http_proxy.c                                   |   4 +-
 lib/md5.c                                          |   7 +-
 lib/mime.c                                         |   9 +-
 lib/multi.c                                        |  92 ++--
 lib/multiif.h                                      |   5 +-
 lib/nwlib.c                                        |   4 +-
 lib/openldap.c                                     |  23 +-
 lib/parsedate.c                                    |   1 +
 lib/pingpong.c                                     |   5 +-
 lib/progress.c                                     |  74 +--
 lib/progress.h                                     |   1 +
 lib/rtsp.c                                         |   3 +-
 lib/setopt.c                                       |  36 +-
 lib/smb.c                                          |  14 +-
 lib/ssh-libssh.c                                   |   3 +-
 lib/ssh.c                                          |  79 ++-
 lib/strtoofft.c                                    |   2 -
 lib/telnet.c                                       |   3 +-
 lib/tftp.c                                         |   4 +-
 lib/timeval.c                                      |   4 +-
 lib/transfer.c                                     |  53 +-
 lib/url.c                                          |  93 ++--
 lib/urldata.h                                      |  42 +-
 lib/vauth/cleartext.c                              |  14 +-
 lib/vauth/krb5_sspi.c                              |  10 +-
 lib/vauth/ntlm.c                                   |  12 +-
 lib/vauth/ntlm.h                                   |   8 +-
 lib/vauth/ntlm_sspi.c                              |  20 +-
 lib/vauth/spnego_sspi.c                            |  10 +-
 lib/vauth/vauth.c                                  |   6 +-
 lib/vauth/vauth.h                                  |   2 +
 lib/version.c                                      |   4 +-
 lib/vtls/axtls.c                                   |  10 +-
 lib/vtls/cyassl.c                                  |  19 +-
 lib/vtls/darwinssl.c                               |  17 +-
 lib/vtls/gskit.c                                   |  10 +-
 lib/vtls/gtls.c                                    |  22 +-
 lib/vtls/mbedtls.c                                 |  21 +-
 lib/vtls/nss.c                                     |  15 +-
 lib/vtls/openssl.c                                 | 228 +++++++--
 lib/vtls/polarssl.c                                |  16 +-
 lib/vtls/schannel.c                                | 374 ++++++--------
 lib/vtls/schannel.h                                |  40 ++
 lib/vtls/schannel_verify.c                         | 551 +++++++++++++++++++++
 lib/vtls/vtls.c                                    |  25 +-
 lib/vtls/vtls.h                                    |  21 +-
 lib/warnless.h                                     |   7 +-
 lib/wildcard.c                                     |  20 +-
 lib/wildcard.h                                     |   8 +-
 m4/curl-compilers.m4                               |  28 +-
 m4/curl-confopts.m4                                |   3 +
 m4/curl-functions.m4                               |  18 +-
 packages/DOS/README                                |   2 +-
 packages/OS400/curl.inc.in                         |   4 +
 packages/OS400/os400sys.c                          | 150 +++---
 projects/build-openssl.bat                         | 110 ++--
 projects/build-wolfssl.bat                         |  22 +-
 scripts/contributors.sh                            |   3 +-
 src/tool_cb_dbg.c                                  |   4 +-
 src/tool_cfgable.h                                 |   1 +
 src/tool_doswin.c                                  |  11 +-
 src/tool_doswin.h                                  |   1 +
 src/tool_formparse.c                               |   3 +-
 src/tool_getparam.c                                |   4 +
 src/tool_help.c                                    |   4 +-
 src/tool_metalink.c                                |   9 +-
 src/tool_operate.c                                 |  94 ++--
 src/tool_urlglob.c                                 |   2 +-
 tests/FILEFORMAT                                   |   8 +-
 tests/certs/Makefile.am                            |  29 +-
 tests/certs/Server-localhost-firstSAN-sv.crl       |  13 +
 tests/certs/Server-localhost-firstSAN-sv.crt       |  80 +++
 tests/certs/Server-localhost-firstSAN-sv.csr       |  11 +
 tests/certs/Server-localhost-firstSAN-sv.der       | Bin 0 -> 862 bytes
 tests/certs/Server-localhost-firstSAN-sv.dhp       |   0
 tests/certs/Server-localhost-firstSAN-sv.key       |  15 +
 tests/certs/Server-localhost-firstSAN-sv.pem       | 120 +++++
 tests/certs/Server-localhost-firstSAN-sv.prm       |  25 +
 tests/certs/Server-localhost-firstSAN-sv.pub.der   | Bin 0 -> 162 bytes
 tests/certs/Server-localhost-firstSAN-sv.pub.pem   |   6 +
 tests/certs/Server-localhost-lastSAN-sv.crl        |  14 +
 tests/certs/Server-localhost-lastSAN-sv.crt        |  80 +++
 tests/certs/Server-localhost-lastSAN-sv.csr        |  11 +
 tests/certs/Server-localhost-lastSAN-sv.der        | Bin 0 -> 862 bytes
 tests/certs/Server-localhost-lastSAN-sv.dhp        |   0
 tests/certs/Server-localhost-lastSAN-sv.key        |  15 +
 tests/certs/Server-localhost-lastSAN-sv.pem        | 120 +++++
 tests/certs/Server-localhost-lastSAN-sv.prm        |  25 +
 tests/certs/Server-localhost-lastSAN-sv.pub.der    | Bin 0 -> 162 bytes
 tests/certs/Server-localhost-lastSAN-sv.pub.pem    |   6 +
 tests/data/Makefile.inc                            |  11 +-
 tests/data/test1026                                |   3 +
 tests/data/test1108                                |   2 +-
 tests/data/test1136                                |   2 +-
 tests/data/test1148                                |  11 +-
 tests/data/test1155                                |  54 ++
 tests/data/test1164                                |  52 ++
 tests/data/test1208                                |   1 +
 tests/data/test1209                                |   2 +-
 tests/data/{test1148 => test1455}                  |  29 +-
 tests/data/{test1148 => test1456}                  |  30 +-
 tests/data/test155                                 |   4 +-
 tests/data/test1608                                |  26 +
 tests/data/test2072                                |  20 +-
 tests/data/test3000                                |  57 +++
 tests/data/test3001                                |  57 +++
 tests/data/test46                                  |  28 +-
 tests/libtest/.gitignore                           |   2 +-
 tests/libtest/lib1502.c                            |  12 +-
 tests/libtest/lib1509.c                            |   2 +-
 tests/libtest/lib1535.c                            |   2 +-
 tests/libtest/lib1536.c                            |   2 +-
 tests/libtest/lib517.c                             |   1 +
 tests/libtest/lib552.c                             |   4 +-
 tests/libtest/stub_gssapi.c                        |   2 +-
 tests/libtest/testtrace.c                          |   6 +-
 tests/runtests.pl                                  |  20 +-
 tests/server/fake_ntlm.c                           |   2 +-
 tests/server/sockfilt.c                            |   8 +-
 tests/testcurl.pl                                  |   2 +-
 tests/unit/Makefile.inc                            |   6 +-
 tests/unit/unit1309.c                              |  29 +-
 tests/unit/unit1395.c                              |   4 +-
 lib/wildcard.c => tests/unit/unit1608.c            |  63 +--
 winbuild/BUILD.WINDOWS.txt                         |  72 +--
 winbuild/Makefile.vc                               |  48 +-
 winbuild/MakefileBuild.vc                          | 175 ++++---
 312 files changed, 4725 insertions(+), 2405 deletions(-)

diff --cc configure.ac
index f946bb5b6,5569a26b4..dd9cb1590
--- a/configure.ac
+++ b/configure.ac
@@@ -1474,298 -1532,297 +1472,6 @@@ dnl Default to compiler & linker defaul
  OPT_SSL=off
  dnl Default to no CA bundle
  ca="no"
- dnl Set Default to 0:
- dnl OPENSSL_ENABLED="0"
- dnl AC_ARG_WITH(ssl,dnl
- dnl AC_HELP_STRING([--with-ssl=PATH],[Where to look for OpenSSL, PATH points 
to the SSL installation (default: /usr/local/ssl); when possible, set the 
PKG_CONFIG_PATH environment variable instead of using this option])
- dnl AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
- dnl   OPT_SSL=$withval)
 -AC_ARG_WITH(ssl,dnl
 -AC_HELP_STRING([--with-ssl=PATH],[Where to look for OpenSSL, PATH points to 
the SSL installation (default: /usr/local/ssl); when possible, set the 
PKG_CONFIG_PATH environment variable instead of using this option])
 -AC_HELP_STRING([--without-ssl], [disable OpenSSL]),
 -  OPT_SSL=$withval)
--
- dnl if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
- dnl    test X"$OPT_SSL" != Xno; then
- dnl   ssl_msg=
 -if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
 -   test X"$OPT_SSL" != Xno; then
 -  ssl_msg=
--
- dnl   dnl backup the pre-ssl variables
- dnl   CLEANLDFLAGS="$LDFLAGS"
- dnl   CLEANCPPFLAGS="$CPPFLAGS"
- dnl   CLEANLIBS="$LIBS"
 -  dnl backup the pre-ssl variables
 -  CLEANLDFLAGS="$LDFLAGS"
 -  CLEANCPPFLAGS="$CPPFLAGS"
 -  CLEANLIBS="$LIBS"
--
- dnl   dnl This is for Msys/Mingw
- dnl   case $host in
- dnl     *-*-msys* | *-*-mingw*)
- dnl       AC_MSG_CHECKING([for gdi32])
- dnl       my_ac_save_LIBS=$LIBS
- dnl       LIBS="-lgdi32 $LIBS"
- dnl       AC_TRY_LINK([#include <windef.h>
- dnl                    #include <wingdi.h>],
- dnl                    [GdiFlush();],
- dnl                    [ dnl worked!
- dnl                    AC_MSG_RESULT([yes])],
- dnl                    [ dnl failed, restore LIBS
- dnl                    LIBS=$my_ac_save_LIBS
- dnl                    AC_MSG_RESULT(no)]
- dnl                   )
- dnl       ;;
- dnl   esac
 -  dnl This is for Msys/Mingw
 -  case $host in
 -    *-*-msys* | *-*-mingw*)
 -      AC_MSG_CHECKING([for gdi32])
 -      my_ac_save_LIBS=$LIBS
 -      LIBS="-lgdi32 $LIBS"
 -      AC_TRY_LINK([#include <windef.h>
 -                   #include <wingdi.h>],
 -                   [GdiFlush();],
 -                   [ dnl worked!
 -                   AC_MSG_RESULT([yes])],
 -                   [ dnl failed, restore LIBS
 -                   LIBS=$my_ac_save_LIBS
 -                   AC_MSG_RESULT(no)]
 -                  )
 -      ;;
 -  esac
--
- dnl   case "$OPT_SSL" in
- dnl   yes)
- dnl     dnl --with-ssl (without path) used
- dnl     if test x$cross_compiling != xyes; then
- dnl       dnl only do pkg-config magic when not cross-compiling
- dnl       PKGTEST="yes"
- dnl     fi
- dnl     PREFIX_OPENSSL=/usr/local/ssl
- dnl     LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
- dnl     ;;
- dnl   off)
- dnl     dnl no --with-ssl option given, just check default places
- dnl     if test x$cross_compiling != xyes; then
- dnl       dnl only do pkg-config magic when not cross-compiling
- dnl       PKGTEST="yes"
- dnl     fi
- dnl     PREFIX_OPENSSL=
- dnl     ;;
- dnl   *)
- dnl     dnl check the given --with-ssl spot
- dnl     PKGTEST="no"
- dnl     PREFIX_OPENSSL=$OPT_SSL
 -  case "$OPT_SSL" in
 -  yes)
 -    dnl --with-ssl (without path) used
 -    if test x$cross_compiling != xyes; then
 -      dnl only do pkg-config magic when not cross-compiling
 -      PKGTEST="yes"
 -    fi
 -    PREFIX_OPENSSL=/usr/local/ssl
 -    LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
 -    ;;
 -  off)
 -    dnl no --with-ssl option given, just check default places
 -    if test x$cross_compiling != xyes; then
 -      dnl only do pkg-config magic when not cross-compiling
 -      PKGTEST="yes"
 -    fi
 -    PREFIX_OPENSSL=
 -    ;;
 -  *)
 -    dnl check the given --with-ssl spot
 -    PKGTEST="no"
 -    PREFIX_OPENSSL=$OPT_SSL
--
- dnl     dnl Try pkg-config even when cross-compiling.  Since we
- dnl     dnl specify PKG_CONFIG_LIBDIR we're only looking where
- dnl     dnl the user told us to look
- dnl     OPENSSL_PCDIR="$OPT_SSL/lib/pkgconfig"
- dnl     AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$OPENSSL_PCDIR"])
- dnl     if test -f "$OPENSSL_PCDIR/openssl.pc"; then
- dnl       PKGTEST="yes"
- dnl     fi
 -    dnl Try pkg-config even when cross-compiling.  Since we
 -    dnl specify PKG_CONFIG_LIBDIR we're only looking where
 -    dnl the user told us to look
 -    OPENSSL_PCDIR="$OPT_SSL/lib/pkgconfig"
 -    AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$OPENSSL_PCDIR"])
 -    if test -f "$OPENSSL_PCDIR/openssl.pc"; then
 -      PKGTEST="yes"
 -    fi
--
- dnl     dnl in case pkg-config comes up empty, use what we got
- dnl     dnl via --with-ssl
- dnl     LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
- dnl     if test "$PREFIX_OPENSSL" != "/usr" ; then
- dnl       SSL_LDFLAGS="-L$LIB_OPENSSL"
- dnl       SSL_CPPFLAGS="-I$PREFIX_OPENSSL/include"
- dnl     fi
- dnl     SSL_CPPFLAGS="$SSL_CPPFLAGS -I$PREFIX_OPENSSL/include/openssl"
- dnl     ;;
- dnl   esac
 -    dnl in case pkg-config comes up empty, use what we got
 -    dnl via --with-ssl
 -    LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
 -    if test "$PREFIX_OPENSSL" != "/usr" ; then
 -      SSL_LDFLAGS="-L$LIB_OPENSSL"
 -      SSL_CPPFLAGS="-I$PREFIX_OPENSSL/include"
 -    fi
 -    SSL_CPPFLAGS="$SSL_CPPFLAGS -I$PREFIX_OPENSSL/include/openssl"
 -    ;;
 -  esac
--
- dnl   if test "$PKGTEST" = "yes"; then
 -  if test "$PKGTEST" = "yes"; then
--
- dnl     CURL_CHECK_PKGCONFIG(openssl, [$OPENSSL_PCDIR])
 -    CURL_CHECK_PKGCONFIG(openssl, [$OPENSSL_PCDIR])
--
- dnl     if test "$PKGCONFIG" != "no" ; then
- dnl       SSL_LIBS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
- dnl         $PKGCONFIG --libs-only-l openssl 2>/dev/null`
 -    if test "$PKGCONFIG" != "no" ; then
 -      SSL_LIBS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
 -        $PKGCONFIG --libs-only-l openssl 2>/dev/null`
--
- dnl       SSL_LDFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
- dnl         $PKGCONFIG --libs-only-L openssl 2>/dev/null`
 -      SSL_LDFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
 -        $PKGCONFIG --libs-only-L openssl 2>/dev/null`
--
- dnl       SSL_CPPFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
- dnl         $PKGCONFIG --cflags-only-I openssl 2>/dev/null`
 -      SSL_CPPFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl
 -        $PKGCONFIG --cflags-only-I openssl 2>/dev/null`
--
- dnl       AC_SUBST(SSL_LIBS)
- dnl       AC_MSG_NOTICE([pkg-config: SSL_LIBS: "$SSL_LIBS"])
- dnl       AC_MSG_NOTICE([pkg-config: SSL_LDFLAGS: "$SSL_LDFLAGS"])
- dnl       AC_MSG_NOTICE([pkg-config: SSL_CPPFLAGS: "$SSL_CPPFLAGS"])
 -      AC_SUBST(SSL_LIBS)
 -      AC_MSG_NOTICE([pkg-config: SSL_LIBS: "$SSL_LIBS"])
 -      AC_MSG_NOTICE([pkg-config: SSL_LDFLAGS: "$SSL_LDFLAGS"])
 -      AC_MSG_NOTICE([pkg-config: SSL_CPPFLAGS: "$SSL_CPPFLAGS"])
--
- dnl       LIB_OPENSSL=`echo $SSL_LDFLAGS | sed -e 's/-L//g'`
 -      LIB_OPENSSL=`echo $SSL_LDFLAGS | sed -e 's/-L//g'`
--
- dnl       dnl use the values pkg-config reported.  This is here
- dnl       dnl instead of below with CPPFLAGS and LDFLAGS because we only
- dnl       dnl learn about this via pkg-config.  If we only have
- dnl       dnl the argument to --with-ssl we don't know what
- dnl       dnl additional libs may be necessary.  Hope that we
- dnl       dnl don't need any.
- dnl       LIBS="$SSL_LIBS $LIBS"
- dnl     fi
- dnl   fi
 -      dnl use the values pkg-config reported.  This is here
 -      dnl instead of below with CPPFLAGS and LDFLAGS because we only
 -      dnl learn about this via pkg-config.  If we only have
 -      dnl the argument to --with-ssl we don't know what
 -      dnl additional libs may be necessary.  Hope that we
 -      dnl don't need any.
 -      LIBS="$SSL_LIBS $LIBS"
 -    fi
 -  fi
--
- dnl   dnl finally, set flags to use SSL
- dnl   CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
- dnl   LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
 -  dnl finally, set flags to use SSL
 -  CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
 -  LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
--
- dnl   AC_CHECK_LIB(crypto, HMAC_Update,[
- dnl      HAVECRYPTO="yes"
- dnl      LIBS="-lcrypto $LIBS"
- dnl      ],[
- dnl      LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL"
- dnl      CPPFLAGS="$CLEANCPPFLAGS -I$PREFIX_OPENSSL/include/openssl 
-I$PREFIX_OPENSSL/include"
- dnl      AC_CHECK_LIB(crypto, HMAC_Init_ex,[
- dnl        HAVECRYPTO="yes"
- dnl        LIBS="-lcrypto $LIBS"], [
 -  AC_CHECK_LIB(crypto, HMAC_Update,[
 -     HAVECRYPTO="yes"
 -     LIBS="-lcrypto $LIBS"
 -     ],[
 -     LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL"
 -     CPPFLAGS="$CLEANCPPFLAGS -I$PREFIX_OPENSSL/include/openssl 
-I$PREFIX_OPENSSL/include"
 -     AC_CHECK_LIB(crypto, HMAC_Init_ex,[
 -       HAVECRYPTO="yes"
 -       LIBS="-lcrypto $LIBS"], [
--
- dnl        dnl still no, but what about with -ldl?
- dnl        AC_MSG_CHECKING([OpenSSL linking with -ldl])
- dnl        LIBS="$LIBS -ldl"
- dnl        AC_TRY_LINK(
- dnl        [
- dnl          #include <openssl/err.h>
- dnl        ],
- dnl        [
- dnl          ERR_clear_error();
- dnl        ],
- dnl        [
- dnl          AC_MSG_RESULT(yes)
- dnl          HAVECRYPTO="yes"
- dnl        ],
- dnl        [
- dnl          AC_MSG_RESULT(no)
- dnl          dnl ok, so what about bouth -ldl and -lpthread?
 -       dnl still no, but what about with -ldl?
 -       AC_MSG_CHECKING([OpenSSL linking with -ldl])
 -       LIBS="$LIBS -ldl"
 -       AC_TRY_LINK(
 -       [
 -         #include <openssl/err.h>
 -       ],
 -       [
 -         ERR_clear_error();
 -       ],
 -       [
 -         AC_MSG_RESULT(yes)
 -         HAVECRYPTO="yes"
 -       ],
 -       [
 -         AC_MSG_RESULT(no)
 -         dnl ok, so what about bouth -ldl and -lpthread?
--
- dnl          AC_MSG_CHECKING([OpenSSL linking with -ldl and -lpthread])
- dnl          LIBS="$LIBS -lpthread"
- dnl          AC_TRY_LINK(
- dnl          [
- dnl            #include <openssl/err.h>
- dnl          ],
- dnl          [
- dnl            ERR_clear_error();
- dnl          ],
- dnl          [
- dnl            AC_MSG_RESULT(yes)
- dnl            HAVECRYPTO="yes"
- dnl          ],
- dnl          [
- dnl            AC_MSG_RESULT(no)
- dnl            LDFLAGS="$CLEANLDFLAGS"
- dnl            CPPFLAGS="$CLEANCPPFLAGS"
- dnl            LIBS="$CLEANLIBS"
 -         AC_MSG_CHECKING([OpenSSL linking with -ldl and -lpthread])
 -         LIBS="$LIBS -lpthread"
 -         AC_TRY_LINK(
 -         [
 -           #include <openssl/err.h>
 -         ],
 -         [
 -           ERR_clear_error();
 -         ],
 -         [
 -           AC_MSG_RESULT(yes)
 -           HAVECRYPTO="yes"
 -         ],
 -         [
 -           AC_MSG_RESULT(no)
 -           LDFLAGS="$CLEANLDFLAGS"
 -           CPPFLAGS="$CLEANCPPFLAGS"
 -           LIBS="$CLEANLIBS"
--
- dnl          ])
 -         ])
--
- dnl        ])
 -       ])
--
- dnl      ])
- dnl   ])
 -     ])
 -  ])
--
- dnl   if test X"$HAVECRYPTO" = X"yes"; then
- dnl     dnl This is only reasonable to do if crypto actually is there: check 
for
- dnl     dnl SSL libs NOTE: it is important to do this AFTER the crypto lib
 -  if test X"$HAVECRYPTO" = X"yes"; then
 -    dnl This is only reasonable to do if crypto actually is there: check for
 -    dnl SSL libs NOTE: it is important to do this AFTER the crypto lib
--
- dnl     AC_CHECK_LIB(ssl, SSL_connect)
 -    AC_CHECK_LIB(ssl, SSL_connect)
--
- dnl     if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
- dnl         dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff
- dnl         AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use);
- dnl         OLIBS=$LIBS
- dnl         LIBS="-lRSAglue -lrsaref $LIBS"
- dnl         AC_CHECK_LIB(ssl, SSL_connect)
- dnl         if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
- dnl             dnl still no SSL_connect
- dnl             AC_MSG_RESULT(no)
- dnl             LIBS=$OLIBS
- dnl         else
- dnl             AC_MSG_RESULT(yes)
- dnl         fi
 -    if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
 -        dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff
 -        AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use);
 -        OLIBS=$LIBS
 -        LIBS="-lRSAglue -lrsaref $LIBS"
 -        AC_CHECK_LIB(ssl, SSL_connect)
 -        if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
 -            dnl still no SSL_connect
 -            AC_MSG_RESULT(no)
 -            LIBS=$OLIBS
 -        else
 -            AC_MSG_RESULT(yes)
 -        fi
--
- dnl     else
 -    else
--
- dnl       dnl Have the libraries--check for OpenSSL headers
- dnl       AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
- dnl                        openssl/pem.h openssl/ssl.h openssl/err.h,
- dnl         ssl_msg="OpenSSL"
- dnl   test openssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
- dnl         OPENSSL_ENABLED=1
- dnl         AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
 -      dnl Have the libraries--check for OpenSSL headers
 -      AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
 -                       openssl/pem.h openssl/ssl.h openssl/err.h,
 -        ssl_msg="OpenSSL"
 -      test openssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
 -        OPENSSL_ENABLED=1
 -        AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
--
- dnl       if test $ac_cv_header_openssl_x509_h = no; then
- dnl         dnl we don't use the "action" part of the AC_CHECK_HEADERS macro
- dnl         dnl since 'err.h' might in fact find a krb4 header with the same
- dnl         dnl name
- dnl         AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h)
 -      if test $ac_cv_header_openssl_x509_h = no; then
 -        dnl we don't use the "action" part of the AC_CHECK_HEADERS macro
 -        dnl since 'err.h' might in fact find a krb4 header with the same
 -        dnl name
 -        AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h)
--
- dnl         if test $ac_cv_header_x509_h = yes &&
- dnl            test $ac_cv_header_crypto_h = yes &&
- dnl            test $ac_cv_header_ssl_h = yes; then
- dnl           dnl three matches
- dnl           ssl_msg="OpenSSL"
- dnl           OPENSSL_ENABLED=1
- dnl         fi
- dnl       fi
- dnl     fi
 -        if test $ac_cv_header_x509_h = yes &&
 -           test $ac_cv_header_crypto_h = yes &&
 -           test $ac_cv_header_ssl_h = yes; then
 -          dnl three matches
 -          ssl_msg="OpenSSL"
 -          OPENSSL_ENABLED=1
 -        fi
 -      fi
 -    fi
--
- dnl     if test X"$OPENSSL_ENABLED" != X"1"; then
- dnl        LIBS="$CLEANLIBS"
- dnl     fi
 -    if test X"$OPENSSL_ENABLED" != X"1"; then
 -       LIBS="$CLEANLIBS"
 -    fi
--
- dnl     if test X"$OPT_SSL" != Xoff &&
- dnl        test "$OPENSSL_ENABLED" != "1"; then
- dnl       AC_MSG_ERROR([OpenSSL libs and/or directories were not found where 
specified!])
- dnl     fi
- dnl   fi
 -    if test X"$OPT_SSL" != Xoff &&
 -       test "$OPENSSL_ENABLED" != "1"; then
 -      AC_MSG_ERROR([OpenSSL libs and/or directories were not found where 
specified!])
 -    fi
 -  fi
--
- dnl   if test X"$OPENSSL_ENABLED" = X"1"; then
- dnl     dnl If the ENGINE library seems to be around, check for the OpenSSL 
engine
- dnl     dnl stuff, it is kind of "separated" from the main SSL check
- dnl     AC_CHECK_FUNC(ENGINE_init,
- dnl               [
- dnl                 AC_CHECK_HEADERS(openssl/engine.h)
- dnl                 AC_CHECK_FUNCS( ENGINE_load_builtin_engines )
- dnl               ])
 -  if test X"$OPENSSL_ENABLED" = X"1"; then
 -    dnl If the ENGINE library seems to be around, check for the OpenSSL engine
 -    dnl stuff, it is kind of "separated" from the main SSL check
 -    AC_CHECK_FUNC(ENGINE_init,
 -              [
 -                AC_CHECK_HEADERS(openssl/engine.h)
 -                AC_CHECK_FUNCS( ENGINE_load_builtin_engines )
 -              ])
--
- dnl     dnl These can only exist if OpenSSL exists
- dnl     dnl Older versions of Cyassl (some time before 2.9.4) don't have
- dnl     dnl SSL_get_shutdown (but this check won't actually detect it there
- dnl     dnl as it's a macro that needs the header files be included)
 -    dnl These can only exist if OpenSSL exists
 -    dnl Older versions of Cyassl (some time before 2.9.4) don't have
 -    dnl SSL_get_shutdown (but this check won't actually detect it there
 -    dnl as it's a macro that needs the header files be included)
--
- dnl     AC_CHECK_FUNCS( RAND_egd \
- dnl                     ENGINE_cleanup \
- dnl                     SSL_get_shutdown \
- dnl                     SSLv2_client_method )
 -    AC_CHECK_FUNCS( RAND_egd \
 -                    ENGINE_cleanup \
 -                    SSL_get_shutdown \
 -                    SSLv2_client_method )
--
- dnl     AC_MSG_CHECKING([for BoringSSL])
- dnl     AC_COMPILE_IFELSE([
- dnl         AC_LANG_PROGRAM([[
- dnl                 #include <openssl/base.h>
- dnl                 ]],[[
- dnl                 #ifndef OPENSSL_IS_BORINGSSL
- dnl                 #error not boringssl
- dnl                 #endif
- dnl        ]])
- dnl     ],[
- dnl         AC_MSG_RESULT([yes])
- dnl         AC_DEFINE_UNQUOTED(HAVE_BORINGSSL, 1,
- dnl                            [Define to 1 if using BoringSSL.])
- dnl         ssl_msg="BoringSSL"
- dnl     ],[
- dnl         AC_MSG_RESULT([no])
- dnl     ])
 -    AC_MSG_CHECKING([for BoringSSL])
 -    AC_COMPILE_IFELSE([
 -        AC_LANG_PROGRAM([[
 -                #include <openssl/base.h>
 -                ]],[[
 -                #ifndef OPENSSL_IS_BORINGSSL
 -                #error not boringssl
 -                #endif
 -       ]])
 -    ],[
 -        AC_MSG_RESULT([yes])
 -        AC_DEFINE_UNQUOTED(HAVE_BORINGSSL, 1,
 -                           [Define to 1 if using BoringSSL.])
 -        ssl_msg="BoringSSL"
 -    ],[
 -        AC_MSG_RESULT([no])
 -    ])
--
- dnl     AC_MSG_CHECKING([for libressl])
- dnl     AC_COMPILE_IFELSE([
- dnl       AC_LANG_PROGRAM([[
- dnl #include <openssl/opensslv.h>
- dnl       ]],[[
- dnl         int dummy = LIBRESSL_VERSION_NUMBER;
- dnl       ]])
- dnl     ],[
- dnl       AC_MSG_RESULT([yes])
- dnl       AC_DEFINE_UNQUOTED(HAVE_LIBRESSL, 1,
- dnl         [Define to 1 if using libressl.])
- dnl       ssl_msg="libressl"
- dnl     ],[
- dnl       AC_MSG_RESULT([no])
- dnl     ])
- dnl   fi
 -    AC_MSG_CHECKING([for libressl])
 -    AC_COMPILE_IFELSE([
 -      AC_LANG_PROGRAM([[
 -#include <openssl/opensslv.h>
 -      ]],[[
 -        int dummy = LIBRESSL_VERSION_NUMBER;
 -      ]])
 -    ],[
 -      AC_MSG_RESULT([yes])
 -      AC_DEFINE_UNQUOTED(HAVE_LIBRESSL, 1,
 -        [Define to 1 if using libressl.])
 -      ssl_msg="libressl"
 -    ],[
 -      AC_MSG_RESULT([no])
 -    ])
 -  fi
--
- dnl   if test "$OPENSSL_ENABLED" = "1"; then
- dnl     if test -n "$LIB_OPENSSL"; then
- dnl        dnl when the ssl shared libs were found in a path that the run-time
- dnl        dnl linker doesn't search through, we need to add it to 
LD_LIBRARY_PATH
- dnl        dnl to prevent further configure tests to fail due to this
- dnl        if test "x$cross_compiling" != "xyes"; then
- dnl          LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
- dnl          export LD_LIBRARY_PATH
- dnl          AC_MSG_NOTICE([Added $LIB_OPENSSL to LD_LIBRARY_PATH])
- dnl        fi
- dnl     fi
- dnl     CURL_CHECK_OPENSSL_API
- dnl   fi
 -  if test "$OPENSSL_ENABLED" = "1"; then
 -    if test -n "$LIB_OPENSSL"; then
 -       dnl when the ssl shared libs were found in a path that the run-time
 -       dnl linker doesn't search through, we need to add it to 
CURL_LIBRARY_PATH
 -       dnl to prevent further configure tests to fail due to this
 -       if test "x$cross_compiling" != "xyes"; then
 -         CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$LIB_OPENSSL"
 -         export CURL_LIBRARY_PATH
 -         AC_MSG_NOTICE([Added $LIB_OPENSSL to CURL_LIBRARY_PATH])
 -       fi
 -    fi
 -    CURL_CHECK_OPENSSL_API
 -    check_for_ca_bundle=1
 -  fi
--
- dnl   test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, 
}$ssl_msg"
- dnl fi
 -  test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, 
}$ssl_msg"
 -fi
  
  dnl **********************************************************************
  dnl Check for the random seed preferences
@@@ -1806,7 -1863,7 +1512,7 @@@ f
  dnl ---
  dnl We require OpenSSL with SRP support.
  dnl ---
--if test "$OPENSSL_ENABLED" = "1"; then
++12if test "$OPENSSL_ENABLED" = "1"; then
    AC_CHECK_LIB(crypto, SRP_Calc_client_key,
     [
       AC_DEFINE(HAVE_OPENSSL_SRP, 1, [if you have the function 
SRP_Calc_client_key])
@@@ -2175,154 -2754,153 +1883,7 @@@ AC_HELP_STRING([--with-libssh=PATH],[Wh
  AC_HELP_STRING([--with-libssh], [enable LIBSSH]),
    OPT_LIBSSH=$withval, OPT_LIBSSH=no)
  
 -if test X"$OPT_LIBSSH2" != Xno; then
 -  dnl backup the pre-libssh2 variables
 -  CLEANLDFLAGS="$LDFLAGS"
 -  CLEANCPPFLAGS="$CPPFLAGS"
 -  CLEANLIBS="$LIBS"
 -
 -  case "$OPT_LIBSSH2" in
 -  yes)
 -    dnl --with-libssh2 (without path) used
 -    CURL_CHECK_PKGCONFIG(libssh2)
 -
 -    if test "$PKGCONFIG" != "no" ; then
 -      LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2`
 -      LD_SSH2=`$PKGCONFIG --libs-only-L libssh2`
 -      CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2`
 -      version=`$PKGCONFIG --modversion libssh2`
 -      DIR_SSH2=`echo $LD_SSH2 | $SED -e 's/-L//'`
 -    fi
 -
 -    ;;
 -  off)
 -    dnl no --with-libssh2 option given, just check default places
 -    ;;
 -  *)
 -    dnl use the given --with-libssh2 spot
 -    PREFIX_SSH2=$OPT_LIBSSH2
 -    ;;
 -  esac
 -
 -  dnl if given with a prefix, we set -L and -I based on that
 -  if test -n "$PREFIX_SSH2"; then
 -    LIB_SSH2="-lssh2"
 -    LD_SSH2=-L${PREFIX_SSH2}/lib$libsuff
 -    CPP_SSH2=-I${PREFIX_SSH2}/include
 -    DIR_SSH2=${PREFIX_SSH2}/lib$libsuff
 -  fi
 -
 -  LDFLAGS="$LDFLAGS $LD_SSH2"
 -  CPPFLAGS="$CPPFLAGS $CPP_SSH2"
 -  LIBS="$LIB_SSH2 $LIBS"
 -
 -  AC_CHECK_LIB(ssh2, libssh2_channel_open_ex)
 -
 -  AC_CHECK_HEADERS(libssh2.h,
 -    curl_ssh_msg="enabled (libSSH2)"
 -    LIBSSH2_ENABLED=1
 -    AC_DEFINE(USE_LIBSSH2, 1, [if libSSH2 is in use])
 -    AC_SUBST(USE_LIBSSH2, [1])
 -  )
 -
 -  if test X"$OPT_LIBSSH2" != Xoff &&
 -     test "$LIBSSH2_ENABLED" != "1"; then
 -    AC_MSG_ERROR([libSSH2 libs and/or directories were not found where 
specified!])
 -  fi
 -
 -  if test "$LIBSSH2_ENABLED" = "1"; then
 -    if test -n "$DIR_SSH2"; then
 -       dnl when the libssh2 shared libs were found in a path that the run-time
 -       dnl linker doesn't search through, we need to add it to 
CURL_LIBRARY_PATH
 -       dnl to prevent further configure tests to fail due to this
 -
 -       if test "x$cross_compiling" != "xyes"; then
 -         CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_SSH2"
 -         export CURL_LIBRARY_PATH
 -         AC_MSG_NOTICE([Added $DIR_SSH2 to CURL_LIBRARY_PATH])
 -       fi
 -    fi
 -  else
 -    dnl no libssh2, revert back to clean variables
 -    LDFLAGS=$CLEANLDFLAGS
 -    CPPFLAGS=$CLEANCPPFLAGS
 -    LIBS=$CLEANLIBS
 -  fi
 -elif test X"$OPT_LIBSSH" != Xno; then
 -  dnl backup the pre-libssh variables
 -  CLEANLDFLAGS="$LDFLAGS"
 -  CLEANCPPFLAGS="$CPPFLAGS"
 -  CLEANLIBS="$LIBS"
 -
 -  case "$OPT_LIBSSH" in
 -  yes)
 -    dnl --with-libssh (without path) used
 -    CURL_CHECK_PKGCONFIG(libssh)
 -
 -    if test "$PKGCONFIG" != "no" ; then
 -      LIB_SSH=`$PKGCONFIG --libs-only-l libssh`
 -      LD_SSH=`$PKGCONFIG --libs-only-L libssh`
 -      CPP_SSH=`$PKGCONFIG --cflags-only-I libssh`
 -      version=`$PKGCONFIG --modversion libssh`
 -      DIR_SSH=`echo $LD_SSH | $SED -e 's/-L//'`
 -    fi
 -
 -    ;;
 -  off)
 -    dnl no --with-libssh option given, just check default places
 -    ;;
 -  *)
 -    dnl use the given --with-libssh spot
 -    PREFIX_SSH=$OPT_LIBSSH
 -    ;;
 -  esac
 -
 -  dnl if given with a prefix, we set -L and -I based on that
 -  if test -n "$PREFIX_SSH"; then
 -    LIB_SSH="-lssh"
 -    LD_SSH=-L${PREFIX_SSH}/lib$libsuff
 -    CPP_SSH=-I${PREFIX_SSH}/include
 -    DIR_SSH=${PREFIX_SSH}/lib$libsuff
 -  fi
 -
 -  LDFLAGS="$LDFLAGS $LD_SSH"
 -  CPPFLAGS="$CPPFLAGS $CPP_SSH"
 -  LIBS="$LIB_SSH $LIBS"
 -
 -  AC_CHECK_LIB(ssh, ssh_new)
 -
 -  AC_CHECK_HEADERS(libssh/libssh.h,
 -    curl_ssh_msg="enabled (libSSH)"
 -    LIBSSH_ENABLED=1
 -    AC_DEFINE(USE_LIBSSH, 1, [if libSSH is in use])
 -    AC_SUBST(USE_LIBSSH, [1])
 -  )
 -
 -  if test X"$OPT_LIBSSH" != Xoff &&
 -     test "$LIBSSH_ENABLED" != "1"; then
 -    AC_MSG_ERROR([libSSH libs and/or directories were not found where 
specified!])
 -  fi
 -
 -  if test "$LIBSSH_ENABLED" = "1"; then
 -    if test -n "$DIR_SSH"; then
 -       dnl when the libssh shared libs were found in a path that the run-time
 -       dnl linker doesn't search through, we need to add it to 
CURL_LIBRARY_PATH
 -       dnl to prevent further configure tests to fail due to this
 -
 -       if test "x$cross_compiling" != "xyes"; then
 -         CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_SSH"
 -         export CURL_LIBRARY_PATH
 -         AC_MSG_NOTICE([Added $DIR_SSH to CURL_LIBRARY_PATH])
 -       fi
 -    fi
 -  else
 -    dnl no libssh, revert back to clean variables
 -    LDFLAGS=$CLEANLDFLAGS
 -    CPPFLAGS=$CLEANCPPFLAGS
 -    LIBS=$CLEANLIBS
 -  fi
 -fi
 +LIBSSH2_ENABLED="0"
- dnl if test X"$OPT_LIBSSH2" != Xno; then
- dnl   dnl backup the pre-libssh2 variables
- dnl   CLEANLDFLAGS="$LDFLAGS"
- dnl   CLEANCPPFLAGS="$CPPFLAGS"
- dnl   CLEANLIBS="$LIBS"
- 
- dnl   case "$OPT_LIBSSH2" in
- dnl   yes)
- dnl     dnl --with-libssh2 (without path) used
- dnl     CURL_CHECK_PKGCONFIG(libssh2)
- 
- dnl     if test "$PKGCONFIG" != "no" ; then
- dnl       LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2`
- dnl       LD_SSH2=`$PKGCONFIG --libs-only-L libssh2`
- dnl       CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2`
- dnl       version=`$PKGCONFIG --modversion libssh2`
- dnl       DIR_SSH2=`echo $LD_SSH2 | $SED -e 's/-L//'`
- dnl     fi
- 
- dnl     ;;
- dnl   off)
- dnl     dnl no --with-libssh2 option given, just check default places
- dnl     ;;
- dnl   *)
- dnl     dnl use the given --with-libssh2 spot
- dnl     PREFIX_SSH2=$OPT_LIBSSH2
- dnl     ;;
- dnl   esac
- 
- dnl   dnl if given with a prefix, we set -L and -I based on that
- dnl   if test -n "$PREFIX_SSH2"; then
- dnl     LIB_SSH2="-lssh2"
- dnl     LD_SSH2=-L${PREFIX_SSH2}/lib$libsuff
- dnl     CPP_SSH2=-I${PREFIX_SSH2}/include
- dnl     DIR_SSH2=${PREFIX_SSH2}/lib$libsuff
- dnl   fi
- 
- dnl   LDFLAGS="$LDFLAGS $LD_SSH2"
- dnl   CPPFLAGS="$CPPFLAGS $CPP_SSH2"
- dnl   LIBS="$LIB_SSH2 $LIBS"
- 
- dnl   AC_CHECK_LIB(ssh2, libssh2_channel_open_ex)
- 
- dnl   AC_CHECK_HEADERS(libssh2.h,
- dnl     curl_ssh_msg="enabled (libSSH2)"
- dnl     LIBSSH2_ENABLED=1
- dnl     AC_DEFINE(USE_LIBSSH2, 1, [if libSSH2 is in use])
- dnl     AC_SUBST(USE_LIBSSH2, [1])
- dnl   )
- 
- dnl   if test X"$OPT_LIBSSH2" != Xoff &&
- dnl      test "$LIBSSH2_ENABLED" != "1"; then
- dnl     AC_MSG_ERROR([libSSH2 libs and/or directories were not found where 
specified!])
- dnl   fi
- 
- dnl   if test "$LIBSSH2_ENABLED" = "1"; then
- dnl     if test -n "$DIR_SSH2"; then
- dnl        dnl when the libssh2 shared libs were found in a path that the 
run-time
- dnl        dnl linker doesn't search through, we need to add it to 
LD_LIBRARY_PATH
- dnl        dnl to prevent further configure tests to fail due to this
- 
- dnl        if test "x$cross_compiling" != "xyes"; then
- dnl          LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH2"
- dnl          export LD_LIBRARY_PATH
- dnl          AC_MSG_NOTICE([Added $DIR_SSH2 to LD_LIBRARY_PATH])
- dnl        fi
- dnl     fi
- dnl   else
- dnl     dnl no libssh2, revert back to clean variables
- dnl     LDFLAGS=$CLEANLDFLAGS
- dnl     CPPFLAGS=$CLEANCPPFLAGS
- dnl     LIBS=$CLEANLIBS
- dnl   fi
- dnl elif test X"$OPT_LIBSSH" != Xno; then
- dnl   dnl backup the pre-libssh variables
- dnl   CLEANLDFLAGS="$LDFLAGS"
- dnl   CLEANCPPFLAGS="$CPPFLAGS"
- dnl   CLEANLIBS="$LIBS"
- 
- dnl   case "$OPT_LIBSSH" in
- dnl   yes)
- dnl     dnl --with-libssh (without path) used
- dnl     CURL_CHECK_PKGCONFIG(libssh)
- 
- dnl     if test "$PKGCONFIG" != "no" ; then
- dnl       LIB_SSH=`$PKGCONFIG --libs-only-l libssh`
- dnl       LD_SSH=`$PKGCONFIG --libs-only-L libssh`
- dnl       CPP_SSH=`$PKGCONFIG --cflags-only-I libssh`
- dnl       version=`$PKGCONFIG --modversion libssh`
- dnl       DIR_SSH=`echo $LD_SSH | $SED -e 's/-L//'`
- dnl     fi
- 
- dnl     ;;
- dnl   off)
- dnl     dnl no --with-libssh option given, just check default places
- dnl     ;;
- dnl   *)
- dnl     dnl use the given --with-libssh spot
- dnl     PREFIX_SSH=$OPT_LIBSSH
- dnl     ;;
- dnl   esac
- 
- dnl   dnl if given with a prefix, we set -L and -I based on that
- dnl   if test -n "$PREFIX_SSH"; then
- dnl     LIB_SSH="-lssh"
- dnl     LD_SSH=-L${PREFIX_SSH}/lib$libsuff
- dnl     CPP_SSH=-I${PREFIX_SSH}/include
- dnl     DIR_SSH=${PREFIX_SSH}/lib$libsuff
- dnl   fi
- 
- dnl   LDFLAGS="$LDFLAGS $LD_SSH"
- dnl   CPPFLAGS="$CPPFLAGS $CPP_SSH"
- dnl   LIBS="$LIB_SSH $LIBS"
- 
- dnl   AC_CHECK_LIB(ssh, ssh_new)
- 
- dnl   AC_CHECK_HEADERS(libssh/libssh.h,
- dnl     curl_ssh_msg="enabled (libSSH)"
- dnl     LIBSSH_ENABLED=1
- dnl     AC_DEFINE(USE_LIBSSH, 1, [if libSSH is in use])
- dnl     AC_SUBST(USE_LIBSSH, [1])
- dnl   )
- 
- dnl   if test X"$OPT_LIBSSH" != Xoff &&
- dnl      test "$LIBSSH_ENABLED" != "1"; then
- dnl     AC_MSG_ERROR([libSSH libs and/or directories were not found where 
specified!])
- dnl   fi
- 
- dnl   if test "$LIBSSH_ENABLED" = "1"; then
- dnl     if test -n "$DIR_SSH"; then
- dnl        dnl when the libssh shared libs were found in a path that the 
run-time
- dnl        dnl linker doesn't search through, we need to add it to 
LD_LIBRARY_PATH
- dnl        dnl to prevent further configure tests to fail due to this
- 
- dnl        if test "x$cross_compiling" != "xyes"; then
- dnl          LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH"
- dnl          export LD_LIBRARY_PATH
- dnl          AC_MSG_NOTICE([Added $DIR_SSH to LD_LIBRARY_PATH])
- dnl        fi
- dnl     fi
- dnl   else
- dnl     dnl no libssh, revert back to clean variables
- dnl     LDFLAGS=$CLEANLDFLAGS
- dnl     CPPFLAGS=$CLEANCPPFLAGS
- dnl     LIBS=$CLEANLIBS
- dnl   fi
- dnl fi
  
  dnl **********************************************************************
  dnl Check for the presence of LIBRTMP libraries and headers
diff --cc docs/examples/hiperfifo.c
index a502d48f0,fec62b85f..eddeccd58
--- a/docs/examples/hiperfifo.c
+++ b/docs/examples/hiperfifo.c
@@@ -64,8 -64,9 +64,9 @@@ callback
  #include <time.h>
  #include <unistd.h>
  #include <sys/poll.h>
 -#include <curl/curl.h>
 +#include <gnurl/curl.h>
  #include <event2/event.h>
+ #include <event2/event_struct.h>
  #include <fcntl.h>
  #include <sys/stat.h>
  #include <errno.h>
diff --cc docs/libcurl/Makefile.am
index 39ec71ae7,041f02ea4..cdc6e10bc
--- a/docs/libcurl/Makefile.am
+++ b/docs/libcurl/Makefile.am
@@@ -33,12 -33,12 +33,12 @@@ HTMLPAGES = $(man_MANS:.3=.html
  PDFPAGES = $(man_MANS:.3=.pdf)
  
  m4macrodir = $(datadir)/aclocal
 -dist_m4macro_DATA = libcurl.m4
 +dist_m4macro_DATA = libgnurl.m4
  
  CLEANFILES = $(HTMLPAGES) $(PDFPAGES) $(TESTS) $(man_DISTMANS) \
 -  libcurl-symbols.3
 +  libgnurl-symbols.3
  
- EXTRA_DIST = $(man_MANS) index.html ABI symbols-in-versions symbols.pl  \
+ EXTRA_DIST = $(man_MANS) ABI symbols-in-versions symbols.pl  \
    mksymbolsmanpage.pl CMakeLists.txt
  MAN2HTML= roffit --mandir=. $< >$@
  
diff --cc docs/libcurl/gnurl_easy_cleanup.3
index 200323368,000000000..b399310a1
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_easy_cleanup.3
+++ b/docs/libcurl/gnurl_easy_cleanup.3
@@@ -1,68 -1,0 +1,68 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2015, 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_cleanup 3 "22 aug 2007" "libcurl 7.17.0" "libcurl Manual"
++.TH curl_easy_cleanup 3 "22 Aug 2007" "libcurl 7.17.0" "libcurl Manual"
 +.SH NAME
 +curl_easy_cleanup - End a libcurl easy handle
 +.SH SYNOPSIS
 +.B #include <gnurl/curl.h>
 +
 +.BI "void curl_easy_cleanup(CURL *" handle ");"
 +.SH DESCRIPTION
 +This function must be the last function to call for an easy session. It is the
 +opposite of the \fIcurl_easy_init(3)\fP function and must be called with the
 +same \fIhandle\fP as input that a \fIcurl_easy_init(3)\fP call returned.
 +
 +This might close all connections this handle has used and possibly has kept
 +open until now - unless it was attached to a multi handle while doing the
 +transfers. Don't call this function if you intend to transfer more files,
 +re-using handles is a key to good performance with libcurl.
 +
 +Occasionally you may get your progress callback or header callback called from
 +within \fIcurl_easy_cleanup(3)\fP (if previously set for the handle using
 +\fIcurl_easy_setopt(3)\fP). Like if libcurl decides to shut down the
 +connection and the protocol is of a kind that requires a command/response
 +sequence before disconnect. Examples of such protocols are FTP, POP3 and IMAP.
 +
 +Any use of the \fBhandle\fP after this function has been called and have
 +returned, is illegal. \fIcurl_easy_cleanup(3)\fP kills the handle and all
 +memory associated with it!
 +
 +For libcurl versions before 7.17,: after you've called this function, you can
 +safely remove all the strings you've previously told libcurl to use, as it
 +won't use them anymore now.
 +.SH RETURN VALUE
 +None
 +.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_duphandle "(3), "
 +.BR curl_easy_reset "(3), "
 +.BR curl_multi_cleanup "(3), " curl_multi_remove_handle "(3) "
diff --cc docs/libcurl/gnurl_easy_perform.3
index b8c1252b3,000000000..7d0e60c8c
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_easy_perform.3
+++ b/docs/libcurl/gnurl_easy_perform.3
@@@ -1,75 -1,0 +1,75 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2016, 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_perform 3 "5 Mar 2001" "libcurl 7.7" "libcurl Manual"
 +.SH NAME
 +curl_easy_perform - perform a blocking file transfer
 +.SH SYNOPSIS
 +.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLcode curl_easy_perform(CURL *" easy_handle ");"
 +.ad
 +.SH DESCRIPTION
 +Invoke this function after \fIcurl_easy_init(3)\fP and all the
 +\fIcurl_easy_setopt(3)\fP calls are made, and will perform the transfer as
 +described in the options. It must be called with the same \fBeasy_handle\fP as
 +input as the \fIcurl_easy_init(3)\fP call returned.
 +
 +\fIcurl_easy_perform(3)\fP performs the entire request in a blocking manner
 +and returns when done, or if it failed. For non-blocking behavior, see
 +\fIcurl_multi_perform(3)\fP.
 +
 +You can do any amount of calls to \fIcurl_easy_perform(3)\fP while using the
 +same \fBeasy_handle\fP. If you intend to transfer more than one file, you are
 +even encouraged to do so. libcurl will then attempt to re-use the same
 +connection for the following transfers, thus making the operations faster,
 +less CPU intense and using less network resources. Just note that you will
 +have to use \fIcurl_easy_setopt(3)\fP between the invokes to set options for
 +the following curl_easy_perform.
 +
 +You must never call this function simultaneously from two places using the
 +same \fBeasy_handle\fP. Let the function return first before invoking it
 +another time. If you want parallel transfers, you must use several curl
 +easy_handles.
 +
 +While the \fBeasy_handle\fP is added to a multi handle, it cannot be used by
 +\fIcurl_easy_perform(3)\fP.
 +.SH RETURN VALUE
 +CURLE_OK (0) means everything was ok, non-zero means an error occurred as
- .I <curl/curl.h>
++.I <gnurl/curl.h>
 +defines - see \fIlibcurl-errors(3)\fP. If the \fICURLOPT_ERRORBUFFER(3)\fP was
 +set with \fIcurl_easy_setopt(3)\fP there will be a readable error message in
 +the error buffer when non-zero is returned.
 +.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_setopt "(3), "
 +.BR curl_multi_add_handle "(3), " curl_multi_perform "(3), "
 +.BR libcurl-errors "(3), "
 +
diff --cc docs/libcurl/gnurl_easy_setopt.3
index cd05dd422,000000000..50983a647
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_easy_setopt.3
+++ b/docs/libcurl/gnurl_easy_setopt.3
@@@ -1,608 -1,0 +1,612 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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
 +.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
 +.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 a HTTP PUT request. See \fICURLOPT_PUT(3)\fP
++Issue an HTTP PUT request. See \fICURLOPT_PUT(3)\fP
 +.IP CURLOPT_POST
- Issue a HTTP POST request. See \fICURLOPT_POST(3)\fP
++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 a HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP
++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_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<curl/curl.h>\fP defines. See the \fIlibcurl-errors(3)\fP
++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_formadd.3
index b1215eae1,000000000..b2108c520
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_formadd.3
+++ b/docs/libcurl/gnurl_formadd.3
@@@ -1,266 -1,0 +1,266 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_formadd 3 "24 June 2002" "libcurl 7.9.8" "libcurl Manual"
 +.SH NAME
 +curl_formadd - add a section to a multipart/formdata HTTP POST
 +.SH SYNOPSIS
 +.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLFORMcode curl_formadd(struct curl_httppost ** " firstitem,
 +.BI "struct curl_httppost ** " lastitem, " ...);"
 +.ad
 +.SH DESCRIPTION
 +This function is deprecated. Do not use! See \fIcurl_mime_init(3)\fP instead!
 +
 +curl_formadd() is used to append sections when building a multipart/formdata
 +HTTP POST (sometimes referred to as RFC2388-style posts). Append one section
 +at a time until you've added all the sections you want included and then you
 +pass the \fIfirstitem\fP pointer as parameter to \fICURLOPT_HTTPPOST(3)\fP.
 +\fIlastitem\fP is set after each \fIcurl_formadd(3)\fP call and on repeated
 +invokes it should be left as set to allow repeated invokes to find the end of
 +the list faster.
 +
 +After the \fIlastitem\fP pointer follow the real arguments.
 +
 +The pointers \fIfirstitem\fP and \fIlastitem\fP should both be pointing to
 +NULL in the first call to this function. All list-data will be allocated by
 +the function itself. You must call \fIcurl_formfree(3)\fP on the
 +\fIfirstitem\fP after the form post has been done to free the resources.
 +
 +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.
 +
 +First, there are some basics you need to understand about multipart/formdata
 +posts. Each part consists of at least a NAME and a CONTENTS part. If the part
 +is made for file upload, there are also a stored CONTENT-TYPE and a FILENAME.
 +Below, we'll discuss what options you use to set these properties in the
 +parts you want to add to your post.
 +
 +The options listed first are for making normal parts. The options from
 +\fICURLFORM_FILE\fP through \fICURLFORM_BUFFERLENGTH\fP are for file upload
 +parts.
 +.SH OPTIONS
 +.IP CURLFORM_COPYNAME
 +followed by a string which provides the \fIname\fP of this part. libcurl
 +copies the string so your application doesn't need to keep it around after
 +this function call. If the name isn't NUL-terminated, you must set its length
 +with \fBCURLFORM_NAMELENGTH\fP. The \fIname\fP is not allowed to contain
 +zero-valued bytes. The copied data will be freed by \fIcurl_formfree(3)\fP.
 +.IP CURLFORM_PTRNAME
 +followed by a string which provides the \fIname\fP of this part. libcurl
 +will use the pointer and refer to the data in your application, so you
 +must make sure it remains until curl no longer needs it. If the name
 +isn't NUL-terminated, you must set its length with \fBCURLFORM_NAMELENGTH\fP.
 +The \fIname\fP is not allowed to contain zero-valued bytes.
 +.IP CURLFORM_COPYCONTENTS
 +followed by a pointer to the contents of this part, the actual data
 +to send away. libcurl copies the provided data, so your application doesn't
 +need to keep it around after this function call. If the data isn't null
 +terminated, or if you'd like it to contain zero bytes, you must
 +set the length of the name with \fBCURLFORM_CONTENTSLENGTH\fP. The copied
 +data will be freed by \fIcurl_formfree(3)\fP.
 +.IP CURLFORM_PTRCONTENTS
 +followed by a pointer to the contents of this part, the actual data
 +to send away. libcurl will use the pointer and refer to the data in your
 +application, so you must make sure it remains until curl no longer needs it.
 +If the data isn't NUL-terminated, or if you'd like it to contain zero bytes,
 +you must set its length  with \fBCURLFORM_CONTENTSLENGTH\fP.
 +.IP CURLFORM_CONTENTLEN
 +followed by a curl_off_t value giving the length of the contents. Note that
 +for \fICURLFORM_STREAM\fP contents, this option is mandatory.
 +
 +If you pass a 0 (zero) for this option, libcurl will instead do a strlen() on
 +the contents to figure out the size. If you really want to send a zero byte
 +content then you must make sure strlen() on the data pointer returns zero.
 +
 +(Option added in 7.46.0)
 +.IP CURLFORM_CONTENTSLENGTH
 +(This option is deprecated. Use \fICURLFORM_CONTENTLEN\fP instead!)
 +
 +followed by a long giving the length of the contents. Note that for
 +\fICURLFORM_STREAM\fP contents, this option is mandatory.
 +
 +If you pass a 0 (zero) for this option, libcurl will instead do a strlen() on
 +the contents to figure out the size. If you really want to send a zero byte
 +content then you must make sure strlen() on the data pointer returns zero.
 +.IP CURLFORM_FILECONTENT
 +followed by a filename, causes that file to be read and its contents used
 +as data in this part. This part does \fInot\fP automatically become a file
 +upload part simply because its data was read from a file.
 +
 +The specified file needs to kept around until the associated transfer is done.
 +.IP CURLFORM_FILE
 +followed by a filename, makes this part a file upload part. It sets the
 +\fIfilename\fP field to the basename of the provided filename, it reads the
 +contents of the file and passes them as data and sets the content-type if the
 +given file match one of the internally known file extensions.  For
 +\fBCURLFORM_FILE\fP the user may send one or more files in one part by
 +providing multiple \fBCURLFORM_FILE\fP arguments each followed by the filename
 +(and each \fICURLFORM_FILE\fP is allowed to have a
 +\fICURLFORM_CONTENTTYPE\fP).
 +
 +The given upload file has to exist in its full in the file system already when
 +the upload starts, as libcurl needs to read the correct file size beforehand.
 +
 +The specified file needs to kept around until the associated transfer is done.
 +.IP CURLFORM_CONTENTTYPE
 +is used in combination with \fICURLFORM_FILE\fP. Followed by a pointer to a
 +string which provides the content-type for this part, possibly instead of an
 +internally chosen one.
 +.IP CURLFORM_FILENAME
 +is used in combination with \fICURLFORM_FILE\fP. Followed by a pointer to a
 +string, it tells libcurl to use the given string as the \fIfilename\fP in the
 +file upload part instead of the actual file name.
 +.IP CURLFORM_BUFFER
 +is used for custom file upload parts without use of \fICURLFORM_FILE\fP.  It
 +tells libcurl that the file contents are already present in a buffer.  The
 +parameter is a string which provides the \fIfilename\fP field in the content
 +header.
 +.IP CURLFORM_BUFFERPTR
 +is used in combination with \fICURLFORM_BUFFER\fP. The parameter is a pointer
 +to the buffer to be uploaded. This buffer must not be freed until after
 +\fIcurl_easy_cleanup(3)\fP is called. You must also use
 +\fICURLFORM_BUFFERLENGTH\fP to set the number of bytes in the buffer.
 +.IP CURLFORM_BUFFERLENGTH
 +is used in combination with \fICURLFORM_BUFFER\fP. The parameter is a
 +long which gives the length of the buffer.
 +.IP CURLFORM_STREAM
 +Tells libcurl to use the \fICURLOPT_READFUNCTION(3)\fP callback to get
 +data. The parameter you pass to \fICURLFORM_STREAM\fP is the pointer passed on
 +to the read callback's fourth argument. If you want the part to look like a
 +file upload one, set the \fICURLFORM_FILENAME\fP parameter as well. Note that
 +when using \fICURLFORM_STREAM\fP, \fICURLFORM_CONTENTSLENGTH\fP must also be
 +set with the total expected length of the part unless the formpost is sent
 +chunked encoded. (Option added in libcurl 7.18.2)
 +.IP CURLFORM_ARRAY
 +Another possibility to send options to curl_formadd() is the
 +\fBCURLFORM_ARRAY\fP option, that passes a struct curl_forms array pointer as
 +its value. Each curl_forms structure element has a CURLformoption and a char
 +pointer. The final element in the array must be a CURLFORM_END. All available
 +options can be used in an array, except the CURLFORM_ARRAY option itself!  The
 +last argument in such an array must always be \fBCURLFORM_END\fP.
 +.IP CURLFORM_CONTENTHEADER
 +specifies extra headers for the form POST section.  This takes a curl_slist
 +prepared in the usual way using \fBcurl_slist_append\fP and appends the list
 +of headers to those libcurl automatically generates. The list must exist while
 +the POST occurs, if you free it before the post completes you may experience
 +problems.
 +
 +When you've passed the HttpPost pointer to \fIcurl_easy_setopt(3)\fP (using
 +the \fICURLOPT_HTTPPOST(3)\fP option), you must not free the list until after
 +you've called \fIcurl_easy_cleanup(3)\fP for the curl handle.
 +
 +See example below.
 +.SH AVAILABILITY
 +Deprecated in 7.56.0. Before this release, field names were allowed to
 +contain zero-valued bytes. The pseudo-filename "-" to read stdin is
 +discouraged although still supported, but data is not read before being
 +actually sent: the effective data size can then not be automatically
 +determined, resulting in a chunked encoding transfer.
 +.SH RETURN VALUE
 +0 means everything was ok, non-zero means an error occurred corresponding
 +to a CURL_FORMADD_* constant defined in
- .I <curl/curl.h>
++.I <gnurl/curl.h>
 +.SH EXAMPLE
 +.nf
 +
 + struct curl_httppost* post = NULL;
 + struct curl_httppost* last = NULL;
 + char namebuffer[] = "name buffer";
 + long namelength = strlen(namebuffer);
 + char buffer[] = "test buffer";
 + char htmlbuffer[] = "<HTML>test buffer</HTML>";
 + long htmlbufferlength = strlen(htmlbuffer);
 + struct curl_forms forms[3];
 + char file1[] = "my-face.jpg";
 + char file2[] = "your-face.jpg";
 + /* add null character into htmlbuffer, to demonstrate that
 +    transfers of buffers containing null characters actually work
 + */
 + htmlbuffer[8] = '\\0';
 +
 + /* Add simple name/content section */
 + curl_formadd(&post, &last, CURLFORM_COPYNAME, "name",
 +              CURLFORM_COPYCONTENTS, "content", CURLFORM_END);
 +
 + /* Add simple name/content/contenttype section */
 + curl_formadd(&post, &last, CURLFORM_COPYNAME, "htmlcode",
 +              CURLFORM_COPYCONTENTS, "<HTML></HTML>",
 +              CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
 +
 + /* Add name/ptrcontent section */
 + curl_formadd(&post, &last, CURLFORM_COPYNAME, "name_for_ptrcontent",
 +              CURLFORM_PTRCONTENTS, buffer, CURLFORM_END);
 +
 + /* Add ptrname/ptrcontent section */
 + curl_formadd(&post, &last, CURLFORM_PTRNAME, namebuffer,
 +              CURLFORM_PTRCONTENTS, buffer, CURLFORM_NAMELENGTH,
 +              namelength, CURLFORM_END);
 +
 + /* Add name/ptrcontent/contenttype section */
 + curl_formadd(&post, &last, CURLFORM_COPYNAME, "html_code_with_hole",
 +              CURLFORM_PTRCONTENTS, htmlbuffer,
 +              CURLFORM_CONTENTSLENGTH, htmlbufferlength,
 +              CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
 +
 + /* Add simple file section */
 + curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture",
 +              CURLFORM_FILE, "my-face.jpg", CURLFORM_END);
 +
 + /* Add file/contenttype section */
 + curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture",
 +              CURLFORM_FILE, "my-face.jpg",
 +              CURLFORM_CONTENTTYPE, "image/jpeg", CURLFORM_END);
 +
 + /* Add two file section */
 + curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures",
 +              CURLFORM_FILE, "my-face.jpg",
 +              CURLFORM_FILE, "your-face.jpg", CURLFORM_END);
 +
 + /* Add two file section using CURLFORM_ARRAY */
 + forms[0].option = CURLFORM_FILE;
 + forms[0].value  = file1;
 + forms[1].option = CURLFORM_FILE;
 + forms[1].value  = file2;
 + forms[2].option  = CURLFORM_END;
 +
 + /* Add a buffer to upload */
 + curl_formadd(&post, &last,
 +              CURLFORM_COPYNAME, "name",
 +              CURLFORM_BUFFER, "data",
 +              CURLFORM_BUFFERPTR, record,
 +              CURLFORM_BUFFERLENGTH, record_length,
 +              CURLFORM_END);
 +
 + /* no option needed for the end marker */
 + curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures",
 +              CURLFORM_ARRAY, forms, CURLFORM_END);
 + /* Add the content of a file as a normal post text value */
 + curl_formadd(&post, &last, CURLFORM_COPYNAME, "filecontent",
 +              CURLFORM_FILECONTENT, ".bashrc", CURLFORM_END);
 + /* Set the form info */
 + curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
 +
 +.SH "SEE ALSO"
 +.BR curl_easy_setopt "(3),"
 +.BR curl_formfree "(3),"
 +.BR curl_mime_init "(3)"
diff --cc docs/libcurl/gnurl_global_init.3
index f4cd5d6df,000000000..585c79af8
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_global_init.3
+++ b/docs/libcurl/gnurl_global_init.3
@@@ -1,101 -1,0 +1,101 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_global_init 3 "11 May 2004" "libcurl 7.12" "libcurl Manual"
 +.SH NAME
 +curl_global_init - Global libcurl initialisation
 +.SH SYNOPSIS
 +.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLcode curl_global_init(long " flags ");"
 +.ad
 +.SH DESCRIPTION
 +This function sets up the program environment that libcurl needs.  Think of it
 +as an extension of the library loader.
 +
 +This function must be called at least once within a program (a program is all
 +the code that shares a memory space) before the program calls any other
 +function in libcurl.  The environment it sets up is constant for the life of
 +the program and is the same for every program, so multiple calls have the same
 +effect as one call.
 +
 +The flags option is a bit pattern that tells libcurl exactly what features to
 +init, as described below. Set the desired bits by ORing the values together.
 +In normal operation, you must specify CURL_GLOBAL_ALL.  Don't use any other
 +value unless you are familiar with it and mean to control internal operations 
of
 +libcurl.
 +
 +\fBThis function is not thread safe.\fP You must not call it when any other
 +thread in the program (i.e. a thread sharing the same memory) is running.
 +This doesn't just mean no other thread that is using libcurl.  Because
 +\fIcurl_global_init(3)\fP calls functions of other libraries that are
 +similarly thread unsafe, it could conflict with any other thread that uses
 +these other libraries.
 +
 +If you are initializing libcurl from a Windows DLL you should not initialize 
it
 +from DllMain or a static initializer because Windows holds the loader lock
 +during that time and it could cause a deadlock.
 +
 +See the description in \fIlibcurl(3)\fP of global environment requirements for
 +details of how to use this function.
 +.SH FLAGS
 +.IP CURL_GLOBAL_ALL
 +Initialize everything possible. This sets all known bits except
 +\fBCURL_GLOBAL_ACK_EINTR\fP.
 +
 +.IP CURL_GLOBAL_SSL
 +(This flag's presence or absence serves no meaning since 7.57.0. The
 +description below is for older libcurl versions.)
 +
 +Initialize SSL.
 +
 +The implication here is that if this bit is not set, the initialization of the
 +SSL layer needs to be done by the application or at least outside of
- libcurl. The exact procedure how to do SSL initializtion depends on the TLS
++libcurl. The exact procedure how to do SSL initialization depends on the TLS
 +backend libcurl uses.
 +
 +Doing TLS based transfers without having the TLS layer initialized may lead to
 +unexpected behaviors.
 +.IP CURL_GLOBAL_WIN32
 +Initialize the Win32 socket libraries.
 +
 +The implication here is that if this bit is not set, the initialization of
 +winsock has to be done by the application or you risk getting undefined
 +behaviors. This option exists for when the initialization is handled outside
 +of libcurl so there's no need for libcurl to do it again.
 +.IP CURL_GLOBAL_NOTHING
 +Initialise nothing extra. This sets no bit.
 +.IP CURL_GLOBAL_DEFAULT
 +A sensible default. It will init both SSL and Win32. Right now, this equals
 +the functionality of the \fBCURL_GLOBAL_ALL\fP mask.
 +.IP CURL_GLOBAL_ACK_EINTR
 +When this flag is set, curl will acknowledge EINTR condition when connecting
 +or when waiting for data.  Otherwise, curl waits until full timeout
 +elapses. (Added in 7.30.0)
 +.SH RETURN VALUE
 +If this function returns non-zero, something went wrong and you cannot use the
 +other curl functions.
 +.SH "SEE ALSO"
 +.BR curl_global_init_mem "(3), "
 +.BR curl_global_cleanup "(3), "
 +.BR curl_global_sslset "(3), "
 +.BR curl_easy_init "(3) "
 +.BR libcurl "(3) "
diff --cc docs/libcurl/gnurl_global_sslset.3
index cee84458f,000000000..cdd80d64b
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_global_sslset.3
+++ b/docs/libcurl/gnurl_global_sslset.3
@@@ -1,97 -1,0 +1,100 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_global_sslset 3 "15 July 2017" "libcurl 7.56" "libcurl Manual"
 +.SH NAME
 +curl_global_sslset - Select SSL backend to use with libcurl
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.nf
 +
 +typedef struct {
 +  curl_sslbackend id;
 +  const char *name;
 +} curl_ssl_backend;
 +
 +typedef enum {
 +  CURLSSLBACKEND_NONE = 0,
 +  CURLSSLBACKEND_OPENSSL = 1,
 +  CURLSSLBACKEND_GNUTLS = 2,
 +  CURLSSLBACKEND_NSS = 3,
 +  CURLSSLBACKEND_GSKIT = 5,
 +  CURLSSLBACKEND_POLARSSL = 6,
 +  CURLSSLBACKEND_WOLFSSL = 7,
 +  CURLSSLBACKEND_SCHANNEL = 8,
 +  CURLSSLBACKEND_DARWINSSL = 9,
 +  CURLSSLBACKEND_AXTLS = 10,
 +  CURLSSLBACKEND_MBEDTLS = 11
 +} curl_sslbackend;
 +
 +.B "CURLsslset curl_global_sslset(curl_sslbackend " id,
 +.B "                              const char *" name,
 +.B "                              curl_ssl_backend ***" avail ");"
 +.fi
 +.SH DESCRIPTION
 +This function configures at runtime which SSL backend to use with
 +libcurl. This function can only be used to select an SSL backend once, and it
 +must be called \fBbefore\fP \fIcurl_global_init(3)\fP.
 +
 +The backend can be identified by the \fIid\fP
 +(e.g. \fBCURLSSLBACKEND_OPENSSL\fP). The backend can also be specified via the
 +\fIname\fP parameter for a case insensitive match (passing -1 as \fIid\fP). If
 +both \fIid\fP and \fIname\fP are specified, the \fIname\fP will be ignored.
 +
 +If neither \fIid\fP nor \fPname\fP are specified, the function will fail with
 +CURLSSLSET_UNKNOWN_BACKEND and set the \fIavail\fP pointer to the
 +NULL-terminated list of available backends. The available backends are those
 +that this particular build of libcurl supports.
 +
++Since libcurl 7.60.0, the \fIavail\fP pointer will always be set to the list
++of alternatives if non-NULL.
++
 +Upon success, the function returns CURLSSLSET_OK.
 +
 +If the specified SSL backend is not available, the function returns
 +CURLSSLSET_UNKNOWN_BACKEND and sets the \fIavail\fP pointer to a
 +NULL-terminated list of available SSL backends. In this case, you may call the
 +function again to try to select a different backend.
 +
 +The SSL backend can be set only once. If it has already been set, a subsequent
 +attempt to change it will result in a \fBCURLSSLSET_TOO_LATE\fP.
 +
 +\fBThis function is not thread safe.\fP You must not call it when any other
 +thread in the program (i.e. a thread sharing the same memory) is running.
 +This doesn't just mean no other thread that is using libcurl.
 +
 +.SH AVAILABILITY
 +This function was added in libcurl 7.56.0. Before this version, there was no
 +support for choosing SSL backends at runtime.
 +.SH RETURN VALUE
 +If this function returns CURLSSLSET_OK, the backend was successfully selected.
 +
- If the chosen backend is unknown (or support for the chosed backend has not
++If the chosen backend is unknown (or support for the chosen backend has not
 +been compiled into libcurl), the function returns 
\fICURLSSLSET_UNKNOWN_BACKEND\fP.
 +
 +If the backend had been configured previously, or if \fIcurl_global_init(3)\fP
 +has already been called, the function returns \fICURLSSLSET_TOO_LATE\fP.
 +
 +If this libcurl was built completely without SSL support, with no backends at
 +all, this function returns \fICURLSSLSET_NO_BACKENDS\fP.
 +.SH "SEE ALSO"
 +.BR curl_global_init "(3), "
 +.BR libcurl "(3) "
diff --cc docs/libcurl/gnurl_mime_addpart.3
index 22350668a,000000000..9b3eb272e
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_addpart.3
+++ b/docs/libcurl/gnurl_mime_addpart.3
@@@ -1,66 -1,0 +1,66 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_mime_addpart 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_addpart - append a new empty part to a mime structure
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "curl_mimepart * curl_mime_addpart(curl_mime * " mime ");"
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_addpart(3)\fP creates and appends a new empty part to the given
 +mime structure and returns a handle to it.  The returned part handle can
 +subsequently be populated using functions from the mime API.
 +
 +\fImime\fP is the handle of the mime structure in which the new part must be
 +appended.
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +A mime part structure handle, or NULL upon failure.
 +.SH EXAMPLE
 +.nf
 + curl_mime *mime;
 + curl_mimepart *part;
 +
 + /* create a mime handle */
 + mime = curl_mime_init(easy);
 +
 + /* add a part */
 + part = curl_mime_addpart(mime);
 +
 + /* continue and set name + data to the part */
 + curl_mime_data(part, "This is the field data", CURL_ZERO_TERMINATED);
 + curl_mime_name(part, "data");
 +.fi
 +.SH "SEE ALSO"
 +.BR curl_mime_init "(3),"
 +.BR curl_mime_name "(3),"
 +.BR curl_mime_data "(3),"
 +.BR curl_mime_data_cb "(3),"
 +.BR curl_mime_filedata "(3),"
 +.BR curl_mime_filename "(3),"
 +.BR curl_mime_subparts "(3),"
 +.BR curl_mime_type "(3),"
 +.BR curl_mime_headers "(3),"
 +.BR curl_mime_encoder "(3)"
diff --cc docs/libcurl/gnurl_mime_data.3
index d2112f2d4,000000000..93830ee54
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_data.3
+++ b/docs/libcurl/gnurl_mime_data.3
@@@ -1,69 -1,0 +1,69 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_mime_data 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_data - set a mime part's body data from memory
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLcode curl_mime_data(curl_mimepart * " part ", const char * " data
 +.BI ", size_t " datasize ");"
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_data(3)\fP sets a mime part's body content from memory data.
 +
 +\fIdata\fP points to the data bytes: those are copied to the part and their
 +storage may safely be reused after call.
 +\fIdatasize\fP is the number of data bytes: it can be set to
 +\fICURL_ZERO_TERMINATED\fP to indicate \fIdata\fP is a nul-terminated
 +character string.
 +\fIpart\fP is the part's to assign contents to.
 +
 +Setting a part's contents twice is valid: only the value set by the last call
 +is retained. It is possible to unassign part's contents by setting
 +\fIdata\fP to NULL.
 +
 +Setting very large data is memory consuming: one might consider using
 +\fIcurl_mime_data_cb(3)\fP in such a case.
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +CURLE_OK or a CURL error code upon failure.
 +.SH EXAMPLE
 +.nf
 + curl_mime *mime;
 + curl_mimepart *part;
 +
 + /* create a mime handle */
 + mime = curl_mime_init(easy);
 +
 + /* add a part */
 + part = curl_mime_addpart(mime);
 +
 + /* add data to the part  */
 + curl_mime_data(part, "raw contents to send", CURL_ZERO_TERMINATED);
 +.fi
 +.SH "SEE ALSO"
 +.BR curl_mime_addpart "(3),"
 +.BR curl_mime_data_cb "(3),"
 +.BR curl_mime_name "(3),"
 +.BR curl_mime_type "(3)"
diff --cc docs/libcurl/gnurl_mime_data_cb.3
index 105968a0e,000000000..d6d06153a
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_data_cb.3
+++ b/docs/libcurl/gnurl_mime_data_cb.3
@@@ -1,167 -1,0 +1,167 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_mime_data_cb 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_data_cb - set a callback-based data source for a mime part's body
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +size_t readfunc(char *buffer, size_t size, size_t nitems, void *arg);
 +.br
 +int seekfunc(void *arg, curl_off_t offset, int origin);
 +.br
 +void freefunc(void *arg);
 +.sp
 +.BI "CURLcode curl_mime_data_cb(curl_mimepart * " part ", curl_off_t " 
datasize ,
 +.br
 +.BI "        curl_read_callback " readfunc ", curl_seek_callback " seekfunc ,
 +.br
 +.BI "        curl_free_callback " freefunc ", void * " arg ");"
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_data_cb(3)\fP sets the data source of a mime part's body content
 +from a data read callback function.
 +
 +\fIpart\fP is the part's to assign contents to.
 +
 +\fIreadfunc\fP is a pointer to a data read callback function, with a signature
 +as shown by the above prototype. It may not be set to NULL.
 +
 +\fIseekfunc\fP is a pointer to a seek callback function, with a signature as
 +shown by the above prototype. This function will be used upon resending data
 +(i.e.: after a redirect); this pointer may be set to NULL, in which case a
 +resend is not possible.
 +
 +\fIfreefunc\fP is a pointer to a user resource freeing callback function, with
 +a signature as shown by the above prototype. If no resource is to be freed, it
 +may safely be set to NULL. This function will be called upon mime structure
 +freeing.
 +
 +\fIarg\fP is a user defined argument to callback functions.
 +
 +The read callback function gets called by libcurl as soon as it needs to
 +read data in order to send it to the peer - like if you ask it to upload or
 +post data to the server. The data area pointed at by the pointer \fIbuffer\fP
 +should be filled up with at most \fIsize\fP multiplied with \fInmemb\fP number
 +of bytes by your function.
 +
 +Your read function must then return the actual number of bytes that it stored
 +in that memory area. Returning 0 will signal end-of-file to the library and
 +cause it to stop the current transfer.
 +
- If you stop the current transfer by returning 0 "pre-maturely" (i.e before the
++If you stop the current transfer by returning 0 "pre-maturely" (i.e. before 
the
 +server expected it, like when you've said you will upload N bytes and you
 +upload less than N bytes), you may experience that the server "hangs" waiting
 +for the rest of the data that won't come.
 +
 +The read callback may return \fICURL_READFUNC_ABORT\fP to stop the current
 +operation immediately, resulting in a \fICURLE_ABORTED_BY_CALLBACK\fP error
 +code from the transfer.
 +
 +The callback can return \fICURL_READFUNC_PAUSE\fP to cause reading from this
 +connection to pause. See \fIcurl_easy_pause(3)\fP for further details.
 +
 +The seek function gets called by libcurl to rewind input stream data or to
 +seek to a certain position. The function shall work like fseek(3) or lseek(3)
 +and it gets SEEK_SET, SEEK_CUR or SEEK_END as argument for \fIorigin\fP,
 +although libcurl currently only passes SEEK_SET.
 +
 +The callback function must return \fICURL_SEEKFUNC_OK\fP on success,
 +\fICURL_SEEKFUNC_FAIL\fP to cause the upload operation to fail or
 +\fICURL_SEEKFUNC_CANTSEEK\fP to indicate that while the seek failed, libcurl
 +is free to work around the problem if possible. The latter can sometimes be
 +done by instead reading from the input or similar.
 +
 +Care must be taken if the part is bound to a curl easy handle that is later
 +duplicated: the \fIarg\fP pointer argument is also duplicated, resulting in
 +the pointed item to be shared between the original and the copied handle.
 +In particular, special attention should be given to the \fIfreefunc\fP
 +procedure code since it will be called twice with the same argument.
 +
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +CURLE_OK or a CURL error code upon failure.
 +.SH EXAMPLE
 +Sending a huge data string will cause the same amount of memory to be
 +allocated: to avoid overhead resources consumption, one might want to use a
 +callback source to avoid data duplication. In this case, original data
 +must be retained until after the transfer terminates.
 +.nf
 +
 +char hugedata[512000];
 +
 +struct ctl {
 +  char *buffer;
 +  curl_off_t size;
 +  curl_off_t position;
 +};
 +
 +size_t read_callback(char *buffer, size_t size, size_t nitems, void *arg)
 +{
 +  struct ctl *p = (struct ctl *) arg;
 +  curl_off_t sz = p->size - p->position;
 +
 +  nitems *= size;
 +  if(sz > nitems)
 +    sz = nitems;
 +  if(sz)
 +    memcpy(buffer, p->buffer + p->position, sz);
 +  p->position += sz;
 +  return sz;
 +}
 +
 +int seek_callback(void *arg, curl_off_t offset, int origin)
 +{
 +  struct ctl *p = (struct ctl *) arg;
 +
 +  switch(origin) {
 +  case SEEK_END:
 +    offset += p->size;
 +    break;
 +  case SEEK_CUR:
 +    offset += p->position;
 +    break;
 +  }
 +
 +  if(offset < 0)
 +    return CURL_SEEKFUNC_FAIL;
 +  p->position = offset;
 +  return CURL_SEEKFUNC_OK;
 +}
 +
 + CURL *easy = curl_easy_init();
 + curl_mime *mime = curl_mime_init(easy);
 + curl_mimepart *part = curl_mime_addpart(mime);
 + struct ctl hugectl;
 +
 + hugectl.buffer = hugedata;
 + hugectl.size = sizeof hugedata;
 + hugectl.position = 0;
 + curl_mime_data_cb(part, hugectl.size, read_callback, seek_callback, NULL,
 +                   &hugectl);
 +
 +.SH "SEE ALSO"
 +.BR curl_mime_addpart "(3),"
 +.BR curl_mime_data "(3),"
 +.BR curl_mime_name "(3),"
 +.BR curl_easy_duphandle "(3)"
diff --cc docs/libcurl/gnurl_mime_encoder.3
index c17cf25b3,000000000..5e3fdad2d
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_encoder.3
+++ b/docs/libcurl/gnurl_mime_encoder.3
@@@ -1,97 -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 curl_mime_encoder 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_encoder - set a mime part's encoder and content transfer encoding
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLcode curl_mime_encoder(curl_mimepart * " part ,
 +.BI "const char * " encoding ");"
 +.ad
 +.SH DESCRIPTION
 +curl_mime_encoder() requests a mime part's content to be encoded before being
 +transmitted.
 +
 +\fIpart\fP is the part's handle to assign an encoder.
 +\fIencoding\fP is a pointer to a zero-terminated encoding scheme. It may be
 +set to NULL to disable an encoder previously attached to the part. The 
encoding
 +scheme storage may safely be reused after this function returns.
 +
 +Setting a part's encoder twice is valid: only the value set by the last call 
is
 +retained.
 +
 +Upon multipart rendering, the part's content is encoded according to the
 +pertaining scheme and a corresponding \fIContent-Transfer-Encoding"\fP header
 +is added to the part.
 +
 +Supported encoding schemes are:
 +.br
 +"\fIbinary\fP": the data is left unchanged, the header is added.
 +.br
 +"\fI8bit\fP": header added, no data change.
 +.br
 +"\fI7bit\fP": the data is unchanged, but is each byte is checked
 +to be a 7-bit value; if not, a read error occurs.
 +.br
 +"\fIbase64\fP": Data is converted to base64 encoding, then split in
 +CRLF-terminated lines of at most 76 characters.
 +.br
 +"\fIquoted-printable\fP": data is encoded in quoted printable lines of
 +at most 76 characters. Since the resulting size of the final data cannot be
 +determined prior to reading the original data, it is left as unknown, causing
 +chunked transfer in HTTP. For the same reason, this encoder may not be used
 +with IMAP. This encoder targets text data that is mostly ASCII and should
 +not be used with other types of data.
 +
 +If the original data is already encoded in such a scheme, a custom
 +\fIContent-Transfer-Encoding\fP header should be added with
 +\FIcurl_mime_headers\fP() instead of setting a part encoder.
 +
 +Encoding should not be applied to multiparts, thus the use of this
 +function on a part with content set with \fIcurl_mime_subparts\fP() is
 +strongly discouraged.
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +CURLE_OK or a CURL error code upon failure.
 +.SH EXAMPLE
 +.nf
 + curl_mime *mime;
 + curl_mimepart *part;
 +
 + /* create a mime handle */
 + mime = curl_mime_init(easy);
 +
 + /* add a part */
 + part = curl_mime_addpart(mime);
 +
 + /* send a file */
 + curl_mime_filedata(part, "image.png");
 +
 + /* encode file data in base64 for transfer */
 + curl_mime_encoder(part, "base64");
 +.fi
 +.SH "SEE ALSO"
 +.BR curl_mime_addpart "(3),"
 +.BR curl_mime_headers "(3),"
 +.BR curl_mime_subparts "(3)"
diff --cc docs/libcurl/gnurl_mime_filedata.3
index c7b76371a,000000000..5743d27bf
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_filedata.3
+++ b/docs/libcurl/gnurl_mime_filedata.3
@@@ -1,84 -1,0 +1,84 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_mime_filedata 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_filedata - set a mime part's body data from a file contents
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLcode curl_mime_filedata(curl_mimepart * " part ,
 +.BI " const char * " filename ");"
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_filedata(3)\fP sets a mime part's body content from the named
- file's contents. This is an alernative to \fIcurl_mime_data(3)\fP for setting
++file's contents. This is an alternative to \fIcurl_mime_data(3)\fP for setting
 +data to a mime part.
 +
 +\fIpart\fP is the part's to assign contents to.
 +
 +\fIfilename\fP points to the nul-terminated file's path name. The pointer can
 +be NULL to detach the previous part contents settings.  Filename storage can 
be
 +safely be reused after this call.
 +
 +As a side effect, the part's remote file name is set to the base name of the
 +given \fIfilename\fP if it is a valid named file. This can be undone or
 +overridden by a subsequent call to \fIcurl_mime_filename(3)\fP.
 +
 +The contents of the file is read during the file transfer in a streaming
 +manner to allow huge files to get transferred without using much memory. It
 +therefore requires that the file is kept intact during the entire request.
 +
 +If the file size cannot be determined before actually reading it (such as for
 +a device or named pipe), the whole mime structure containing the part
 +will be transferred as chunks by HTTP and rejected by IMAP.
 +
 +Setting a part's contents twice is valid: only the value set by the last call
 +is retained.
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +CURLE_OK or a CURL error code upon failure. CURLE_READ_ERROR is only an
 +indication that the file is not yet readable: it can be safely ignored at
 +this time, but the file must be made readable before the pertaining
 +easy handle is performed.
 +.SH EXAMPLE
 +.nf
 + curl_mime *mime;
 + curl_mimepart *part;
 +
 + /* create a mime handle */
 + mime = curl_mime_init(easy);
 +
 + /* add a part */
 + part = curl_mime_addpart(mime);
 +
 + /* send data from this file */
 + curl_mime_filedata(part, "image.png");
 +
 + /* set name */
 + curl_mime_name(part, "data");
 +.fi
 +.SH "SEE ALSO"
 +.BR curl_mime_addpart "(3),"
 +.BR curl_mime_data "(3),"
 +.BR curl_mime_filename "(3),"
 +.BR curl_mime_name "(3)"
diff --cc docs/libcurl/gnurl_mime_filename.3
index 42916e598,000000000..6e7a698a1
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_filename.3
+++ b/docs/libcurl/gnurl_mime_filename.3
@@@ -1,72 -1,0 +1,72 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_mime_filename 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_filename - set a mime part's remote file name
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLcode curl_mime_filename(curl_mimepart * " part ,
 +.BI "const char * " filename ");"
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_filename(3)\fP sets a mime part's remote file name. When remote
 +file name is set, content data is processed as a file, whatever is the part's
 +content source. A part's remote file name is transmitted to the server in the
 +associated Content-Disposition generated header.
 +
 +\fIpart\fP is the part's handle to assign the remote file name to.
 +
 +\fIfilename\fP points to the nul-terminated file name string; it may be set to
 +NULL to remove a previously attached remote file name.
 +
 +The remote file name string is copied into the part, thus the associated
 +storage may safely be released or reused after call. Setting a part's file
 +name twice is valid: only the value set by the last call is retained.
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +CURLE_OK or a CURL error code upon failure.
 +.SH EXAMPLE
 +.nf
 + curl_mime *mime;
 + curl_mimepart *part;
 +
 + /* create a mime handle */
 + mime = curl_mime_init(easy);
 +
 + /* add a part */
 + part = curl_mime_addpart(mime);
 +
 + /* send image data from memory */
 + curl_mime_data(part, imagebuf, imagebuf_len);
 +
 + /* set a file name to make it look like a file upload */
 + curl_mime_filename(part, "image.png");
 +
 + /* set name */
 + curl_mime_name(part, "data");
 +.fi
 +.SH "SEE ALSO"
 +.BR curl_mime_addpart "(3),"
 +.BR curl_mime_filedata "(3),"
 +.BR curl_mime_data "(3)"
diff --cc docs/libcurl/gnurl_mime_free.3
index 9394b5748,000000000..48de206f6
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_free.3
+++ b/docs/libcurl/gnurl_mime_free.3
@@@ -1,48 -1,0 +1,48 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_mime_free 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_free - free a previously built mime structure
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "void curl_mime_free(curl_mime *" mime);
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_free(3)\fP is used to clean up data previously built/appended
 +with \fIcurl_mime_addpart(3)\fP and other mime-handling functions.  This must
 +be called when the data has been used, which typically means after
 +\fIcurl_easy_perform(3)\fP has been called.
 +
 +The handle to free is the one you passed to
 +the \fICURLOPT_MIMEPOST(3)\fP option: attached subparts mime structures must
 +not be explicitly freed as they are by the top structure freeing.
 +
 +\fBmime\fP is the handle as returned from a previous call to
 +\fIcurl_mime_init(3)\fP and may be NULL.
 +
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +None
 +.SH "SEE ALSO"
 +.BR curl_mime_init "(3)"
diff --cc docs/libcurl/gnurl_mime_headers.3
index 1d02e1ee5,000000000..ca56f3da2
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_headers.3
+++ b/docs/libcurl/gnurl_mime_headers.3
@@@ -1,65 -1,0 +1,65 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_mime_headers 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_headers - set a mime part's custom headers
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLcode curl_mime_headers(curl_mimepart * " part ,
 +.BI "struct curl_slist * " headers ", int " take_ownership ");"
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_headers(3)\fP sets a mime part's custom headers.
 +
 +\fIpart\fP is the part's handle to assign the custom headers list to.
 +
 +\fIheaders\fP is the head of a list of custom headers; it may be set to NULL
 +to remove a previously attached custom header list.
 +
 +\fItake_ownership\fP: when non-zero, causes the list to be freed upon
 +replacement or mime structure deletion; in this case the list must not be
 +freed explicitly.
 +
 +Setting a part's custom headers list twice is valid: only the value set by
 +the last call is retained.
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +CURLE_OK or a CURL error code upon failure.
 +.SH EXAMPLE
 +.nf
 + struct curl_slist *headers = NULL;
 +
 + headers = curl_slist_append("Custom-Header: mooo", headers);
 +
 + /* use these headers, please take ownership */
 + curl_mime_headers(part, headers, TRUE);
 +
 + /* pass on this data */
 + curl_mime_data(part, "12345679", CURL_ZERO_TERMINATED);
 +
 + /* set name */
 + curl_mime_name(part, "numbers");
 +.fi
 +.SH "SEE ALSO"
 +.BR curl_mime_addpart "(3)"
diff --cc docs/libcurl/gnurl_mime_init.3
index 469f02b7c,000000000..c5f0fec5e
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_init.3
+++ b/docs/libcurl/gnurl_mime_init.3
@@@ -1,69 -1,0 +1,69 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_mime_init 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_init - create a mime handle
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "curl_mime * curl_mime_init(CURL * " easy_handle ");"
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_init(3)\fP creates a handle to a new empty mime structure
 +intended to be used with \fIeasy_handle\fP. This mime structure can be
 +subsequently filled using the mime API, then attached to \fIeasy_handle\fP
 +using option \fICURLOPT_MIMEPOST(3)\fP within a \fIcurl_easy_setopt(3)\fP
 +call.
 +
 +Using a mime handle is the recommended way to post an HTTP form, format and
 +send a multi-part e-mail with SMTP or upload such an e-mail to an IMAP server.
 +
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +A mime struct handle, or NULL upon failure.
 +.SH EXAMPLE
 +.nf
 +
 + CURL *easy = curl_easy_init();
 + curl_mime *mime;
 + curl_mimepart *part;
 +
 + /* Build an HTTP form with a single field named "data", */
 + mime = curl_mime_init(easy);
 + part = curl_mime_addpart(mime);
 + curl_mime_data(part, "This is the field data", CURL_ZERO_TERMINATED);
 + curl_mime_name(part, "data");
 +
 + /* Post and send it. */
 + curl_easy_setopt(easy, CURLOPT_MIMEPOST, mime);
 + curl_easy_setopt(easy, CURLOPT_URL, "http://example.com";);
 + curl_easy_perform(easy);
 +
 + /* Clean-up. */
 + curl_easy_cleanup(easy);
 + curl_mime_free(mime);
 +
 +.SH "SEE ALSO"
 +.BR curl_mime_addpart "(3),"
 +.BR curl_mime_free "(3),"
 +.BR CURLOPT_MIMEPOST "(3)"
diff --cc docs/libcurl/gnurl_mime_name.3
index f821d9082,000000000..45512a9bb
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_name.3
+++ b/docs/libcurl/gnurl_mime_name.3
@@@ -1,63 -1,0 +1,63 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_mime_name 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_name - set a mime part's name
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLcode curl_mime_name(curl_mimepart * " part ", const char * " name 
");"
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_name(3)\fP sets a mime part's name. This is the way HTTP form
 +fields are named.
 +
 +\fIpart\fP is the part's handle to assign a name to.
 +
 +\fIname\fP points to the zero-terminated name string.
 +
 +The name string is copied into the part, thus the associated storage may
 +safely be released or reused after call. Setting a part's name twice is valid:
 +only the value set by the last call is retained. It is possible to "unname" a
 +part by setting \fIname\fP to NULL.
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +CURLE_OK or a CURL error code upon failure.
 +.SH EXAMPLE
 +.nf
 + curl_mime *mime;
 + curl_mimepart *part;
 +
 + /* create a mime handle */
 + mime = curl_mime_init(easy);
 +
 + /* add a part */
 + part = curl_mime_addpart(mime);
 +
 + /* give the part a name */
 + curl_mime_name(part, "shoe_size");
 +.fi
 +.SH "SEE ALSO"
 +.BR curl_mime_addpart "(3),"
 +.BR curl_mime_data "(3),"
 +.BR curl_mime_type "(3)"
diff --cc docs/libcurl/gnurl_mime_subparts.3
index d5d46febb,000000000..3ad24a8f8
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_subparts.3
+++ b/docs/libcurl/gnurl_mime_subparts.3
@@@ -1,53 -1,0 +1,53 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_mime_subparts 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_subparts - set subparts of a multipart mime part
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLcode curl_mime_subparts(curl_mimepart * " part ,
 +.BI "curl_mime * " subparts ");"
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_subparts(3)\fP sets a multipart mime part's content from a mime
 +structure.
 +
 +\fIpart\fP is a handle to the multipart part.
 +
 +\fIsubparts\fP is a mime structure handle holding the subparts. After
 +\fIcurl_mime_subparts\fP succeeds, the mime structure handle belongs to the
 +multipart part and must not be freed explicitly. It may however be updated by
 +subsequent calls to mime API functions.
 +
 +Setting a part's contents twice is valid: only the value set by the last call
 +is retained. It is possible to unassign previous part's contents by setting
 +\fIsubparts\fP to NULL.
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +CURLE_OK or a CURL error code upon failure.
 +.SH EXAMPLE
 +TODO
 +.SH "SEE ALSO"
 +.BR curl_mime_addpart "(3),"
 +.BR curl_mime_init "(3)"
diff --cc docs/libcurl/gnurl_mime_type.3
index 59841d5bd,000000000..b01e2921f
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_mime_type.3
+++ b/docs/libcurl/gnurl_mime_type.3
@@@ -1,83 -1,0 +1,83 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_mime_type 3 "22 August 2017" "libcurl 7.56.0" "libcurl Manual"
 +.SH NAME
 +curl_mime_type - set a mime part's content type
 +.SH SYNOPSIS
- .B #include <curl/curl.h>
++.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLcode curl_mime_type(curl_mimepart * " part ,
 +.BI "const char * " mimetype ");"
 +.ad
 +.SH DESCRIPTION
 +\fIcurl_mime_type(3)\fP sets a mime part's content type.
 +
 +\fIpart\fP is the part's handle to assign the content type to.
 +
 +\fImimetype\fP points to the nul-terminated file mime type string; it may be
 +set to NULL to remove a previously attached mime type.
 +
 +The mime type string is copied into the part, thus the associated storage may
 +safely be released or reused after call. Setting a part's type twice is valid:
 +only the value set by the last call is retained.
 +
 +In the absence of a mime type and if needed by the protocol specifications,
 +a default mime type is determined by the context:
 +.br
 +- If set as a custom header, use this value.
 +.br
- - application/form-data for a HTTP form post.
++- application/form-data for an HTTP form post.
 +.br
 +- If a remote file name is set, the mime type is taken from the file name
 +extension, or application/octet-stream by default.
 +.br
 +- For a multipart part, multipart/mixed.
 +.br
 +- text/plain in other cases.
 +.SH AVAILABILITY
 +As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
 +.SH RETURN VALUE
 +CURLE_OK or a CURL error code upon failure.
 +.SH EXAMPLE
 +.nf
 + curl_mime *mime;
 + curl_mimepart *part;
 +
 + /* create a mime handle */
 + mime = curl_mime_init(easy);
 +
 + /* add a part */
 + part = curl_mime_addpart(mime);
 +
 + /* get data from this file */
 + curl_mime_filedata(part, "image.png");
 +
 + /* content-type for this part */
 + curl_mime_type(part, "image/png");
 +
 + /* set name */
 + curl_mime_name(part, "image");
 +.fi
 +.SH "SEE ALSO"
 +.BR curl_mime_addpart "(3),"
 +.BR curl_mime_name "(3),"
 +.BR curl_mime_data "(3)"
diff --cc docs/libcurl/gnurl_share_cleanup.3
index 684d3f635,000000000..32e1f38d4
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_share_cleanup.3
+++ b/docs/libcurl/gnurl_share_cleanup.3
@@@ -1,40 -1,0 +1,40 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2011, 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_cleanup 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual"
 +.SH NAME
 +curl_share_cleanup - Clean up a shared object
 +.SH SYNOPSIS
 +.B #include <gnurl/curl.h>
 +.sp
 +.BI "CURLSHcode curl_share_cleanup(CURLSH *" share_handle ");"
 +.ad
 +.SH DESCRIPTION
 +This function deletes a shared object. The share handle cannot be used anymore
 +when this function has been called.
 +
 +.SH RETURN VALUE
 +CURLSHE_OK (zero) means that the option was set properly, non-zero means an
- error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors.3\fP
++error occurred as \fI<gnurl/curl.h>\fP defines. See the \fIlibcurl-errors.3\fP
 +man page for the full list with descriptions. If an error occurs, then the
 +share object will not be deleted.
 +.SH "SEE ALSO"
 +.BR curl_share_init "(3), " curl_share_setopt "(3)"
diff --cc docs/libcurl/gnurl_share_setopt.3
index d903f49a4,000000000..31ce44a19
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_share_setopt.3
+++ b/docs/libcurl/gnurl_share_setopt.3
@@@ -1,103 -1,0 +1,103 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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.
 +.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<curl/curl.h>\fP defines. See the \fIlibcurl-errors.3\fP
++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/gnurl_version_info.3
index 3d1d0d88a,000000000..b7a82e037
mode 100644,000000..100644
--- a/docs/libcurl/gnurl_version_info.3
+++ b/docs/libcurl/gnurl_version_info.3
@@@ -1,188 -1,0 +1,189 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 curl_version_info 3 "2 Nov 2014" "libcurl 7.40.0" "libcurl Manual"
 +.SH NAME
 +curl_version_info - returns run-time libcurl version info
 +.SH SYNOPSIS
 +.B #include <gnurl/curl.h>
 +.sp
 +.BI "curl_version_info_data *curl_version_info( CURLversion "age ");"
 +.ad
 +.SH DESCRIPTION
 +Returns a pointer to a filled in static struct with information about various
 +features in the running version of libcurl. \fIage\fP should be set to the
 +version of this functionality by the time you write your program. This way,
 +libcurl will always return a proper struct that your program understands,
 +while programs in the future might get a different
 +struct. \fBCURLVERSION_NOW\fP will be the most recent one for the library you
 +have installed:
 +
 +        data = curl_version_info(CURLVERSION_NOW);
 +
 +Applications should use this information to judge if things are possible to do
 +or not, instead of using compile-time checks, as dynamic/DLL libraries can be
 +changed independent of applications.
 +
 +The curl_version_info_data struct looks like this
 +
 +.nf
 +typedef struct {
 +  CURLversion age;          /* see description below */
 +
 +  /* when 'age' is 0 or higher, the members below also exist: */
 +  const char *version;      /* human readable string */
 +  unsigned int version_num; /* numeric representation */
 +  const char *host;         /* human readable string */
 +  int features;             /* bitmask, see below */
 +  char *ssl_version;        /* human readable string */
 +  long ssl_version_num;     /* not used, always zero */
 +  const char *libz_version; /* human readable string */
 +  const char * const *protocols; /* protocols */
 +
 +  /* when 'age' is 1 or higher, the members below also exist: */
 +  const char *ares;         /* human readable string */
 +  int ares_num;             /* number */
 +
 +  /* when 'age' is 2 or higher, the member below also exists: */
 +  const char *libidn;       /* human readable string */
 +
 +  /* when 'age' is 3 or higher (7.16.1 or later), the members below also
 +     exist  */
 +  int iconv_ver_num;       /* '_libiconv_version' if iconv support enabled */
 +
 +  const char *libssh_version; /* human readable string */
 +
 +  /* when 'age' is 4 or higher (7.57.0 or later), the members below also
 +     exist  */
 +  unsigned int brotli_ver_num; /* Numeric Brotli version
 +                                  (MAJOR << 24) | (MINOR << 12) | PATCH */
 +  const char *brotli_version; /* human readable string. */
 +
 +} curl_version_info_data;
 +.fi
 +
 +\fIage\fP describes what the age of this struct is. The number depends on how
 +new the libcurl you're using is. You are however guaranteed to get a struct
 +that you have a matching struct for in the header, as you tell libcurl your
 +"age" with the input argument.
 +
 +\fIversion\fP is just an ascii string for the libcurl version.
 +
 +\fIversion_num\fP is a 24 bit number created like this: <8 bits major number>
 +| <8 bits minor number> | <8 bits patch number>. Version 7.9.8 is therefore
 +returned as 0x070908.
 +
 +\fIhost\fP is an ascii string showing what host information that this libcurl
 +was built for. As discovered by a configure script or set by the build
 +environment.
 +
 +\fIfeatures\fP can have none, one or more bits set, and the currently defined
 +bits are:
 +.RS
 +.IP CURL_VERSION_IPV6
 +supports IPv6
 +.IP CURL_VERSION_KERBEROS4
 +supports Kerberos V4 (when using FTP)
 +.IP CURL_VERSION_KERBEROS5
 +supports Kerberos V5 authentication for FTP, IMAP, POP3, SMTP and SOCKSv5 
proxy
 +(Added in 7.40.0)
 +.IP CURL_VERSION_SSL
 +supports SSL (HTTPS/FTPS) (Added in 7.10)
 +.IP CURL_VERSION_LIBZ
 +supports HTTP deflate using libz (Added in 7.10)
 +.IP CURL_VERSION_NTLM
 +supports HTTP NTLM (added in 7.10.6)
 +.IP CURL_VERSION_GSSNEGOTIATE
 +supports HTTP GSS-Negotiate (added in 7.10.6)
 +.IP CURL_VERSION_DEBUG
 +libcurl was built with debug capabilities (added in 7.10.6)
 +.IP CURL_VERSION_CURLDEBUG
 +libcurl was built with memory tracking debug capabilities. This is mainly of
 +interest for libcurl hackers. (added in 7.19.6)
 +.IP CURL_VERSION_ASYNCHDNS
 +libcurl was built with support for asynchronous name lookups, which allows
 +more exact timeouts (even on Windows) and less blocking when using the multi
 +interface. (added in 7.10.7)
 +.IP CURL_VERSION_SPNEGO
 +libcurl was built with support for SPNEGO authentication (Simple and Protected
 +GSS-API Negotiation Mechanism, defined in RFC 2478.) (added in 7.10.8)
 +.IP CURL_VERSION_LARGEFILE
 +libcurl was built with support for large files. (Added in 7.11.1)
 +.IP CURL_VERSION_IDN
 +libcurl was built with support for IDNA, domain names with international
 +letters. (Added in 7.12.0)
 +.IP CURL_VERSION_SSPI
 +libcurl was built with support for SSPI. This is only available on Windows and
 +makes libcurl use Windows-provided functions for Kerberos, NTLM, SPNEGO and
 +Digest authentication. It also allows libcurl to use the current user
 +credentials without the app having to pass them on. (Added in 7.13.2)
 +.IP CURL_VERSION_GSSAPI
 +libcurl was built with support for GSS-API. This makes libcurl use provided
 +functions for Kerberos and SPNEGO authentication. It also allows libcurl
 +to use the current user credentials without the app having to pass them on.
 +(Added in 7.38.0)
 +.IP CURL_VERSION_CONV
 +libcurl was built with support for character conversions, as provided by the
 +CURLOPT_CONV_* callbacks. (Added in 7.15.4)
 +.IP CURL_VERSION_TLSAUTH_SRP
 +libcurl was built with support for TLS-SRP. (Added in 7.21.4)
 +.IP CURL_VERSION_NTLM_WB
 +libcurl was built with support for NTLM delegation to a winbind helper.
 +(Added in 7.22.0)
 +.IP CURL_VERSION_HTTP2
 +libcurl was built with support for HTTP2.
 +(Added in 7.33.0)
 +.IP CURL_VERSION_UNIX_SOCKETS
 +libcurl was built with support for Unix domain sockets.
 +(Added in 7.40.0)
 +.IP CURL_VERSION_PSL
 +libcurl was built with support for Mozilla's Public Suffix List. This makes
 +libcurl ignore cookies with a domain that's on the list.
 +(Added in 7.47.0)
 +.IP CURL_VERSION_HTTPS_PROXY
 +libcurl was built with support for HTTPS-proxy.
 +(Added in 7.52.0)
 +.IP CURL_VERSION_MULTI_SSL
 +libcurl was built with multiple SSL backends. For details, see
 +\fIcurl_global_sslset(3)\fP.
 +(Added in 7.56.0)
 +.IP CURL_VERSION_BROTLI
 +supports HTTP Brotli content encoding using libbrotlidec (Added in 7.57.0)
 +.RE
- \fIssl_version\fP is an ASCII string for the OpenSSL version used. If libcurl
- has no SSL support, this is NULL.
++\fIssl_version\fP is an ASCII string for the TLS library name + version
++used. If libcurl has no SSL support, this is NULL. For example "WinSSL",
++\&"SecureTransport" or "OpenSSL/1.1.0g".
 +
 +\fIssl_version_num\fP is always 0.
 +
 +\fIlibz_version\fP is an ASCII string (there is no numerical version). If
 +libcurl has no libz support, this is NULL.
 +
 +\fIprotocols\fP is a pointer to an array of char * pointers, containing the
 +names protocols that libcurl supports (using lowercase letters). The protocol
 +names are the same as would be used in URLs. The array is terminated by a NULL
 +entry.
 +.SH RETURN VALUE
 +A pointer to a curl_version_info_data struct.
 +.SH "SEE ALSO"
 +\fIcurl_version(3)\fP
 +
diff --cc docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
index f418d13d7,000000000..0399e3b0d
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_DOWNLOAD_T.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_CONTENT_LENGTH_DOWNLOAD_T 3 "25 May 2017" "libcurl 7.55.0" 
"curl_easy_getinfo options"
 +.SH NAME
 +CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T,
 +                           curl_off_t *content_length);
 +.SH DESCRIPTION
 +Pass a pointer to a \fIcurl_off_t\fP to receive the content-length of the
 +download. This is the value read from the Content-Length: field. Stores -1 if
 +the size isn't known.
 +.SH PROTOCOLS
 +HTTP(S)
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* Perform the request */
 +  res = curl_easy_perform(curl);
 +
 +  if(!res) {
 +    /* check the size */
 +    curl_off_t cl;
 +    res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &cl);
 +    if(!res) {
-       printf("Size: " CURL_FORMAT_CURL_OFF_T "\\n", cl);
++      printf("Download size: %" CURL_FORMAT_CURL_OFF_T "\\n", cl);
 +    }
 +  }
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.55.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 CURLINFO_CONTENT_LENGTH_UPLOAD_T "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD_T.3
index 04b7811f4,000000000..e6b715ef4
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_CONTENT_LENGTH_UPLOAD_T.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_CONTENT_LENGTH_UPLOAD_T 3 "25 May 2017" "libcurl 7.55.0" 
"curl_easy_getinfo options"
 +.SH NAME
 +CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD_T,
 +                           curl_off_t *content_length);
 +.SH DESCRIPTION
 +Pass a pointer to a \fIcurl_off_t\fP to receive the specified size of the
 +upload. Stores -1 if the size isn't known.
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* Perform the upload */
 +  res = curl_easy_perform(curl);
 +
 +  if(!res) {
 +    /* check the size */
 +    curl_off_t cl;
 +    res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_UPLOAD_T, &cl);
 +    if(!res) {
-       printf("Size: " CURL_FORMAT_CURL_OFF_T "\\n", cl);
++      printf("Upload size: %" CURL_FORMAT_CURL_OFF_T "\\n", cl);
 +    }
 +  }
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.55.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 CURLINFO_CONTENT_LENGTH_DOWNLOAD_T "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_COOKIELIST.3
index f695f0cf2,000000000..48b20d532
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_COOKIELIST.3
+++ b/docs/libcurl/opts/GNURLINFO_COOKIELIST.3
@@@ -1,76 -1,0 +1,77 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_COOKIELIST 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo 
options"
 +.SH NAME
 +CURLINFO_COOKIELIST \- get all known cookies
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST,
 +                           struct curl_slist **cookies);
 +.SH DESCRIPTION
 +Pass a pointer to a 'struct curl_slist *' to receive a linked-list of all
 +cookies curl knows (expired ones, too). Don't forget to call
 +\fIcurl_slist_free_all(3)\fP on the list after it has been used.  If there are
 +no cookies (cookies for the handle have not been enabled or simply none have
 +been received) 'struct curl_slist *' will be set to point to NULL.
 +
 +Since 7.43.0 cookies that were imported in the Set-Cookie format without a
 +domain name are not exported by this option.
 +.SH PROTOCOLS
 +HTTP(S)
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* enable the cookie engine with a non-existing file */
 +  curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "-");
 +
 +  res = curl_easy_perform(curl);
 +
 +  if(!res) {
 +    /* extract all known cookies */
 +    struct curl_slist *cookies = NULL;
 +    res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies);
 +    if(!res && cookies) {
 +      /* a linked list of cookies in cookie file format */
-       while(cookies) {
-         printf("%s", cookies->data);
-         cookies = cookies->next;
++      struct curl_slist *each = cookies;
++      while(each) {
++        printf("%s", each->data);
++        each = each->next;
 +      }
 +      /* we must free these cookies when we're done */
 +      curl_slist_free_all(cookies);
 +    }
 +  }
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.14.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 CURLOPT_COOKIELIST "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_FILETIME_T.3
index d8853ccd2,000000000..abb2a6bde
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_FILETIME_T.3
+++ b/docs/libcurl/opts/GNURLINFO_FILETIME_T.3
@@@ -1,71 -1,0 +1,71 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 CURLINFO_FILETIME 3 "25 Jan 2018" "libcurl 7.59.0" "curl_easy_getinfo 
options"
 +.SH NAME
 +CURLINFO_FILETIME_T \- get the remote time of the retrieved document
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME_T, curl_off_t 
*timep);
 +.SH DESCRIPTION
 +Pass a pointer to a curl_off_t to receive the remote time of the retrieved
 +document (in number of seconds since 1 jan 1970 in the GMT/UTC time zone). If
 +you get -1, it can be because of many reasons (it might be unknown, the server
 +might hide it or the server doesn't support the command that tells document
 +time etc) and the time of the document is unknown.
 +
 +You must ask libcurl to collect this information before the transfer is made,
 +by using the \fICURLOPT_FILETIME(3)\fP option to \fIcurl_easy_setopt(3)\fP or
 +you will unconditionally get a -1 back.
 +
 +This option is an alternative to \fICURLINFO_FILETIME(3)\fP to allow systems
 +with 32 bit long variables to extract dates outside of the 32bit timestamp
 +range.
 +.SH PROTOCOLS
 +HTTP(S), FTP(S), SFTP
 +.SH EXAMPLE
 +.nf
 +curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, url);
 +  /* Ask for filetime */
 +  curl_easy_setopt(curl, CURLOPT_FILETIME, 1L);
 +  res = curl_easy_perform(curl);
 +  if(CURLE_OK == res) {
 +    curl_off_t filetime;
 +    res = curl_easy_getinfo(curl, CURLINFO_FILETIME_T, &filetime);
 +    if((CURLE_OK == res) && (filetime >= 0)) {
 +      time_t file_time = (time_t)filetime;
 +      printf("filetime %s: %s", filename, ctime(&file_time));
 +    }
 +  }
 +  /* always cleanup */
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.59.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), "
diff --cc docs/libcurl/opts/GNURLINFO_PROTOCOL.3
index b82111876,000000000..638aefde5
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_PROTOCOL.3
+++ b/docs/libcurl/opts/GNURLINFO_PROTOCOL.3
@@@ -1,55 -1,0 +1,64 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 CURLINFO_PROTOCOL 3 "23 November 2016" "libcurl 7.52.0" 
"curl_easy_getinfo options"
 +.SH NAME
 +CURLINFO_PROTOCOL \- get the protocol used in the connection
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROTOCOL, long *p);
 +.SH DESCRIPTION
- Pass a pointer to a long to receive the version used in the last http 
connection.
- The returned value will be one of the CURLPROTO_* values.
++Pass a pointer to a long to receive the version used in the last http
++connection.  The returned value will be exactly one of the CURLPROTO_* values:
++
++.nf
++CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_FTP, CURLPROTO_FTPS,
++CURLPROTO_GOPHER, CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_IMAP,
++CURLPROTO_IMAPS, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_POP3,
++CURLPROTO_POP3S, CURLPROTO_RTMP, CURLPROTO_RTMPE, CURLPROTO_RTMPS,
++CURLPROTO_RTMPT, CURLPROTO_RTMPTE, CURLPROTO_RTMPTS, CURLPROTO_RTSP,
++CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_SMB, CURLPROTO_SMBS, CURLPROTO_SMTP,
++CURLPROTO_SMTPS, CURLPROTO_TELNET, CURLPROTO_TFTP
 +.SH PROTOCOLS
 +All
 +.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);
 +  if(res == CURLE_OK) {
 +    long protocol;
 +    curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &protocol);
 +  }
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLINFO_RESPONSE_CODE "(3), "
 +.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_PROXY_SSL_VERIFYRESULT.3
index b6ef7d13e,000000000..c148bf329
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_PROXY_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/GNURLINFO_PROXY_SSL_VERIFYRESULT.3
@@@ -1,57 -1,0 +1,57 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_SSL_VERIFYRESULT 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_getinfo options"
 +.SH NAME
 +CURLINFO_PROXY_SSL_VERIFYRESULT \- get the result of the proxy certificate 
verification
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXY_SSL_VERIFYRESULT, 
long *result);
 +.SH DESCRIPTION
 +Pass a pointer to a long to receive the result of the certificate verification
 +that was requested (using the \fICURLOPT_PROXY_SSL_VERIFYPEER(3)\fP
 +option. This is only used for HTTPS proxies.
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  CURLcode res;
 +  long verifyresult;
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://proxy:443";);
 +  res = curl_easy_perform(curl);
 +  curl_easy_getinfo(curl, CURLINFO_PROXY_SSL_VERIFYRESULT, &verifyresult);
 +  printf("The peer verification said %s\\n", verifyresult?
 +         "fine":"BAAAD");
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.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 CURLINFO_SSL_VERIFYRESULT "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_SCHEME.3
index 38a3d15ba,000000000..acc501f6d
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_SCHEME.3
+++ b/docs/libcurl/opts/GNURLINFO_SCHEME.3
@@@ -1,62 -1,0 +1,62 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2016, 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_SCHEME 3 "23 November 2016" "libcurl 7.52.0" "curl_easy_getinfo 
options"
 +.SH NAME
 +CURLINFO_SCHEME \- get the URL scheme (sometimes called protocol) used in the 
connection
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SCHEME, char **scheme);
 +.SH DESCRIPTION
 +Pass a pointer to a char pointer to receive the pointer to a zero-terminated
 +string holding the URL scheme used for the most recent connection done with
 +this CURL \fBhandle\fP.
 +
 +The \fBscheme\fP pointer will be NULL or pointing to private memory you MUST
 +NOT free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the
 +corresponding CURL handle.
 +.SH PROTOCOLS
 +All
 +.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);
 +  if(res == CURLE_OK) {
 +    char *scheme = NULL;
 +    curl_easy_getinfo(curl, CURLINFO_SCHEME, &scheme);
 +    if(scheme)
 +      printf("scheme: %s\\n", scheme); /* scheme: HTTP */
 +  }
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLINFO_RESPONSE_CODE "(3), "
 +.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD_T.3
index 834c6d6f0,000000000..ec92c979b
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_SIZE_DOWNLOAD_T.3
@@@ -1,64 -1,0 +1,64 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_SIZE_DOWNLOAD_T 3 "25 May 2017" "libcurl 7.55.0" 
"curl_easy_getinfo options"
 +.SH NAME
 +CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD_T, curl_off_t 
*dlp);
 +.SH DESCRIPTION
 +Pass a pointer to a \fIcurl_off_t\fP to receive the total amount of bytes that
 +were downloaded.  The amount is only for the latest transfer and will be reset
 +again for each new transfer. This counts actual payload data, what's also
 +commonly called body. All meta and header data are excluded and will not be
 +counted in this number.
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* Perform the request */
 +  res = curl_easy_perform(curl);
 +
 +  if(!res) {
 +    /* check the size */
 +    curl_off_t dl;
 +    res = curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD_T, &dl);
 +    if(!res) {
-       printf("Downloaded " CURL_FORMAT_CURL_OFF_T " bytes\\n", cl);
++      printf("Downloaded %" CURL_FORMAT_CURL_OFF_T " bytes\\n", dl);
 +    }
 +  }
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.55.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 CURLINFO_SIZE_DOWNLOAD "(3), "
 +.BR CURLINFO_SIZE_UPLOAD_T "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD_T.3
index 2999be460,000000000..1c8e3f066
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_SIZE_UPLOAD_T.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_SIZE_UPLOAD_T 3 "25 May 2017" "libcurl 7.55.0" 
"curl_easy_getinfo options"
 +.SH NAME
 +CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD_T, curl_off_t 
*uploadp);
 +.SH DESCRIPTION
 +Pass a pointer to a \fIcurl_off_t\fP to receive the total amount of bytes that
 +were uploaded.
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* Perform the request */
 +  res = curl_easy_perform(curl);
 +
 +  if(!res) {
 +    curl_off_t ul;
 +    res = curl_easy_getinfo(curl, CURLINFO_SIZE_UPLOAD_T, &ul);
 +    if(!res) {
-       printf("Uploaded " CURL_FORMAT_CURL_OFF_T " bytes\\n", ul);
++      printf("Uploaded %" CURL_FORMAT_CURL_OFF_T " bytes\\n", ul);
 +    }
 +  }
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.55.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 CURLINFO_SIZE_DOWNLOAD_T "(3), " CURLINFO_SIZE_UPLOAD "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD_T.3
index 413389c80,000000000..6875f3a39
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_SPEED_DOWNLOAD_T.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_SPEED_DOWNLOAD_T 3 "28 Aug 2015" "libcurl 7.44.0" 
"curl_easy_getinfo options"
 +.SH NAME
 +CURLINFO_SPEED_DOWNLOAD_T \- get download speed
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD_T, 
curl_off_t *speed);
 +.SH DESCRIPTION
 +Pass a pointer to a \fIcurl_off_t\fP to receive the average download speed
 +that curl measured for the complete download. Measured in bytes/second.
 +.SH PROTOCOLS
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* Perform the request */
 +  res = curl_easy_perform(curl);
 +
 +  if(!res) {
 +    curl_off_t speed;
 +    res = curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD_T, &speed);
 +    if(!res) {
-       printf("Download speed " CURL_FORMAT_CURL_OFF_T " bytes/sec\\n", ul);
++      printf("Download speed %" CURL_FORMAT_CURL_OFF_T " bytes/sec\\n", 
speed);
 +    }
 +  }
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.55.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 CURLINFO_SPEED_UPLOAD "(3), "
 +.BR CURLINFO_SIZE_UPLOAD_T "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD_T.3
index 36389b34b,000000000..3263b6344
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD_T.3
+++ b/docs/libcurl/opts/GNURLINFO_SPEED_UPLOAD_T.3
@@@ -1,58 -1,0 +1,58 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_SPEED_UPLOAD_T 3 "25 May 2017" "libcurl 7.55.0" 
"curl_easy_getinfo options"
 +.SH NAME
 +CURLINFO_SPEED_UPLOAD_T \- get upload speed
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD_T, curl_off_t 
*speed);
 +.SH DESCRIPTION
 +Pass a pointer to a \fIcurl_off_t\fP to receive the average upload speed that
 +curl measured for the complete upload. Measured in bytes/second.
 +.SH PROTOCOLS
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* Perform the request */
 +  res = curl_easy_perform(curl);
 +
 +  if(!res) {
 +    curl_off_t speed;
 +    res = curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD_T, &speed);
 +    if(!res) {
-       printf("Upload speed " CURL_FORMAT_CURL_OFF_T " bytes/sec\\n", ul);
++      printf("Upload speed %" CURL_FORMAT_CURL_OFF_T " bytes/sec\\n", speed);
 +    }
 +  }
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.55.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 CURLINFO_SPEED_DOWNLOAD_T "(3), "
diff --cc docs/libcurl/opts/GNURLINFO_SSL_VERIFYRESULT.3
index 92e129437,000000000..6a138007c
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLINFO_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/GNURLINFO_SSL_VERIFYRESULT.3
@@@ -1,55 -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 CURLINFO_SSL_VERIFYRESULT 3 "1 Sep 2015" "libcurl 7.44.0" 
"curl_easy_getinfo options"
 +.SH NAME
 +CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_VERIFYRESULT, long 
*result);
 +.SH DESCRIPTION
 +Pass a pointer to a long to receive the result of the server SSL certificate
 +verification that was requested (using the \fICURLOPT_SSL_VERIFYPEER(3)\fP
 +option.
++
++0 is a positive result. Non-zero is an error.
 +.SH PROTOCOLS
 +All using TLS
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  CURLcode res;
 +  long verifyresult;
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 +  res = curl_easy_perform(curl);
 +  curl_easy_getinfo(curl, CURLINFO_SSL_VERIFYRESULT, &verifyresult);
 +  printf("The peer verification said %s\\n", verifyresult?
-          "fine":"BAAAD");
++         "BAAAD":"fine");
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
- Added in 7.5
++Added in 7.5. Only set by the OpenSSL/libressl/boringssl and NSS backends.
 +.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), "
diff --cc docs/libcurl/opts/GNURLOPT_ABSTRACT_UNIX_SOCKET.3
index 8b61854c0,000000000..b9ee4fff3
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_ABSTRACT_UNIX_SOCKET.3
+++ b/docs/libcurl/opts/GNURLOPT_ABSTRACT_UNIX_SOCKET.3
@@@ -1,58 -1,0 +1,58 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_ABSTRACT_UNIX_SOCKET 3 "08 Jan 2017" "libcurl 7.53.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_ABSTRACT_UNIX_SOCKET \- set an abstract Unix domain socket
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ABSTRACT_UNIX_SOCKET, char 
*path);
 +.SH DESCRIPTION
 +Enables the use of an abstract Unix domain socket instead of establishing a 
TCP
 +connection to a host. The parameter should be a char * to a zero terminated 
string
 +holding the path of the socket. The path will be set to \fIpath\fP prefixed 
by a
 +NULL byte (this is the convention for abstract sockets, however it should be 
stressed
 +that the path passed to this function should not contain a leading NULL).
 +
 +On non-supporting platforms, the abstract address will be interpreted as an 
empty
 +string and fail gracefully, generating a run-time error.
 +
 +This option shares the same semantics as
 +.BR CURLOPT_UNIX_SOCKET_PATH "(3)
 +in which documentation more details can be found. Internally, these two 
options share
 +the same storage and therefore only one of them can be set per handle.
 +
 +.SH DEFAULT
 +Default is NULL.
 +.SH EXAMPLE
 +.nf
 +    curl_easy_setopt(curl_handle, CURLOPT_ABSTRACT_UNIX_SOCKET, 
"/tmp/foo.sock");
 +    curl_easy_setopt(curl_handle, CURLOPT_URL, "http://localhost/";);
 +.fi
 +
 +.SH AVAILABILITY
 +Since 7.53.0.
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_UNIX_SOCKET_PATH "(3), " unix "(7), "
diff --cc docs/libcurl/opts/GNURLOPT_ACCEPT_ENCODING.3
index b450833b1,000000000..b3af2c581
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,88 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2016, 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 a HTTP request, and
++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.
 +
 +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_CAINFO.3
index c5d495b4e,000000000..054ec08d5
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_CAINFO.3
+++ b/docs/libcurl/opts/GNURLOPT_CAINFO.3
@@@ -1,79 -1,0 +1,84 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_CAINFO 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAINFO, char *path);
 +.SH DESCRIPTION
 +Pass a char * to a zero terminated string naming a file holding one or more
 +certificates to verify the peer with.
 +
 +If \fICURLOPT_SSL_VERIFYPEER(3)\fP is zero and you avoid verifying the
 +server's certificate, \fICURLOPT_CAINFO(3)\fP need not even indicate an
 +accessible file.
 +
 +This option is by default set to the system path where libcurl's cacert bundle
 +is assumed to be stored, as established at build time.
 +
 +If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module
 +(libnsspem.so) needs to be available for this option to work properly.
 +Starting with curl-7.55.0, if both \fICURLOPT_CAINFO(3)\fP and
 +\fICURLOPT_CAPATH(3)\fP are unset, NSS-linked libcurl tries to load
 +libnssckbi.so, which contains a more comprehensive set of trust information
 +than supported by nss-pem, because libnssckbi.so also includes information
 +about distrusted certificates.
 +
 +(iOS and macOS only) If curl is built against Secure Transport, then this
 +option is supported for backward compatibility with other SSL engines, but it
 +should not be set. If the option is not set, then curl will use the
 +certificates in the system and user Keychain to verify the peer, which is the
 +preferred method of verifying the peer's certificate chain.
 +
++(Schannel/WinSSL only) This option is supported for WinSSL in Windows 7 or
++later with libcurl 7.60 or later. This option is supported for backward
++compatibility with other SSL engines; instead it is recommended to use 
Windows'
++store of root certificates (the default for WinSSL).
++
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +Built-in system specific
 +.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/";);
 +  curl_easy_setopt(curl, CURLOPT_CAINFO, "/etc/certs/cabundle.pem");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +For SSL engines that don't support certificate files the CURLOPT_CAINFO option
 +is ignored. Refer to https://curl.haxx.se/docs/ssl-compared.html
 +.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_CAPATH "(3), "
 +.BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_SSL_VERIFYHOST "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_CONNECT_TO.3
index 0effd5dc7,000000000..586d96278
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_CONNECT_TO.3
+++ b/docs/libcurl/opts/GNURLOPT_CONNECT_TO.3
@@@ -1,111 -1,0 +1,111 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2016, 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 http://curl.haxx.se/docs/copyright.html.
++.\" * 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_CONNECT_TO 3 "10 April 2016" "libcurl 7.49.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_CONNECT_TO \- Connect to a specific host and port instead of the 
URL's host and port
 +.SH SYNOPSIS
 +.nf
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_TO,
 +                          struct curl_slist *connect_to);
 +.fi
 +.SH DESCRIPTION
 +Pass a pointer to a linked list of strings with "connect to" information to
 +use for establishing network connections 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 string should be written using the format
 +HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT where HOST is the host of the
 +request, PORT is the port of the request, CONNECT-TO-HOST is the host name to
 +connect to, and CONNECT-TO-PORT is the port to connect to.
 +
 +The first string that matches the request's host and port is used.
 +
 +Dotted numerical IP addresses are supported for HOST and CONNECT-TO-HOST.
 +A numerical IPv6 address must be written within [brackets].
 +
 +Any of the four values may be empty. When the HOST or PORT is empty, the host
 +or port will always match (the request's host or port is ignored).
 +When CONNECT-TO-HOST or CONNECT-TO-PORT is empty, the "connect to" feature
 +will be disabled for the host or port, and the request's host or port will be
 +used to establish the network connection.
 +
 +This option is suitable to direct the request at a specific server, e.g. at a
 +specific cluster node in a cluster of servers.
 +
 +The "connect to" host and port are only used to establish the network
 +connection. They do NOT affect the host and port that are used for TLS/SSL
 +(e.g. SNI, certificate verification) or for the application protocols.
 +
 +In contrast to \fICURLOPT_RESOLVE(3)\fP, the option
 +\fICURLOPT_CONNECT_TO(3)\fP does not pre-populate the DNS cache and therefore
 +it does not affect future transfers of other easy handles that have been added
 +to the same multi handle.
 +
 +The "connect to" host and port are ignored if they are equal to the host and
 +the port in the request URL, because connecting to the host and the port in
 +the request URL is the default behavior.
 +
 +If an HTTP proxy is used for a request having a special "connect to" host or
- port, and the "connect to" host or port differs from the requests's host and
++port, and the "connect to" host or port differs from the request's host and
 +port, the HTTP proxy is automatically switched to tunnel mode for this
 +specific request. This is necessary because it is not possible to connect to a
 +specific host or port in normal (non-tunnel) mode.
 +
 +When this option is passed to \fIcurl_easy_setopt(3)\fP, libcurl will not copy
 +the entire list so you \fBmust\fP keep it around until you no longer use this
 +\fIhandle\fP for a transfer before you call \fIcurl_slist_free_all(3)\fP on
 +the list.
 +
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl;
 +struct curl_slist *connect_to = NULL;
 +connect_to = curl_slist_append(NULL, "example.com::server1.example.com:");
 +
 +curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_CONNECT_TO, connect_to);
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  curl_easy_perform(curl);
 +
 +  /* always cleanup */
 +  curl_easy_cleanup(curl);
 +}
 +
 +curl_slist_free_all(connect_to);
 +.fi
 +.SH AVAILABILITY
 +Added in 7.49.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_URL "(3), " CURLOPT_RESOLVE "(3), " CURLOPT_FOLLOWLOCATION "(3), 
" CURLOPT_HTTPPROXYTUNNEL  "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_CUSTOMREQUEST.3
index d0f03e185,000000000..31773f9f9
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_CUSTOMREQUEST.3
+++ b/docs/libcurl/opts/GNURLOPT_CUSTOMREQUEST.3
@@@ -1,111 -1,0 +1,111 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_CUSTOMREQUEST 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_CUSTOMREQUEST \- custom string for request
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CUSTOMREQUEST, char *request);
 +.SH DESCRIPTION
 +Pass a pointer to a zero terminated string as parameter.
 +
 +When you change the request method by setting \fICURLOPT_CUSTOMREQUEST(3)\fP
 +to something, you don't actually change how libcurl behaves or acts in regards
 +to the particular request method, it will only change the actual string sent
 +in the request.
 +
 +Restore to the internal default by setting this to NULL.
 +
 +This option can be used to specify the request:
 +.IP HTTP
 +Instead of GET or HEAD when performing HTTP based requests. This is
- particularly useful, for example, for performing a HTTP DELETE request.
++particularly useful, for example, for performing an HTTP DELETE request.
 +
 +For example:
 +
 +When you tell libcurl to do a HEAD request, but then specify a GET though a
 +custom request libcurl will still act as if it sent a HEAD. To switch to a
 +proper HEAD use \fICURLOPT_NOBODY(3)\fP, to switch to a proper POST use
 +\fICURLOPT_POST(3)\fP or \fICURLOPT_POSTFIELDS(3)\fP and to switch to a proper
 +GET use \fICURLOPT_HTTPGET(3)\fP.
 +
 +Many people have wrongly used this option to replace the entire request with
 +their own, including multiple headers and POST contents. While that might work
 +in many cases, it will cause libcurl to send invalid requests and it could
 +possibly confuse the remote server badly. Use \fICURLOPT_POST(3)\fP and
 +\fICURLOPT_POSTFIELDS(3)\fP to set POST data. Use \fICURLOPT_HTTPHEADER(3)\fP
 +to replace or extend the set of headers sent by libcurl. Use
 +\fICURLOPT_HTTP_VERSION(3)\fP to change HTTP version.
 +
 +.IP FTP
 +Instead of LIST and NLST when performing FTP directory listings.
 +.IP IMAP
 +Instead of LIST when issuing IMAP based requests.
 +.IP POP3
 +Instead of LIST and RETR when issuing POP3 based requests.
 +
 +For example:
 +
 +When you tell libcurl to use a custom request it will behave like a LIST or
 +RETR command was sent where it expects data to be returned by the server. As
 +such \fICURLOPT_NOBODY(3)\fP should be used when specifying commands such as
 +DELE and NOOP for example.
 +.IP SMTP
 +Instead of a HELP or VRFY when issuing SMTP based requests.
 +
 +For example:
 +
 +Normally a multiline response is returned which can be used, in conjunction
 +with \fICURLOPT_MAIL_RCPT(3)\fP, to specify an EXPN request. If the
 +\fICURLOPT_NOBODY(3)\fP option is specified then the request can be used to
 +issue NOOP and RSET commands.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +HTTP, FTP, IMAP, POP3 and SMTP
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/foo.bin";);
 +
 +  /* DELETE the given path */
 +  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE");
 +
 +  ret = curl_easy_perform(curl);
 +
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +IMAP is supported since 7.30.0, POP3 since 7.26.0 and SMTP since 7.34.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_HTTPHEADER "(3), " CURLOPT_NOBODY "(3), "
 +.BR CURLOPT_REQUEST_TARGET "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_DNS_SHUFFLE_ADDRESSES.3
index 000000000,000000000..94233626c
new file mode 100644
--- /dev/null
+++ b/docs/libcurl/opts/GNURLOPT_DNS_SHUFFLE_ADDRESSES.3
@@@ -1,0 -1,0 +1,69 @@@
++.\" **************************************************************************
++.\" *                                  _   _ ____  _
++.\" *  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 CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "3 March 2018" "libcurl 7.60.0" 
"curl_easy_setopt options"
++.SH NAME
++CURLOPT_DNS_SHUFFLE_ADDRESSES \- Shuffle addresses when a hostname returns 
more than one
++.SH SYNOPSIS
++.nf
++#include <gnurl/curl.h>
++
++CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_SHUFFLE_ADDRESSES, long 
onoff);
++.fi
++.SH DESCRIPTION
++When a name is resolved and more than one IP address is returned, shuffle the
++order of all returned addresses so that they will be used in a random order.
++This is similar to the ordering behavior of gethostbyname which is no longer
++used on most platforms.
++
++Addresses will not be reshuffled if a name resolution is completed using the
++DNS cache. \fICURLOPT_DNS_CACHE_TIMEOUT(3)\fP can be used together with this
++option to reduce DNS cache timeout or disable caching entirely if frequent
++reshuffling is needed.
++
++Since the addresses returned will be reordered randomly, their order will not
++be in accordance with RFC 3484 or any other deterministic order that may be
++generated by the system's name resolution implementation. This may have
++performance impacts and may cause IPv4 to be used before IPv6 or vice versa.
++.SH DEFAULT
++0 (disabled)
++.SH PROTOCOLS
++All
++.SH EXAMPLE
++.nf
++CURL *curl = curl_easy_init();
++if(curl) {
++  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
++  curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, 1L);
++
++  curl_easy_perform(curl);
++
++  /* always cleanup */
++  curl_easy_cleanup(curl);
++}
++.fi
++.SH AVAILABILITY
++Added in 7.60.0
++.SH RETURN VALUE
++CURLE_OK or an error such as CURLE_UNKNOWN_OPTION.
++.SH "SEE ALSO"
++.BR CURLOPT_DNS_CACHE_TIMEOUT "(3), " CURLOPT_IPRESOLVE "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_ERRORBUFFER.3
index 361d37ba2,000000000..6d5bec81f
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_ERRORBUFFER.3
+++ b/docs/libcurl/opts/GNURLOPT_ERRORBUFFER.3
@@@ -1,90 -1,0 +1,92 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2014, 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_ERRORBUFFER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_ERRORBUFFER \- set error buffer for error messages
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ERRORBUFFER, char *buf);
 +.SH DESCRIPTION
- Pass a char * to a buffer that the libcurl may store human readable error
- messages in on failures or problems. This may be more helpful than just the
++Pass a char * to a buffer that libcurl \fBmay\fP store human readable error
++messages on failures or problems. This may be more helpful than just the
 +return code from \fIcurl_easy_perform(3)\fP and related functions. The buffer
 +\fBmust be at least CURL_ERROR_SIZE bytes big\fP.
 +
 +You must keep the associated buffer available until libcurl no longer needs
 +it. Failing to do so will cause very odd behavior or even crashes. libcurl
 +will need it until you call \fIcurl_easy_cleanup(3)\fP or you set the same
 +option again to use a different pointer.
 +
++Do not rely on the contents of the buffer unless an error code was returned.
++Since 7.60.0 libcurl will initialize the contents of the error buffer to an
++empty string before performing the transfer. For earlier versions if an error
++code was returned but there was no error detail then the buffer is untouched.
++
 +Consider \fICURLOPT_VERBOSE(3)\fP and \fICURLOPT_DEBUGFUNCTION(3)\fP to better
 +debug and trace why errors happen.
- 
- If the library does not return an error, the buffer may not have been
- touched. Do not rely on the contents in those cases.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +curl = curl_easy_init();
 +if(curl) {
 +  CURLcode res;
 +  char errbuf[CURL_ERROR_SIZE];
 +
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* provide a buffer to store errors in */
 +  curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
 +
 +  /* set the error buffer as empty before performing a request */
 +  errbuf[0] = 0;
 +
 +  /* perform the request */
 +  res = curl_easy_perform(curl);
 +
 +  /* if the request did not complete correctly, show the error
 +  information. if no detailed error information was written to errbuf
 +  show the more generic information from curl_easy_strerror instead.
 +  */
 +  if(res != CURLE_OK) {
 +    size_t len = strlen(errbuf);
 +    fprintf(stderr, "\\nlibcurl: (%d) ", res);
 +    if(len)
 +      fprintf(stderr, "%s%s", errbuf,
 +              ((errbuf[len - 1] != '\\n') ? "\\n" : ""));
 +    else
 +      fprintf(stderr, "%s\\n", curl_easy_strerror(res));
 +  }
 +}
 +.fi
 +.SH AVAILABILITY
 +Always
 +.SH RETURN VALUE
 +Returns CURLE_OK
 +.SH "SEE ALSO"
 +.BR CURLOPT_DEBUGFUNCTION "(3), " CURLOPT_VERBOSE "(3), "
 +.BR curl_easy_strerror "(3), " curl_multi_strerror "(3), "
 +.BR curl_share_strerror "(3) "
diff --cc docs/libcurl/opts/GNURLOPT_EXPECT_100_TIMEOUT_MS.3
index 00a4efd79,000000000..5f1fb1fdd
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_EXPECT_100_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/GNURLOPT_EXPECT_100_TIMEOUT_MS.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 CURLOPT_EXPECT_100_TIMEOUT_MS 3 "19 Jun 2014" "libcurl 7.37.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_EXPECT_100_TIMEOUT_MS \- timeout for Expect: 100-continue response
 +.SH SYNOPSIS
 +.nf
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EXPECT_100_TIMEOUT_MS,
 +                          long milliseconds);
 +.SH DESCRIPTION
 +Pass a long to tell libcurl the number of \fImilliseconds\fP to wait for a
 +server response with the HTTP status 100 (Continue), 417 (Expectation Failed)
- or similar after sending a HTTP request containing an Expect: 100-continue
++or similar after sending an HTTP request containing an Expect: 100-continue
 +header. If this times out before a response is received, the request body is
 +sent anyway.
 +.SH DEFAULT
 +1000 milliseconds
 +.SH PROTOCOLS
 +HTTP
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* wait 3 seconds for 100-continue */
 +  curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, 3000L);
 +
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.36.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_POST "(3), " CURLOPT_HTTPPOST "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_FAILONERROR.3
index 4fdce1521,000000000..936fbba76
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_FAILONERROR.3
+++ b/docs/libcurl/opts/GNURLOPT_FAILONERROR.3
@@@ -1,67 -1,0 +1,67 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_FAILONERROR 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_FAILONERROR \- request failure on HTTP response >= 400
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FAILONERROR, long fail);
 +.SH DESCRIPTION
 +A long parameter set to 1 tells the library to fail the request if the HTTP
 +code returned is equal to or larger than 400. The default action would be to
 +return the page normally, ignoring that code.
 +
 +This method is not fail-safe and there are occasions where non-successful
 +response codes will slip through, especially when authentication is involved
 +(response codes 401 and 407).
 +
 +You might get some amounts of headers transferred before this situation is
 +detected, like when a "100-continue" is received as a response to a POST/PUT
 +and a 401 or 407 is received immediately afterwards.
 +
 +When this option is used and an error is detected, it will cause the
 +connection to get closed and \fICURLE_HTTP_RETURNED_ERROR\fP is returned.
 +.SH DEFAULT
 +0, do not fail on error
 +.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_FAILONERROR, 1L);
 +  ret = curl_easy_perform(curl);
 +  if(ret == CURLE_HTTP_RETURNED_ERROR) {
-     /* a HTTP response error problem */
++    /* an HTTP response error problem */
 +  }
 +}
 +.fi
 +.SH AVAILABILITY
 +Along with HTTP.
 +.SH RETURN VALUE
 +Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_HTTP200ALIASES "(3), " CURLOPT_KEEP_SENDING_ON_ERROR "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_FOLLOWLOCATION.3
index 8a04e894c,000000000..06982b901
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_FOLLOWLOCATION.3
+++ b/docs/libcurl/opts/GNURLOPT_FOLLOWLOCATION.3
@@@ -1,80 -1,0 +1,80 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2015, 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_FOLLOWLOCATION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable);
 +.SH DESCRIPTION
 +A long parameter set to 1 tells the library to follow any Location: header
- that the server sends as part of a HTTP header in a 3xx response. The
++that the server sends as part of an HTTP header in a 3xx response. The
 +Location: header can specify a relative or an absolute URL to follow.
 +
 +libcurl will issue another request for the new URL and follow new Location:
 +headers all the way until no more such headers are returned.
 +\fICURLOPT_MAXREDIRS(3)\fP can be used to limit the number of redirects
 +libcurl will follow.
 +
 +libcurl limits what protocols it automatically follows to. The accepted
 +protocols are set with \fICURLOPT_REDIR_PROTOCOLS(3)\fP. By default libcurl
 +will allow all protocols on redirect except those disabled for security
 +reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS
 +are also disabled.
 +
 +When following a Location:, the 3xx response code that redirected it also
 +dictates which request method it will use in the subsequent request: For 301,
 +302 and 303 responses libcurl will switch method to GET unless
 +\fICURLOPT_POSTREDIR(3)\fP instructs libcurl otherwise. All other 3xx codes
 +will make libcurl send the same method again.
 +
 +For users who think the existing location following is too naive, too simple
 +or just lacks features, it is very easy to instead implement your own redirect
 +follow logic with the use of \fIcurl_easy_getinfo(3)\fP's
 +\fICURLINFO_REDIRECT_URL(3)\fP option instead of using
 +\fICURLOPT_FOLLOWLOCATION(3)\fP.
 +.SH DEFAULT
 +0, disabled
 +.SH PROTOCOLS
 +HTTP(S)
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* example.com is redirected, so we tell libcurl to follow redirection */
 +  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
 +
 +  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_REDIR_PROTOCOLS "(3), " CURLOPT_PROTOCOLS "(3), "
 +.BR CURLOPT_POSTREDIR "(3), "
- .BR CURLINFO_REDIRECT_URL "(3), ", CURLINFO_REDIRECT_COUNT "(3), "
++.BR CURLINFO_REDIRECT_URL "(3), " CURLINFO_REDIRECT_COUNT "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
index df6694877,000000000..8bb8bc633
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/GNURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
@@@ -1,59 -1,0 +1,59 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2015, 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_HAPPY_EYEBALLS_TIMEOUT_MS 3 "1 Feb 2018" "libcurl 7.59.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS \- head start for ipv6 for happy eyeballs
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, 
long timeout);
 +.SH DESCRIPTION
 +Happy eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6
 +addresses for dual-stack hosts, preferring IPv6 first for \fItimeout\fP
 +milliseconds. If the IPv6 address cannot be connected to within that time then
 +a connection attempt is made to the IPv4 address in parallel. The first
 +connection to be established is the one that is used.
 +
 +The range of suggested useful values for \fItimeout\fP is limited. Happy
 +Eyeballs RFC 6555 says "It is RECOMMENDED that connection attempts be paced
 +150-250 ms apart to balance human factors against network load." libcurl
 +currently defaults to 200 ms. Firefox and Chrome currently default to 300 ms.
 +.SH DEFAULT
 +CURL_HET_DEFAULT (currently defined as 200L)
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 +  curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, 300L);
 +
 +  curl_easy_perform(curl);
 +
 +  /* always cleanup */
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.59.0
 +.SH RETURN VALUE
 +Returns CURLE_OK
diff --cc docs/libcurl/opts/GNURLOPT_HAPROXYPROTOCOL.3
index 19a4c864b,000000000..c5c8f10a4
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HAPROXYPROTOCOL.3
+++ b/docs/libcurl/opts/GNURLOPT_HAPROXYPROTOCOL.3
@@@ -1,53 -1,0 +1,57 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_RTSP_CLIENT_CSEQ 3 "19 Jun 2014" "libcurl 7.37.0" 
"curl_easy_setopt options"
++.TH CURLOPT_HAPROXYPROTOCOL 3 "5 Feb 2018" "libcurl 7.60.0" "curl_easy_setopt 
options"
 +.SH NAME
- CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number
++CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol header
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
- CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_CLIENT_CSEQ, long cseq);
++CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPROXYPROTOCOL,
++                          long haproxy_protocol);
 +.SH DESCRIPTION
- Pass a long to set the the CSEQ number to issue for the next RTSP
- request. Useful if the application is resuming a previously broken
- connection. The CSEQ will increment from this new number henceforth.
++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
++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
++0, do not send HAProxy PROXY protocol header
 +.SH PROTOCOLS
- RTSP
++HTTP
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
-   curl_easy_setopt(curl, CURLOPT_URL, "rtsp://example.com/");
-   curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, 1234L);
++  CURLcode ret;
++  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
++  curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 1L);
 +  ret = curl_easy_perform(curl);
-   curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
- Added in 7.20.0
++Along with HTTP. Added in 7.60.0.
 +.SH RETURN VALUE
- Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
- .SH "SEE ALSO"
- .BR CURLOPT_RTSP_SERVER_CSEQ "(3), " CURLOPT_RTSP_REQUEST "(3), "
++Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
diff --cc docs/libcurl/opts/GNURLOPT_HEADERFUNCTION.3
index e103d578d,000000000..6410fc736
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HEADERFUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_HEADERFUNCTION.3
@@@ -1,111 -1,0 +1,111 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 CURLOPT_HEADERFUNCTION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_HEADERFUNCTION \- callback that receives header data
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +size_t header_callback(char *buffer,
 +                       size_t size,
 +                       size_t nitems,
 +                       void *userdata);
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERFUNCTION, 
header_callback);
 +.SH DESCRIPTION
 +Pass a pointer to your callback function, which should match the prototype
 +shown above.
 +
 +This function gets called by libcurl as soon as it has received header
 +data. The header callback will be called once for each header and only
 +complete header lines are passed on to the callback. Parsing headers is very
 +easy using this. The size of the data pointed to by \fIbuffer\fP is \fIsize\fP
 +multiplied with \fInmemb\fP. Do not assume that the header line is zero
 +terminated! The pointer named \fIuserdata\fP is the one you set with the
 +\fICURLOPT_HEADERDATA(3)\fP option. This callback function must return the
 +number of bytes actually taken care of. If that amount differs from the amount
 +passed in to your function, it'll signal an error to the library. This will
 +cause the transfer to get aborted and the libcurl function in progress will
 +return \fICURLE_WRITE_ERROR\fP.
 +
 +A complete HTTP header that is passed to this function can be up to
 +\fICURL_MAX_HTTP_HEADER\fP (100K) bytes.
 +
 +If this option is not set, or if it is set to NULL, but
 +\fICURLOPT_HEADERDATA(3)\fP is set to anything but NULL, the function used to
 +accept response data will be used instead. That is, it will be the function
 +specified with \fICURLOPT_WRITEFUNCTION(3)\fP, or if it is not specified or
 +NULL - the default, stream-writing function.
 +
 +It's important to note that the callback will be invoked for the headers of
 +all responses received after initiating a request and not just the final
 +response. This includes all responses which occur during authentication
 +negotiation. If you need to operate on only the headers from the final
 +response, you will need to collect headers in the callback yourself and use
 +HTTP status lines, for example, to delimit response boundaries.
 +
 +When a server sends a chunked encoded transfer, it may contain a trailer. That
- trailer is identical to a HTTP header and if such a trailer is received it is
++trailer is identical to an HTTP header and if such a trailer is received it is
 +passed to the application using this callback as well. There are several ways
 +to detect it being a trailer and not an ordinary header: 1) it comes after the
 +response-body. 2) it comes after the final header line (CR LF) 3) a Trailer:
 +header among the regular response-headers mention what header(s) to expect in
 +the trailer.
 +
 +For non-HTTP protocols like FTP, POP3, IMAP and SMTP this function will get
 +called with the server responses to the commands that libcurl sends.
 +.SH LIMITATIONS
 +libcurl does not unfold HTTP "folded headers" (deprecated since RFC 7230). A
 +folded header is a header that continues on a subsequent line and starts with
 +a whitespace. Such folds will be passed to the header callback as a separate
 +one, although strictly it is just a continuation of the previous line.
 +.SH DEFAULT
 +Nothing.
 +.SH PROTOCOLS
 +Used for all protocols with headers or meta-data concept: HTTP, FTP, POP3,
 +IMAP, SMTP and more.
 +.SH EXAMPLE
 +.nf
 +static size_t header_callback(char *buffer, size_t size,
 +                              size_t nitems, void *userdata)
 +{
 +  /* received header is nitems * size long in 'buffer' NOT ZERO TERMINATED */
 +  /* 'userdata' is set with CURLOPT_HEADERDATA */
 +  return nitems * size;
 +}
 +
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, header_callback);
 +
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Always
 +.SH RETURN VALUE
 +Returns CURLE_OK
 +.SH "SEE ALSO"
 +.BR CURLOPT_HEADERDATA "(3), " CURLOPT_WRITEFUNCTION "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_HEADEROPT.3
index fb8279158,000000000..e78461994
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HEADEROPT.3
+++ b/docs/libcurl/opts/GNURLOPT_HEADEROPT.3
@@@ -1,74 -1,0 +1,74 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_HEADEROPT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_HEADEROPT \- set how to send HTTP headers
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADEROPT, long bitmask);
 +.SH DESCRIPTION
 +Pass a long that is a bitmask of options of how to deal with headers. The two
 +mutually exclusive options are:
 +
 +\fBCURLHEADER_UNIFIED\fP - the headers specified in
 +\fICURLOPT_HTTPHEADER(3)\fP will be used in requests both to servers and
 +proxies. With this option enabled, \fICURLOPT_PROXYHEADER(3)\fP will not have
 +any effect.
 +
 +\fBCURLHEADER_SEPARATE\fP - makes \fICURLOPT_HTTPHEADER(3)\fP headers only get
 +sent to a server and not to a proxy. Proxy headers must be set with
 +\fICURLOPT_PROXYHEADER(3)\fP to get used. Note that if a non-CONNECT request
 +is sent to a proxy, libcurl will send both server headers and proxy
 +headers. When doing CONNECT, libcurl will send \fICURLOPT_PROXYHEADER(3)\fP
 +headers only to the proxy and then \fICURLOPT_HTTPHEADER(3)\fP headers only to
 +the server.
 +.SH DEFAULT
- CURLHEADER_SEPARATE (changed in 7.42.1, ased CURLHEADER_UNIFIED before then)
++CURLHEADER_SEPARATE (changed in 7.42.1, used CURLHEADER_UNIFIED before then)
 +.SH PROTOCOLS
 +HTTP
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  CURLcode ret;
 +  struct curl_slist *list;
 +  list = curl_slist_append(NULL, "Shoesize: 10");
 +  list = curl_slist_append(list, "Accept:");
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "http://localhost:8080";);
 +
 +  /* HTTPS over a proxy makes a separate CONNECT to the proxy, so tell
 +     libcurl to not send the custom headers to the proxy. Keep them
 +     separate! */
 +  curl_easy_setopt(curl, CURLOPT_HEADEROPT, CURLHEADER_SEPARATE);
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.37.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_HTTPHEADER "(3), " CURLOPT_PROXYHEADER "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_HTTPAUTH.3
index e1b1a8ebc,000000000..e9ee9de2e
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HTTPAUTH.3
+++ b/docs/libcurl/opts/GNURLOPT_HTTPAUTH.3
@@@ -1,126 -1,0 +1,126 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_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_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 added in 7.19.3
++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
 +.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 b3aa469cf,000000000..071705683
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HTTPGET.3
+++ b/docs/libcurl/opts/GNURLOPT_HTTPGET.3
@@@ -1,59 -1,0 +1,59 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2014, 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 a HTTP GET request
++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.
 +.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 */ 
 +  curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
 +
 +  /* 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), "
diff --cc docs/libcurl/opts/GNURLOPT_HTTPPROXYTUNNEL.3
index 64a1574f4,000000000..5a58f7e9f
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HTTPPROXYTUNNEL.3
+++ b/docs/libcurl/opts/GNURLOPT_HTTPPROXYTUNNEL.3
@@@ -1,68 -1,0 +1,68 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_HTTPPROXYTUNNEL 3 "17 Jun 2014" "libcurl 7.37.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPROXYTUNNEL, long tunnel);
 +.SH DESCRIPTION
 +Set the \fBtunnel\fP parameter to 1L to make libcurl tunnel all operations
 +through the HTTP proxy (set with \fICURLOPT_PROXY(3)\fP). There is a big
 +difference between using a proxy and to tunnel through it.
 +
- Tunneling means that a HTTP CONNECT request is sent to the proxy, asking it
++Tunneling means that an HTTP CONNECT request is sent to the proxy, asking it
 +to connect to a remote host on a specific port number and then the traffic is
 +just passed through the proxy. Proxies tend to white-list specific port 
numbers
 +it allows CONNECT requests to and often only port 80 and 443 are allowed.
 +
 +To suppress proxy CONNECT response headers from user callbacks use
 +\fICURLOPT_SUPPRESS_CONNECT_HEADERS(3)\fP.
 +
 +HTTP proxies can generally only speak HTTP (for obvious reasons), which makes
 +libcurl convert non-HTTP requests to HTTP when using an HTTP proxy without
 +this tunnel option set. For example, asking for an FTP URL and specifying an
- HTTP proxy will make libcurl send an FTP URL in a HTTP GET request to the
++HTTP proxy will make libcurl send an FTP URL in an HTTP GET request to the
 +proxy. By instead tunneling through the proxy, you avoid that conversion (that
 +rarely works through the proxy anyway).
 +.SH DEFAULT
 +0
 +.SH PROTOCOLS
 +All network protocols
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/file.txt";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "http://127.0.0.1:80";);
 +  curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 1L);
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Always
 +.SH RETURN VALUE
 +Returns CURLE_OK
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY "(3), " CURLOPT_PROXYTYPE "(3), " CURLOPT_PROXYPORT "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_HTTP_VERSION.3
index 1015e466b,000000000..ba33182a3
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_HTTP_VERSION.3
+++ b/docs/libcurl/opts/GNURLOPT_HTTP_VERSION.3
@@@ -1,84 -1,0 +1,84 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_HTTP_VERSION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_VERSION, long version);
 +.SH DESCRIPTION
 +Pass \fIversion\fP a long, set to one of the values described below. They ask
 +libcurl to use the specific HTTP versions. This is not sensible to do unless
 +you have a good reason. You have to set this option if you want to use
 +libcurl's HTTP/2 support.
 +
 +Note that the HTTP version is just a request. libcurl will still prioritize to
 +re-use an existing connection so it might then re-use a connection using a
 +HTTP version you haven't asked for.
 +
 +.IP CURL_HTTP_VERSION_NONE
 +We don't care about what version the library uses. libcurl will use whatever
 +it thinks fit.
 +.IP CURL_HTTP_VERSION_1_0
 +Enforce HTTP 1.0 requests.
 +.IP CURL_HTTP_VERSION_1_1
 +Enforce HTTP 1.1 requests.
 +.IP CURL_HTTP_VERSION_2_0
 +Attempt HTTP 2 requests. libcurl will fall back to HTTP 1.1 if HTTP 2 can't be
 +negotiated with the server. (Added in 7.33.0)
 +
 +The alias \fICURL_HTTP_VERSION_2\fP was added in 7.43.0 to better reflect the
 +actual protocol name.
 +.IP CURL_HTTP_VERSION_2TLS
 +Attempt HTTP 2 over TLS (HTTPS) only. libcurl will fall back to HTTP 1.1 if
 +HTTP 2 can't be negotiated with the HTTPS server. For clear text HTTP servers,
 +libcurl will use 1.1. (Added in 7.47.0)
 +.IP CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE
 +Issue non-TLS HTTP requests using HTTP/2 without HTTP/1.1 Upgrade. It requires
 +prior knowledge that the server supports HTTP/2 straight away. HTTPS requests
 +will still do HTTP/2 the standard way with negotiated protocol version in the
 +TLS handshake. (Added in 7.49.0)
 +.SH DEFAULT
 +CURL_HTTP_VERSION_NONE
 +.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_HTTP_VERSION, CURL_HTTP_VERSION_2TLS);
 +  ret = curl_easy_perform(curl);
 +  if(ret == CURLE_HTTP_RETURNED_ERROR) {
-     /* a HTTP response error problem */
++    /* an HTTP response error problem */
 +  }
 +}
 +.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_SSLVERSION "(3), " CURLOPT_HTTP200ALIASES "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_IOCTLFUNCTION.3
index 440f0961b,000000000..fb5bb2502
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_IOCTLFUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_IOCTLFUNCTION.3
@@@ -1,92 -1,0 +1,92 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_IOCTLFUNCTION 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_IOCTLFUNCTION \- callback for I/O operations
 +.SH SYNOPSIS
 +.nf
 +#include <gnurl/curl.h>
 +
 +typedef enum {
 +  CURLIOE_OK,            /* I/O operation successful */
 +  CURLIOE_UNKNOWNCMD,    /* command was unknown to callback */
 +  CURLIOE_FAILRESTART,   /* failed to restart the read */
 +  CURLIOE_LAST           /* never use */
 +} curlioerr;
 +
 +typedef enum  {
 +  CURLIOCMD_NOP,         /* no operation */
 +  CURLIOCMD_RESTARTREAD, /* restart the read stream from start */
 +  CURLIOCMD_LAST         /* never use */
 +} curliocmd;
 +
 +curlioerr ioctl_callback(CURL *handle, int cmd, void *clientp);
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLFUNCTION, 
ioctl_callback);
 +.SH DESCRIPTION
 +Pass a pointer to your callback function, which should match the prototype
 +shown above.
 +
 +This callback function gets called by libcurl when something special
 +I/O-related needs to be done that the library can't do by itself. For now,
 +rewinding the read data stream is the only action it can request. The
- rewinding of the read data stream may be necessary when doing a HTTP PUT or
++rewinding of the read data stream may be necessary when doing an HTTP PUT or
 +POST with a multi-pass authentication method.
 +
 +The callback MUST return \fICURLIOE_UNKNOWNCMD\fP if the input \fIcmd\fP is
 +not \fICURLIOCMD_RESTARTREAD\fP.
 +
 +The \fIclientp\fP argument to the callback is set with the
 +\fICURLOPT_IOCTLDATA(3)\fP option.
 +
 +This option is deprecated! Do not use it. Use \fICURLOPT_SEEKFUNCTION(3)\fP
 +instead to provide seeking! If \fICURLOPT_SEEKFUNCTION(3)\fP is set, this
 +parameter will be ignored when seeking.
 +.SH DEFAULT
 +By default, this parameter is set to NULL. Not used.
 +.SH PROTOCOLS
 +Used with HTTP
 +.SH EXAMPLE
 +.nf
 +static curlioerr ioctl_callback(CURL *handle, int cmd, void *clientp)
 +{
 +  struct data *io = (struct data *)clientp;
 +  if(cmd == CURLIOCMD_RESTARTREAD) {
 +    lseek(fd, 0, SEEK_SET);
 +    current_offset = 0;
 +    return CURLIOE_OK;
 +  }
 +  return CURLIOE_UNKNOWNCMD;
 +}
 +{
 +  struct data ioctl_data;
 +  curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, ioctl_callback);
 +  curl_easy_setopt(curl, CURLOPT_IOCTLDATA, &ioctl_data);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.12.3
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_IOCTLDATA "(3), " CURLOPT_SEEKFUNCTION "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_KEEP_SENDING_ON_ERROR.3
index 384ca756c,000000000..fbef74c07
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_KEEP_SENDING_ON_ERROR.3
+++ b/docs/libcurl/opts/GNURLOPT_KEEP_SENDING_ON_ERROR.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 CURLOPT_KEEP_SENDING_ON_ERROR 3 "22 Sep 2016" "libcurl 7.51.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_KEEP_SENDING_ON_ERROR \- keep sending on early HTTP response >= 300
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEEP_SENDING_ON_ERROR,
 +                          long keep_sending);
 +.SH DESCRIPTION
 +A long parameter set to 1 tells the library to keep sending the request body
 +if the HTTP code returned is equal to or larger than 300. The default action
 +would be to stop sending and close the stream or connection.
 +
 +This option is suitable for manual NTLM authentication, i.e. if an application
 +does not use \fICURLOPT_HTTPAUTH(3)\fP, but instead sets "Authorization: NTLM 
..."
 +headers manually using \fICURLOPT_HTTPHEADER(3)\fP.
 +
 +Most applications do not need this option.
 +.SH DEFAULT
 +0, stop sending on error
 +.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_POSTFIELDS, "sending data");
 +  curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, 1L);
 +  ret = curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Along with HTTP. Added in 7.51.0.
 +.SH RETURN VALUE
 +Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_FAILONERROR "(3), " CURLOPT_HTTPHEADER "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_MIMEPOST.3
index dd64c4b17,000000000..be396c7d9
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_MIMEPOST.3
+++ b/docs/libcurl/opts/GNURLOPT_MIMEPOST.3
@@@ -1,52 -1,0 +1,52 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_MIMEPOST 3 "22 Aug 2017" "libcurl 7.56.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_MIMEPOST \- set post/send data from mime structure
 +.SH SYNOPSIS
 +.nf
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +curl_mime *mime;
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MIMEPOST, mime);
 +.SH DESCRIPTION
 +Pass a mime handle previously obtained from \fIcurl_mime_init(3)\fP.
 +
 +This setting is supported by the HTTP protocol to post forms and by the
 +SMTP and IMAP protocols to provide the e-mail data to send/upload.
 +
 +This option is the preferred way of posting an HTTP form, replacing and
 +extending the deprecated \fICURLOPT_HTTPPOST(3)\fP option.
 +.SH PROTOCOLS
 +HTTP, SMTP, IMAP.
 +.SH AVAILABILITY
 +Since 7.56.0.
 +.SH RETURN VALUE
 +This will return CURLE_OK.
 +.SH EXAMPLE
 +Using this option implies the use of several mime structure building
 +functions: see https://curl.haxx.se/libcurl/c/smtp-mime.html for a complete
 +example.
 +.SH "SEE ALSO"
 +.BR curl_mime_init "(3)"
diff --cc docs/libcurl/opts/GNURLOPT_NETRC.3
index 35e7bb37b,000000000..eb5800630
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_NETRC.3
+++ b/docs/libcurl/opts/GNURLOPT_NETRC.3
@@@ -1,83 -1,0 +1,83 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_NETRC 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_NETRC \- request that .netrc is used
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC, long level);
 +.SH DESCRIPTION
 +This parameter controls the preference \fIlevel\fP of libcurl between using
 +user names and passwords from your \fI~/.netrc\fP file, relative to user names
 +and passwords in the URL supplied with \fICURLOPT_URL(3)\fP. On Windows,
 +libcurl will use the file as \fI%HOME%/_netrc\fP, but you can also tell
 +libcurl a different file name to use with \fICURLOPT_NETRC_FILE(3)\fP.
 +
 +libcurl uses a user name (and supplied or prompted password) supplied with
 +\fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP in preference to any of
 +the options controlled by this parameter.
 +
 +Only machine name, user name and password are taken into account (init macros
 +and similar things aren't supported).
 +
 +libcurl does not verify that the file has the correct properties set (as the
 +standard Unix ftp client does). It should only be readable by user.
 +
 +\fIlevel\fP should be set to one of the values described below.
 +
 +.IP CURL_NETRC_OPTIONAL
 +The use of your \fI~/.netrc\fP file is optional, and information in the URL is
 +to be preferred.  The file will be scanned for the host and user name (to
 +find the password only) or for the host only, to find the first user name and
 +password after that \fImachine\fP, which ever information is not specified in
 +the URL.
 +
 +Undefined values of the option will have this effect.
 +.IP CURL_NETRC_IGNORED
 +The library will ignore the file and use only the information in the URL.
 +
 +This is the default.
 +.IP CURL_NETRC_REQUIRED
 +This value tells the library that use of the file is required, to ignore the
 +information in the URL, and to search the file for the host only.
 +.SH DEFAULT
 +CURL_NETRC_IGNORED
 +.SH PROTOCOLS
 +Most
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  CURLcode ret;
 +  curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL);
 +  ret = curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Always
 +.SH RETURN VALUE
 +Returns CURLE_OK
 +.SH "SEE ALSO"
- .BR CURLOPT_USERPWD "(3), " CURLOPT_USERNAME "(3), ", CURLOPT_NETRC_FILE 
"(3), "
++.BR CURLOPT_USERPWD "(3), " CURLOPT_USERNAME "(3), " CURLOPT_NETRC_FILE "(3), 
"
diff --cc docs/libcurl/opts/GNURLOPT_PATH_AS_IS.3
index 1760f2f65,000000000..17aafeed9
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PATH_AS_IS.3
+++ b/docs/libcurl/opts/GNURLOPT_PATH_AS_IS.3
@@@ -1,65 -1,0 +1,65 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2016, 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_PATH_AS_IS 3 "17 Jun 2014" "libcurl 7.42.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_PATH_AS_IS \- do not handle dot dot sequences
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PATH_AS_IS, long leaveit);
 +.SH DESCRIPTION
 +Set the long \fIleaveit\fP to 1, to explicitly tell libcurl to not alter the
 +given path before passing it on to the server.
 +
 +This instructs libcurl to NOT squash sequences of "/../" or "/./" that may
 +exist in the URL's path part and that is supposed to be removed according to
 +RFC 3986 section 5.2.4.
 +
 +Some server implementations are known to (erroneously) require the dot dot
 +sequences to remain in the path and some clients want to pass these on in
 +order to try out server implementations.
 +
 +By default libcurl will merge such sequences before using the path.
 +.SH DEFAULT
 +0
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, 
"http://example.com/../../etc/password";);
 +
 +  curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 1L);
 +
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
- Aded in 7.42.0
++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_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), "
 +.BR CURLOPT_URL "(3), "
 +
diff --cc docs/libcurl/opts/GNURLOPT_POST.3
index e05f82471,000000000..727f36f5b
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.
 +.\" *
 +.\" * 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 a HTTP POST
++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 a HTTP 1.1 server, you can send data without knowing the
++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.
 +
 +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 df268e193,000000000..a567ee1de
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.
 +.\" *
 +.\" * 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 a HTTP POST
++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.
 +
 +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_POSTREDIR.3
index 6812dd7aa,000000000..fadc2288a
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_POSTREDIR.3
+++ b/docs/libcurl/opts/GNURLOPT_POSTREDIR.3
@@@ -1,73 -1,0 +1,73 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2015, 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_POSTREDIR 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
- CURLOPT_POSTREDIR \- how to act on a HTTP POST redirect
++CURLOPT_POSTREDIR \- how to act on an HTTP POST redirect
 +.SH SYNOPSIS
 +.nf
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTREDIR,
 +                          long bitmask);
 +.SH DESCRIPTION
 +Pass a bitmask to control how libcurl acts on redirects after POSTs that get a
 +301, 302 or 303 response back.  A parameter with bit 0 set (value
 +\fBCURL_REDIR_POST_301\fP) tells the library to respect RFC 7231 (section
 +6.4.2 to 6.4.4) and not convert POST requests into GET requests when following
 +a 301 redirection.  Setting bit 1 (value \fBCURL_REDIR_POST_302\fP) makes
 +libcurl maintain the request method after a 302 redirect whilst setting bit 2
 +(value \fBCURL_REDIR_POST_303\fP) makes libcurl maintain the request method
 +after a 303 redirect. The value \fBCURL_REDIR_POST_ALL\fP is a convenience
 +define that sets all three bits.
 +
 +The non-RFC behaviour is ubiquitous in web browsers, so the library does the
 +conversion by default to maintain consistency. However, a server may require a
 +POST to remain a POST after such a redirection. This option is meaningful only
 +when setting \fICURLOPT_FOLLOWLOCATION(3)\fP.
 +.SH DEFAULT
 +0
 +.SH PROTOCOLS
 +HTTP(S)
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* a silly POST example */
 +  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "data=true");
 +
 +  /* example.com is redirected, so we tell libcurl to send POST on 301, 302 
and
 +     303 HTTP response codes */
 +  curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
 +
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.17.1. This option was known as CURLOPT_POST301 up to 7.19.0 as it
 +only supported the 301 then. CURL_REDIR_POST_303 was added in 7.26.0.
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_FOLLOWLOCATION "(3), " CURLOPT_POSTFIELDS "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PRE_PROXY.3
index 8894c16da,000000000..57dfcf6fe
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PRE_PROXY.3
+++ b/docs/libcurl/opts/GNURLOPT_PRE_PROXY.3
@@@ -1,80 -1,0 +1,80 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PRE_PROXY 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_PRE_PROXY \- set pre-proxy to use
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PRE_PROXY, char *preproxy);
 +.SH DESCRIPTION
 +Set the \fIpreproxy\fP to use for the upcoming request. The parameter
 +should be a char * to a zero terminated string holding the host name or dotted
 +numerical IP address. A numerical IPv6 address must be written within
 +[brackets].
 +
 +To specify port number in this string, append :[port] to the end of the host
 +name. The proxy's port number may optionally be specified with the separate
 +option \fICURLOPT_PROXYPORT(3)\fP. If not specified, libcurl will default to
 +using port 1080 for proxies.
 +
 +A pre proxy is a SOCKS proxy that curl connects to before it connects to the
 +HTTP(S) proxy specified in the \fICURLOPT_PROXY\fP option. The pre proxy can
 +only be a SOCKS proxy.
 +
 +The pre proxy string should be prefixed with [scheme]:// to specify which kind
 +of socks is used. Use socks4://, socks4a://, socks5:// or socks5h:// (the last
 +one to enable socks5 and asking the proxy to do the resolving, also known as
 +\fICURLPROXY_SOCKS5_HOSTNAME\fP type) to request the specific SOCKS version to
 +be used. Otherwise SOCKS4 is used as default.
 +
 +Setting the pre proxy string to "" (an empty string) will explicitly disable
 +the use of a pre proxy.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +Default is NULL, meaning no pre proxy is used.
 +
 +When you set a host name to use, do not assume that there's any particular
 +single port number used widely for proxies. Specify it!
 +.SH PROTOCOLS
 +All except file://. Note that some protocols don't do very well over proxy.
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/file.txt";);
 +  curl_easy_setopt(curl, CURLOPT_PREPROXY, "socks4://socks-proxy:1080");
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:80";);
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or
 +CURLE_OUT_OF_MEMORY if there was insufficient heap space.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), "
 +
diff --cc docs/libcurl/opts/GNURLOPT_PROXY.3
index 615af887d,000000000..f6504d0f2
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY.3
@@@ -1,118 -1,0 +1,118 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY \- set proxy to use
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY, char *proxy);
 +.SH DESCRIPTION
 +Set the \fIproxy\fP to use for the upcoming request. The parameter should be a
 +char * to a zero terminated string holding the host name or dotted numerical
 +IP address. A numerical IPv6 address must be written within [brackets].
 +
 +To specify port number in this string, append :[port] to the end of the host
 +name. The proxy's port number may optionally be specified with the separate
 +option \fICURLOPT_PROXYPORT(3)\fP. If not specified, libcurl will default to
 +using port 1080 for proxies.
 +
 +The proxy string may be prefixed with [scheme]:// to specify which kind of
 +proxy is used.
 +
 +.RS
 +.IP http://
 +HTTP Proxy. Default when no scheme or proxy type is specified.
 +.IP https://
 +HTTPS Proxy. (Added in 7.52.0 for OpenSSL, GnuTLS and NSS)
 +.IP socks4://
 +SOCKS4 Proxy.
 +.IP socks4a://
 +SOCKS4a Proxy. Proxy resolves URL hostname.
 +.IP socks5://
 +SOCKS5 Proxy.
 +.IP socks5h://
 +SOCKS5 Proxy. Proxy resolves URL hostname.
 +.RE
 +
 +Without a scheme prefix, \fICURLOPT_PROXYTYPE(3)\fP can be used to specify
 +which kind of proxy the string identifies.
 +
- When you tell the library to use a HTTP proxy, libcurl will transparently
++When you tell the library to use an HTTP proxy, libcurl will transparently
 +convert operations to HTTP even if you specify an FTP URL etc. This may have
 +an impact on what other features of the library you can use, such as
 +\fICURLOPT_QUOTE(3)\fP and similar FTP specifics that don't work unless you
 +tunnel through the HTTP proxy. Such tunneling is activated with
 +\fICURLOPT_HTTPPROXYTUNNEL(3)\fP.
 +
 +Setting the proxy string to "" (an empty string) will explicitly disable the
 +use of a proxy, even if there is an environment variable set for it.
 +
 +A proxy host string can also include protocol scheme (http://) and embedded
 +user + password.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH "Environment variables"
 +libcurl respects the proxy environment variables named \fBhttp_proxy\fP,
 +\fBftp_proxy\fP, \fBsftp_proxy\fP etc. If set, libcurl will use the specified
 +proxy for that URL scheme. So for a "FTP://" URL, the \fBftp_proxy\fP is
 +considered. \fBall_proxy\fP is used if no protocol specific proxy was set.
 +
 +If \fBno_proxy\fP (or \fBNO_PROXY\fP) is set, it can specify a list of host
 +names to not use a proxy for (even if one of the previous mention variables
 +are set). That is the exact equivalent of setting the \fICURLOPT_NOPROXY(3)\fP
 +option.
 +
 +The \fICURLOPT_PROXY(3)\fP and \fICURLOPT_NOPROXY(3)\fP options override
 +environment variables.
 +.SH DEFAULT
 +Default is NULL, meaning no proxy is used.
 +
 +When you set a host name to use, do not assume that there's any particular
 +single port number used widely for proxies. Specify it!
 +.SH PROTOCOLS
 +All except file://. Note that some protocols don't do very well over proxy.
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/file.txt";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "http://proxy:80";);
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Since 7.14.1 the proxy environment variable names can include the protocol
 +scheme.
 +
 +Since 7.21.7 the proxy string supports the socks protocols as "schemes".
 +
 +Since 7.50.2, unsupported schemes in proxy strings cause libcurl to return
 +error.
 +.SH RETURN VALUE
 +Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or
 +CURLE_OUT_OF_MEMORY if there was insufficient heap space.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXYPORT "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), "
 +.BR CURLOPT_PROXYTYPE "(3)"
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_CAINFO.3
index a5f61a5bd,000000000..b8f6c28c0
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_CAINFO.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_CAINFO.3
@@@ -1,83 -1,0 +1,83 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_CAINFO 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAINFO, char *path);
 +.SH DESCRIPTION
- This option is for connecting to a HTTPS proxy, not a HTTPS server.
++This option is for connecting to an HTTPS proxy, not an HTTPS server.
 +
 +Pass a char * to a zero terminated string naming a file holding one or more
 +certificates to verify the HTTPS proxy with.
 +
 +If \fICURLOPT_PROXY_SSL_VERIFYPEER(3)\fP is zero and you avoid verifying the
 +server's certificate, \fICURLOPT_PROXY_CAINFO(3)\fP need not even indicate an
 +accessible file.
 +
 +This option is by default set to the system path where libcurl's cacert bundle
 +is assumed to be stored, as established at build time.
 +
 +If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module
 +(libnsspem.so) needs to be available for this option to work properly.
 +
 +(iOS and macOS only) If curl is built against Secure Transport, then this
 +option is supported for backward compatibility with other SSL engines, but it
 +should not be set. If the option is not set, then curl will use the
 +certificates in the system and user Keychain to verify the peer, which is the
 +preferred method of verifying the peer's certificate chain.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +Built-in system specific
 +.SH PROTOCOLS
 +Used with HTTPS proxy
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
-   /* using a HTTPS proxy */
++  /* using an HTTPS proxy */
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://localhost:443";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_CAINFO, "/etc/certs/cabundle.pem");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +
 +For TLS backends that don't support certificate files, the
 +\fICURLOPT_PROXY_CAINFO(3)\fP option is ignored. Refer to
 +https://curl.haxx.se/docs/ssl-compared.html
 +.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_PROXY_CAPATH "(3), "
 +.BR CURLOPT_PROXY_SSL_VERIFYPEER "(3), " CURLOPT_PROXY_SSL_VERIFYHOST "(3), "
 +.BR CURLOPT_CAPATH "(3), "
 +.BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_SSL_VERIFYHOST "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_CAPATH.3
index 1e7345ed3,000000000..4391d02e3
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_CAPATH.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_CAPATH.3
@@@ -1,72 -1,0 +1,72 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_CAPATH 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_PROXY_CAPATH \- specify directory holding proxy CA certificates
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAPATH, char *capath);
 +.SH DESCRIPTION
 +Pass a char * to a zero terminated string naming a directory holding multiple
 +CA certificates to verify the HTTPS proxy with. If libcurl is built against
 +OpenSSL, the certificate directory must be prepared using the openssl c_rehash
 +utility. This makes sense only when \fICURLOPT_PROXY_SSL_VERIFYPEER(3)\fP is
 +enabled (which it is by default).
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +Everything used over an HTTPS proxy
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
-   /* using a HTTPS proxy */
++  /* using an HTTPS proxy */
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://localhost:443";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_CAPATH, "/etc/cert-dir");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +
 +This option is supported by the OpenSSL, GnuTLS, PolarSSL and mbedTLS
 +(since 7.56.0) backends. The NSS backend provides the option only for
 +backward compatibility.
 +.SH RETURN VALUE
 +CURLE_OK if supported; or an error such as:
 +
 +CURLE_NOT_BUILT_IN - Not supported by the SSL backend
 +
 +CURLE_UNKNOWN_OPTION
 +
 +CURLE_OUT_OF_MEMORY
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY_CAINFO "(3), "
 +.Br CURLOPT_CAINFO "(3), " CURLOPT_PROXY_SSL_VERIFYHOST "(3), "
 +.BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_CRLFILE.3
index 310ad7a4e,000000000..0f2847e43
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_CRLFILE.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_CRLFILE.3
@@@ -1,75 -1,0 +1,75 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_CRLFILE 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_PROXY_CRLFILE \- specify a proxy Certificate Revocation List file
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CRLFILE, char *file);
 +.SH DESCRIPTION
- This option is for connecting to a HTTPS proxy, not a HTTPS server.
++This option is for connecting to an HTTPS proxy, not an HTTPS server.
 +
 +Pass a char * to a zero terminated string naming a \fIfile\fP with the
 +concatenation of CRL (in PEM format) to use in the certificate validation that
 +occurs during the SSL exchange.
 +
 +When curl is built to use NSS or GnuTLS, there is no way to influence the use
 +of CRL passed to help in the verification process. When libcurl is built with
 +OpenSSL support, X509_V_FLAG_CRL_CHECK and X509_V_FLAG_CRL_CHECK_ALL are both
 +set, requiring CRL check against all the elements of the certificate chain if
 +a CRL file is passed.
 +
 +This option makes sense only when used in combination with the
 +\fICURLOPT_PROXY_SSL_VERIFYPEER(3)\fP option.
 +
 +A specific error code (\fICURLE_SSL_CRL_BADFILE\fP) is defined with the
 +option. It is returned when the SSL exchange fails because the CRL file cannot
 +be loaded.  A failure in certificate verification due to a revocation
 +information found in the CRL does not trigger this specific error.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +Used with HTTPS proxy.
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://localhost:80";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_CRLFILE, "/etc/certs/crl.pem");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.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_PROXY_SSL_VERIFYPEER "(3), " CURLOPT_PROXY_SSL_VERIFYHOST "(3), "
 +.BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_SSL_VERIFYHOST "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_KEYPASSWD.3
index 594290274,000000000..89316a28b
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_KEYPASSWD.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_KEYPASSWD.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 CURLOPT_PROXY_KEYPASSWD 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_KEYPASSWD \- set passphrase to proxy private key
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_KEYPASSWD, char *pwd);
 +.SH DESCRIPTION
- This option is for connecting to a HTTPS proxy, not a HTTPS server.
++This option is for connecting to an HTTPS proxy, not an HTTPS server.
 +
 +Pass a pointer to a zero terminated string as parameter. It will be used as
 +the password required to use the \fICURLOPT_PROXY_SSLKEY(3)\fP private key.
 +You never needed a pass phrase to load a certificate but you need one to load
 +your private key.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +Used with HTTPS proxy
 +.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_PROXY, "https://proxy:443";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, "superman");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
 +CURLE_OUT_OF_MEMORY if there was insufficient heap space.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY_SSLKEY "(3), " CURLOPT_SSH_PRIVATE_KEYFILE "(3), "
 +.BR CURLOPT_SSLKEY "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_PINNEDPUBLICKEY.3
index f6d56ebe9,000000000..14a011e87
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_PINNEDPUBLICKEY.3
@@@ -1,111 -1,0 +1,111 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_PINNEDPUBLICKEY 3 "24 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_PINNEDPUBLICKEY \- set pinned public key for https proxy
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_PINNEDPUBLICKEY, char 
*pinnedpubkey);
 +.SH DESCRIPTION
 +Pass a pointer to a zero terminated string as parameter. The string can be the
 +file name of your pinned public key. The file format expected is "PEM" or 
"DER".
 +The string can also be any number of base64 encoded sha256 hashes preceded by
 +"sha256//" and separated by ";"
 +
 +When negotiating a TLS or SSL connection, the https proxy sends a certificate
 +indicating its identity. A public key is extracted from this certificate and
 +if it does not exactly match the public key provided to this option, curl will
 +abort the connection before sending or receiving any data.
 +
 +On mismatch, \fICURLE_SSL_PINNEDPUBKEYNOTMATCH\fP is returned.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL
 +.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";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://proxy:443";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_PINNEDPUBLICKEY,
 +  
"sha256//YhKJKSzoTt2b5FP18fvpHo7fJYqQCjAa3HWY3tvRMwE=;sha256//t62CeU2tQiqkexU74Gxa2eg7fRbEgoChTociMee9wno=");
 +
 +  /* Perform the request */
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH PUBLIC KEY EXTRACTION
 +If you do not have the https proxy server's public key file you can extract it
 +from the https proxy server's certificate.
 +.nf
 +# retrieve the server's certificate if you don't already have it
 +#
 +# be sure to examine the certificate to see if it is what you expected
 +#
 +# Windows-specific:
 +# - Use NUL instead of /dev/null.
 +# - OpenSSL may wait for input instead of disconnecting. Hit enter.
 +# - If you don't have sed, then just copy the certificate into a file:
 +#   Lines from -----BEGIN CERTIFICATE----- to -----END CERTIFICATE-----.
 +#
 +openssl s_client -servername www.example.com -connect www.example.com:443 < 
/dev/null | sed -n "/-----BEGIN/,/-----END/p" > www.example.com.pem
 +
 +# extract public key in pem format from certificate
 +openssl x509 -in www.example.com.pem -pubkey -noout > 
www.example.com.pubkey.pem
 +
 +# convert public key from pem to der
 +openssl asn1parse -noout -inform pem -in www.example.com.pubkey.pem -out 
www.example.com.pubkey.der
 +
 +# sha256 hash and base64 encode der to string for use
 +openssl dgst -sha256 -binary www.example.com.pubkey.der | openssl base64
 +.fi
 +The public key in PEM format contains a header, base64 data and a
 +footer:
 +.nf
 +-----BEGIN PUBLIC KEY-----
 +[BASE 64 DATA]
 +-----END PUBLIC KEY-----
 +.fi
 +.SH AVAILABILITY
 +PEM/DER support:
 +
 +  7.52.0: GSKit, GnuTLS, NSS, OpenSSL, PolarSSL, mbedtls, wolfSSL/CyaSSL
 +
 +sha256 support:
 +
 +  7.52.0: GnuTLS, NSS, OpenSSL, PolarSSL, mbedtls, wolfSSL/CyaSSL
 +
 +Other SSL backends not supported.
 +.SH RETURN VALUE
 +Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
 +CURLE_OUT_OF_MEMORY if there was insufficient heap space.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY_SSL_VERIFYPEER "(3), "
 +.BR CURLOPT_PROXY_SSL_VERIFYHOST "(3), "
 +.BR CURLOPT_PROXY_CAINFO "(3), "
 +.BR CURLOPT_PROXY_CAPATH "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_SSLCERT.3
index 41e73190e,000000000..5fe61e347
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_SSLCERT.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_SSLCERT.3
@@@ -1,72 -1,0 +1,72 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_SSLCERT 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_PROXY_SSLCERT \- set SSL proxy client certificate
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLCERT, char *cert);
 +.SH DESCRIPTION
- This option is for connecting to a HTTPS proxy, not a HTTPS server.
++This option is for connecting to an HTTPS proxy, not an HTTPS server.
 +
 +Pass a pointer to a zero terminated string as parameter. The string should be
 +the file name of your client certificate used to connect to the HTTPS proxy.
 +The default format is "P12" on Secure Transport and "PEM" on other engines,
 +and can be changed with \fICURLOPT_PROXY_SSLCERTTYPE(3)\fP.
 +
 +With NSS or Secure Transport, this can also be the nickname of the certificate
 +you wish to authenticate with as it is named in the security database. If you
 +want to use a file from the current directory, please precede it with "./"
 +prefix, in order to avoid confusion with a nickname.
 +
 +When using a client certificate, you most likely also need to provide a
 +private key with \fICURLOPT_PROXY_SSLKEY(3)\fP.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +Used with HTTPS proxy
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://proxy";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERT, "client.pem");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEY, "key.pem");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, "s3cret");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
 +CURLE_OUT_OF_MEMORY if there was insufficient heap space.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY_SSLCERTTYPE "(3), " CURLOPT_PROXY_SSLKEY "(3), "
 +.BR CURLOPT_SSLCERT "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_SSLCERTTYPE.3
index b8a6be0bb,000000000..96a81b810
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_SSLCERTTYPE.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_SSLCERTTYPE.3
@@@ -1,67 -1,0 +1,67 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_SSLCERTTYPE 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_SSLCERTTYPE \- specify type of the proxy client SSL certificate
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLCERTTYPE, char 
*type);
 +.SH DESCRIPTION
 +Pass a pointer to a zero terminated string as parameter. The string should be
- the format of your client certificate used when connecting to a HTTPS proxy.
++the format of your client certificate used when connecting to an HTTPS proxy.
 +
 +Supported formats are "PEM" and "DER", except with Secure Transport. OpenSSL
 +(versions 0.9.3 and later) and Secure Transport (on iOS 5 or later, or OS X
 +10.7 or later) also support "P12" for PKCS#12-encoded files.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +"PEM"
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://proxy";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERT, "client.pem");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERTTYPE, "PEM");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEY, "key.pem");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, "s3cret");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +
 +If built TLS enabled.
 +.SH RETURN VALUE
 +Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
 +CURLE_OUT_OF_MEMORY if there was insufficient heap space.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY_SSLCERT "(3), " CURLOPT_PROXY_SSLKEY "(3), "
 +.BR CURLOPT_SSLCERTTYPE "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_SSLKEY.3
index 8df1c1ee6,000000000..585ff00fc
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_SSLKEY.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_SSLKEY.3
@@@ -1,68 -1,0 +1,68 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_SSLKEY 3 "16 Nov 2016" "libcurl 7.52.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_PROXY_SSLKEY \- specify private keyfile for TLS and SSL proxy client 
cert
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLKEY, char *keyfile);
 +.SH DESCRIPTION
 +Pass a pointer to a zero terminated string as parameter. The string should be
 +the file name of your private key used for connecting to the HTTPS proxy. The
 +default format is "PEM" and can be changed with
 +\fICURLOPT_PROXY_SSLKEYTYPE(3)\fP.
 +
 +(iOS and Mac OS X only) This option is ignored if curl was built against
 +Secure Transport. Secure Transport expects the private key to be already
 +present in the keychain or PKCS#12 file containing the certificate.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://proxy";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERT, "client.pem");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEY, "key.pem");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, "s3cret");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +
 +If built TLS enabled.
 +.SH RETURN VALUE
 +Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
 +CURLE_OUT_OF_MEMORY if there was insufficient heap space.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY_SSLKEYTYPE "(3), " CURLOPT_PROXY_SSLCERT "(3), "
 +.BR CURLOPT_SSLKEYTYPE "(3), " CURLOPT_SSLCERT "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_SSLKEYTYPE.3
index 687c229a0,000000000..d8106cba0
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_SSLKEYTYPE.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_SSLKEYTYPE.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 CURLOPT_PROXY_SSLKEYTYPE 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_SSLKEYTYPE \- set type of the proxy private key file
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLKEYTYPE, char *type);
 +.SH DESCRIPTION
- This option is for connecting to a HTTPS proxy, not a HTTPS server.
++This option is for connecting to an HTTPS proxy, not an HTTPS server.
 +
 +Pass a pointer to a zero terminated string as parameter. The string should be
 +the format of your private key. Supported formats are "PEM", "DER" and "ENG".
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH PROTOCOLS
 +Used with HTTPS proxy
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://proxy";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERT, "client.pem");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEY, "key.pem");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEYTYPE, "PEM");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, "s3cret");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
 +CURLE_OUT_OF_MEMORY if there was insufficient heap space.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY_SSLKEY "(3), " CURLOPT_PROXY_SSLCERT "(3), "
 +.BR CURLOPT_SSLKEYTYPE "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_SSLVERSION.3
index 73c2c9766,000000000..92106a237
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_SSLVERSION.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_SSLVERSION.3
@@@ -1,96 -1,0 +1,96 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2016, 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_PROXY_SSLVERSION 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_SSLVERSION \- set preferred proxy TLS/SSL version
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLVERSION, long 
version);
 +.SH DESCRIPTION
 +Pass a long as parameter to control which version of SSL/TLS to attempt to use
 +when connecting to an HTTPS proxy.
 +
 +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.
 +.IP CURL_SSLVERSION_TLSv1
 +TLSv1.x
 +.IP CURL_SSLVERSION_TLSv1_0
 +TLSv1.0
 +.IP CURL_SSLVERSION_TLSv1_1
 +TLSv1.1
 +.IP CURL_SSLVERSION_TLSv1_2
 +TLSv1.2
 +.IP CURL_SSLVERSION_TLSv1_3
 +TLSv1.3
 +.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)
 +.IP CURL_SSLVERSION_MAX_TLSv1_0
 +The flag defines maximum supported TLS version as TLSv1.0.
 +(Added in 7.54.0)
 +.IP CURL_SSLVERSION_MAX_TLSv1_1
 +The flag defines maximum supported TLS version as TLSv1.1.
 +(Added in 7.54.0)
 +.IP CURL_SSLVERSION_MAX_TLSv1_2
 +The flag defines maximum supported TLS version as TLSv1.2.
 +(Added in 7.54.0)
 +.IP CURL_SSLVERSION_MAX_TLSv1_3
 +The flag defines maximum supported TLS version as TLSv1.3.
 +(Added in 7.54.0)
 +.RE
 +.SH DEFAULT
 +CURL_SSLVERSION_DEFAULT
 +.SH PROTOCOLS
 +All
 +.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
 +Added in 7.52.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) " CURLOPT_SSLVERSION "(3), "
 +
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_SSL_CIPHER_LIST.3
index caaef81a3,000000000..c959607fa
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_SSL_CIPHER_LIST.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_SSL_CIPHER_LIST.3
@@@ -1,80 -1,0 +1,80 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_SSL_CIPHER_LIST 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_SSL_CIPHER_LIST \- specify ciphers to use for proxy TLS
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_CIPHER_LIST, char 
*list);
 +.SH DESCRIPTION
 +Pass a char *, pointing to a zero terminated string holding the list of
 +ciphers to use for the connection to the HTTPS proxy. The list must be
 +syntactically correct, it consists of one or more cipher strings separated by
 +colons. Commas or spaces are also acceptable separators but colons are
 +normally used, \&!, \&- and \&+ can be used as operators.
 +
 +For OpenSSL and GnuTLS valid examples of cipher lists include 'RC4-SHA',
 +\'SHA1+DES\', 'TLSv1' and 'DEFAULT'. The default list is normally set when you
 +compile OpenSSL.
 +
 +You'll find more details about cipher lists on this URL:
 +
 + https://www.openssl.org/docs/apps/ciphers.html
 +
 +For NSS, valid examples of cipher lists include 'rsa_rc4_128_md5',
 +\'rsa_aes_128_sha\', etc. With NSS you don't add/remove ciphers. If one uses
 +this option then all known ciphers are disabled and only those passed in are
 +enabled.
 +
 +You'll find more details about the NSS cipher lists on this URL:
 +
 + 
http://git.fedorahosted.org/cgit/mod_nss.git/plain/docs/mod_nss.html#Directives
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL, use internal default
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://localhost";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSL_CIPHER_LIST, "TLSv1");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +
 +If built TLS enabled.
 +.SH RETURN VALUE
 +Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
 +CURLE_OUT_OF_MEMORY if there was insufficient heap space.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY_SSLVERSION "(3), " CURLOPT_USE_SSL "(3), "
 +.BR CURLOPT_SSLVERSION "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_SSL_OPTIONS.3
index 428efc38e,000000000..f0a70fda6
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_SSL_OPTIONS.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_SSL_OPTIONS.3
@@@ -1,72 -1,0 +1,72 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_SSL_OPTIONS 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_SSL_OPTIONS \- set proxy SSL behavior options
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_OPTIONS, long 
bitmask);
 +.SH DESCRIPTION
 +Pass a long with a bitmask to tell libcurl about specific SSL behaviors.
 +
 +\fICURLSSLOPT_ALLOW_BEAST\fP tells libcurl to not attempt to use any
 +workarounds for a security flaw in the SSL3 and TLS1.0 protocols.  If this
 +option isn't used or this bit is set to 0, the SSL layer libcurl uses may use
 +a work-around for this flaw although it might cause interoperability problems
 +with some (older) SSL implementations. WARNING: avoiding this work-around
 +lessens the security, and by setting this option to 1 you ask for exactly
 +that.  This option is only supported for DarwinSSL, NSS and OpenSSL.
 +
 +\fICURLSSLOPT_NO_REVOKE\fP tells libcurl to disable certificate revocation
 +checks for those SSL backends where such behavior is present. \fBCurrently
 +this option is only supported for WinSSL (the native Windows SSL library),
 +with an exception in the case of Windows' Untrusted Publishers blacklist which
 +it seems can't be bypassed.\fP This option may have broader support to
 +accommodate other SSL backends in the future.
 +https://curl.haxx.se/docs/ssl-compared.html
 +
 +.SH DEFAULT
 +0
 +.SH PROTOCOLS
 +All
 +.SH AVAILABLE
 +Added in 7.52.0
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://proxy";);
 +  /* weaken TLS only for use with silly proxies */
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, CURLSSLOPT_ALLOW_BEAST |
 +                   CURLSSLOPT_NO_REVOKE);
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY_SSLVERSION "(3), " CURLOPT_PROXY_SSL_CIPHER_LIST "(3), "
 +.BR CURLOPT_SSLVERSION "(3), " CURLOPT_SSL_CIPHER_LIST "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_SSL_VERIFYHOST.3
index de4b15b34,000000000..00efb8e0d
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_SSL_VERIFYHOST.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_SSL_VERIFYHOST.3
@@@ -1,82 -1,0 +1,82 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2016, 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_PROXY_SSL_VERIFYHOST 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_SSL_VERIFYHOST \- verify the proxy certificate's name against 
host
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_VERIFYHOST, long 
verify);
 +.SH DESCRIPTION
 +Pass a long set to 2L as asking curl to \fIverify\fP in the HTTPS proxy's
 +certificate name fields against the proxy name.
 +
 +This option determines whether libcurl verifies that the proxy cert contains
 +the correct name for the name it is known as.
 +
 +When \fICURLOPT_PROXY_SSL_VERIFYHOST(3)\fP is 2, the proxy certificate must
 +indicate that the server is the proxy to which you meant to connect to, or the
 +connection fails.
 +
 +Curl considers the proxy the intended one when the Common Name field or a
 +Subject Alternate Name field in the certificate matches the host name in the
 +proxy string which you told curl to use.
 +
 +When the \fIverify\fP value is 1L, \fIcurl_easy_setopt\fP will return an error
 +and the option value will not be changed due to old legacy reasons.
 +
 +When the \fIverify\fP value is 0L, the connection succeeds regardless of the
 +names used in the certificate. Use that ability with caution!
 +
 +See also \fICURLOPT_PROXY_SSL_VERIFYPEER(3)\fP to verify the digital signature
 +of the proxy certificate.  If libcurl is built against NSS and
 +\fICURLOPT_PROXY_SSL_VERIFYPEER(3)\fP is zero,
 +\fICURLOPT_PROXY_SSL_VERIFYHOST(3)\fP is also set to zero and cannot be
 +overridden.
 +.SH DEFAULT
 +2
 +.SH PROTOCOLS
- All protocols when used over a HTTPS proxy.
++All protocols when used over an HTTPS proxy.
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 +
 +  /* Set the default value: strict name check please */
 +  curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, 2L);
 +
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0.
 +
 +If built TLS enabled.
 +.SH RETURN VALUE
 +Returns CURLE_OK if TLS is supported, and CURLE_UNKNOWN_OPTION if not.
 +
 +If 1 is set as argument, \fICURLE_BAD_FUNCTION_ARGUMENT\fP is returned.
 +.SH "SEE ALSO"
- .BR CURLOPT_PROXY_SSL_VERIFYPEER "(3), " CURLOPT_PROXY_CAINFO "(3), ",
- .BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_CAINFO "(3), ",
++.BR CURLOPT_PROXY_SSL_VERIFYPEER "(3), " CURLOPT_PROXY_CAINFO "(3), "
++.BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_CAINFO "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_SSL_VERIFYPEER.3
index 9473495cf,000000000..9f156d1f2
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_SSL_VERIFYPEER.3
@@@ -1,89 -1,0 +1,89 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2016, 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_PROXY_SSL_VERIFYPEER 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_SSL_VERIFYPEER \- verify the proxy's SSL certificate
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_VERIFYPEER, long 
verify);
 +.SH DESCRIPTION
 +Pass a long as parameter set to 1L to enable or 0L to disable.
 +
 +This option tells curl to verifies the authenticity of the HTTPS proxy's
 +certificate. A value of 1 means curl verifies; 0 (zero) means it doesn't.
 +
 +This is the proxy version of \fICURLOPT_SSL_VERIFYPEER(3)\fP that's used for
 +ordinary HTTPS servers.
 +
 +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_PROXY_CAINFO(3)\fP option
 +or the \fICURLOPT_PROXY_CAPATH(3)\fP option.
 +
 +When \fICURLOPT_PROXY_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_PROXY_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_PROXY_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.
 +.SH DEFAULT
 +1
 +.SH PROTOCOLS
 +All
 +.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_PROXY_SSL_VERIFYPEER, 1L);
 +
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +
 +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_PROXY_SSL_VERIFYHOST "(3), "
 +.BR CURLOPT_SSL_VERIFYPEER "(3), "
 +.BR CURLOPT_SSL_VERIFYHOST "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_PASSWORD.3
index db3a3d1bb,000000000..3bde5392b
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_PASSWORD.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_PASSWORD.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 CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_TLSAUTH_PASSWORD \- password to use for proxy TLS authentication
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_PASSWORD, char 
*pwd);
 +.SH DESCRIPTION
 +Pass a char * as parameter, which should point to the zero terminated password
 +to use for the TLS authentication method specified with the
 +\fICURLOPT_PROXY_TLSAUTH_TYPE(3)\fP option. Requires that the
 +\fICURLOPT_PROXY_TLSAUTH_USERNAME(3)\fP option also be set.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://proxy";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_TYPE, "SRP");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_USERNAME, "user");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_PASSWORD, "secret");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.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_PROXY_TLSAUTH_TYPE "(3), " CURLOPT_PROXY_TLSAUTH_USERNAME "(3), "
 +.BR CURLOPT_TLSAUTH_TYPE "(3), " CURLOPT_TLSAUTH_USERNAME "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_TYPE.3
index 47f4dae4a,000000000..6130577d3
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_TYPE.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_TYPE.3
@@@ -1,70 -1,0 +1,70 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_TLSAUTH_TYPE 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_TLSAUTH_TYPE \- set proxy TLS authentication methods
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_TYPE, char 
*type);
 +.SH DESCRIPTION
 +Pass a pointer to a zero terminated string as parameter. The string should be
 +the method of the TLS authentication used for the HTTPS connection. Supported
 +method is "SRP".
 +
 +.IP SRP
 +TLS-SRP authentication. Secure Remote Password authentication for TLS is
 +defined in RFC5054 and provides mutual authentication if both sides have a
 +shared secret. To use TLS-SRP, you must also set the
 +\fICURLOPT_PROXY_TLSAUTH_USERNAME(3)\fP and
 +\fICURLOPT_PROXY_TLSAUTH_PASSWORD(3)\fP options.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +blank
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://proxy";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_TYPE, "SRP");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_USERNAME, "user");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_PASSWORD, "secret");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.0
 +
 +You need to build libcurl with GnuTLS or OpenSSL with TLS-SRP support for this
 +to work.
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY_TLSAUTH_USERNAME "(3), " CURLOPT_PROXY_TLSAUTH_PASSWORD 
"(3), "
 +.BR CURLOPT_TLSAUTH_USERNAME "(3), " CURLOPT_TLSAUTH_PASSWORD "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_USERNAME.3
index 6a2c4388d,000000000..7623ba37a
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_USERNAME.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_TLSAUTH_USERNAME.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 CURLOPT_PROXY_TLSAUTH_USERNAME 3 "16 Nov 2016" "libcurl 7.52.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_TLSAUTH_USERNAME \- user name to use for proxy TLS 
authentication
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_USERNAME, char 
*user);
 +.SH DESCRIPTION
 +Pass a char * as parameter, which should point to the zero terminated username
 +to use for the HTTPS proxy TLS authentication method specified with the
 +\fICURLOPT_PROXY_TLSAUTH_TYPE(3)\fP option. Requires that the
 +\fICURLOPT_PROXY_TLSAUTH_PASSWORD(3)\fP option also be set.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "https://proxy";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_TYPE, "SRP");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_USERNAME, "user");
 +  curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_PASSWORD, "secret");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.52.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_PROXY_TLSAUTH_TYPE "(3), " CURLOPT_PROXY_TLSAUTH_PASSWORD "(3), "
 +.BR CURLOPT_TLSAUTH_TYPE "(3), " CURLOPT_TLSAUTH_PASSWORD "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PROXY_TRANSFER_MODE.3
index 3a89fd677,000000000..587e7a3d6
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PROXY_TRANSFER_MODE.3
+++ b/docs/libcurl/opts/GNURLOPT_PROXY_TRANSFER_MODE.3
@@@ -1,58 -1,0 +1,58 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PROXY_TRANSFER_MODE 3 "19 Jun 2014" "libcurl 7.37.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TRANSFER_MODE, long 
enabled);
 +.SH DESCRIPTION
 +Pass a long. If the value is set to 1 (one), it tells libcurl to set the
- transfer mode (binary or ASCII) for FTP transfers done via a HTTP proxy, by
++transfer mode (binary or ASCII) for FTP transfers done via an HTTP proxy, by
 +appending ;type=a or ;type=i to the URL. Without this setting, or it being set
 +to 0 (zero, the default), \fICURLOPT_TRANSFERTEXT(3)\fP has no effect when
 +doing FTP via a proxy. Beware that not all proxies support this feature.
 +.SH DEFAULT
 +0, disabled
 +.SH PROTOCOLS
 +FTP over proxy
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, 
"ftp://example.com/old-server/file.txt";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "http://localhost:80";);
 +  curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, 1L);
 +  curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, 1L);
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.18.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if the
 +enabled value is not supported.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_PUT.3
index d3e919f59,000000000..0c23e47c2
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_PUT.3
+++ b/docs/libcurl/opts/GNURLOPT_PUT.3
@@@ -1,46 -1,0 +1,46 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_PUT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
 +.SH NAME
- CURLOPT_PUT \- make a HTTP PUT request
++CURLOPT_PUT \- make an HTTP PUT request
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PUT, long put);
 +.SH DESCRIPTION
 +A parameter set to 1 tells the library to use HTTP PUT to transfer data. The
 +data should be set with \fICURLOPT_READDATA(3)\fP and
 +\fICURLOPT_INFILESIZE(3)\fP.
 +
 +This option is \fBdeprecated\fP since version 7.12.1. Use
 +\fICURLOPT_UPLOAD(3)\fP!
 +.SH DEFAULT
 +0, disabled
 +.SH PROTOCOLS
 +HTTP
 +.SH AVAILABILITY
 +Deprecated since 7.12.1. Do not use.
 +.SH RETURN VALUE
 +Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_UPLOAD "(3), " CURLOPT_HTTPGET "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_QUOTE.3
index a89dd7426,000000000..cfe062232
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_QUOTE.3
+++ b/docs/libcurl/opts/GNURLOPT_QUOTE.3
@@@ -1,105 -1,0 +1,105 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_QUOTE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_QUOTE \- (S)FTP commands to run before transfer
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_QUOTE, struct curl_slist 
*cmds);
 +.SH DESCRIPTION
 +Pass a pointer to a linked list of FTP or SFTP commands to pass to the server
 +prior to your request. This will be done before any other commands are issued
 +(even before the CWD command for FTP). The linked list should be a fully valid
 +list of 'struct curl_slist' structs properly filled in with text strings. Use
 +\fIcurl_slist_append(3)\fP to append strings (commands) to the list, and clear
 +the entire list afterwards with \fIcurl_slist_free_all(3)\fP. Disable this
- operation again by setting a NULL to this option. When speaking to a FTP
++operation again by setting a NULL to this option. When speaking to an FTP
 +server, prefix the command with an asterisk (*) to make libcurl continue even
 +if the command fails as by default libcurl will stop at first failure.
 +
 +The set of valid FTP commands depends on the server (see RFC959 for a list of
 +mandatory commands).
 +
 +The valid SFTP commands are:
 +.RS
 +.IP "chgrp group file"
 +The chgrp command sets the group ID of the file named by the file operand to
 +the group ID specified by the group operand. The group operand is a decimal
 +integer group ID.
 +.IP "chmod mode file"
 +The chmod command modifies the file mode bits of the specified file. The
 +mode operand is an octal integer mode number.
 +.IP "chown user file"
 +The chown command sets the owner of the file named by the file operand to the
 +user ID specified by the user operand. The user operand is a decimal
 +integer user ID.
 +.IP "ln source_file target_file"
 +The ln and symlink commands create a symbolic link at the target_file location
 +pointing to the source_file location.
 +.IP "mkdir directory_name"
 +The mkdir command creates the directory named by the directory_name operand.
 +.IP "pwd"
 +The pwd command returns the absolute pathname of the current working 
directory.
 +.IP "rename source target"
 +The rename command renames the file or directory named by the source
 +operand to the destination path named by the target operand.
 +.IP "rm file"
 +The rm command removes the file specified by the file operand.
 +.IP "rmdir directory"
 +The rmdir command removes the directory entry specified by the directory
 +operand, provided it is empty.
 +.IP "statvfs file"
 +The statvfs command returns statistics on the file system in which specified
 +file resides. (Added in 7.49.0)
 +.IP "symlink source_file target_file"
 +See ln.
 +.RE
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +SFTP and FTP
 +.SH EXAMPLE
 +.nf
 +struct curl_slist *h = NULL;
 +h = curl_slist_append(h, "RNFR source-name");
 +h = curl_slist_append(h, "RNTO new-name");
 +
 +curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/foo.bin";);
 +
 +  /* pass in the FTP commands to run before the transfer */
 +  curl_easy_setopt(curl, CURLOPT_QUOTE, headerlist);
 +
 +  ret = curl_easy_perform(curl);
 +
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +SFTP support added in 7.16.3. *-prefix for SFTP added in 7.24.0
 +.SH RETURN VALUE
 +Returns CURLE_OK
 +.SH "SEE ALSO"
 +.BR CURLOPT_POSTQUOTE "(3), " CURLOPT_PREQUOTE "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_REQUEST_TARGET.3
index eabefaa2d,000000000..88ae1397e
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_REQUEST_TARGET.3
+++ b/docs/libcurl/opts/GNURLOPT_REQUEST_TARGET.3
@@@ -1,56 -1,0 +1,56 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_REQUEST_TARGET 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_REQUEST_TARGET \- specify an alternative target for this request
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REQUEST_TARGET, string);
 +.SH DESCRIPTION
 +Pass a char * to string which libcurl uses in the upcoming request instead of
 +the path as extracted from the URL.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +HTTP
 +.SH EXAMPLE
 +.nf
 +curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/*";);
 +  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "OPTIONS");
 +
 +  /* issue an OPTIONS * request (no leading slash) */
 +  curl_easy_setopt(curl, CURLOPT_REQUEST_TARGET, "*");
 +
 +  /* Perform the request */
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.55.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_CUSTOMREQUEST "(3), " CURLOPT_HTTPGET "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_RESOLVER_START_DATA.3
index 4d8f8793e,000000000..a1612ca38
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_RESOLVER_START_DATA.3
+++ b/docs/libcurl/opts/GNURLOPT_RESOLVER_START_DATA.3
@@@ -1,63 -1,0 +1,63 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 CURLOPT_RESOLVER_START_DATA 3 "14 Feb 2018" "libcurl 7.59.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_RESOLVER_START_DATA \- custom pointer passed to the resolver start 
callback
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVER_START_DATA, void 
*pointer);
 +.SH DESCRIPTION
 +Pass a \fIpointer\fP that will be untouched by libcurl and passed as the third
 +argument in the resolver start callback set with
 +\fICURLOPT_RESOLVER_START_FUNCTION(3)\fP.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +static int resolver_start_cb(void *resolver_state, void *reserved,
 +                             void *userdata)
 +{
 +  (void)reserved;
 +  printf("Received resolver_state=%p userdata=%p\\n",
 +         resolver_state, userdata);
 +  return 0;
 +}
 +
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION, resolver_start_cb);
 +  curl_easy_setopt(curl, CURLOPT_RESOLVER_START_DATA, curl);
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +  curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.59.0
 +.SH RETURN VALUE
 +Returns CURLE_OK
 +.SH "SEE ALSO"
 +.BR CURLOPT_RESOLVER_START_FUNCTION "(3) "
diff --cc docs/libcurl/opts/GNURLOPT_RESOLVER_START_FUNCTION.3
index fd11910ce,000000000..4e3f111c2
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_RESOLVER_START_FUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_RESOLVER_START_FUNCTION.3
@@@ -1,83 -1,0 +1,83 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 CURLOPT_RESOLVER_START_FUNCTION 3 "14 Feb 2018" "libcurl 7.59.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_RESOLVER_START_FUNCTION \- set callback to be called before a new 
resolve request is started
 +.SH SYNOPSIS
 +.nf
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +int resolver_start_cb(void *resolver_state, void *reserved, void *userdata);
 +
 +CURLcode curl_easy_setopt(CURL *handle,
 +                          CURLOPT_RESOLVER_START_FUNCTION,
 +                          resolver_start_cb);
 +.SH DESCRIPTION
 +Pass a pointer to your callback function, which should match the prototype
 +shown above.
 +
 +This callback function gets called by libcurl every time before a new resolve
 +request is started.
 +
 +\fIresolver_state\fP points to a backend-specific resolver state. Currently
 +only the ares resolver backend has a resolver state. It can be used to set up
 +any desired option on the ares channel before it's used, for example setting 
up
 +socket callback options.
 +
 +\fIreserved\fP is reserved.
 +
 +\fIuserdata\fP is the user pointer set with the
 +\fICURLOPT_RESOLVER_START_DATA(3)\fP option.
 +
 +The callback must return 0 on success. Returning a non-zero value will cause
 +the resolve to fail.
 +.SH DEFAULT
 +NULL (No callback)
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +static int resolver_start_cb(void *resolver_state, void *reserved,
 +                             void *userdata)
 +{
 +  (void)reserved;
 +  printf("Received resolver_state=%p userdata=%p\\n",
 +         resolver_state, userdata);
 +  return 0;
 +}
 +
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION, resolver_start_cb);
 +  curl_easy_setopt(curl, CURLOPT_RESOLVER_START_DATA, curl);
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +  curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.59.0
 +.SH RETURN VALUE
 +Returns CURLE_OK
 +.SH "SEE ALSO"
 +.BR CURLOPT_RESOLVER_START_DATA "(3) "
diff --cc docs/libcurl/opts/GNURLOPT_RTSP_CLIENT_CSEQ.3
index 19a4c864b,000000000..084c47282
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_RTSP_CLIENT_CSEQ.3
+++ b/docs/libcurl/opts/GNURLOPT_RTSP_CLIENT_CSEQ.3
@@@ -1,53 -1,0 +1,53 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_RTSP_CLIENT_CSEQ 3 "19 Jun 2014" "libcurl 7.37.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_CLIENT_CSEQ, long cseq);
 +.SH DESCRIPTION
- Pass a long to set the the CSEQ number to issue for the next RTSP
++Pass a long to set the CSEQ number to issue for the next RTSP
 +request. Useful if the application is resuming a previously broken
 +connection. The CSEQ will increment from this new number henceforth.
 +.SH DEFAULT
 +0
 +.SH PROTOCOLS
 +RTSP
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "rtsp://example.com/");
 +  curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, 1234L);
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.20.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_RTSP_SERVER_CSEQ "(3), " CURLOPT_RTSP_REQUEST "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_RTSP_REQUEST.3
index 02f6ae42d,000000000..a82b725f1
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_RTSP_REQUEST.3
+++ b/docs/libcurl/opts/GNURLOPT_RTSP_REQUEST.3
@@@ -1,111 -1,0 +1,111 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2014, 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_RTSP_REQUEST 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_RTSP_REQUEST \- specify RTSP request
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_REQUEST, long request);
 +.SH DESCRIPTION
 +Tell libcurl what kind of RTSP request to make. Pass one of the following RTSP
 +enum values as a long in the \fIrequest\fP argument. Unless noted otherwise,
 +commands require the Session ID to be initialized.
 +.IP CURL_RTSPREQ_OPTIONS
 +Used to retrieve the available methods of the server. The application is
 +responsible for parsing and obeying the response. \fB(The session ID is not
 +needed for this method.)\fP
 +.IP CURL_RTSPREQ_DESCRIBE
 +Used to get the low level description of a stream. The application should note
 +what formats it understands in the \fI'Accept:'\fP header. Unless set
 +manually, libcurl will automatically fill in \fI'Accept:
 +application/sdp'\fP. Time-condition headers will be added to Describe requests
 +if the \fICURLOPT_TIMECONDITION(3)\fP option is active. \fB(The session ID is
 +not needed for this method)\fP
 +.IP CURL_RTSPREQ_ANNOUNCE
 +When sent by a client, this method changes the description of the session. For
 +example, if a client is using the server to record a meeting, the client can
 +use Announce to inform the server of all the meta-information about the
- session.  ANNOUNCE acts like a HTTP PUT or POST just like
++session.  ANNOUNCE acts like an HTTP PUT or POST just like
 +\fICURL_RTSPREQ_SET_PARAMETER\fP
 +.IP CURL_RTSPREQ_SETUP
 +Setup is used to initialize the transport layer for the session. The
 +application must set the desired Transport options for a session by using the
 +\fICURLOPT_RTSP_TRANSPORT(3)\fP option prior to calling setup. If no session
 +ID is currently set with \fICURLOPT_RTSP_SESSION_ID(3)\fP, libcurl will
 +extract and use the session ID in the response to this request. \fB(The
 +session ID is not needed for this method).\fP
 +.IP CURL_RTSPREQ_PLAY
 +Send a Play command to the server. Use the \fICURLOPT_RANGE(3)\fP option to
 +modify the playback time (e.g. 'npt=10-15').
 +.IP CURL_RTSPREQ_PAUSE
 +Send a Pause command to the server. Use the \fICURLOPT_RANGE(3)\fP option with
 +a single value to indicate when the stream should be halted. (e.g. npt='25')
 +.IP CURL_RTSPREQ_TEARDOWN
 +This command terminates an RTSP session. Simply closing a connection does not
 +terminate the RTSP session since it is valid to control an RTSP session over
 +different connections.
 +.IP CURL_RTSPREQ_GET_PARAMETER
 +Retrieve a parameter from the server. By default, libcurl will automatically
 +include a \fIContent-Type: text/parameters\fP header on all non-empty requests
- unless a custom one is set. GET_PARAMETER acts just like a HTTP PUT or POST
++unless a custom one is set. GET_PARAMETER acts just like an HTTP PUT or POST
 +(see \fICURL_RTSPREQ_SET_PARAMETER\fP).
 +Applications wishing to send a heartbeat message (e.g. in the presence of a
 +server-specified timeout) should send use an empty GET_PARAMETER request.
 +.IP CURL_RTSPREQ_SET_PARAMETER
 +Set a parameter on the server. By default, libcurl will automatically include
 +a \fIContent-Type: text/parameters\fP header unless a custom one is set. The
- interaction with SET_PARAMETER is much like a HTTP PUT or POST. An application
++interaction with SET_PARAMETER is much like an HTTP PUT or POST. An 
application
 +may either use \fICURLOPT_UPLOAD(3)\fP with \fICURLOPT_READDATA(3)\fP like a
- HTTP PUT, or it may use \fICURLOPT_POSTFIELDS(3)\fP like a HTTP POST. No
++HTTP PUT, or it may use \fICURLOPT_POSTFIELDS(3)\fP like an HTTP POST. No
 +chunked transfers are allowed, so the application must set the
 +\fICURLOPT_INFILESIZE(3)\fP in the former and \fICURLOPT_POSTFIELDSIZE(3)\fP
 +in the latter. Also, there is no use of multi-part POSTs within RTSP.
 +.IP CURL_RTSPREQ_RECORD
 +Used to tell the server to record a session. Use the \fICURLOPT_RANGE(3)\fP
 +option to modify the record time.
 +.IP CURL_RTSPREQ_RECEIVE
 +This is a special request because it does not send any data to the server. The
 +application may call this function in order to receive interleaved RTP
 +data. It will return after processing one read buffer of data in order to give
 +the application a chance to run.
 +.SH DEFAULT
 +.SH PROTOCOLS
 +RTSP
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "rtsp://example.com/");
 +  /* ask for options! */
 +  curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, CURL_RTSPREQ_OPTIONS);
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.20.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_RTSP_SESSION_ID "(3), " CURLOPT_RTSP_STREAM_URI "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_SEEKFUNCTION.3
index 0e1a4d8f2,000000000..c5ad6988a
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_SEEKFUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_SEEKFUNCTION.3
@@@ -1,89 -1,0 +1,89 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_SEEKFUNCTION 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream
 +.SH SYNOPSIS
 +.nf
 +#include <gnurl/curl.h>
 +
 +/* These are the return codes for the seek callbacks */
 +#define CURL_SEEKFUNC_OK       0
 +#define CURL_SEEKFUNC_FAIL     1 /* fail the entire transfer */
 +#define CURL_SEEKFUNC_CANTSEEK 2 /* tell libcurl seeking can't be done, so
 +                                    libcurl might try other means instead */
 +
 +int seek_callback(void *userp, curl_off_t offset, int origin);
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SEEKFUNCTION, seek_callback);
 +.SH DESCRIPTION
 +Pass a pointer to your callback function, which should match the prototype
 +shown above.
 +
 +This function gets called by libcurl to seek to a certain position in the
 +input stream and can be used to fast forward a file in a resumed upload
 +(instead of reading all uploaded bytes with the normal read
 +function/callback). It is also called to rewind a stream when data has already
 +been sent to the server and needs to be sent again. This may happen when doing
- a HTTP PUT or POST with a multi-pass authentication method, or when an
++an HTTP PUT or POST with a multi-pass authentication method, or when an
 +existing HTTP connection is reused too late and the server closes the
 +connection. The function shall work like fseek(3) or lseek(3) and it gets
 +SEEK_SET, SEEK_CUR or SEEK_END as argument for \fIorigin\fP, although libcurl
 +currently only passes SEEK_SET.
 +
 +\fIuserp\fP is the pointer you set with \fICURLOPT_SEEKDATA(3)\fP.
 +
 +The callback function must return \fICURL_SEEKFUNC_OK\fP on success,
 +\fICURL_SEEKFUNC_FAIL\fP to cause the upload operation to fail or
 +\fICURL_SEEKFUNC_CANTSEEK\fP to indicate that while the seek failed, libcurl
 +is free to work around the problem if possible. The latter can sometimes be
 +done by instead reading from the input or similar.
 +
 +If you forward the input arguments directly to fseek(3) or lseek(3), note that
 +the data type for \fIoffset\fP is not the same as defined for curl_off_t on
 +many systems!
 +.SH DEFAULT
 +By default, this is NULL and unused.
 +.SH PROTOCOLS
 +HTTP, FTP, SFTP
 +.SH EXAMPLE
 +.nf
 +static int seek_cb(void *userp, curl_off_t offset, int origin)
 +{
 +  struct data *d = (struct data *)userp;
 +  lseek(our_fd, offset, origin);
 +  return CURL_SEEKFUNC_OK;
 +}
 +
 +{
 +  struct data seek_data;
 +  curl_easy_setopt(CURL *handle, CURLOPT_SEEKFUNCTION, seek_cb);
 +  curl_easy_setopt(CURL *handle, CURLOPT_SEEKDATA, &seek_data);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.18.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_SEEKDATA "(3), " CURLOPT_IOCTLFUNCTION "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_SOCKS5_AUTH.3
index 7b5e5822b,000000000..2b66830db
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_SOCKS5_AUTH.3
+++ b/docs/libcurl/opts/GNURLOPT_SOCKS5_AUTH.3
@@@ -1,63 -1,0 +1,63 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_SOCKS5_AUTH 3 "27 April 2017" "libcurl 7.55.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_SOCKS5_AUTH \- set allowed methods for SOCKS5 proxy authentication
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_AUTH, long bitmask);
 +.SH DESCRIPTION
 +Pass a long as parameter, which is set to a bitmask, to tell libcurl which
 +authentication method(s) are allowed for SOCKS5 proxy authentication.  The 
only
 +supported flags are \fICURLAUTH_BASIC\fP, which allows username/password
 +authentication, \fICURLAUTH_GSSAPI\fP, which allows GSS-API authentication, 
and
 +\fICURLAUTH_NONE\fP, which allows no authentication.  Set the actual user name
 +and password with the \fICURLOPT_PROXYUSERPWD(3)\fP option.
 +.SH DEFAULT
 +CURLAUTH_BASIC|CURLAUTH_GSSAPI
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 +
 +  /* request to use a SOCKS5 proxy */
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "socks5://user:address@hidden");
 +
 +  /* enable username/password authentication only */
 +  curl_easy_setopt(curl, CURLOPT_SOCKS5_AUTH, CURLAUTH_BASIC);
 +
 +  /* Perform the request */
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.55.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 contains unsupported flags.
 +.SH "SEE ALSO"
 +.BR CURLOPT_PROXY "(3), " CURLOPT_PROXYTYPE "(3)"
diff --cc docs/libcurl/opts/GNURLOPT_SSH_COMPRESSION.3
index 5445cb0d2,000000000..9715162b4
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_SSH_COMPRESSION.3
+++ b/docs/libcurl/opts/GNURLOPT_SSH_COMPRESSION.3
@@@ -1,58 -1,0 +1,58 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_SSH_COMPRESSION 3 "05 Aug 2017" "libcurl 7.56.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_SSH_COMPRESSION \- enables automatic decompression of HTTP downloads
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_COMPRESSION, long enable);
 +.SH DESCRIPTION
 +Pass a long as parameter set to 1L to enable or 0L to disable.
 +
 +Enables built-in SSH compression.  This is a request, not an order; the server
 +may or may not do it.
 +.SH DEFAULT
 +0, disabled
 +.SH PROTOCOLS
 +All SSH based protocols: SCP, SFTP
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "sftp://example.com";);
 +
 +  /* enable built-in compression */
 +  curl_easy_setopt(curl, CURLOPT_SSH_COMPRESSION, 1L);
 +
 +  /* Perform the request */
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.56.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_ACCEPT_ENCODING "(3), " CURLOPT_TRANSFER_ENCODING "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_SSLCERT.3
index 536f52910,000000000..3cfa7ec21
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_SSLCERT.3
+++ b/docs/libcurl/opts/GNURLOPT_SSLCERT.3
@@@ -1,68 -1,0 +1,79 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_SSLCERT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_SSLCERT \- set SSL client certificate
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERT, char *cert);
 +.SH DESCRIPTION
 +Pass a pointer to a zero terminated string as parameter. The string should be
 +the file name of your client certificate. The default format is "P12" on
 +Secure Transport and "PEM" on other engines, and can be changed with
 +\fICURLOPT_SSLCERTTYPE(3)\fP.
 +
 +With NSS or Secure Transport, this can also be the nickname of the certificate
 +you wish to authenticate with as it is named in the security database. If you
 +want to use a file from the current directory, please precede it with "./"
 +prefix, in order to avoid confusion with a nickname.
 +
++(Schannel/WinSSL only) Client certificates must be specified by a path
++expression to a certificate store. (Loading PFX is not supported; you can
++import it to a store first). You can use
++"<store location>\\<store name>\\<thumbprint>" to refer to a certificate
++in the system certificates store, for example,
++"CurrentUser\\MY\\934a7ac6f8a5d579285a74fa61e19f23ddfe8d7a". Thumbprint is
++usually a SHA-1 hex string which you can see in certificate details. Following
++store locations are supported: CurrentUser, LocalMachine, CurrentService,
++Services, CurrentUserGroupPolicy, LocalMachineGroupPolicy,
++LocalMachineEnterprise.
++
 +When using a client certificate, you most likely also need to provide a
 +private key with \fICURLOPT_SSLKEY(3)\fP.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +NULL
 +.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/";);
 +  curl_easy_setopt(curl, CURLOPT_SSLCERT, "client.pem");
 +  curl_easy_setopt(curl, CURLOPT_SSLKEY, "key.pem");
 +  curl_easy_setopt(curl, CURLOPT_KEYPASSWD, "s3cret");
 +  ret = curl_easy_perform(curl);
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +If built TLS enabled.
 +.SH RETURN VALUE
 +Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
 +CURLE_OUT_OF_MEMORY if there was insufficient heap space.
 +.SH "SEE ALSO"
 +.BR CURLOPT_SSLCERTTYPE "(3), " CURLOPT_SSLKEY "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_SSL_CTX_DATA.3
index 216bdec3a,000000000..7b6dec4b3
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_SSL_CTX_DATA.3
+++ b/docs/libcurl/opts/GNURLOPT_SSL_CTX_DATA.3
@@@ -1,124 -1,0 +1,124 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_SSL_CTX_DATA 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_SSL_CTX_DATA \- custom pointer passed to ssl_ctx callback
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_DATA, void *pointer);
 +.SH DESCRIPTION
 +Data \fIpointer\fP to pass to the ssl context callback set by the option
 +\fICURLOPT_SSL_CTX_FUNCTION(3)\fP, this is the pointer you'll get as third
 +parameter.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 +.SH EXAMPLE
 +.nf
 +/* OpenSSL specific */
 +
 +#include <openssl/ssl.h>
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +#include <stdio.h>
 +
 +static CURLcode sslctx_function(CURL *curl, void *sslctx, void *parm)
 +{
 +  X509_STORE *store;
 +  X509 *cert=NULL;
 +  BIO *bio;
 +  char *mypem = (char *)parm;
 +  /* get a BIO */
 +  bio=BIO_new_mem_buf(mypem, -1);
 +  /* use it to read the PEM formatted certificate from memory into an
 +   * X509 structure that SSL can use
 +   */
 +  PEM_read_bio_X509(bio, &cert, 0, NULL);
 +  if(cert == NULL)
 +    printf("PEM_read_bio_X509 failed...\\n");
 +
 +  /* get a pointer to the X509 certificate store (which may be empty) */
 +  store=SSL_CTX_get_cert_store((SSL_CTX *)sslctx);
 +
 +  /* add our certificate to this store */
 +  if(X509_STORE_add_cert(store, cert)==0)
 +    printf("error adding certificate\\n");
 +
 +  /* decrease reference counts */
 +  X509_free(cert);
 +  BIO_free(bio);
 +
 +  /* all set to go */
 +  return CURLE_OK;
 +}
 +
 +int main(void)
 +{
 +  CURL * ch;
 +  CURLcode rv;
 +  char *mypem = /* example CA cert PEM - shortened */
 +    "-----BEGIN CERTIFICATE-----\\n"
 +    "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\\n"
 +    "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\\n"
 +    "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\\n"
 +    "Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO\\n"
 +    "GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk\\n"
 +    "zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW\\n"
 +    "omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD\\n"
 +    "-----END CERTIFICATE-----\\n";
 +
 +  rv=curl_global_init(CURL_GLOBAL_ALL);
 +  ch=curl_easy_init();
 +  rv=curl_easy_setopt(ch, CURLOPT_SSLCERTTYPE, "PEM");
 +  rv=curl_easy_setopt(ch, CURLOPT_SSL_VERIFYPEER, 1L);
 +  rv=curl_easy_setopt(ch, CURLOPT_URL, "https://www.example.com/";);
 +
 +  /* Retrieve page using cacerts' certificate -> will succeed
 +   * load the certificate by installing a function doing the necessary
 +   * "modifications" to the SSL CONTEXT just before link init
 +   */
 +  rv=curl_easy_setopt(ch, CURLOPT_SSL_CTX_FUNCTION, *sslctx_function);
 +  rv=curl_easy_setopt(ch, CURLOPT_SSL_CTX_DATA, mypem);
 +  rv=curl_easy_perform(ch);
 +  if(rv==CURLE_OK)
 +    printf("*** transfer succeeded ***\\n");
 +  else
 +    printf("*** transfer failed ***\\n");
 +
 +  curl_easy_cleanup(ch);
 +  curl_global_cleanup();
 +  return rv;
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.11.0 for OpenSSL. Added in 7.42.0 for wolfSSL/CyaSSL. Other SSL
 +backends not supported.
 +.SH RETURN VALUE
 +CURLE_OK if supported; or an error such as:
 +
 +CURLE_NOT_BUILT_IN - Not supported by the SSL backend
 +
 +CURLE_UNKNOWN_OPTION
 +.SH "SEE ALSO"
 +.BR CURLOPT_SSL_CTX_FUNCTION "(3), " CURLOPT_SSLVERSION "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_SSL_CTX_FUNCTION.3
index b142d061d,000000000..b0b8d6fda
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_SSL_CTX_FUNCTION.3
+++ b/docs/libcurl/opts/GNURLOPT_SSL_CTX_FUNCTION.3
@@@ -1,78 -1,0 +1,78 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_SSL_CTX_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_SSL_CTX_FUNCTION \- SSL context callback for OpenSSL, wolfSSL/CyaSSL 
or mbedTLS
 +.SH SYNOPSIS
 +.nf
 +#include <gnurl/curl.h>
 +
 +CURLcode ssl_ctx_callback(CURL *curl, void *ssl_ctx, void *userptr);
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_FUNCTION,
 +                          ssl_ctx_callback);
 +.SH DESCRIPTION
 +This option only works for libcurl powered by OpenSSL, wolfSSL/CyaSSL or
 +mbedTLS. If libcurl was built against another SSL library this functionality 
is
 +absent.
 +
 +Pass a pointer to your callback function, which should match the prototype
 +shown above.
 +
 +This callback function gets called by libcurl just before the initialization
 +of an SSL connection after having processed all other SSL related options to
 +give a last chance to an application to modify the behaviour of the SSL
 +initialization. The \fIssl_ctx\fP parameter is actually a pointer to the SSL
 +library's \fISSL_CTX\fP for OpenSSL or wolfSSL/CyaSSL, and a pointer to
 +\fImbedtls_ssl_config\fP for mbedTLS. If an error is returned from the 
callback
 +no attempt to establish a connection is made and the perform operation will
 +return the callback's error code. Set the \fIuserptr\fP argument with the
 +\fICURLOPT_SSL_CTX_DATA(3)\fP option.
 +
 +This function will get called on all new connections made to a server, during
 +the SSL negotiation. The \fIssl_ctx\fP will point to a newly initialized 
object
 +each time, but note the pointer may be the same as from a prior call.
 +
 +To use this properly, a non-trivial amount of knowledge of your SSL library is
 +necessary. For example, you can use this function to call library-specific
 +callbacks to add additional validation code for certificates, and even to
- change the actual URI of a HTTPS request.
++change the actual URI of an HTTPS request.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
 +.SH EXAMPLE
 +See cacertinmem.c in docs/examples directory for usage example.
 +
 +https://curl.haxx.se/libcurl/c/cacertinmem.html
 +.SH AVAILABILITY
 +Added in 7.11.0 for OpenSSL. Added in 7.42.0 for wolfSSL/CyaSSL. Added in
 +7.54.0 for mbedTLS. Other SSL backends not supported.
 +.SH RETURN VALUE
 +CURLE_OK if supported; or an error such as:
 +
 +CURLE_NOT_BUILT_IN - Not supported by the SSL backend
 +
 +CURLE_UNKNOWN_OPTION
 +.SH "SEE ALSO"
 +.BR CURLOPT_SSL_CTX_DATA "(3), " CURLOPT_SSL_VERIFYPEER "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_STREAM_DEPENDS_E.3
index 52ff36a1b,000000000..18e8cef04
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_STREAM_DEPENDS_E.3
+++ b/docs/libcurl/opts/GNURLOPT_STREAM_DEPENDS_E.3
@@@ -1,71 -1,0 +1,71 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_STREAM_DEPENDS_E 3 "13 Sep 2015" "libcurl 7.46.0" 
"curl_easy_setopt options"
 +.SH NAME
- CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on execlusively
++CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on exclusively
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS_E, CURL 
*dephandle);
 +.SH DESCRIPTION
 +Pass a CURL * pointer in \fIdephandle\fP to identify the stream within the
 +same connection that this stream is depending upon exclusively. That means it
 +depends on it and sets the Exclusive bit.
 +
 +The spec says "Including a dependency expresses a preference to allocate
 +resources to the identified stream rather than to the dependent stream."
 +
 +Setting a dependency with the exclusive flag for a reprioritized stream causes
 +all the dependencies of the new parent stream to become dependent on the
 +reprioritized stream.
 +
 +This option can be set during transfer.
 +
 +\fIdephandle\fP must not be the same as \fIhandle\fP, that will cause this
 +function to return an error. It must be another easy handle, and it also needs
 +to be a handle of a transfer that will be sent over the same HTTP/2 connection
 +for this option to have an actual effect.
 +.SH DEFAULT
 +NULL
 +.SH PROTOCOLS
 +HTTP/2
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +CURL *curl2 = curl_easy_init(); /* a second handle */
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/one";);
 +
 +  /* the second depends on the first */
 +  curl_easy_setopt(curl2, CURLOPT_URL, "https://example.com/two";);
 +  curl_easy_setopt(curl2, CURLOPT_STREAM_DEPENDS_E, curl);
 +
 +  /* then add both to a multi handle and transfer them! */
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.46.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_STREAM_WEIGHT "(3), " CURLOPT_STREAM_DEPENDS "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_STREAM_WEIGHT.3
index 5ae575507,000000000..325a68070
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_STREAM_WEIGHT.3
+++ b/docs/libcurl/opts/GNURLOPT_STREAM_WEIGHT.3
@@@ -1,76 -1,0 +1,76 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_STREAM_WEIGHT 3 "13 Sep 2015" "libcurl 7.46.0" "curl_easy_setopt 
options"
 +.SH NAME
 +CURLOPT_STREAM_WEIGHT \- set numerical stream weight
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_WEIGHT, long weight);
 +.SH DESCRIPTION
 +Set the long \fIweight\fP to a number between 1 and 256.
 +
 +When using HTTP/2, this option sets the individual weight for this particular
 +stream used by the easy \fIhandle\fP. Setting and using weights only makes
 +sense and is only usable when doing multiple streams over the same
 +connections, which thus implies that you use \fICURLMOPT_PIPELINING(3)\fP.
 +
 +This option can be set during transfer and will then cause the updated weight
- info get sent to the server the next time a HTTP/2 frame is sent to the
++info get sent to the server the next time an HTTP/2 frame is sent to the
 +server.
 +
 +See section 5.3 of RFC 7540 for protocol details:
 +https://httpwg.github.io/specs/rfc7540.html#StreamPriority
 +
 +Streams with the same parent should be allocated resources proportionally
 +based on their weight. So if you have two streams going, stream A with weight
 +16 and stream B with weight 32, stream B will get two thirds (32/48) of the
 +available bandwidth (assuming the server can send off the data equally for
 +both streams).
 +.SH DEFAULT
 +If nothing is set, the HTTP/2 protocol itself will use its own default which
 +is 16.
 +.SH PROTOCOLS
 +HTTP/2
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +CURL *curl2 = curl_easy_init(); /* a second handle */
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/one";);
 +  curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, 10L);
 +
 +  /* the second has twice the weight */
 +  curl_easy_setopt(curl2, CURLOPT_URL, "https://example.com/two";);
 +  curl_easy_setopt(curl2, CURLOPT_STREAM_WEIGHT, 20L);
 +
 +  /* then add both to a multi handle and transfer them! */
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.46.0
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_STREAM_DEPENDS "(3), " CURLOPT_STREAM_DEPENDS_E "(3), "
 +.BR CURLOPT_PIPEWAIT "(3), " CURLMOPT_PIPELINING "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_SUPPRESS_CONNECT_HEADERS.3
index 8cfec7a8f,000000000..22f83790f
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_SUPPRESS_CONNECT_HEADERS.3
+++ b/docs/libcurl/opts/GNURLOPT_SUPPRESS_CONNECT_HEADERS.3
@@@ -1,95 -1,0 +1,95 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_SUPPRESS_CONNECT_HEADERS 3 "13 February 2017" "libcurl 7.54.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_SUPPRESS_CONNECT_HEADERS \- Suppress proxy CONNECT response headers 
from user callbacks
 +.SH SYNOPSIS
 +.nf
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SUPPRESS_CONNECT_HEADERS, 
long onoff);
 +.fi
 +.SH DESCRIPTION
 +When \fICURLOPT_HTTPPROXYTUNNEL(3)\fP is used and a CONNECT request is made,
 +suppress proxy CONNECT response headers from the user callback functions
 +\fICURLOPT_HEADERFUNCTION(3)\fP and \fICURLOPT_WRITEFUNCTION(3)\fP.
 +
 +Proxy CONNECT response headers can complicate header processing since it's
 +essentially a separate set of headers. You can enable this option to suppress
 +those headers.
 +
 +For example let's assume an HTTPS URL is to be retrieved via CONNECT. On
 +success there would normally be two sets of headers, and each header line sent
 +to the header function and/or the write function. The data given to the
 +callbacks would look like this:
 +
 +.nf
 +HTTP/1.1 200 Connection established
 +{headers}...
 +
 +HTTP/1.1 200 OK
 +Content-Type: application/json
 +{headers}...
 +
 +{body}...
 +.fi
 +
 +However by enabling this option the CONNECT response headers are suppressed, 
so
 +the data given to the callbacks would look like this:
 +
 +.nf
 +HTTP/1.1 200 OK
 +Content-Type: application/json
 +{headers}...
 +
 +{body}...
 +.fi
 +
 +.SH DEFAULT
 +0
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com";);
 +
 +  curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
 +  curl_easy_setopt(curl, CURLOPT_PROXY, "http://foo:3128";);
 +  curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 1L);
 +  curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, 1L);
 +
 +  curl_easy_perform(curl);
 +
 +  /* always cleanup */
 +  curl_easy_cleanup(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.54.0
 +.SH RETURN VALUE
 +CURLE_OK or an error such as CURLE_UNKNOWN_OPTION.
 +.SH "SEE ALSO"
 +.BR CURLOPT_HEADER "(3), " CURLOPT_PROXY "(3), "
 +.BR CURLOPT_HTTPPROXYTUNNEL "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_TIMEVALUE_LARGE.3
index 884b51236,000000000..b41ffb000
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_TIMEVALUE_LARGE.3
+++ b/docs/libcurl/opts/GNURLOPT_TIMEVALUE_LARGE.3
@@@ -1,64 -1,0 +1,64 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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 CURLOPT_TIMEVALUE_LARGE 3 "25 Jan 2018" "libcurl 7.59.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_TIMEVALUE_LARGE \- set time value for conditional
 +.SH SYNOPSIS
- #include <curl/curl.h>
++#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE_LARGE, curl_off_t 
val);
 +.SH DESCRIPTION
 +Pass a curl_off_t \fIval\fP as parameter. This should be the time counted as
 +seconds since 1 Jan 1970, and the time will be used in a condition as
 +specified with \fICURLOPT_TIMECONDITION(3)\fP.
 +
 +The difference between this option and \fICURLOPT_TIMEVALUE(3)\fP is the type
 +of the argument. On systems where 'long' is only 32 bit wide, this option has
 +to be used to set dates beyond the year 2038.
 +.SH DEFAULT
 +0
 +.SH PROTOCOLS
 +HTTP, FTP, RTSP, and FILE
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  /* January 1, 2020 is 1577833200 */
 +  curl_easy_setopt(curl, CURLOPT_TIMEVALUE_LARGE, (curl_off_t)1577833200);
 +
 +  /* If-Modified-Since the above time stamp */
 +  curl_easy_setopt(curl, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE);
 +
 +  /* Perform the request */
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Added in 7.59.0.
 +.SH RETURN VALUE
 +Returns CURLE_OK
 +.SH "SEE ALSO"
 +.BR CURLOPT_TIMECONDITION "(3), "
 +.BR CURLOPT_TIMEVALUE_LARGE "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_UNIX_SOCKET_PATH.3
index 31bb82b0b,000000000..c79c5e2bc
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_UNIX_SOCKET_PATH.3
+++ b/docs/libcurl/opts/GNURLOPT_UNIX_SOCKET_PATH.3
@@@ -1,81 -1,0 +1,81 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2016, 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_UNIX_SOCKET_PATH 3 "09 Oct 2014" "libcurl 7.40.0" 
"curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_UNIX_SOCKET_PATH \- set Unix domain socket
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNIX_SOCKET_PATH, char *path);
 +.SH DESCRIPTION
 +Enables the use of Unix domain sockets as connection endpoint and sets the 
path
 +to \fIpath\fP. If \fIpath\fP is NULL, then Unix domain sockets are disabled. 
An
 +empty string will result in an error at some point, it will not disable use of
 +Unix domain sockets.
 +
 +When enabled, curl will connect to the Unix domain socket instead of
 +establishing a TCP connection to a host. Since no TCP connection is created,
 +curl does not need to resolve the DNS hostname in the URL.
 +
 +The maximum path length on Cygwin, Linux and Solaris is 107. On other 
platforms
 +it might be even less.
 +
 +Proxy and TCP options such as
 +.BR CURLOPT_TCP_NODELAY "(3)
 +are not supported. Proxy options such as
 +.BR CURLOPT_PROXY "(3)
 +have no effect either as these are TCP-oriented, and asking a proxy server to
 +connect to a certain Unix domain socket is not possible.
 +
 +The application does not have to keep the string around after setting this
 +option.
 +.SH DEFAULT
 +Default is NULL, meaning that no Unix domain sockets are used.
 +.SH PROTOCOLS
 +All protocols except for file:// and FTP are supported in theory. HTTP, IMAP,
 +POP3 and SMTP should in particular work (including their SSL/TLS variants).
 +.SH EXAMPLE
 +Given that you have an nginx server running, listening on /tmp/nginx.sock, you
- can request a HTTP resource with:
++can request an HTTP resource with:
 +
 +.nf
 +    curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, 
"/tmp/nginx.sock");
 +    curl_easy_setopt(curl_handle, CURLOPT_URL, "http://localhost/";);
 +.fi
 +
 +If you are on Linux and somehow have a need for paths larger than 107 bytes, 
you
 +could use the proc filesystem to bypass the limitation:
 +
 +.nf
 +    int dirfd = open(long_directory_path_to_socket, O_DIRECTORY | O_RDONLY);
 +    char path[108];
 +    snprintf(path, sizeof(path), "/proc/self/fd/%d/nginx.sock", dirfd);
 +    curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, path);
 +    /* Be sure to keep dirfd valid until you discard the handle */
 +.fi
 +.SH AVAILABILITY
 +Since 7.40.0.
 +.SH RETURN VALUE
 +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
 +.SH "SEE ALSO"
 +.BR CURLOPT_OPENSOCKETFUNCTION "(3), " unix "(7), "
diff --cc docs/libcurl/opts/GNURLOPT_UPLOAD.3
index be4807086,000000000..d50b8dfa7
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_UPLOAD.3
+++ b/docs/libcurl/opts/GNURLOPT_UPLOAD.3
@@@ -1,78 -1,0 +1,78 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  Project                     ___| | | |  _ \| |
 +.\" *                             / __| | | | |_) | |
 +.\" *                            | (__| |_| |  _ <| |___
 +.\" *                             \___|\___/|_| \_\_____|
 +.\" *
 +.\" * Copyright (C) 1998 - 2014, 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_UPLOAD 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_UPLOAD \- enable data upload
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD, long upload);
 +.SH DESCRIPTION
 +The long parameter \fIupload\fP set to 1 tells the library to prepare for and
 +perform an upload. The \fICURLOPT_READDATA(3)\fP and
 +\fICURLOPT_INFILESIZE(3)\fP or \fICURLOPT_INFILESIZE_LARGE(3)\fP options are
 +also interesting for uploads. If the protocol is HTTP, uploading means using
 +the PUT request unless you tell libcurl otherwise.
 +
 +Using PUT 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 PUT to a HTTP 1.1 server, you can upload data without knowing the
++If you use PUT to an HTTP 1.1 server, you can upload data without knowing the
 +size before starting the transfer 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.
 +.SH DEFAULT
 +0, default is download
 +.SH PROTOCOLS
 +Most
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  /* we want to use our own read function */
 +  curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
 +
 +  /* enable uploading */
 +  curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
 +
 +  /* specify target */
 +  curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/to/newfile";);
 +
 +  /* now specify which pointer to pass to our callback */
 +  curl_easy_setopt(curl, CURLOPT_READDATA, hd_src);
 +
 +  /* Set the size of the file to upload */
 +  curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)fsize);
 +
 +  /* Now run off and do what you've been told! */
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +Always
 +.SH RETURN VALUE
 +Returns CURLE_OK
 +.SH "SEE ALSO"
 +.BR CURLOPT_PUT "(3), " CURLOPT_READFUNCTION "(3), "
 +.BR CURLOPT_INFILESIZE_LARGE "(3), "
diff --cc docs/libcurl/opts/GNURLOPT_URL.3
index 95f7f8820,000000000..c477649c6
mode 100644,000000..100644
--- a/docs/libcurl/opts/GNURLOPT_URL.3
+++ b/docs/libcurl/opts/GNURLOPT_URL.3
@@@ -1,339 -1,0 +1,349 @@@
 +.\" **************************************************************************
 +.\" *                                  _   _ ____  _
 +.\" *  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_URL 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options"
 +.SH NAME
 +CURLOPT_URL \- provide the URL to use in the request
 +.SH SYNOPSIS
 +#include <gnurl/curl.h>
 +
 +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_URL, char *URL);
 +.SH DESCRIPTION
 +Pass in a pointer to the \fIURL\fP to work with. The parameter should be a
 +char * to a zero terminated string which must be URL-encoded in the following
 +format:
 +
 +scheme://host:port/path
 +
 +For a greater explanation of the format please see RFC3986.
 +
 +libcurl doesn't validate the syntax or use this variable until the transfer is
 +issued. Even if you set a crazy value here, \fIcurl_easy_setopt(3)\fP will
 +still return \fICURLE_OK\fP.
 +
 +If the given URL is missing a scheme name (such as "http://"; or "ftp://"; etc)
 +then libcurl will make a guess based on the host. If the outermost sub-domain
 +name matches DICT, FTP, IMAP, LDAP, POP3 or SMTP then that protocol will be
 +used, otherwise HTTP will be used. Since 7.45.0 guessing can be disabled by
 +setting a default protocol, see \fICURLOPT_DEFAULT_PROTOCOL(3)\fP for details.
 +
 +Should the protocol, either that specified by the scheme or deduced by libcurl
 +from the host name, not be supported by libcurl then
 +\fICURLE_UNSUPPORTED_PROTOCOL\fP will be returned from either the
 +\fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP functions when you
 +call them. Use \fIcurl_version_info(3)\fP for detailed information of which
 +protocols are supported by the build of libcurl you are using.
 +
 +\fICURLOPT_PROTOCOLS(3)\fP can be used to limit what protocols libcurl will
 +use for this transfer, independent of what libcurl has been compiled to
 +support. That may be useful if you accept the URL from an external source and
 +want to limit the accessibility.
 +
 +\fICURLOPT_URL(3)\fP is the only option that \fBmust\fP be set before a
 +transfer is started.
 +
 +The host part of the URL contains the address of the server that you want to
 +connect to. This can be the fully qualified domain name of the server, the
 +local network name of the machine on your network or the IP address of the
 +server or machine represented by either an IPv4 or IPv6 address. For example:
 +
 +http://www.example.com/
 +
 +http://hostname/
 +
 +http://192.168.0.1/
 +
 +http://[2001:1890:1112:1::20]/
 +
 +It is also possible to specify the user name, password and any supported login
 +options as part of the host, for the following protocols, when connecting to
 +servers that require authentication:
 +
 +http://user:address@hidden
 +
 +ftp://user:address@hidden
 +
 +smb://domain%2fuser:address@hidden
 +
 +imap://user:password;address@hidden
 +
 +pop3://user:password;address@hidden
 +
 +smtp://user:password;address@hidden
 +
 +At present only IMAP, POP3 and SMTP support login options as part of the host.
 +For more information about the login options in URL syntax please see RFC2384,
 +RFC5092 and IETF draft draft-earhart-url-smtp-00.txt (Added in 7.31.0).
 +
 +The port is optional and when not specified libcurl will use the default port
 +based on the determined or specified protocol: 80 for HTTP, 21 for FTP and 25
 +for SMTP, etc. The following examples show how to specify the port:
 +
 +http://www.example.com:8080/ - This will connect to a web server using port
 +8080 rather than 80.
 +
 +smtp://mail.example.com:587/ - This will connect to a SMTP server on the
 +alternative mail port.
 +
 +The path part of the URL is protocol specific and whilst some examples are
 +given below this list is not conclusive:
 +
 +.IP HTTP
- The path part of a HTTP request specifies the file to retrieve and from what
++The path part of an HTTP request specifies the file to retrieve and from what
 +directory. If the directory is not specified then the web server's root
 +directory is used. If the file is omitted then the default document will be
 +retrieved for either the directory specified or the root directory. The exact
 +resource returned for each URL is entirely dependent on the server's
 +configuration.
 +
 +http://www.example.com - This gets the main page from the web server.
 +
 +http://www.example.com/index.html - This returns the main page by explicitly
 +requesting it.
 +
 +http://www.example.com/contactus/ - This returns the default document from
 +the contactus directory.
 +
 +.IP FTP
 +The path part of an FTP request specifies the file to retrieve and from what
 +directory. If the file part is omitted then libcurl downloads the directory
 +listing for the directory specified. If the directory is omitted then
 +the directory listing for the root / home directory will be returned.
 +
 +ftp://ftp.example.com - This retrieves the directory listing for the root
 +directory.
 +
 +ftp://ftp.example.com/readme.txt - This downloads the file readme.txt from the
 +root directory.
 +
 +ftp://ftp.example.com/libcurl/readme.txt - This downloads readme.txt from the
 +libcurl directory.
 +
 +ftp://user:address@hidden/readme.txt - This retrieves the readme.txt
 +file from the user's home directory. When a username and password is
 +specified, everything that is specified in the path part is relative to the
 +user's home directory. To retrieve files from the root directory or a
 +directory underneath the root directory then the absolute path must be
 +specified by prepending an additional forward slash to the beginning of the
 +path.
 +
 +ftp://user:address@hidden//readme.txt - This retrieves the readme.txt
 +from the root directory when logging in as a specified user.
 +
 +.IP SMTP
 +The path part of a SMTP request specifies the host name to present during
 +communication with the mail server. If the path is omitted then libcurl will
 +attempt to resolve the local computer's host name. However, this may not
 +return the fully qualified domain name that is required by some mail servers
 +and specifying this path allows you to set an alternative name, such as
 +your machine's fully qualified domain name, which you might have obtained
 +from an external function such as gethostname or getaddrinfo.
 +
 +smtp://mail.example.com - This connects to the mail server at example.com and
 +sends your local computer's host name in the HELO / EHLO command.
 +
 +smtp://mail.example.com/client.example.com - This will send 
client.example.com in
 +the HELO / EHLO command to the mail server at example.com.
 +
 +.IP POP3
 +The path part of a POP3 request specifies the message ID to retrieve. If the
 +ID is not specified then a list of waiting messages is returned instead.
 +
 +pop3://user:address@hidden - This lists the available messages for
 +the user
 +
 +pop3://user:address@hidden/1 - This retrieves the first message for
 +the user
 +
 +.IP IMAP
 +The path part of an IMAP request not only specifies the mailbox to list (Added
 +in 7.30.0) or select, but can also be used to check the UIDVALIDITY of the
 +mailbox, to specify the UID, SECTION (Added in 7.30.0) and PARTIAL octets
 +(Added in 7.37.0) of the message to fetch and to specify what messages to
 +search for (Added in 7.37.0).
 +
 +imap://user:address@hidden - Performs a top level folder list
 +
 +imap://user:address@hidden/INBOX - Performs a folder list on the
 +user's inbox
 +
 +imap://user:address@hidden/INBOX/;UID=1 - Selects the user's inbox
 +and fetches message 1
 +
 +imap://user:address@hidden/INBOX;UIDVALIDITY=50/;UID=2 - Selects
 +the user's inbox, checks the UIDVALIDITY of the mailbox is 50 and fetches
 +message 2 if it is
 +
 +imap://user:address@hidden/INBOX/;UID=3/;SECTION=TEXT - Selects the
 +user's inbox and fetches the text portion of message 3
 +
 +imap://user:address@hidden/INBOX/;UID=4/;PARTIAL=0.1024 - Selects
 +the user's inbox and fetches the first 1024 octets of message 4
 +
 +imap://user:address@hidden/INBOX?NEW - Selects the user's inbox and
 +checks for NEW messages
 +
 +imap://user:address@hidden/INBOX?SUBJECT%20shadows - Selects the
 +user's inbox and searches for messages containing "shadows" in the subject
 +line
 +
 +For more information about the individual components of an IMAP URL please
 +see RFC5092.
 +
 +.IP SCP
 +The path part of a SCP request specifies the file to retrieve and from what
 +directory. The file part may not be omitted. The file is taken as an absolute
 +path from the root directory on the server. To specify a path relative to the
 +user's home directory on the server, prepend ~/ to the path portion.  If the
 +user name is not embedded in the URL, it can be set with the
 +\fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP option.
 +
 +scp://address@hidden/etc/issue - This specifies the file /etc/issue
 +
 +scp://example.com/~/my-file - This specifies the file my-file in the
 +user's home directory on the server
 +
 +.IP SFTP
 +The path part of a SFTP request specifies the file to retrieve and from what
 +directory. If the file part is omitted then libcurl downloads the directory
 +listing for the directory specified.  If the path ends in a / then a directory
 +listing is returned instead of a file.  If the path is omitted entirely then
 +the directory listing for the root / home directory will be returned.  If the
 +user name is not embedded in the URL, it can be set with the
 +\fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP option.
 +
 +sftp://user:address@hidden/etc/issue - This specifies the file
 +/etc/issue
 +
 +sftp://address@hidden/~/my-file - This specifies the file my-file in the
 +user's home directory
 +
 +sftp://ssh.example.com/~/Documents/ - This requests a directory listing
 +of the Documents directory under the user's home directory
 +
 +.IP SMB
 +The path part of a SMB request specifies the file to retrieve and from what
 +share and directory or the share to upload to and as such, may not be omitted.
 +If the user name is not embedded in the URL, it can be set with the
 +\fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP option. If the user name
 +is embedded in the URL then it must contain the domain name and as such, the
 +backslash must be URL encoded as %2f.
 +
 +smb://server.example.com/files/issue - This specifies the file "issue" located
 +in the root of the "files" share
 +
 +smb://server.example.com/files/ -T issue - This specifies the file "issue" 
will
 +be uploaded to the root of the "files" share.
 +
 +.IP LDAP
 +The path part of a LDAP request can be used to specify the: Distinguished
 +Name, Attributes, Scope, Filter and Extension for a LDAP search. Each field
 +is separated by a question mark and when that field is not required an empty
 +string with the question mark separator should be included.
 +
 +ldap://ldap.example.com/o=My%20Organisation - This will perform a LDAP search
 +with the DN as My Organisation.
 +
 +ldap://ldap.example.com/o=My%20Organisation?postalAddress - This will perform
 +the same search but will only return postalAddress attributes.
 +
 +ldap://ldap.example.com/?rootDomainNamingContext - This specifies an empty DN
 +and requests information about the rootDomainNamingContext attribute for an
 +Active Directory server.
 +
 +For more information about the individual components of a LDAP URL please
 +see RFC4516.
 +.IP RTMP
 +There's no official URL spec for RTMP so libcurl uses the URL syntax supported
 +by the underlying librtmp library. It has a syntax where it wants a
 +traditional URL, followed by a space and a series of space-separated
 +name=value pairs.
 +
 +While space is not typically a "legal" letter, libcurl accepts them. When a
 +user wants to pass in a '#' (hash) character it will be treated as a fragment
 +and get cut off by libcurl if provided literally. You will instead have to
 +escape it by providing it as backslash and its ASCII value in hexadecimal:
 +"\\23".
 +
 +The application does not have to keep the string around after setting this
 +option.
++.SH ENCODING
++The string pointed to in the \fICURLOPT_URL(3)\fP argument is generally
++expected to be a sequence of characters using an ASCII compatible encoding.
++
++If libcurl is built with IDN support, the server name part of the URL can use
++an "international name" by using the current encoding (according to locale) or
++UTF-8 (when winidn is used).
++
++If libcurl is built without IDN support, the server name is used exactly as
++specified when passed to the name resolver functions.
 +.SH DEFAULT
 +There is no default URL. If this option isn't set, no transfer can be
 +performed.
 +.SH SECURITY CONCERNS
 +Applications may at times find it convenient to allow users to specify URLs
 +for various purposes and that string would then end up fed to this option.
 +
 +Getting a URL from an external untrusted party will bring reasons for several
 +security concerns:
 +
 +If you have an application that runs as or in a server application, getting an
 +unfiltered URL can easily trick your application to access a local resource
 +instead of a remote. Protecting yourself against localhost accesses is very
 +hard when accepting user provided URLs.
 +
 +Such custom URLs can also access other ports than you planned as port numbers
 +are part of the regular URL format. The combination of a local host and a
 +custom port number can allow external users to play tricks with your local
 +services.
 +
 +Accepting external URLs may also use other protocols than http:// or other
 +common ones. Restrict what accept with \fICURLOPT_PROTOCOLS(3)\fP.
 +
 +User provided URLs can also be made to point to sites that redirect further on
 +(possibly to other protocols too). Consider your
 +\fICURLOPT_FOLLOWLOCATION(3)\fP and \fICURLOPT_REDIR_PROTOCOLS(3)\fP settings.
 +.SH PROTOCOLS
 +All
 +.SH EXAMPLE
 +.nf
 +CURL *curl = curl_easy_init();
 +if(curl) {
 +  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com";);
 +
 +  curl_easy_perform(curl);
 +}
 +.fi
 +.SH AVAILABILITY
 +POP3 and SMTP were added in 7.31.0
 +.SH RETURN VALUE
 +Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient
 +heap space.
 +
 +Note that \fIcurl_easy_setopt(3)\fP won't actually parse the given string so
 +given a bad URL, it will not be detected until \fIcurl_easy_perform(3)\fP or
 +similar is called.
 +.SH "SEE ALSO"
 +.BR CURLOPT_VERBOSE "(3), " CURLOPT_PROTOCOLS "(3), "
 +.BR CURLOPT_FORBID_REUSE "(3), " CURLOPT_FRESH_CONNECT "(3), "
 +.BR curl_easy_perform "(3), "
 +.BR CURLINFO_REDIRECT_URL "(3), " CURLOPT_PATH_AS_IS "(3), "
diff --cc docs/libcurl/opts/Makefile.inc
index 618eb08f3,80488bfa3..620f32bd8
--- a/docs/libcurl/opts/Makefile.inc
+++ b/docs/libcurl/opts/Makefile.inc
@@@ -1,328 -1,330 +1,330 @@@
  # Shared between Makefile.am and CMakeLists.txt
  
  man_MANS =                                      \
 -  CURLINFO_ACTIVESOCKET.3                       \
 -  CURLINFO_APPCONNECT_TIME.3                    \
 -  CURLINFO_CERTINFO.3                           \
 -  CURLINFO_CONDITION_UNMET.3                    \
 -  CURLINFO_CONNECT_TIME.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_NUM_CONNECTS.3                       \
 -  CURLINFO_OS_ERRNO.3                           \
 -  CURLINFO_PRETRANSFER_TIME.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_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_TLS_SESSION.3                        \
 -  CURLINFO_TLS_SSL_PTR.3                        \
 -  CURLINFO_TOTAL_TIME.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_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_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_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_CERTINFO.3                           \
 +  GNURLINFO_CONDITION_UNMET.3                    \
 +  GNURLINFO_CONNECT_TIME.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_NUM_CONNECTS.3                       \
 +  GNURLINFO_OS_ERRNO.3                           \
 +  GNURLINFO_PRETRANSFER_TIME.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_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_TLS_SESSION.3                        \
 +  GNURLINFO_TLS_SSL_PTR.3                        \
 +  GNURLINFO_TOTAL_TIME.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_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_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_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/warnless.h
index 318c020c2,f6a2d744b..e31323971
--- a/lib/warnless.h
+++ b/lib/warnless.h
@@@ -23,14 -23,9 +23,9 @@@
   ***************************************************************************/
  
  #ifdef USE_WINSOCK
 -#include <curl/curl.h> /* for curl_socket_t */
 +#include <gnurl/curl.h> /* for curl_socket_t */
  #endif
  
- #define CURLX_POINTER_TO_INTEGER_CAST(p) \
-   ((char *)(p) - (char *)NULL)
- #define CURLX_INTEGER_TO_POINTER_CAST(i) \
-   ((void *)((char *)NULL + (i)))
- 
  unsigned short curlx_ultous(unsigned long ulnum);
  
  unsigned char curlx_ultouc(unsigned long ulnum);
diff --cc tests/data/Makefile.inc
index eaf0deb05,12373ba61..51e80a8e9
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@@ -125,11 -125,11 +125,11 @@@ 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 \
+ test1152 test1153 test1154 test1155 \
  \
- test1160 test1161 test1162 test1163 \
+ test1160 test1161 test1162 test1163 test1164 \
  test1170 test1171 \
  test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \
  test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]